<?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>193348</bug_id>
          
          <creation_ts>2019-01-11 00:01:37 -0800</creation_ts>
          <short_desc>AX: Introduce isolated accessibility tree</short_desc>
          <delta_ts>2019-01-27 00:49:38 -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>Accessibility</component>
          <version>Other</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1493634</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-11 00:01:37 -0800</bug_when>
    <thetext>In order to improve performance when requesting the accessibility hierarchy, we introduce the idea of a &quot;static accessibility tree&quot; which could be accessed on a different thread by assistive technologies.

That is accomplished by storing all the data needed to answer accessibility attribute queries in a static object that mirrors the &quot;live&quot; AccessibilityObjects (which interact with both DOM and Render trees).

These static objects are generally created after layout is done and final tasks are being performed. They are then stored in the static tree representation and able to be read from anywhere.

Tactically this is done with AXStaticTreeNodes inside of an AXStaticTreeCache. The TreeNodes implement an AccessibilityObjectInterface shared with AccessibilityObject

This allows the wrappers to access either one depending on conditions and platforms without significant code duplication or re-organization.

This first patch, outline the architecture. The remaining work is 

1) Store remaining attributes that are accessed within the wrappers
2) Allow accessibility to access this static tree on a different thread
3) Handle parameterized attributes that may require sync back to main thread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493635</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-11 00:02:36 -0800</bug_when>
    <thetext>&lt;rdar://problem/47203295&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493638</commentid>
    <comment_count>2</comment_count>
      <attachid>358884</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-11 00:35:27 -0800</bug_when>
    <thetext>Created attachment 358884
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493639</commentid>
    <comment_count>3</comment_count>
      <attachid>358885</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-11 00:37:23 -0800</bug_when>
    <thetext>Created attachment 358885
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493640</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-11 00:40:28 -0800</bug_when>
    <thetext>Attachment 358885 did not pass style-queue:


ERROR: Source/WebCore/accessibility/AXStaticTree/AXStaticTreeCache.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/accessibility/mac/AXObjectCacheMac.mm:33:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm:35:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebCore/accessibility/AXStaticTree/AXStaticTreeCache.cpp:79:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/accessibility/AXStaticTree/AXStaticTreeCache.cpp:85:  An else if statement should be written as an if statement when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
ERROR: Source/WebCore/accessibility/AXObjectCache.cpp:65:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebCore/accessibility/AXObjectCache.cpp:65:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebCore/accessibility/AXStaticTree/AXStaticTreeNode.h:93:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/accessibility/AXStaticTree/AXStaticTreeNode.cpp:28:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
ERROR: Source/WebCore/accessibility/AXStaticTree/AXStaticTreeNode.cpp:29:  Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
ERROR: Source/WebCore/accessibility/AXStaticTree/AXStaticTreeNode.cpp:47:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 11 in 27 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493641</commentid>
    <comment_count>5</comment_count>
      <attachid>358886</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-11 00:45:26 -0800</bug_when>
    <thetext>Created attachment 358886
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493670</commentid>
    <comment_count>6</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-11 07:48:17 -0800</bug_when>
    <thetext>Attachment 358886 did not pass style-queue:


ERROR: Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm:36:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebCore/accessibility/AXObjectCache.cpp:35:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 28 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493672</commentid>
    <comment_count>7</comment_count>
      <attachid>358896</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-11 07:50:04 -0800</bug_when>
    <thetext>Created attachment 358896
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493680</commentid>
    <comment_count>8</comment_count>
      <attachid>358899</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-11 08:44:50 -0800</bug_when>
    <thetext>Created attachment 358899
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493682</commentid>
    <comment_count>9</comment_count>
      <attachid>358900</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-11 08:57:55 -0800</bug_when>
    <thetext>Created attachment 358900
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495187</commentid>
    <comment_count>10</comment_count>
      <attachid>358900</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-16 13:01:34 -0800</bug_when>
    <thetext>Comment on attachment 358900
patch

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

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2917
&gt; +RefPtr&lt;AXStaticTreeNode&gt; AXObjectCache::walkAccessibilityTreeForStaticTree(AccessibilityObject* object)

I would call this createStaticAccessibilityTree

&gt; Source/WebCore/accessibility/AXStaticTree/AXStaticTreeCache.cpp:80
&gt; +static bool searchTreeAndReplace(RefPtr&lt;AXStaticTreeNode&gt; searchNode, RefPtr&lt;AXStaticTreeNode&gt; newRoot)

This is a very inefficient way of finding a node in a tree. It basically traverses the entire tree.
Maybe we want to have a HashMap of a state node ID to its node?

&gt; Source/WebCore/accessibility/AXStaticTree/AXStaticTreeCache.cpp:86
&gt; +            children.insert(index, newRoot);

It&apos;s problematic that this code can mutate Vector while another thread is accessing Vector.
We probably need a lock around each vector instead.

&gt; Source/WebCore/accessibility/AXStaticTree/AXStaticTreeCache.cpp:101
&gt; +    if (!m_rootNode)
&gt; +        m_rootNode = subRoot;

It&apos;s a bit strange that we assume subRoot to be root if m_rootNode is not set.
What guarantees that a subsequent update doesn&apos;t create ancestor nodes for m_rootNode?

&gt; Source/WebCore/accessibility/AXStaticTree/AXStaticTreeCache.h:39
&gt; +class AXStaticTreeCache : public RefCounted&lt;AXStaticTreeCache&gt; {

Why not use ThreadSafeRefCounted?

&gt; Source/WebCore/accessibility/AXStaticTree/AXStaticTreeNode.h:42
&gt; +class AXStaticTreeNode final : public AccessibilityObjectInterface, public RefCounted&lt;AXStaticTreeNode&gt; {

Use ThreadSafeRefCounted?

&gt; Source/WebCore/accessibility/AXStaticTree/AXStaticTreeNode.h:44
&gt; +enum class AXPropertyName : int {

Use uint8_t or uint16_t?
Nit: the class content should be indented.

&gt; Source/WebCore/accessibility/AXStaticTree/AXStaticTreeNode.h:51
&gt; +struct AXPropertyHashTraits : WTF::GenericHashTraits&lt;AXPropertyName&gt; {

Use WTF::StrongEnumHashTraits&lt;AXPropertyName&gt; instead?

&gt; Source/WebCore/accessibility/AXStaticTree/AXStaticTreeNode.h:68
&gt; +    static Ref&lt;AXStaticTreeNode&gt; create(AccessibilityObject*);

Use a reference instead of a pointer?
It makes no sense to create a static node when accessibility object is null, right?

&gt; Source/WebCore/accessibility/AXStaticTree/AXStaticTreeNode.h:73
&gt; +    Vector&lt;RefPtr&lt;AXStaticTreeNode&gt;&gt;&amp; children() { return m_children; };

If we want to make this class thread safe, it&apos;s problematic that we expose mutable Vector like this.
In fact, reading Vector while another thread is mutating it isn&apos;t safe either as I pointed out earlier.

&gt; Source/WebCore/accessibility/AXStaticTree/AXStaticTreeNode.h:78
&gt; +    AccessibilityObjectWrapper* wrapper() const { return m_wrapper.get(); }

Presumably this should be inside PLATFORM(COCOA) as well?

&gt; Source/WebCore/accessibility/AXStaticTree/AXStaticTreeNode.h:103
&gt; +    AXStaticTreeNode* m_parent;

Please use WeakPtr instead of a raw pointer.

&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.h:53
&gt; +    WebCore::AXStaticTreeNode* m_staticTreeNode;

Please use WeakPtr or RefPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495188</commentid>
    <comment_count>11</comment_count>
      <attachid>358900</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-16 13:07:31 -0800</bug_when>
    <thetext>Comment on attachment 358900
patch

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

&gt;&gt; Source/WebCore/accessibility/AXStaticTree/AXStaticTreeNode.h:73
&gt;&gt; +    Vector&lt;RefPtr&lt;AXStaticTreeNode&gt;&gt;&amp; children() { return m_children; };
&gt; 
&gt; If we want to make this class thread safe, it&apos;s problematic that we expose mutable Vector like this.
&gt; In fact, reading Vector while another thread is mutating it isn&apos;t safe either as I pointed out earlier.

I was hoping that we would be able to create the whole tree and then pass it over to the static tree cache and leave it there immutable.

when changes are needed, we would make a new static tree node and pass over that sub-tree (instead of having lots of locks and guaranteeing access from any thread)

do you think that can work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495195</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-16 13:24:54 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #11)
&gt; Comment on attachment 358900 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=358900&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/accessibility/AXStaticTree/AXStaticTreeNode.h:73
&gt; &gt;&gt; +    Vector&lt;RefPtr&lt;AXStaticTreeNode&gt;&gt;&amp; children() { return m_children; };
&gt; &gt; 
&gt; &gt; If we want to make this class thread safe, it&apos;s problematic that we expose mutable Vector like this.
&gt; &gt; In fact, reading Vector while another thread is mutating it isn&apos;t safe either as I pointed out earlier.
&gt; 
&gt; I was hoping that we would be able to create the whole tree and then pass it
&gt; over to the static tree cache and leave it there immutable.
&gt; 
&gt; when changes are needed, we would make a new static tree node and pass over
&gt; that sub-tree (instead of having lots of locks and guaranteeing access from
&gt; any thread)
&gt; 
&gt; do you think that can work?

Such a design work but it would mean that we can&apos;t add or remove any node to an existing static node; because that would mutate the state of the tree. That&apos;s not what your patch does currently though.

The most naive approach would result in the re-generation of the entire static AX tree each time. As in we have to create a new static AX node for the entire tree each time. That seems too inefficient.

A more memory/time efficient approach is to re-generate every static AX node whose state had changed and its ancestors (since child-parent relationship needs to be updated). That might be efficient enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495196</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-16 13:27:55 -0800</bug_when>
    <thetext>Yet another approach is to de-couple child-parent relationship information from actual nodes. So each static AX node only stores readonly immutable data which can be read from any thread, and its values are set exactly once at the time of creation. Then the update step would create a new static AX node for any AX node whose state had changed since the last tree generation. The children and the parent of a static AX tree node are then stored in a separate hash map, which is cloned &amp; updated in each update.

This approach would involve less static AX node generation but more copying &amp; hash table lookups so it may or may not be less efficient than re-generating ancestors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495197</commentid>
    <comment_count>14</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-16 13:28:30 -0800</bug_when>
    <thetext>Maybe Antti has an idea as to how to manage &amp; update static AX tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495234</commentid>
    <comment_count>15</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-16 14:24:36 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #13)
&gt; Yet another approach is to de-couple child-parent relationship information
&gt; from actual nodes. So each static AX node only stores readonly immutable
&gt; data which can be read from any thread, and its values are set exactly once
&gt; at the time of creation. Then the update step would create a new static AX
&gt; node for any AX node whose state had changed since the last tree generation.
&gt; The children and the parent of a static AX tree node are then stored in a
&gt; separate hash map, which is cloned &amp; updated in each update.

I think I was trying to go for this sort of model (where nodes are only created for changed states) and then insert those static tree nodes into the tree (behind the lock) when we need to

&gt; 
&gt; This approach would involve less static AX node generation but more copying
&gt; &amp; hash table lookups so it may or may not be less efficient than
&gt; re-generating ancestors.

Yea, I&apos;d also want to avoid anything that relied on big copy operations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495236</commentid>
    <comment_count>16</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-16 14:30:16 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #12)
&gt; (In reply to chris fleizach from comment #11)
&gt; &gt; Comment on attachment 358900 [details]
&gt; &gt; patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=358900&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebCore/accessibility/AXStaticTree/AXStaticTreeNode.h:73
&gt; &gt; &gt;&gt; +    Vector&lt;RefPtr&lt;AXStaticTreeNode&gt;&gt;&amp; children() { return m_children; };
&gt; &gt; &gt; 
&gt; &gt; &gt; If we want to make this class thread safe, it&apos;s problematic that we expose mutable Vector like this.
&gt; &gt; &gt; In fact, reading Vector while another thread is mutating it isn&apos;t safe either as I pointed out earlier.
&gt; &gt; 
&gt; &gt; I was hoping that we would be able to create the whole tree and then pass it
&gt; &gt; over to the static tree cache and leave it there immutable.
&gt; &gt; 
&gt; &gt; when changes are needed, we would make a new static tree node and pass over
&gt; &gt; that sub-tree (instead of having lots of locks and guaranteeing access from
&gt; &gt; any thread)
&gt; &gt; 
&gt; &gt; do you think that can work?
&gt; 
&gt; Such a design work but it would mean that we can&apos;t add or remove any node to
&gt; an existing static node; because that would mutate the state of the tree.
&gt; That&apos;s not what your patch does currently though.

The flow right now is that generateStaticAccessibilityTreeIfNeeded() is called after layout, which makes a new static tree
   (this needs to be updated to only do partial trees -- still a WIP)
- then we stick that into the cache which stores it behind a lock
- later when we access it, we grab the lock first before accessing
- At that point each AXStaticNode is immutable with immutable data

&gt; 
&gt; The most naive approach would result in the re-generation of the entire
&gt; static AX tree each time. As in we have to create a new static AX node for
&gt; the entire tree each time. That seems too inefficient.
&gt; 
&gt; A more memory/time efficient approach is to re-generate every static AX node
&gt; whose state had changed and its ancestors (since child-parent relationship
&gt; needs to be updated). That might be efficient enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495364</commentid>
    <comment_count>17</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-16 18:44:26 -0800</bug_when>
    <thetext>&gt; (In reply to Ryosuke Niwa from comment #13)
&gt; &gt; Yet another approach is to de-couple child-parent relationship information
&gt; &gt; from actual nodes. So each static AX node only stores readonly immutable
&gt; &gt; data which can be read from any thread, and its values are set exactly once
&gt; &gt; at the time of creation. Then the update step would create a new static AX
&gt; &gt; node for any AX node whose state had changed since the last tree generation.
&gt; &gt; The children and the parent of a static AX tree node are then stored in a
&gt; &gt; separate hash map, which is cloned &amp; updated in each update.
&gt; 
&gt; I think I was trying to go for this sort of model (where nodes are only
&gt; created for changed states) and then insert those static tree nodes into the
&gt; tree (behind the lock) when we need to

Okay. So the problem is that holding a lock to mutate the tree isn&apos;t enough. The thread which is reading / accessing the tree also needs to hold the same lock. Otherwise, the reader can access things while the tree is in a bad state.

One native approach is to have a single global lock for accessing any part of the tree at all. In this exclusive access model, a single lock is held whenever the tree is accessed (for reading) or mutated. This isn&apos;t great because it would mean that if accessing the tree or updating the tree takes a significant amount of time, then each thread must wait for the other thread to finish its work.

If we wanted to allow the creation of a new tree / updating of a tree while the existing tree is being accessed from another thread while keeping the tree immutable at any given time, then we need to do something else. As I suggested above, one way to achieve that is to create new ancestors each time a node&apos;s state changes, or separate child-parent information into its own data structure.

My gut feeling is that copying ancestors is probably faster just because we tend to have pretty shallow trees, and ancestors tend to converge pretty fast (as in there tend to be more nodes closer to leaves than nodes closer to the root), and the child-parent relationship of the entire tree is probably big.

&gt; &gt; This approach would involve less static AX node generation but more copying
&gt; &gt; &amp; hash table lookups so it may or may not be less efficient than
&gt; &gt; re-generating ancestors.
&gt; 
&gt; Yea, I&apos;d also want to avoid anything that relied on big copy operations

While copying ancestors is probably adequate, using a versioned data structure may avoid all copying. In this approach, each node remembers child-parent for multiple versions; e.g. HashMap of a version number to a Vector of nodes. When a node needs be inserted or removed, a new version of the child node list / parent pointer is created, and only that version has the mutated state. In this model, each node&apos;s versioned copy of child-parent relationship needs to have its own lock as a new version is inserted.

The tricky thing about this approach is that we need to know which versions are currently being used, and then discard the old versions as needed, which is quite a bit of code complexity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495500</commentid>
    <comment_count>18</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-17 09:19:12 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #17)
&gt; &gt; (In reply to Ryosuke Niwa from comment #13)
&gt; &gt; &gt; Yet another approach is to de-couple child-parent relationship information
&gt; &gt; &gt; from actual nodes. So each static AX node only stores readonly immutable
&gt; &gt; &gt; data which can be read from any thread, and its values are set exactly once
&gt; &gt; &gt; at the time of creation. Then the update step would create a new static AX
&gt; &gt; &gt; node for any AX node whose state had changed since the last tree generation.
&gt; &gt; &gt; The children and the parent of a static AX tree node are then stored in a
&gt; &gt; &gt; separate hash map, which is cloned &amp; updated in each update.
&gt; &gt; 
&gt; &gt; I think I was trying to go for this sort of model (where nodes are only
&gt; &gt; created for changed states) and then insert those static tree nodes into the
&gt; &gt; tree (behind the lock) when we need to
&gt; 
&gt; Okay. So the problem is that holding a lock to mutate the tree isn&apos;t enough.
&gt; The thread which is reading / accessing the tree also needs to hold the same
&gt; lock. Otherwise, the reader can access things while the tree is in a bad
&gt; state.
&gt; 
&gt; One native approach is to have a single global lock for accessing any part
&gt; of the tree at all. In this exclusive access model, a single lock is held
&gt; whenever the tree is accessed (for reading) or mutated. This isn&apos;t great
&gt; because it would mean that if accessing the tree or updating the tree takes
&gt; a significant amount of time, then each thread must wait for the other
&gt; thread to finish its work.

This was what I was going for, but I see a flaw in my current code. While we can swap in a static node behind a lock, and retrieve the static root tree behind the lock, we exit the lock protection after retrieving the node (on the other thread). at that point, it&apos;s possible the tree could be mutated (behind a lock, but the other thread might be accessibility children() outside that lock)



&gt; 
&gt; If we wanted to allow the creation of a new tree / updating of a tree while
&gt; the existing tree is being accessed from another thread while keeping the
&gt; tree immutable at any given time, then we need to do something else. As I
&gt; suggested above, one way to achieve that is to create new ancestors each
&gt; time a node&apos;s state changes, or separate child-parent information into its
&gt; own data structure.
&gt; 
&gt; My gut feeling is that copying ancestors is probably faster just because we
&gt; tend to have pretty shallow trees, and ancestors tend to converge pretty
&gt; fast (as in there tend to be more nodes closer to leaves than nodes closer
&gt; to the root), and the child-parent relationship of the entire tree is
&gt; probably big.
&gt; 
&gt; &gt; &gt; This approach would involve less static AX node generation but more copying
&gt; &gt; &gt; &amp; hash table lookups so it may or may not be less efficient than
&gt; &gt; &gt; re-generating ancestors.
&gt; &gt; 
&gt; &gt; Yea, I&apos;d also want to avoid anything that relied on big copy operations
&gt; 
&gt; While copying ancestors is probably adequate, using a versioned data
&gt; structure may avoid all copying. In this approach, each node remembers
&gt; child-parent for multiple versions; e.g. HashMap of a version number to a
&gt; Vector of nodes. When a node needs be inserted or removed, a new version of
&gt; the child node list / parent pointer is created, and only that version has
&gt; the mutated state. In this model, each node&apos;s versioned copy of child-parent
&gt; relationship needs to have its own lock as a new version is inserted.

I think I can make this idea work. We can probably avoid the state where we&apos;d be accessing a vector while being mutated with some appropriate locking

&gt; 
&gt; The tricky thing about this approach is that we need to know which versions
&gt; are currently being used, and then discard the old versions as needed, which
&gt; is quite a bit of code complexity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495612</commentid>
    <comment_count>19</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-17 13:09:28 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #18)
&gt; (In reply to Ryosuke Niwa from comment #17)
&gt; &gt; If we wanted to allow the creation of a new tree / updating of a tree while
&gt; &gt; the existing tree is being accessed from another thread while keeping the
&gt; &gt; tree immutable at any given time, then we need to do something else. As I
&gt; &gt; suggested above, one way to achieve that is to create new ancestors each
&gt; &gt; time a node&apos;s state changes, or separate child-parent information into its
&gt; &gt; own data structure.
&gt; &gt; 
&gt; &gt; My gut feeling is that copying ancestors is probably faster just because we
&gt; &gt; tend to have pretty shallow trees, and ancestors tend to converge pretty
&gt; &gt; fast (as in there tend to be more nodes closer to leaves than nodes closer
&gt; &gt; to the root), and the child-parent relationship of the entire tree is
&gt; &gt; probably big.
&gt; &gt; 
&gt; &gt; &gt; &gt; This approach would involve less static AX node generation but more copying
&gt; &gt; &gt; &gt; &amp; hash table lookups so it may or may not be less efficient than
&gt; &gt; &gt; &gt; re-generating ancestors.
&gt; &gt; &gt; 
&gt; &gt; &gt; Yea, I&apos;d also want to avoid anything that relied on big copy operations
&gt; &gt; 
&gt; &gt; While copying ancestors is probably adequate, using a versioned data
&gt; &gt; structure may avoid all copying. In this approach, each node remembers
&gt; &gt; child-parent for multiple versions; e.g. HashMap of a version number to a
&gt; &gt; Vector of nodes. When a node needs be inserted or removed, a new version of
&gt; &gt; the child node list / parent pointer is created, and only that version has
&gt; &gt; the mutated state. In this model, each node&apos;s versioned copy of child-parent
&gt; &gt; relationship needs to have its own lock as a new version is inserted.
&gt; 
&gt; I think I can make this idea work. We can probably avoid the state where
&gt; we&apos;d be accessing a vector while being mutated with some appropriate locking

The key for this approach is that multiple versions are maintained; the one being accessed can&apos;t change until the entire tree moves to a new version. In theory, we might be able to get away by having two versions; one being accessed, and one being written / updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496289</commentid>
    <comment_count>20</comment_count>
      <attachid>359627</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-19 18:32:48 -0800</bug_when>
    <thetext>Created attachment 359627
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496290</commentid>
    <comment_count>21</comment_count>
      <attachid>359628</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-19 18:39:47 -0800</bug_when>
    <thetext>Created attachment 359628
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496291</commentid>
    <comment_count>22</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-19 18:42:13 -0800</bug_when>
    <thetext>Attachment 359628 did not pass style-queue:


ERROR: Source/WebKit/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/WebKit/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/WebKit/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:33:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.h:33:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebCore/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/WebCore/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/WebCore/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:38:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm:35:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm:299:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 17 in 27 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496292</commentid>
    <comment_count>23</comment_count>
      <attachid>359629</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-19 19:39:42 -0800</bug_when>
    <thetext>Created attachment 359629
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496293</commentid>
    <comment_count>24</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-19 19:41:45 -0800</bug_when>
    <thetext>Attachment 359629 did not pass style-queue:


ERROR: Source/WebKit/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/WebCore/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
ERROR: Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig:0:  Any changes made to FeatureDefines should be made to all of them (changed file does not match Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig). Use sync-feature-defines if possible.  [featuredefines/equality] [5]
Total errors found: 5 in 27 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496307</commentid>
    <comment_count>25</comment_count>
      <attachid>359634</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-19 23:27:01 -0800</bug_when>
    <thetext>Created attachment 359634
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496308</commentid>
    <comment_count>26</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-19 23:28:31 -0800</bug_when>
    <thetext>Attachment 359634 did not pass style-queue:


ERROR: Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm:271:  Should not have spaces around = in property synthesis.  [whitespace/property] [4]
Total errors found: 1 in 29 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496309</commentid>
    <comment_count>27</comment_count>
      <attachid>359635</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-19 23:33:42 -0800</bug_when>
    <thetext>Created attachment 359635
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496313</commentid>
    <comment_count>28</comment_count>
      <attachid>359637</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-20 00:14:01 -0800</bug_when>
    <thetext>Created attachment 359637
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496642</commentid>
    <comment_count>29</comment_count>
      <attachid>359637</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-21 12:47:30 -0800</bug_when>
    <thetext>Comment on attachment 359637
patch

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

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2943
&gt; +    root-&gt;setIsRootNode(true);

So root node never changes?

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2945
&gt; +    cache-&gt;appendNodeChanges(nodes);

It seems a bit inefficient that all nodes created in the initial tree has to go through the change list.
In fact, there is no need to have each descendent node of the root node go through the change log.
As soon as the root is inserted, the rest appears as a result of them appearing in the tree relationship of the root.
In fact, in any node insertion, its sub tree doesn&apos;t need to show up in the change log
as long as all of its sub tree are newly created nodes.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.cpp:110
&gt; +    appendCopy = m_appendChangeLog;

Use WTFMove or std::swap?

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:142
&gt; +    RefPtr&lt;AXIsolatedTreeRelationship&gt; m_relationship;

Since it makes no sense for the true relationship to be empty, why don&apos;t we use Ref?

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:143
&gt; +    bool m_isRootNode;

It would pack better in 64-bit if this bool was placed next to AXID.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:149
&gt; +    HashMap&lt;AXPropertyName, AttributeValueVariant, WTF::IntHash&lt;AXPropertyName&gt;, AXPropertyHashTraits&gt; m_attributeMap;

Why don&apos;t we put const here since this should never change once the node is created?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496684</commentid>
    <comment_count>30</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-21 17:31:02 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #29)
&gt; Comment on attachment 359637 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=359637&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/AXObjectCache.cpp:2943
&gt; &gt; +    root-&gt;setIsRootNode(true);
&gt; 
&gt; So root node never changes?

Correct

&gt; 
&gt; &gt; Source/WebCore/accessibility/AXObjectCache.cpp:2945
&gt; &gt; +    cache-&gt;appendNodeChanges(nodes);
&gt; 
&gt; It seems a bit inefficient that all nodes created in the initial tree has to
&gt; go through the change list.
&gt; In fact, there is no need to have each descendent node of the root node go
&gt; through the change log.
&gt; As soon as the root is inserted, the rest appears as a result of them
&gt; appearing in the tree relationship of the root.
&gt; In fact, in any node insertion, its sub tree doesn&apos;t need to show up in the
&gt; change log
&gt; as long as all of its sub tree are newly created nodes.
&gt; 

I still need to get the nodes into the AXID -&gt; Node cache, since the relationships are just AXIDs

I could change the relationships to hold onto the children, however, I think I will still need an AXID -&gt; Node cache so that we can do fast lookup when we need to replace a sub tree, so I&apos;ll have to iterate the nodes at some point I think

&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.cpp:110
&gt; &gt; +    appendCopy = m_appendChangeLog;
&gt; 
&gt; Use WTFMove or std::swap?
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:142
&gt; &gt; +    RefPtr&lt;AXIsolatedTreeRelationship&gt; m_relationship;
&gt; 
&gt; Since it makes no sense for the true relationship to be empty, why don&apos;t we
&gt; use Ref?

Ok

&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:143
&gt; &gt; +    bool m_isRootNode;
&gt; 
&gt; It would pack better in 64-bit if this bool was placed next to AXID.
&gt; 

Ok

&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:149
&gt; &gt; +    HashMap&lt;AXPropertyName, AttributeValueVariant, WTF::IntHash&lt;AXPropertyName&gt;, AXPropertyHashTraits&gt; m_attributeMap;
&gt; 
&gt; Why don&apos;t we put const here since this should never change once the node is
&gt; created?

Ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496933</commentid>
    <comment_count>31</comment_count>
      <attachid>359768</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-22 13:23:24 -0800</bug_when>
    <thetext>Created attachment 359768
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497029</commentid>
    <comment_count>32</comment_count>
      <attachid>359768</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-22 15:34:44 -0800</bug_when>
    <thetext>Comment on attachment 359768
patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        In order to improve performance when requesting the accessibility hierarchy, we introduce the idea of a &quot;static accessibility tree&quot; which could be accessed on a different thread by assistive technologies.

Can we wrap lines at some point earlier?
It&apos;s super long. Also rename static -&gt; isolated?

&gt; Source/WebCore/ChangeLog:10
&gt; +        That is accomplished by storing all the data needed to answer accessibility attribute queries in a static object that mirrors the &quot;live&quot; AccessibilityObjects (which interact with both DOM and Render trees).

Ditto.

&gt; Source/WebCore/ChangeLog:11
&gt; +        These static objects are generally created after layout is done and final tasks are being performed. They are then stored in the static tree representation and able to be read from anywhere.

Ditto.

&gt; Source/WebCore/ChangeLog:12
&gt; +        Tactically this is done with AXIsolatedTreeNodes inside of an AXIsolatedTreeCache. The TreeNodes implement an AccessibilityObjectInterface shared with AccessibilityObject

Ditto.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2916
&gt; +RefPtr&lt;AXIsolatedTreeNode&gt; AXObjectCache::createStaticAccessibilityTree(AccessibilityObject&amp; object, AXID parentID, AXIsolatedTreeCache&amp; cache, Vector&lt;RefPtr&lt;AXIsolatedTreeNode&gt;&gt;&amp; nodes)

Make this return Ref.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2940
&gt; +    RefPtr&lt;AXIsolatedTreeCache&gt; cache = AXIsolatedTreeCache::cacheForPage(m_document.page());

Use auto.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2942
&gt; +    RefPtr&lt;AXIsolatedTreeNode&gt; root = createStaticAccessibilityTree(*rootObject(), 0, *cache, nodes);

Ditto. Hm... can we define InvalidAXID or something instead of hard-coding the magic number of 0?

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2944
&gt; +    

Nit: whitespaces.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.cpp:38
&gt; +HashMap&lt;Page*, RefPtr&lt;AXIsolatedTreeCache&gt;&gt;&amp; AXIsolatedTreeCache::pageRootMap()

I think this map should be a static local variable in AXIsolatedTreeCache::cacheForPage
since any caller of this function would have to grab a lock.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.cpp:69
&gt; +    RefPtr&lt;AXIsolatedTreeCache&gt; cache = pageRootMap().get(page);

This code needs a lock since this function can run concurrently in multiple threads.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.h:48
&gt; +    WEBCORE_EXPORT static RefPtr&lt;AXIsolatedTreeCache&gt; cacheForPage(Page*);

This function should return Ref since it never returns nullptr.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.h:66
&gt; +    static HashMap&lt;Page*, RefPtr&lt;AXIsolatedTreeCache&gt;&gt;&amp; pageRootMap();

Since we never insert a null AXIsolatedTreeCache into this map, it should be Ref&lt;AXIsolatedTreeCache&gt;.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.h:67
&gt; +    static HashMap&lt;AXIsolatedCacheID, RefPtr&lt;AXIsolatedTreeCache&gt;&gt;&amp; treeCache();

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.h:70
&gt; +    HashMap&lt;AXID, RefPtr&lt;AXIsolatedTreeNode&gt;&gt; m_cache;

Ditto. Use Ref&lt;AXIsolatedTreeNode&gt;.
Why don&apos;t we call this m_readerThreadNodeMap to make the intent clear without a comment?
Also, there is no need to say this is the cache since the entire class is called AXIsolatedTree*Cache*.
But it&apos;s almost misleading that this class is called AXIsolatedTree*Cache* since AT exclusively accesses the accessibility tree via this &quot;cache&quot;.
I think I would prefer calling this simply AXIsolatedTree altogether.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.h:73
&gt; +    Vector&lt;RefPtr&lt;AXIsolatedTreeNode&gt;&gt; m_appendChangeLog;

Ditto. Also, why don&apos;t we call this something like m_pendingAppends to convey
the semantics that these changes haven&apos;t taken place yet.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.h:74
&gt; +    Vector&lt;AXID&gt; m_removeChangeLog;

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:127
&gt; +    

Nit: Whitespace.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:131
&gt; +    

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:134
&gt; +    

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:140
&gt; +    

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:144
&gt; +    

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:148
&gt; +    

Ditto.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:53
&gt; +    WebCore::Page* page = m_page-&gt;corePage();

This code is definitely not safe to run in non-main thread.
We can&apos;t access WebKit::WebPage in non-main thread.
r- because of this thread safety issue.
One way to make this code more thread safe is to key the mapping based on PageID.

So when WKAccessibilityWebPageObjectBase is created in the main thread, it could store its PageID

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:59
&gt; +    

Nit: Whitespace.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:75
&gt;      WebCore::Page* page = m_page-&gt;corePage();

It&apos;s not safe to access WebCore::Page object in a separate thread like this because page can be deleted meanwhile.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:79
&gt; +    AXObjectCache* cache = [self axObjectCache];

I think this whole logic to get WebCore::Page &amp; accessing the map should be moved to the dispatchBlock below.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:92
&gt; +            dispatch_sync(dispatch_get_main_queue(), dispatchBlock);

Do we really need to dispatch sync?
Can we, for example, dispatch_async then return nil for now until the tree becomes available?
We can keep it this way if an alternative is hard to implement. I was just wondering.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:95
&gt; +    auto isolatedCache = AXIsolatedTreeCache::cacheForPage(page);

This code is definitely not safe to run in non-main thread.
AXIsolatedTreeCache::cacheForPage accesses HashMap which is mutated in the main thread without a lock.
r- because of this thread safety issue. We need a lock in cacheForPage.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:96
&gt; +    if (!isolatedCache) {

It appears to me that this would never be true since we never return nullptr in cacheForPage.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:105
&gt; +    

Nit: whitespace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497030</commentid>
    <comment_count>33</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-22 15:37:48 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #32)
&gt; Comment on attachment 359768 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=359768&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        In order to improve performance when requesting the accessibility hierarchy, we introduce the idea of a &quot;static accessibility tree&quot; which could be accessed on a different thread by assistive technologies.
&gt; 
&gt; Can we wrap lines at some point earlier?
&gt; It&apos;s super long. Also rename static -&gt; isolated?
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        That is accomplished by storing all the data needed to answer accessibility attribute queries in a static object that mirrors the &quot;live&quot; AccessibilityObjects (which interact with both DOM and Render trees).
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:11
&gt; &gt; +        These static objects are generally created after layout is done and final tasks are being performed. They are then stored in the static tree representation and able to be read from anywhere.
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:12
&gt; &gt; +        Tactically this is done with AXIsolatedTreeNodes inside of an AXIsolatedTreeCache. The TreeNodes implement an AccessibilityObjectInterface shared with AccessibilityObject
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/accessibility/AXObjectCache.cpp:2916
&gt; &gt; +RefPtr&lt;AXIsolatedTreeNode&gt; AXObjectCache::createStaticAccessibilityTree(AccessibilityObject&amp; object, AXID parentID, AXIsolatedTreeCache&amp; cache, Vector&lt;RefPtr&lt;AXIsolatedTreeNode&gt;&gt;&amp; nodes)
&gt; 
&gt; Make this return Ref.
&gt; 
&gt; &gt; Source/WebCore/accessibility/AXObjectCache.cpp:2940
&gt; &gt; +    RefPtr&lt;AXIsolatedTreeCache&gt; cache = AXIsolatedTreeCache::cacheForPage(m_document.page());
&gt; 
&gt; Use auto.
&gt; 
&gt; &gt; Source/WebCore/accessibility/AXObjectCache.cpp:2942
&gt; &gt; +    RefPtr&lt;AXIsolatedTreeNode&gt; root = createStaticAccessibilityTree(*rootObject(), 0, *cache, nodes);
&gt; 
&gt; Ditto. Hm... can we define InvalidAXID or something instead of hard-coding
&gt; the magic number of 0?
&gt; 
&gt; &gt; Source/WebCore/accessibility/AXObjectCache.cpp:2944
&gt; &gt; +    
&gt; 
&gt; Nit: whitespaces.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.cpp:38
&gt; &gt; +HashMap&lt;Page*, RefPtr&lt;AXIsolatedTreeCache&gt;&gt;&amp; AXIsolatedTreeCache::pageRootMap()
&gt; 
&gt; I think this map should be a static local variable in
&gt; AXIsolatedTreeCache::cacheForPage
&gt; since any caller of this function would have to grab a lock.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.cpp:69
&gt; &gt; +    RefPtr&lt;AXIsolatedTreeCache&gt; cache = pageRootMap().get(page);
&gt; 
&gt; This code needs a lock since this function can run concurrently in multiple
&gt; threads.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.h:48
&gt; &gt; +    WEBCORE_EXPORT static RefPtr&lt;AXIsolatedTreeCache&gt; cacheForPage(Page*);
&gt; 
&gt; This function should return Ref since it never returns nullptr.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.h:66
&gt; &gt; +    static HashMap&lt;Page*, RefPtr&lt;AXIsolatedTreeCache&gt;&gt;&amp; pageRootMap();
&gt; 
&gt; Since we never insert a null AXIsolatedTreeCache into this map, it should be
&gt; Ref&lt;AXIsolatedTreeCache&gt;.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.h:67
&gt; &gt; +    static HashMap&lt;AXIsolatedCacheID, RefPtr&lt;AXIsolatedTreeCache&gt;&gt;&amp; treeCache();
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.h:70
&gt; &gt; +    HashMap&lt;AXID, RefPtr&lt;AXIsolatedTreeNode&gt;&gt; m_cache;
&gt; 
&gt; Ditto. Use Ref&lt;AXIsolatedTreeNode&gt;.
&gt; Why don&apos;t we call this m_readerThreadNodeMap to make the intent clear
&gt; without a comment?
&gt; Also, there is no need to say this is the cache since the entire class is
&gt; called AXIsolatedTree*Cache*.
&gt; But it&apos;s almost misleading that this class is called AXIsolatedTree*Cache*
&gt; since AT exclusively accesses the accessibility tree via this &quot;cache&quot;.
&gt; I think I would prefer calling this simply AXIsolatedTree altogether.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.h:73
&gt; &gt; +    Vector&lt;RefPtr&lt;AXIsolatedTreeNode&gt;&gt; m_appendChangeLog;
&gt; 
&gt; Ditto. Also, why don&apos;t we call this something like m_pendingAppends to convey
&gt; the semantics that these changes haven&apos;t taken place yet.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeCache.h:74
&gt; &gt; +    Vector&lt;AXID&gt; m_removeChangeLog;
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:127
&gt; &gt; +    
&gt; 
&gt; Nit: Whitespace.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:131
&gt; &gt; +    
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:134
&gt; &gt; +    
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:140
&gt; &gt; +    
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:144
&gt; &gt; +    
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:148
&gt; &gt; +    
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:53
&gt; &gt; +    WebCore::Page* page = m_page-&gt;corePage();
&gt; 
&gt; This code is definitely not safe to run in non-main thread.
&gt; We can&apos;t access WebKit::WebPage in non-main thread.
&gt; r- because of this thread safety issue.
&gt; One way to make this code more thread safe is to key the mapping based on
&gt; PageID.
&gt; 
&gt; So when WKAccessibilityWebPageObjectBase is created in the main thread, it
&gt; could store its PageID
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:59
&gt; &gt; +    
&gt; 
&gt; Nit: Whitespace.
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:75
&gt; &gt;      WebCore::Page* page = m_page-&gt;corePage();
&gt; 
&gt; It&apos;s not safe to access WebCore::Page object in a separate thread like this
&gt; because page can be deleted meanwhile.
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:79
&gt; &gt; +    AXObjectCache* cache = [self axObjectCache];
&gt; 
&gt; I think this whole logic to get WebCore::Page &amp; accessing the map should be
&gt; moved to the dispatchBlock below.
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:92
&gt; &gt; +            dispatch_sync(dispatch_get_main_queue(), dispatchBlock);
&gt; 
&gt; Do we really need to dispatch sync?
&gt; Can we, for example, dispatch_async then return nil for now until the tree
&gt; becomes available?
&gt; We can keep it this way if an alternative is hard to implement. I was just
&gt; wondering.

Will work on all these changes. Thanks for review

Per this comment above, we need to return data here on initial usage, otherwise we&apos;ll get bugs and VO is going to be flaky if the first access to a webpage always fails. So hard to avoid the dispatch_sync in this case

&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:95
&gt; &gt; +    auto isolatedCache = AXIsolatedTreeCache::cacheForPage(page);
&gt; 
&gt; This code is definitely not safe to run in non-main thread.
&gt; AXIsolatedTreeCache::cacheForPage accesses HashMap which is mutated in the
&gt; main thread without a lock.
&gt; r- because of this thread safety issue. We need a lock in cacheForPage.
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:96
&gt; &gt; +    if (!isolatedCache) {
&gt; 
&gt; It appears to me that this would never be true since we never return nullptr
&gt; in cacheForPage.
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:105
&gt; &gt; +    
&gt; 
&gt; Nit: whitespace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497265</commentid>
    <comment_count>34</comment_count>
      <attachid>359863</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-23 02:15:57 -0800</bug_when>
    <thetext>Created attachment 359863
patch

Did my best to convert to using Ref&lt;&gt; instead of RefPtr&lt;&gt; but had some difficulty with vector copies/swaps because the operator for = for Ref is delete. But that said, I got most of them using Ref.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497266</commentid>
    <comment_count>35</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-23 02:18:44 -0800</bug_when>
    <thetext>Attachment 359863 did not pass style-queue:


ERROR: Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:68:  An else statement can be removed when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
ERROR: Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:133:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
Total errors found: 2 in 32 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497267</commentid>
    <comment_count>36</comment_count>
      <attachid>359864</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-23 02:19:57 -0800</bug_when>
    <thetext>Created attachment 359864
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497316</commentid>
    <comment_count>37</comment_count>
      <attachid>359879</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-23 07:29:51 -0800</bug_when>
    <thetext>Created attachment 359879
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497374</commentid>
    <comment_count>38</comment_count>
      <attachid>359896</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-23 09:39:02 -0800</bug_when>
    <thetext>Created attachment 359896
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498116</commentid>
    <comment_count>39</comment_count>
      <attachid>359896</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-24 19:46:12 -0800</bug_when>
    <thetext>Comment on attachment 359896
patch

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

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:734
&gt; +    

Nit: whitespace.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2922
&gt; +    nodes.append(isolatedTreeNode.ptr());

Like I mentioned in the previous patch, there is no need to make each node go through the change list.
We can simply insert the root node.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2923
&gt; +    

Nit: whitespace.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2927
&gt; +    

Ditto.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2932
&gt; +    

Ditto.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2936
&gt; +Ref&lt;AXIsolatedTree&gt; AXObjectCache::generateStaticAccessibilityTreeIfNeeded()

Given this function is now only called when there is no root node, we should remove IfNeeded suffix.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2938
&gt; +    auto tree = AXIsolatedTree::treeForPageID(*m_document.pageID());

Let&apos;s release-assert that we&apos;re in the main thread here.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2941
&gt; +    auto root = createIsolatedAccessibilityTree(*rootObject(), InvalidAXID, tree, nodes);
&gt; +    root-&gt;setIsRootNode(true);

There is no need to pass nodes to createIsolatedAccessibilityTree. Since they&apos;re already in the tree.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2943
&gt; +    

Nit: whitespace.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:67
&gt; +    cacheLock.lock();

Let&apos;s use Locker class instead of manually locking &amp; unlocking.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:73
&gt; +    

Nit: whitespace.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:83
&gt; +    if (!axID)

Let&apos;s assert that this is not the main thread.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:95
&gt; +    m_changeLogLock.lock();

Let&apos;s use Locker.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:102
&gt; +    m_changeLogLock.lock();

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:108
&gt; +{

Let&apos;s release-assert that we&apos;re in the reader thread.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:110
&gt; +    Vector&lt;RefPtr&lt;AXIsolatedTreeNode&gt;&gt; appendCopy(WTFMove(m_pendingAppends));

Use appendCopy { ~ }.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:111
&gt; +    Vector&lt;AXID&gt; removeCopy(WTFMove(m_pendingRemovals));

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:60
&gt; +    

Nit: whitespace.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:62
&gt; +    

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:67
&gt; +    

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:70
&gt; +    

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.cpp:58
&gt; +    if (shouldRemove)

Let&apos;s assert that we&apos;re in the main thread here. Otherwise, we&apos;d have a threading bug.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:48
&gt; +class AXIsolatedTreeRelationship : public ThreadSafeRefCounted&lt;AXIsolatedTreeRelationship&gt; {

I think with our new design, we don&apos;t need this class to be separated from AXIsolatedTreeNode.
That should result in a slightly better packing and 16 bytes or so of space saved.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:81
&gt; +enum class AXPropertyName : uint16_t {

Please indent the class content. Also, it seems like this can be uint8_t?

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:98
&gt; +    static const bool emptyValueIsZero = false;
&gt; +    static AXPropertyName emptyValue() { return AXPropertyName::None; };
&gt; +    static void constructDeletedValue(AXPropertyName&amp; slot)
&gt; +    {
&gt; +        slot = static_cast&lt;AXPropertyName&gt;(static_cast&lt;int&gt;(AXPropertyName::None) - 1);
&gt; +    }
&gt; +    static bool isDeletedValue(AXPropertyName value)
&gt; +    {
&gt; +        return static_cast&lt;int&gt;(value) == static_cast&lt;int&gt;(AXPropertyName::None) - 1;
&gt; +    }

You shouldn&apos;t have to define any of this once you inserted from StrongEnumHashTraits.
In fact, you should be able to just specify WTF::StrongEnumHashTraits&lt;AXPropertyName&gt; where you specify AXPropertyHashTraits.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:109
&gt; +    

Nit: whitespace

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:111
&gt; +    

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:114
&gt; +    

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:120
&gt; +    void setWrapper(WebAccessibilityObjectWrapper* wrapper)
&gt; +    {
&gt; +        m_wrapper = wrapper;
&gt; +    }

Seems like this can be one-liner?

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:149
&gt; +    // We don&apos;t mark this const because even though attributes don&apos;t change after initial creation,
&gt; +    // we may copy an existing node and replace specific values,

Okay, you can just put this in change log since it seems like this is a kind of thing that would be obvious once such a code exists.

&gt; Source/WebCore/accessibility/mac/AXObjectCacheMac.mm:244
&gt; +    object.wrapper().isolatedTreeIdentifier = treeID;

Let&apos;s assert that object.wrapper().isolatedTreeIdentifier is not already set.

&gt; Source/WebCore/accessibility/mac/AXObjectCacheMac.mm:248
&gt; +    

Nit: whitespace.

&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm:291
&gt; +    return AXIsolatedTree::treeForID(_isolatedTreeIdentifier)-&gt;nodeForID(_identifier);

Can this be called from non-main thread?
If so, we need a lock here.
Otherwise, let&apos;s release assert that we&apos;re in the main thread in AXIsolatedTree::treeForID

&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm:306
&gt; +    AXIsolatedTree::treeForID(self.isolatedTreeIdentifier)-&gt;applyPendingChanges();
&gt; +    return _identifier;

Ditto.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:72
&gt; +        if (RunLoop::isMain())

Let&apos;s use isMainThread() instead since RunLoop::isMain() is problematic in iOS WK1
even though I don&apos;t think we have a plan to enable this in WK1?

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:75
&gt; +            dispatch_sync(dispatch_get_main_queue(), dispatchBlock);

Let&apos;s use callOnMainThreadAndWait instead.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:85
&gt; +    if (!WebCore::AXObjectCache::accessibilityEnabled())
&gt; +        WebCore::AXObjectCache::enableAccessibility();

It seems like this code is technically concurrency ready in most architectures,
it&apos;s quite subtle that enableAccessibility() would run in a non-main thread.
Perhaps we should adda comment in AXObjectCache.h around accessibilityEnabled() / enableAccessibility().

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:95
&gt; +                tree-&gt;applyPendingChanges();

We can&apos;t do this in the main thread. The only reason the reader thread can access things fast
is because nobody is touching reader thread&apos;s data structure in the main thread.
This invocation of applyPendingChanges in the main thread would violate that invariant.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:99
&gt; +        if (RunLoop::isMain())

Ditto about using isMainThread() instead.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:102
&gt; +            dispatch_sync(dispatch_get_main_queue(), dispatchBlock);

Ditto about using callOnMainThreadAndWait instead.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:108
&gt; +        generateBlock();

After this call to generateBlock, we&apos;d have to call applyPendingChanges in this thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498178</commentid>
    <comment_count>40</comment_count>
      <attachid>360093</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-25 02:16:06 -0800</bug_when>
    <thetext>Created attachment 360093
Patch

@Ryosuke, all comments addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498179</commentid>
    <comment_count>41</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-25 02:19:40 -0800</bug_when>
    <thetext>Attachment 360093 did not pass style-queue:


ERROR: Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:95:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 1 in 32 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498186</commentid>
    <comment_count>42</comment_count>
      <attachid>360097</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-25 02:50:15 -0800</bug_when>
    <thetext>Created attachment 360097
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498187</commentid>
    <comment_count>43</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-25 02:52:51 -0800</bug_when>
    <thetext>Attachment 360097 did not pass style-queue:


ERROR: Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:75:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:93:  The parameter name &quot;cache&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:100:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 3 in 32 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498413</commentid>
    <comment_count>44</comment_count>
      <attachid>360097</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-25 13:23:16 -0800</bug_when>
    <thetext>Comment on attachment 360097
patch

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

There is one minor thread issue but the rest looks good.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:46
&gt; +    : m_treeID(++s_treeIDCount)

This isn&apos;t right. In the current design, AXIsolatedTree::create() can be invoked in multiple threads.
As such, it&apos;s not safe to increment s_treeIDCount without a lock.
I think a simpler design would be to make sure AXIsolatedTree::create is only called in the main thread.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:67
&gt; +    Locker&lt;Lock&gt; locker(cacheLock);

Just use LockHolder which is typedef of Locker&lt;Lock&gt;

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:69
&gt; +    cacheLock.lock();

No need to call lock once you have Locker.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:75
&gt; +    Ref&lt;AXIsolatedTree&gt; newTree = AXIsolatedTree::create();

I think we should change the design and make this function return nullptr when there is no tree.
Then only create AXIsolatedTree in the main thread.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:96
&gt; +    Locker&lt;Lock&gt; locker(m_changeLogLock);

Use LockHolder instead of Locker&lt;Lock&gt;.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:102
&gt; +    Locker&lt;Lock&gt; locker(m_changeLogLock);

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:110
&gt; +    m_changeLogLock.lock();

Use LockHolder and invoke unlock() early.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.cpp:39
&gt; +}

Let&apos;s also add ASSERT(isMainThread()) here.
Also let&apos;s add another member like m_initialized behind #if !ASSERT_DISABLED
which is set to true once initializeAttributeData is called.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.cpp:57
&gt; +    ASSERT(isMainThread());

and then let&apos;s assert that m_initialized is false here.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:64
&gt; +    void setIsRootNode(bool value) { m_isRootNode = value; }

Let&apos;s assert that this is only called in the main thread.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:66
&gt; +    void setParent(AXID parent) { m_parent = parent; }

Ditto.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:69
&gt; +    Vector&lt;AXID&gt;&amp; children() { return m_children; };

Let&apos;s make this return const Vector&lt;AXID&gt;&amp; then add another function like appendChild
which asserts that it&apos;s only called in the main thread so that we can be sure that
nobody is trying to mutate this vector in non-main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498453</commentid>
    <comment_count>45</comment_count>
      <attachid>360161</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-25 14:00:16 -0800</bug_when>
    <thetext>Created attachment 360161
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498456</commentid>
    <comment_count>46</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-25 14:03:36 -0800</bug_when>
    <thetext>Attachment 360161 did not pass style-queue:


ERROR: Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:72:  One line control clauses should not use braces.  [whitespace/braces] [4]
ERROR: Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:75:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:93:  The parameter name &quot;cache&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:100:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 4 in 32 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498461</commentid>
    <comment_count>47</comment_count>
      <attachid>360161</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-25 14:17:07 -0800</bug_when>
    <thetext>Comment on attachment 360161
patch

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

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:72
&gt; +    if (auto tree = pageMap.get().get(pageID)) {
&gt; +        return makeRefPtr(tree);
&gt; +    }

Nit: No curly braces around a single line statement.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:75
&gt; +    if (!create)
&gt; +        return nullptr;

I think it&apos;s cleaner to have a separate function which creates the tree.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:76
&gt; +    

Nit: whitespace.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:77
&gt; +    RefPtr&lt;AXIsolatedTree&gt; newTree = AXIsolatedTree::create();

Use auto?

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.cpp:42
&gt; +    initializeAttributeData(object);

Oh I mean that set m_initialized AFTER initializeAttributeData.
Otherwise, setProperty in initializeAttributeData would hit its assertion, right?

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.cpp:63
&gt; +    

Nit: whitespace.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:103
&gt; +    auto tree = AXIsolatedTree::treeForPageID(m_pageID);

We need to check null-ness of the tree here.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:106
&gt; +    auto rootNode = tree-&gt;rootNode();
&gt; +    if (!rootNode)
&gt; +        generateBlock();

This check is now unnecessary because we&apos;d always create the root node as we create the tree.

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:108
&gt; +    tree-&gt;applyPendingChanges();

Since it&apos;s only safe to invoke this function in the reader thread,
we might as well as assert that we&apos;re not in the main thread
instead of having a fallback for the main thread case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498462</commentid>
    <comment_count>48</comment_count>
      <attachid>360161</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-01-25 14:17:37 -0800</bug_when>
    <thetext>Comment on attachment 360161
patch

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

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2919
&gt; +Ref&lt;AXIsolatedTreeNode&gt; AXObjectCache::createIsolatedAccessibilityTree(AccessibilityObject&amp; object, AXID parentID, AXIsolatedTree&amp; tree, Vector&lt;RefPtr&lt;AXIsolatedTreeNode&gt;&gt;&amp; nodes)

Should that be Vector&lt;RefPtr&lt;AXIsolatedTreeNode&gt;&gt;&amp;&amp; if ownership is being transferred.

I&apos;m confused about this function. It&apos;s called createIsolatedAccessibilityTree() but it takes a tree, rather than returning a tree. Is it really appending nodes to the tree? Maybe it should have &quot;recursive&quot; in the name too?

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:37
&gt; +static unsigned s_treeIDCount = 0;

Is this a count of IDs? Maybe call it currentTreeID? Would be cleaner to wrap this in a function that provides unique IDs.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:63
&gt; +RefPtr&lt;AXIsolatedTree&gt; AXIsolatedTree::treeForPageID(uint64_t pageID, bool create)

Do you really want a tree per Page? Page outlives navigations, so do you swap out the tree on navigation? What&apos;s the lifetime of trees which aren&apos;t for the current document?

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:85
&gt; +    ASSERT(!isMainThread());

Can you assert that this is the reader thread?

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:49
&gt; +    WEBCORE_EXPORT static RefPtr&lt;AXIsolatedTree&gt; treeForPageID(uint64_t, bool create);

Name uint64_t here.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:63
&gt; +    bool isRootNode() const { return m_isRootNode; }

Can you tell that it&apos;s the root node because it has no parent?

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:78
&gt; +    const Vector&lt;AXID&gt;&amp; children() { return m_children; };

Function should be const.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:115
&gt; +    AXID m_parent;
&gt; +    AXID m_identifier;
&gt; +    bool m_isRootNode;
&gt; +    bool m_initialized;
&gt; +    Vector&lt;AXID&gt; m_children;
&gt; +
&gt; +#if PLATFORM(COCOA)
&gt; +    RetainPtr&lt;WebAccessibilityObjectWrapper&gt; m_wrapper;
&gt; +#endif
&gt; +
&gt; +    HashMap&lt;AXPropertyName, AttributeValueVariant, WTF::IntHash&lt;AXPropertyName&gt;, WTF::StrongEnumHashTraits&lt;AXPropertyName&gt;&gt; m_attributeMap;

You can probably pack this better. Use dump-class-layout to optimize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498468</commentid>
    <comment_count>49</comment_count>
      <attachid>360161</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-25 14:22:39 -0800</bug_when>
    <thetext>Comment on attachment 360161
patch

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

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:2919
&gt;&gt; +Ref&lt;AXIsolatedTreeNode&gt; AXObjectCache::createIsolatedAccessibilityTree(AccessibilityObject&amp; object, AXID parentID, AXIsolatedTree&amp; tree, Vector&lt;RefPtr&lt;AXIsolatedTreeNode&gt;&gt;&amp; nodes)
&gt; 
&gt; Should that be Vector&lt;RefPtr&lt;AXIsolatedTreeNode&gt;&gt;&amp;&amp; if ownership is being transferred.
&gt; 
&gt; I&apos;m confused about this function. It&apos;s called createIsolatedAccessibilityTree() but it takes a tree, rather than returning a tree. Is it really appending nodes to the tree? Maybe it should have &quot;recursive&quot; in the name too?

Oh, no, nodes is the out argument so &amp; is right but we should use Vector&lt;Ref&lt;AXIsolatedTreeNode&gt;&gt; instead since we never insert a nullptr.

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:73
&gt; +    Vector&lt;RefPtr&lt;AXIsolatedTreeNode&gt;&gt; m_pendingAppends;

This should be Vector&lt;Ref&lt;AXIsolatedTreeNode&gt;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498551</commentid>
    <comment_count>50</comment_count>
      <attachid>360161</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-25 16:18:48 -0800</bug_when>
    <thetext>Comment on attachment 360161
patch

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

&gt;&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:63
&gt;&gt; +RefPtr&lt;AXIsolatedTree&gt; AXIsolatedTree::treeForPageID(uint64_t pageID, bool create)
&gt; 
&gt; Do you really want a tree per Page? Page outlives navigations, so do you swap out the tree on navigation? What&apos;s the lifetime of trees which aren&apos;t for the current document?

Yes I think so. That&apos;s the unit of interaction that accessibility deals with on incoming queries (the root object is based off of a WebPage thing)
when a page changes, the nodes are removed and recreated, the tree can hang around.

&gt;&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:85
&gt;&gt; +    ASSERT(!isMainThread());
&gt; 
&gt; Can you assert that this is the reader thread?

I will need to add SPI to HIServices to verify which thread I&apos;m on and whether it&apos;s the right one. I can work on that separately

&gt;&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h:63
&gt;&gt; +    bool isRootNode() const { return m_isRootNode; }
&gt; 
&gt; Can you tell that it&apos;s the root node because it has no parent?

It&apos;s possible that a node becomes orphaned but is in the cache for a short time (at least it&apos;s happened in the AccessibilityObject infrastructure). I wanted to be more explicit about which one is the root node to avoid something like that from happening</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498603</commentid>
    <comment_count>51</comment_count>
      <attachid>360161</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-25 17:39:02 -0800</bug_when>
    <thetext>Comment on attachment 360161
patch

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

&gt;&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.cpp:63
&gt;&gt; +    
&gt; 
&gt; Nit: whitespace.

there&apos;s an Xcode setting for this! wish I knew that before...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498799</commentid>
    <comment_count>52</comment_count>
      <attachid>360262</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-26 20:04:48 -0800</bug_when>
    <thetext>Created attachment 360262
Landing patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498800</commentid>
    <comment_count>53</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-26 20:06:58 -0800</bug_when>
    <thetext>Attachment 360262 did not pass style-queue:


ERROR: Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:75:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:93:  The parameter name &quot;cache&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:100:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 3 in 32 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498802</commentid>
    <comment_count>54</comment_count>
      <attachid>360263</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-26 20:16:08 -0800</bug_when>
    <thetext>Created attachment 360263
landing patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498824</commentid>
    <comment_count>55</comment_count>
      <attachid>360263</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-26 22:57:55 -0800</bug_when>
    <thetext>Comment on attachment 360263
landing patch

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

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:128
&gt; +    Vector&lt;Ref&lt;AXIsolatedTreeNode&gt;&gt; appendCopy = WTF::map(m_pendingAppends, [&amp;] (const auto&amp; node) {
&gt; +        return node.copyRef();
&gt; +    });

Why are we making a copy here?? We do need to clear m_pendingAppends at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498826</commentid>
    <comment_count>56</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-26 23:05:53 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #55)
&gt; Comment on attachment 360263 [details]
&gt; landing patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=360263&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:128
&gt; &gt; +    Vector&lt;Ref&lt;AXIsolatedTreeNode&gt;&gt; appendCopy = WTF::map(m_pendingAppends, [&amp;] (const auto&amp; node) {
&gt; &gt; +        return node.copyRef();
&gt; &gt; +    });
&gt; 
&gt; Why are we making a copy here?? We do need to clear m_pendingAppends at some
&gt; point.

It is challenging to move something around with Ref instead of RefPtr

Ref override = to be delete, so Vector move and other operations don&apos;t compile</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498827</commentid>
    <comment_count>57</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-26 23:09:20 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #56)
&gt; (In reply to Ryosuke Niwa from comment #55)
&gt; &gt; Comment on attachment 360263 [details]
&gt; &gt; landing patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=360263&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:128
&gt; &gt; &gt; +    Vector&lt;Ref&lt;AXIsolatedTreeNode&gt;&gt; appendCopy = WTF::map(m_pendingAppends, [&amp;] (const auto&amp; node) {
&gt; &gt; &gt; +        return node.copyRef();
&gt; &gt; &gt; +    });
&gt; &gt; 
&gt; &gt; Why are we making a copy here?? We do need to clear m_pendingAppends at some
&gt; &gt; point.
&gt; 
&gt; It is challenging to move something around with Ref instead of RefPtr
&gt; 
&gt; Ref override = to be delete, so Vector move and other operations don&apos;t
&gt; compile

Surely std::swap or Vector::swap would work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498828</commentid>
    <comment_count>58</comment_count>
      <attachid>360271</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-26 23:33:38 -0800</bug_when>
    <thetext>Created attachment 360271
landing patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498829</commentid>
    <comment_count>59</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2019-01-26 23:35:42 -0800</bug_when>
    <thetext>
&gt; 
&gt; Surely std::swap or Vector::swap would work?

thanks. working</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498841</commentid>
    <comment_count>60</comment_count>
      <attachid>360271</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-27 00:49:35 -0800</bug_when>
    <thetext>Comment on attachment 360271
landing patch

Clearing flags on attachment: 360271

Committed r240552: &lt;https://trac.webkit.org/changeset/240552&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498842</commentid>
    <comment_count>61</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-27 00:49:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358884</attachid>
            <date>2019-01-11 00:35:27 -0800</date>
            <delta_ts>2019-01-11 00:37:23 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>76562</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogZXh0ZW5kIFhIUiBicmVha3BvaW50cyB0byB3b3JrIHdpdGgg
ZmV0Y2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIzOTcxOCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
OwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExF
X1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9B
UFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9p
cGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAK
IEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFH
X1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFC
TEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJV
VEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFH
RVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9Y
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVU
QUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitG
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5U
UykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FD
Q0VTUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19V
U0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
QVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24g
MjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNDQgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxl
LmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJl
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBpbXByb3ZlIHBlcmZvcm1h
bmNlIHdoZW4gcmVxdWVzdGluZyB0aGUgYWNjZXNzaWJpbGl0eSBoaWVyYXJjaHksIHdlIGludHJv
ZHVjZSB0aGUgaWRlYSBvZiBhICJzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlIiB3aGljaCBjb3Vs
ZCBiZSBhY2Nlc3NlZCBvbiBhIGRpZmZlcmVudCB0aHJlYWQgYnkgYXNzaXN0aXZlIHRlY2hub2xv
Z2llcy4KKyAgICAgICAgVGhhdCBpcyBhY2NvbXBsaXNoZWQgYnkgc3RvcmluZyBhbGwgdGhlIGRh
dGEgbmVlZGVkIHRvIGFuc3dlciBhY2Nlc3NpYmlsaXR5IGF0dHJpYnV0ZSBxdWVyaWVzIGluIGEg
c3RhdGljIG9iamVjdCB0aGF0IG1pcnJvcnMgdGhlICJsaXZlIiBBY2Nlc3NpYmlsaXR5T2JqZWN0
cyAod2hpY2ggaW50ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVzKS4KKyAgICAg
ICAgVGhlc2Ugc3RhdGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFmdGVyIGxheW91
dCBpcyBkb25lIGFuZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBUaGV5IGFyZSB0
aGVuIHN0b3JlZCBpbiB0aGUgc3RhdGljIHRyZWUgcmVwcmVzZW50YXRpb24gYW5kIGFibGUgdG8g
YmUgcmVhZCBmcm9tIGFueXdoZXJlLgorICAgICAgICBUYWN0aWNhbGx5IHRoaXMgaXMgZG9uZSB3
aXRoIEFYU3RhdGljVHJlZU5vZGVzIGluc2lkZSBvZiBhbiBBWFN0YXRpY1RyZWVDYWNoZS4gVGhl
IFRyZWVOb2RlcyBpbXBsZW1lbnQgYW4gQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSBzaGFy
ZWQgd2l0aCBBY2Nlc3NpYmlsaXR5T2JqZWN0CisgICAgICAgIFRoaXMgYWxsb3dzIHRoZSB3cmFw
cGVycyB0byBhY2Nlc3MgZWl0aGVyIG9uZSBkZXBlbmRpbmcgb24gY29uZGl0aW9ucyBhbmQgcGxh
dGZvcm1zIHdpdGhvdXQgc2lnbmlmaWNhbnQgY29kZSBkdXBsaWNhdGlvbiBvciByZS1vcmdhbml6
YXRpb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBlcmZvcm1EZWZlcnJlZENhY2hl
VXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OndhbGtBY2Nlc3NpYmls
aXR5VHJlZUZvclN0YXRpY1RyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OnNldEluaXRpYWxpemVkU3RhdGljVHJlZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eU9iamVjdDo6aW5pdGlhbGl6ZWRTdGF0aWNUcmVlTm9kZSBjb25zdCk6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OkFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZVN0YXRpY1RyZWVOb2RlKToKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJh
c2UubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBzZXRT
dGF0aWNUcmVlTm9kZTpdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlIHN0YXRpY1RyZWVOb2RlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQmFzZSBoYXNTdGF0aWNCYWNraW5nXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZSB1cGRhdGVPYmplY3RCYWNraW5nU3RvcmVdKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGF4QmFja2luZ09iamVjdF0p
OgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgYmFzZUFjY2Vz
c2liaWxpdHlEZXNjcmlwdGlvbl0pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlciByb2xlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyIHN1YnJvbGVdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgcm9sZURlc2NyaXB0aW9uXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpdKToKKwogMjAxOS0wMS0wNyAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggaW4gU1dT
ZXJ2ZXI6OkNvbm5lY3Rpb246OnJlc29sdmVSZWdpc3RyYXRpb25SZWFkeVJlcXVlc3RzCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQw
LDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElD
X1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19Q
TEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExF
X1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BB
WTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVS
TUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RS
RUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVT
VCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklU
X1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJN
RVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAx
LTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6
IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAx
OS0wMS0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogTmV0d29yazogc2hvdyBzZWN1cmUgY29ubmVjdGlvbiBkZXRhaWxzIHBlci1y
ZXF1ZXN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChX
S19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19j
b2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5B
QkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAk
KEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZ
X2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2lt
dWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVf
WFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFf
SU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JU
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJF
UykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VN
QkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5B
QkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQ
UE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVB
VFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxF
X0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChF
TkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVN
RU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAk
KEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1C
TFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFC
TEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyMzk3
MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzY2
LDYgKzM2Niw4IEBACiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlLmNwcAogYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZUl0ZW0uY3BwCiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
bGVTZXRWYWx1ZUV2ZW50LmNwcAorYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhTdGF0aWNU
cmVlQ2FjaGUuY3BwCithY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVOb2Rl
LmNwcAogCiBhbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmNwcAogYW5pbWF0aW9uL0FuaW1hdGlv
blBsYXliYWNrRXZlbnQuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTY5NCw2ICs2OTQsNyBAQAogCQkyNkY5QTgzODE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRD
b25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI2RjlBODM2MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24u
Y3BwICovOyB9OwogCQkyNkY5QTgzOTE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1
cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
NkY5QTgzNzE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkxNEUzMDgxQ0FC
NUE0NDAwNDk5NjZGIC8qIEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYg
LyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLzsgfTsKKwkJMjkzNkJGNUMyMUQ2OUU0QjAw
NEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MzZCRjVBMjFENjk5OUUwMDRBOEZDOSAv
KiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkzRUFFMUYxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjkzRUFFMUUxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNh
dGlvbkNoZWNrcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTI5NDg5RkM3MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmll
dy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk0ODlG
QzUxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmggKi87IH07CiAJ
CTI5N0JFM0Q1MTZDMDNDMDgwMDMzMTZCRCAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVy
YW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjUy
N0NDOTExNkJGOEJBMTAwOUREQUMwIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNl
LmggKi87IH07CkBAIC03MTUsNiArNzE2LDggQEAKIAkJMjlBODEyNDMwRkJCOUMxRDAwNTEwMjkz
IC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTIyNTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0
eUxpc3RCb3guaCAqLzsgfTsKIAkJMjlBODEyNDkwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMjlBODEyNDUwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTI5QUNCMjEyMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmls
aXR5TW9ja09iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMjlBQ0IyMTExNDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0
LmggKi87IH07CisJCTI5QUUyMTJEMjFBQjlFRUIwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVDYWNo
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBRTIx
MkIyMUFCOUVFQjAwODY5MjgzIC8qIEFYU3RhdGljVHJlZUNhY2hlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMjlBRTIxMzUyMUFCQTQ4QTAwODY5
MjgzIC8qIEFYU3RhdGljVHJlZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVO
b2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
MjlEN0JDRkExNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUQ3QkNGOTE0NDRB
RjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLzsgfTsKIAkJMjlGQUY0
QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUZBRjRCNTE5NUFCMDg5
MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyQjM2NUM4NDE1MjUxMTlFMDA5MUQy
N0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2MDAwREJCQ0Q4IC8qIFJlbmRlclNWR0VsbGlw
c2UuaCAqLzsgfTsKQEAgLTY1MzAsNiArNjUzMyw3IEBACiAJCTI4REI5QkM3MjAyMEVBMDQwMEU1
NEEwNyAvKiBQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyOTE0RTMwNTFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0
dGFjaG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTE0RTMwNjFDQUI1
QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9iamVjdElu
dGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNFQUUxRTEzNTZCMkZF
MDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0
eVNjcm9sbFZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJp
bGl0eVNjcm9sbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjk0OTg2ODEx
OTUzNDE5NDAwNzJEMkJEIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBN
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NTc3LDYgKzY1ODEsMTAgQEAK
IAkJMjlBODEyNDcwRkJCOUNBOTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVNYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBWE9iamVjdENhY2hlTWFjLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyog
QWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMjlBQ0IyMTMxNDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNb2Nr
T2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMkIyMUFCOUVF
QjAwODY5MjgzIC8qIEFYU3RhdGljVHJlZUNhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFYU3RhdGlj
VHJlZUNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJDMjFBQjlF
RUIwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBB
WFN0YXRpY1RyZWVDYWNoZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUy
MTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVOb2RlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEFYU3RhdGljVHJlZU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIx
MzQyMUFCQTQ4QTAwODY5MjgzIC8qIEFYU3RhdGljVHJlZU5vZGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQVhTdGF0aWNUcmVlTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI5RDdCQ0Y1MTQ0NEFGNTgwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RDdCQ0Y5MTQ0NEFGN0Qw
MDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyOUUwNEEyN0JFRDJGODFGOThFOTAyMkIgLyogSlNCZWZvcmVVbmxvYWRF
dmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JlZm9yZVVubG9hZEV2
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjk3Nyw2ICsxNjk4NSw3IEBA
CiAJCQkJMjk4NTcwOTMxNUNDNTMyRDAwNjM1NUNEIC8qIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0
LmggKi8sCiAJCQkJMjk4MUNBQTUxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwICovLAogCQkJCTI5QTgxMjE4MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5
T2JqZWN0LmggKi8sCisJCQkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCAqLywKIAkJCQlBNDA5Qzk4MjExNkQwREREMDA3MTk3QkQgLyog
QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcCAqLywKIAkJCQlBNDA5Qzk4MzExNkQw
REREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmggKi8sCiAJCQkJ
Mjk4MUNBQTYxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
ICovLApAQCAtMTcwMTUsNiArMTcwMjQsNyBAQAogCQkJCTI5ODFDQUFGMTMxODIyRUMwMEQxMkYy
QSAvKiBBWE9iamVjdENhY2hlLmNwcCAqLywKIAkJCQkyOUE4MTIxQTBGQkI5QzFEMDA1MTAyOTMg
LyogQVhPYmplY3RDYWNoZS5oICovLAogCQkJCTkxQzlGMkY4MUFFM0JFMjQwMDk1QjYxQyAvKiBB
WFRleHRTdGF0ZUNoYW5nZUludGVudC5oICovLAorCQkJCTI5QUUyMTI5MjFBQjlFQ0IwMDg2OTI4
MyAvKiBBWFN0YXRpY1RyZWUgKi8sCiAJCQkpOwogCQkJcGF0aCA9IGFjY2Vzc2liaWxpdHk7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTcwMzIsNiArMTcwNDIsMTcgQEAKIAkJCXBh
dGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQkyOUFFMjEyOTIx
QUI5RUNCMDA4NjkyODMgLyogQVhTdGF0aWNUcmVlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7
CisJCQljaGlsZHJlbiA9ICgKKwkJCQkyOUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhTdGF0
aWNUcmVlQ2FjaGUuaCAqLywKKwkJCQkyOUFFMjEyQzIxQUI5RUVCMDA4NjkyODMgLyogQVhTdGF0
aWNUcmVlQ2FjaGUuY3BwICovLAorCQkJCTI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0
YXRpY1RyZWVOb2RlLmggKi8sCisJCQkJMjlBRTIxMzQyMUFCQTQ4QTAwODY5MjgzIC8qIEFYU3Rh
dGljVHJlZU5vZGUuY3BwICovLAorCQkJKTsKKwkJCXBhdGggPSBBWFN0YXRpY1RyZWU7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQkyRDA2MjE0NjFEQTYzOUVDMDBBN0ZCMjYg
LyogbGVnYWN5ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAg
LTI5NTkyLDYgKzI5NjEzLDcgQEAKIAkJCQkxQUUyQUE5ODBBMUNERDJEMDBCNDJCMjUgLyogSlNI
VE1MSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODBFN0U5NzBBMUE4M0UzMDA3
RkI4QzUgLyogSlNIVE1MSW5wdXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzZCMDk1
NjFGNUYzNEQ5MDAzQzM3MDIgLyogSlNIVE1MSW5wdXRFbGVtZW50RW50cmllc0FQSS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMjkzNkJGNUMyMUQ2OUU0QjAwNEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlP
YmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE2MTQ4QTc5MTJFNDFFM0IwMDQ0
QTc4NCAvKiBKU0hUTUxLZXlnZW5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUIy
MjBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGFiZWxFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUUyQUIyNDBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGVnZW5kRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zMTA0Myw2ICszMTA2NSw3IEBACiAJCQkJNTE0MDVDODkxOTBCMDE0
NDAwNzU0Rjk0IC8qIFNlbGVjdGlvblJlY3RHYXRoZXJlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTQ0QjRCQjQxNDE2NTBENzAwMkIxRDhCIC8qIFNlbGVjdG9yQ2hlY2tlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDMyRDNGRTgxOEE4NjU4NDAwRDdEQzAzIC8qIFNlbGVjdG9yQ2hlY2tlclRlc3RG
dW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAv
KiBBWFN0YXRpY1RyZWVOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkI5OTk5NzE4MDRENTQy
MDBEMDExMjEgLyogU2VsZWN0b3JDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE1MDcx
NTgxNjg1MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0MzEwN0JFMjE4Q0MxOURFMDBDQzE4RTggLyogU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmggaW4g
SGVhZGVycyAqLywKQEAgLTMxOTczLDYgKzMxOTk2LDcgQEAKIAkJCQk5NzdFMkUwRjEyRjBGQzlD
MDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTQx
NkZFNjE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0E1NTE1RjUxOTE4MzBBMzAwOTY4N0QyIC8qIFlvdVR1YmVQbHVnaW5S
ZXBsYWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMkQyMUFCOUVFQjAwODY5Mjgz
IC8qIEFYU3RhdGljVHJlZUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDUzNzM1MzEzN0I2
NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCShyZXZpc2lvbiAyMzk3MTgpCisr
KyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02Miw2ICs2Miw4IEBACiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVRhYmxlUm93
LmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVRyZWUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmls
aXR5VHJlZUl0ZW0uaCIKKyNpbmNsdWRlICJBWFN0YXRpY1RyZWVOb2RlLmgiCisjaW5jbHVkZSAi
QVhTdGF0aWNUcmVlQ2FjaGUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVk
aXRpbmcuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKQEAgLTI5MDUsOCArMjkwNywzNiBAQAogICAg
IGZvciAoYXV0byYgZGVmZXJyZWRGb2N1c2VkQ2hhbmdlQ29udGV4dCA6IG1fZGVmZXJyZWRGb2N1
c2VkTm9kZUNoYW5nZSkKICAgICAgICAgaGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQoZGVm
ZXJyZWRGb2N1c2VkQ2hhbmdlQ29udGV4dC5maXJzdCwgZGVmZXJyZWRGb2N1c2VkQ2hhbmdlQ29u
dGV4dC5zZWNvbmQpOwogICAgIG1fZGVmZXJyZWRGb2N1c2VkTm9kZUNoYW5nZS5jbGVhcigpOwor
CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisgICAgZ2VuZXJhdGVTdGF0
aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKCk7CisjZW5kaWYKIH0KICAgICAKKyNpZiBFTkFC
TEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKK1JlZlB0cjxBWFN0YXRpY1RyZWVOb2RlPiBB
WE9iamVjdENhY2hlOjp3YWxrQWNjZXNzaWJpbGl0eVRyZWVGb3JTdGF0aWNUcmVlKEFjY2Vzc2li
aWxpdHlPYmplY3QqIG9iamVjdCkKK3sKKyAgICBSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gc3Rh
dGljVHJlZU5vZGUgPSBBWFN0YXRpY1RyZWVOb2RlOjpjcmVhdGUob2JqZWN0KTsKKyAgICBvYmpl
Y3QtPnNldEluaXRpYWxpemVkU3RhdGljVHJlZU5vZGUodHJ1ZSk7CisgICAgYXNzb2NpYXRlU3Rh
dGljVHJlZU5vZGUob2JqZWN0LCBzdGF0aWNUcmVlTm9kZS5nZXQoKSk7CisgICAgZm9yIChhdXRv
IGNoaWxkIDogb2JqZWN0LT5jaGlsZHJlbigpKSB7CisgICAgICAgIGF1dG8gc3RhdGljQ2hpbGQg
PSB3YWxrQWNjZXNzaWJpbGl0eVRyZWVGb3JTdGF0aWNUcmVlKGNoaWxkLmdldCgpKTsKKyAgICAg
ICAgc3RhdGljQ2hpbGQtPnNldFBhcmVudChzdGF0aWNUcmVlTm9kZS5nZXQoKSk7CisgICAgICAg
IHN0YXRpY1RyZWVOb2RlLT5jaGlsZHJlbigpLmFwcGVuZChzdGF0aWNDaGlsZCk7CisgICAgfQor
ICAgIHJldHVybiBzdGF0aWNUcmVlTm9kZTsKK30KKyAgICAKK3ZvaWQgQVhPYmplY3RDYWNoZTo6
Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKCkKK3sKKyAgICBpZiAocm9v
dE9iamVjdCgpLT5pbml0aWFsaXplZFN0YXRpY1RyZWVOb2RlKCkpCisgICAgICAgIHJldHVybjsK
KyAgICAKKyAgICBSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gcm9vdCA9IHdhbGtBY2Nlc3NpYmls
aXR5VHJlZUZvclN0YXRpY1RyZWUocm9vdE9iamVjdCgpKTsKKyAgICBBWFN0YXRpY1RyZWVDYWNo
ZTo6dXBkYXRlU3RhdGljVHJlZUNhY2hlKHJvb3QsIG1fZG9jdW1lbnQucGFnZSgpKTsKK30KKyNl
bmRpZgorICAgIAogdm9pZCBBWE9iamVjdENhY2hlOjpkZWZlclJlY29tcHV0ZUlzSWdub3JlZElm
TmVlZGVkKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgaWYgKCFub2RlQW5kUmVuZGVyZXJBcmVW
YWxpZChlbGVtZW50KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5oCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNf
VFJFRSkKK2NsYXNzIEFYU3RhdGljVHJlZU5vZGU7CisjZW5kaWYKIGNsYXNzIERvY3VtZW50Owog
Y2xhc3MgSFRNTEFyZWFFbGVtZW50OwogY2xhc3MgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ7
CkBAIC0xODAsNiArMTgzLDEzIEBACiAgICAgdm9pZCBkZWZlckF0dHJpYnV0ZUNoYW5nZUlmTmVl
ZGVkKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBFbGVtZW50Kik7CiAgICAgdm9pZCByZWNvbXB1dGVJ
c0lnbm9yZWQoUmVuZGVyT2JqZWN0KiByZW5kZXJlcik7CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJ
TElUWV9TVEFUSUNfVFJFRSkKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGdlbmVyYXRlU3RhdGlj
QWNjZXNzaWJpbGl0eVRyZWVJZk5lZWRlZCgpOworCisgICAgdm9pZCBhc3NvY2lhdGVTdGF0aWNU
cmVlTm9kZShBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgQVhTdGF0aWNUcmVlTm9kZSopOworICAgIFJl
ZlB0cjxBWFN0YXRpY1RyZWVOb2RlPiB3YWxrQWNjZXNzaWJpbGl0eVRyZWVGb3JTdGF0aWNUcmVl
KEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKKyNlbmRpZgorICAgIAogI2lmIEhBVkUoQUNDRVNTSUJJ
TElUWSkKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVBY2Nlc3NpYmlsaXR5
KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZGlzYWJsZUFjY2Vzc2liaWxpdHko
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdC5oCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjks
NyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRl
cmZhY2UuaCIKICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJIVE1MVGV4dEZvcm1D
b250cm9sRWxlbWVudC5oIgogI2luY2x1ZGUgIkxheW91dFJlY3QuaCIKQEAgLTg5LDE1NyArOTAs
NiBAQAogY2xhc3MgU2Nyb2xsVmlldzsKIGNsYXNzIFdpZGdldDsKIAotdHlwZWRlZiB1bnNpZ25l
ZCBBWElEOwotCi1lbnVtIGNsYXNzIEFjY2Vzc2liaWxpdHlSb2xlIHsKLSAgICBBbm5vdGF0aW9u
ID0gMSwKLSAgICBBcHBsaWNhdGlvbiwKLSAgICBBcHBsaWNhdGlvbkFsZXJ0LAotICAgIEFwcGxp
Y2F0aW9uQWxlcnREaWFsb2csCi0gICAgQXBwbGljYXRpb25EaWFsb2csCi0gICAgQXBwbGljYXRp
b25Hcm91cCwKLSAgICBBcHBsaWNhdGlvbkxvZywKLSAgICBBcHBsaWNhdGlvbk1hcnF1ZWUsCi0g
ICAgQXBwbGljYXRpb25TdGF0dXMsCi0gICAgQXBwbGljYXRpb25UZXh0R3JvdXAsCi0gICAgQXBw
bGljYXRpb25UaW1lciwKLSAgICBBdWRpbywKLSAgICBCbG9ja3F1b3RlLAotICAgIEJyb3dzZXIs
Ci0gICAgQnVzeUluZGljYXRvciwKLSAgICBCdXR0b24sCi0gICAgQ2FudmFzLAotICAgIENhcHRp
b24sCi0gICAgQ2VsbCwKLSAgICBDaGVja0JveCwKLSAgICBDb2xvcldlbGwsCi0gICAgQ29sdW1u
LAotICAgIENvbHVtbkhlYWRlciwKLSAgICBDb21ib0JveCwKLSAgICBEZWZpbml0aW9uLAotICAg
IERlc2NyaXB0aW9uTGlzdCwKLSAgICBEZXNjcmlwdGlvbkxpc3RUZXJtLAotICAgIERlc2NyaXB0
aW9uTGlzdERldGFpbCwKLSAgICBEZXRhaWxzLAotICAgIERpcmVjdG9yeSwKLSAgICBEaXNjbG9z
dXJlVHJpYW5nbGUsCi0gICAgRGl2LAotICAgIERvY3VtZW50LAotICAgIERvY3VtZW50QXJ0aWNs
ZSwKLSAgICBEb2N1bWVudE1hdGgsCi0gICAgRG9jdW1lbnROb3RlLAotICAgIERyYXdlciwKLSAg
ICBFZGl0YWJsZVRleHQsCi0gICAgRmVlZCwKLSAgICBGaWd1cmUsCi0gICAgRm9vdGVyLAotICAg
IEZvb3Rub3RlLAotICAgIEZvcm0sCi0gICAgR3JhcGhpY3NEb2N1bWVudCwKLSAgICBHcmFwaGlj
c09iamVjdCwKLSAgICBHcmFwaGljc1N5bWJvbCwKLSAgICBHcmlkLAotICAgIEdyaWRDZWxsLAot
ICAgIEdyb3VwLAotICAgIEdyb3dBcmVhLAotICAgIEhlYWRpbmcsCi0gICAgSGVscFRhZywKLSAg
ICBIb3Jpem9udGFsUnVsZSwKLSAgICBJZ25vcmVkLAotICAgIElubGluZSwKLSAgICBJbWFnZSwK
LSAgICBJbWFnZU1hcCwKLSAgICBJbWFnZU1hcExpbmssCi0gICAgSW5jcmVtZW50b3IsCi0gICAg
TGFiZWwsCi0gICAgTGFuZG1hcmtCYW5uZXIsCi0gICAgTGFuZG1hcmtDb21wbGVtZW50YXJ5LAot
ICAgIExhbmRtYXJrQ29udGVudEluZm8sCi0gICAgTGFuZG1hcmtEb2NSZWdpb24sCi0gICAgTGFu
ZG1hcmtNYWluLAotICAgIExhbmRtYXJrTmF2aWdhdGlvbiwKLSAgICBMYW5kbWFya1JlZ2lvbiwK
LSAgICBMYW5kbWFya1NlYXJjaCwKLSAgICBMZWdlbmQsCi0gICAgTGluaywKLSAgICBMaXN0LAot
ICAgIExpc3RCb3gsCi0gICAgTGlzdEJveE9wdGlvbiwKLSAgICBMaXN0SXRlbSwKLSAgICBMaXN0
TWFya2VyLAotICAgIE1hcmssCi0gICAgTWF0aEVsZW1lbnQsCi0gICAgTWF0dGUsCi0gICAgTWVu
dSwKLSAgICBNZW51QmFyLAotICAgIE1lbnVCdXR0b24sCi0gICAgTWVudUl0ZW0sCi0gICAgTWVu
dUl0ZW1DaGVja2JveCwKLSAgICBNZW51SXRlbVJhZGlvLAotICAgIE1lbnVMaXN0UG9wdXAsCi0g
ICAgTWVudUxpc3RPcHRpb24sCi0gICAgT3V0bGluZSwKLSAgICBQYXJhZ3JhcGgsCi0gICAgUG9w
VXBCdXR0b24sCi0gICAgUHJlLAotICAgIFByZXNlbnRhdGlvbmFsLAotICAgIFByb2dyZXNzSW5k
aWNhdG9yLAotICAgIFJhZGlvQnV0dG9uLAotICAgIFJhZGlvR3JvdXAsCi0gICAgUm93SGVhZGVy
LAotICAgIFJvdywKLSAgICBSb3dHcm91cCwKLSAgICBSdWJ5QmFzZSwKLSAgICBSdWJ5QmxvY2ss
Ci0gICAgUnVieUlubGluZSwKLSAgICBSdWJ5UnVuLAotICAgIFJ1YnlUZXh0LAotICAgIFJ1bGVy
LAotICAgIFJ1bGVyTWFya2VyLAotICAgIFNjcm9sbEFyZWEsCi0gICAgU2Nyb2xsQmFyLAotICAg
IFNlYXJjaEZpZWxkLAotICAgIFNoZWV0LAotICAgIFNsaWRlciwKLSAgICBTbGlkZXJUaHVtYiwK
LSAgICBTcGluQnV0dG9uLAotICAgIFNwaW5CdXR0b25QYXJ0LAotICAgIFNwbGl0R3JvdXAsCi0g
ICAgU3BsaXR0ZXIsCi0gICAgU3RhdGljVGV4dCwKLSAgICBTdW1tYXJ5LAotICAgIFN3aXRjaCwK
LSAgICBTeXN0ZW1XaWRlLAotICAgIFNWR1Jvb3QsCi0gICAgU1ZHVGV4dCwKLSAgICBTVkdUU3Bh
biwKLSAgICBTVkdUZXh0UGF0aCwKLSAgICBUYWJHcm91cCwKLSAgICBUYWJMaXN0LAotICAgIFRh
YlBhbmVsLAotICAgIFRhYiwKLSAgICBUYWJsZSwKLSAgICBUYWJsZUhlYWRlckNvbnRhaW5lciwK
LSAgICBUZXh0QXJlYSwKLSAgICBUZXh0R3JvdXAsCi0gICAgVGVybSwKLSAgICBUaW1lLAotICAg
IFRyZWUsCi0gICAgVHJlZUdyaWQsCi0gICAgVHJlZUl0ZW0sCi0gICAgVGV4dEZpZWxkLAotICAg
IFRvZ2dsZUJ1dHRvbiwKLSAgICBUb29sYmFyLAotICAgIFVua25vd24sCi0gICAgVXNlckludGVy
ZmFjZVRvb2x0aXAsCi0gICAgVmFsdWVJbmRpY2F0b3IsCi0gICAgVmlkZW8sCi0gICAgV2ViQXBw
bGljYXRpb24sCi0gICAgV2ViQXJlYSwKLSAgICBXZWJDb3JlTGluaywKLSAgICBXaW5kb3csCi19
OwotCiBlbnVtIGNsYXNzIEFjY2Vzc2liaWxpdHlUZXh0U291cmNlIHsKICAgICBBbHRlcm5hdGl2
ZSwKICAgICBDaGlsZHJlbiwKQEAgLTQ5MSw3ICszNDEsNyBAQAogICAgIAogYm9vbCBub2RlSGFz
UHJlc2VudGF0aW9uUm9sZShOb2RlKik7CiAgICAgCi1jbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0
IDogcHVibGljIFJlZkNvdW50ZWQ8QWNjZXNzaWJpbGl0eU9iamVjdD4geworY2xhc3MgQWNjZXNz
aWJpbGl0eU9iamVjdCA6IHB1YmxpYyBSZWZDb3VudGVkPEFjY2Vzc2liaWxpdHlPYmplY3Q+LCBw
dWJsaWMgQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSB7CiBwcm90ZWN0ZWQ6CiAgICAgQWNj
ZXNzaWJpbGl0eU9iamVjdCgpID0gZGVmYXVsdDsKICAgICAKQEAgLTExNTAsNiArMTAwMCwxMSBA
QAogICAgIHZvaWQgY2xlYXJJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSgpIHsgbV9pc0lnbm9yZWRG
cm9tUGFyZW50RGF0YSA9IEFjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSgpOyB9
CiAgICAgdm9pZCBzZXRJc0lnbm9yZWRGcm9tUGFyZW50RGF0YUZvckNoaWxkKEFjY2Vzc2liaWxp
dHlPYmplY3QqKTsKICAgICAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkK
KyAgICB2b2lkIHNldEluaXRpYWxpemVkU3RhdGljVHJlZU5vZGUoYm9vbCBpbml0aWFsaXplZCkg
eyBtX3N0YXRpY1RyZWVOb2RlSW5pdGlhbGl6ZWQgPSBpbml0aWFsaXplZDsgfQorICAgIGJvb2wg
aW5pdGlhbGl6ZWRTdGF0aWNUcmVlTm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGljVHJlZU5v
ZGVJbml0aWFsaXplZDsgfQorI2VuZGlmCisgICAgCiBwcm90ZWN0ZWQ6CiAgICAgQVhJRCBtX2lk
IHsgMCB9OwogICAgIEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciBtX2NoaWxkcmVuOwpAQCAt
MTE1OSw3ICsxMDE0LDEwIEBACiAgICAgQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnRE
YXRhIG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEgeyB9OwogICAgIGJvb2wgbV9jaGlsZHJlbkRp
cnR5IHsgZmFsc2UgfTsKICAgICBib29sIG1fc3VidHJlZURpcnR5IHsgZmFsc2UgfTsKLQorI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQorICAgIGJvb2wgbV9zdGF0aWNUcmVl
Tm9kZUluaXRpYWxpemVkIHsgZmFsc2UgfTsKKyNlbmRpZgorICAgIAogICAgIHZvaWQgc2V0SXNJ
Z25vcmVkRnJvbVBhcmVudERhdGEoQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRh
JiBkYXRhKSB7IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEgPSBkYXRhOyB9CiAKICAgICB2aXJ0
dWFsIGJvb2wgY29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENh
Y2hlTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L0FYT2JqZWN0Q2FjaGVNYWMubW0JKHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0JKHdvcmtpbmcgY29weSkKQEAg
LTMwLDYgKzMwLDcgQEAKIAogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2ltcG9y
dCAiQWNjZXNzaWJpbGl0eVRhYmxlLmgiCisjaW1wb3J0ICJBWFN0YXRpY1RyZWVOb2RlLmgiCiAj
aW1wb3J0ICJSZW5kZXJPYmplY3QuaCIKICNpbXBvcnQgIldlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyTWFjLmgiCiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0FjY2Vzc2liaWxpdHlTUEkuaD4K
QEAgLTIzNyw2ICsyMzgsMTQgQEAKICAgICBvYmotPnNldFdyYXBwZXIobnVsbHB0cik7CiB9CiAK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKK3ZvaWQgQVhPYmplY3RDYWNo
ZTo6YXNzb2NpYXRlU3RhdGljVHJlZU5vZGUoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBB
WFN0YXRpY1RyZWVOb2RlKiBub2RlKQoreworICAgIG9iamVjdC0+d3JhcHBlcigpLnN0YXRpY1Ry
ZWVOb2RlID0gbm9kZTsKKyAgICBub2RlLT5zZXRXcmFwcGVyKG9iamVjdC0+d3JhcHBlcigpKTsK
K30KKyNlbmRpZgorICAgIAogdm9pZCBBWE9iamVjdENhY2hlOjphdHRhY2hXcmFwcGVyKEFjY2Vz
c2liaWxpdHlPYmplY3QqIG9iaikKIHsKICAgICBSZXRhaW5QdHI8V2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXI+IHdyYXBwZXIgPSBhZG9wdE5TKFtbV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgYWxsb2NdIGluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDpvYmpdKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oCShyZXZpc2lvbiAyMzk3MTgpCisr
KyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlckJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsOSArMzEsMTMgQEAKIAogI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdy
YXBoaWNzLmg+CisjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdDsKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9T
VEFUSUNfVFJFRSkKK2NsYXNzIEFYU3RhdGljVHJlZU5vZGU7CisjZW5kaWYKIHN0cnVjdCBBY2Nl
c3NpYmlsaXR5U2VhcmNoQ3JpdGVyaWE7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgRmxvYXRQb2lu
dDsKQEAgLTQ0LDEwICs0OCwyMiBAQAogCiBAaW50ZXJmYWNlIFdlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQmFzZSA6IE5TT2JqZWN0IHsKICAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBtX29iamVjdDsKKyAgICAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJF
RSkKKyAgICBXZWJDb3JlOjpBWFN0YXRpY1RyZWVOb2RlKiBtX3N0YXRpY1RyZWVOb2RlOworI2Vu
ZGlmCiB9CiAgCiAtIChpZClpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6KFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3QqKWF4T2JqZWN0OworCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlf
U1RBVElDX1RSRUUpCitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBXZWJDb3JlOjpBWFN0
YXRpY1RyZWVOb2RlICpzdGF0aWNUcmVlTm9kZTsKKyNlbmRpZgorCiAtICh2b2lkKWRldGFjaDsK
KworLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSAqKWF4QmFja2luZ09i
amVjdDsKKwogLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCopYWNjZXNzaWJpbGl0eU9i
amVjdDsKIC0gKEJPT0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3JlOwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJh
c2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCShyZXZpc2lvbiAyMzk3MTgpCisrKyBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlckJhc2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDggQEAKICNpZiBIQVZFKEFD
Q0VTU0lCSUxJVFkpCiAKICNpbXBvcnQgIkFYT2JqZWN0Q2FjaGUuaCIKKyNpbXBvcnQgIkFjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKKyNpbXBvcnQgIkFYU3RhdGljVHJlZU5vZGUuaCIK
ICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5oIgogI2ltcG9ydCAiQWNjZXNzaWJp
bGl0eUxpc3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlMaXN0Qm94LmgiCkBAIC0yNzQsNiAr
Mjc2LDI4IEBACiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WV9TVEFUSUNfVFJFRSkKKy0gKHZvaWQpc2V0U3RhdGljVHJlZU5vZGU6KFdlYkNvcmU6OkFYU3Rh
dGljVHJlZU5vZGUqKXN0YXRpY1RyZWVOb2RlCit7CisgICAgbV9zdGF0aWNUcmVlTm9kZSA9IHN0
YXRpY1RyZWVOb2RlOworfQorCistIChXZWJDb3JlOjpBWFN0YXRpY1RyZWVOb2RlKilzdGF0aWNU
cmVlTm9kZQoreworICAgIHJldHVybiBtX3N0YXRpY1RyZWVOb2RlOworfQorCisjZW5kaWYKKwor
LSAoQk9PTCloYXNTdGF0aWNCYWNraW5nCit7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RB
VElDX1RSRUUpCisgICAgcmV0dXJuIG1fc3RhdGljVHJlZU5vZGUgIT0gbnVsbHB0cjsKKyNlbHNl
CisgICAgcmV0dXJuIE5POworI2VuZGlmCit9CisKIC0gKHZvaWQpZGV0YWNoCiB7CiAgICAgbV9v
YmplY3QgPSBudWxscHRyOwpAQCAtMjgxLDYgKzMwNSwxMSBAQAogCiAtIChCT09MKXVwZGF0ZU9i
amVjdEJhY2tpbmdTdG9yZQogeworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVF
KQorICAgIGlmIChtX3N0YXRpY1RyZWVOb2RlKQorICAgICAgICByZXR1cm4gWUVTOworI2VuZGlm
CisgICAgCiAgICAgLy8gQ2FsbGluZyB1cGRhdGVCYWNraW5nU3RvcmUoKSBjYW4gaW52YWxpZGF0
ZSB0aGlzIGVsZW1lbnQgc28gc2VsZiBtdXN0IGJlIHJldGFpbmVkLgogICAgIC8vIElmIGl0IGRv
ZXMgYmVjb21lIGludmFsaWRhdGVkLCBtX29iamVjdCB3aWxsIGJlIG5pbC4KICAgICBDRlJldGFp
bigoX19icmlkZ2UgQ0ZUeXBlUmVmKXNlbGYpOwpAQCAtMzU1LDExICszODQsMjEgQEAKICAgICBy
ZXR1cm4gW05TU3RyaW5nIHN0cmluZ107CiB9CiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVjdCBz
ZWxmLmF4QmFja2luZ09iamVjdAorLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEludGVy
ZmFjZSAqKWF4QmFja2luZ09iamVjdAoreworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJ
Q19UUkVFKQorICAgIHJldHVybiBtX3N0YXRpY1RyZWVOb2RlOworI2Vsc2UKKyAgICByZXR1cm4g
bV9vYmplY3Q7CisjZW5kaWYKK30KKwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURl
c2NyaXB0aW9uCiB7CiAgICAgLy8gU3RhdGljIHRleHQgb2JqZWN0cyBzaG91bGQgbm90IGhhdmUg
YSBkZXNjcmlwdGlvbi4gSXRzIGNvbnRlbnQgaXMgY29tbXVuaWNhdGVkIGluIGl0cyBBWFZhbHVl
LgogICAgIC8vIE9uZSBleGNlcHRpb24gaXMgdGhlIG1lZGlhIGNvbnRyb2wgbGFiZWxzIHRoYXQg
aGF2ZSBhIHZhbHVlIGFuZCBhIGRlc2NyaXB0aW9uLiBUaG9zZSBhcmUgc2V0IHByb2dyYW1hdGlj
YWxseS4KLSAgICBpZiAobV9vYmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xl
OjpTdGF0aWNUZXh0ICYmICFtX29iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQorICAgIGlm
IChfYXhCYWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3Rh
dGljVGV4dCAmJiAhX2F4QmFja2luZ09iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQogICAg
ICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ107CiAgICAgCiAgICAgVmVjdG9yPEFjY2Vzc2li
aWxpdHlUZXh0PiB0ZXh0T3JkZXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlck1hYy5tbQkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTQxMiw2ICs0MTIsOCBAQAogI2RlZmluZSBOU0FjY2Vzc2liaWxpdHlMaW5rUmVsYXRp
b25zaGlwVHlwZUF0dHJpYnV0ZSBAIkFYTGlua1JlbGF0aW9uc2hpcFR5cGUiCiAjZW5kaWYKIAor
I2RlZmluZSBfYXhCYWNraW5nT2JqZWN0IHNlbGYuYXhCYWNraW5nT2JqZWN0CisKIGV4dGVybiAi
QyIgQVhVSUVsZW1lbnRSZWYgTlNBY2Nlc3NpYmlsaXR5Q3JlYXRlQVhVSUVsZW1lbnRSZWYoaWQg
ZWxlbWVudCk7CiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
cgpAQCAtMjAwOSwxMCArMjAxMSwxMCBAQAogLSAoTlNTdHJpbmcqKXJvbGUKIHsKICAgICBBTExP
V19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgotICAgIGlmIChtX29iamVjdC0+aXNBdHRh
Y2htZW50KCkpCisgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKQogICAg
ICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
VmFsdWU6TlNBY2Nlc3NpYmlsaXR5Um9sZUF0dHJpYnV0ZV07CiAgICAgQUxMT1dfREVQUkVDQVRF
RF9ERUNMQVJBVElPTlNfRU5ECi0gICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSA9IG1fb2JqZWN0
LT5yb2xlVmFsdWUoKTsKKyAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlID0gX2F4QmFja2luZ09i
amVjdC0+cm9sZVZhbHVlKCk7CiAKICAgICBpZiAocm9sZSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6
TGFiZWwgJiYgaXM8QWNjZXNzaWJpbGl0eUxhYmVsPigqbV9vYmplY3QpICYmIGRvd25jYXN0PEFj
Y2Vzc2liaWxpdHlMYWJlbD4oKm1fb2JqZWN0KS5jb250YWluc09ubHlTdGF0aWNUZXh0KCkpCiAg
ICAgICAgIHJvbGUgPSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dDsKQEAgLTIwMzksNyAr
MjA0MSw3IEBACiAgICAgaWYgKG1fb2JqZWN0LT5pc1NlYXJjaEZpZWxkKCkpCiAgICAgICAgIHJl
dHVybiBOU0FjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZFN1YnJvbGU7CiAgICAgCi0gICAgaWYgKG1f
b2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0
dGFjaG1lbnQoKSkgewogICAgICAgICBOU1ZpZXcqIGF0dGFjaFZpZXcgPSBbc2VsZiBhdHRhY2ht
ZW50Vmlld107CiAgICAgICAgIGlmIChbW2F0dGFjaFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0
ZU5hbWVzXSBjb250YWluc09iamVjdDpOU0FjY2Vzc2liaWxpdHlTdWJyb2xlQXR0cmlidXRlXSkK
ICAgICAgICAgICAgIHJldHVybiBbYXR0YWNoVmlldyBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFs
dWU6TlNBY2Nlc3NpYmlsaXR5U3Vicm9sZUF0dHJpYnV0ZV07CkBAIC0yMjUwLDcgKzIyNTIsNyBA
QAogCiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KICAgICAvLyBhdHRh
Y2htZW50cyBoYXZlIHRoZSBBWEltYWdlIHJvbGUsIGJ1dCBhIGRpZmZlcmVudCBzdWJyb2xlCi0g
ICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKKyAgICBpZiAoX2F4QmFja2luZ09iamVj
dC0+aXNBdHRhY2htZW50KCkpCiAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXdd
IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlSb2xlRGVzY3JpcHRp
b25BdHRyaWJ1dGVdOwogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogCkBA
IC0yNjA3LDcgKzI2MDksNyBAQAogICAgICAgICByZXR1cm4gW05TTnVtYmVyIG51bWJlcldpdGhC
b29sOiBtX29iamVjdC0+aXNWaXNpdGVkKCldOwogICAgIAogICAgIGlmIChbYXR0cmlidXRlTmFt
ZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0cmlidXRlXSkgewotICAg
ICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgICAgIGlmIChfYXhCYWNr
aW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICAgICAgaWYgKFtbW3NlbGYgYXR0
YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6
TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1dGVdKQogICAgICAgICAgICAgICAgIHJldHVybiBb
W3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vz
c2liaWxpdHlUaXRsZUF0dHJpYnV0ZV07CiAgICAgICAgIH0KQEAgLTI2MjQsNyArMjYyNiw3IEBA
CiAgICAgfQogICAgIAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5T
QWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmpl
Y3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0
dGFjaG1lbnQoKSkgewogICAgICAgICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFj
Y2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5
RGVzY3JpcHRpb25BdHRyaWJ1dGVdKQogICAgICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0
YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlE
ZXNjcmlwdGlvbkF0dHJpYnV0ZV07CiAgICAgICAgIH0KQEAgLTI2MzIsNyArMjYzNCw3IEBACiAg
ICAgfQogICAgIAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNj
ZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0
YWNobWVudCgpKSB7CisgICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQo
KSkgewogICAgICAgICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxp
dHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRy
aWJ1dGVdKQogICAgICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFj
Y2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV07
CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE5LTAxLTEx
ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IElu
dHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNl
Lm1tOgorICAgICAgICAoLVtXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZSBhY2Nlc3Np
YmlsaXR5Um9vdE9iamVjdFdyYXBwZXJdKToKKwogMjAxOS0wMS0wNyAgQWxleCBDaHJpc3RlbnNl
biAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSB1c2Ugb2YgTmV0
d29ya1Byb2Nlc3M6OnNpbmdsZXRvbiBmcm9tIENhY2hlU3RvcmFnZTo6RW5naW5lOjpmcm9tCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcJKHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9XZWJLaXQvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQw
LDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElD
X1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19Q
TEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExF
X1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BB
WTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVS
TUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RS
RUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVT
VCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklU
X1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJN
RVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxp
dHlXZWJQYWdlT2JqZWN0QmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0JKHJl
dmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9X
S0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzUs
NiArMzUsNyBAQAogI2ltcG9ydCAiV0tTdHJpbmcuaCIKICNpbXBvcnQgIldLU3RyaW5nQ0YuaCIK
ICNpbXBvcnQgPFdlYkNvcmUvQVhPYmplY3RDYWNoZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9BWFN0
YXRpY1RyZWVDYWNoZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Eb2N1bWVudC5oPgogI2ltcG9ydCA8
V2ViQ29yZS9GcmFtZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZVZpZXcuaD4KQEAgLTQ3LDYg
KzQ4LDE4IEBACiAKIEBpbXBsZW1lbnRhdGlvbiBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0
QmFzZQogCistIChXZWJDb3JlOjpBWE9iamVjdENhY2hlKilheE9iamVjdENhY2hlCit7CisgICAg
V2ViQ29yZTo6UGFnZSogcGFnZSA9IG1fcGFnZS0+Y29yZVBhZ2UoKTsKKyAgICBpZiAoIXBhZ2Up
CisgICAgICAgIHJldHVybiBuaWw7CisgICAgV2ViQ29yZTo6RnJhbWUmIGNvcmUgPSBwYWdlLT5t
YWluRnJhbWUoKTsKKyAgICBpZiAoIWNvcmUuZG9jdW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIG5p
bDsKKyAgICAKKyAgICByZXR1cm4gY29yZS5kb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCk7Cit9
CisKIC0gKGlkKWFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcgogewogICAgIGlmICghV2Vi
Q29yZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKQEAgLTYyLDE4ICs3
NSwzMCBAQAogICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBtX3BhZ2UtPmNvcmVQYWdlKCk7CiAg
ICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gbmlsOwotICAgIAotICAgIFdlYkNvcmU6OkZy
YW1lJiBjb3JlID0gcGFnZS0+bWFpbkZyYW1lKCk7Ci0gICAgaWYgKCFjb3JlLmRvY3VtZW50KCkp
Ci0gICAgICAgIHJldHVybiBuaWw7Ci0gICAgCi0gICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZSog
Y2FjaGUgPSBjb3JlLmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKTsKKworICAgIEFYT2JqZWN0
Q2FjaGUqIGNhY2hlID0gW3NlbGYgYXhPYmplY3RDYWNoZV07CiAgICAgaWYgKCFjYWNoZSkKICAg
ICAgICAgcmV0dXJuIG5pbDsKICAgICAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNf
VFJFRSkKKyAgICBBWFN0YXRpY1RyZWVOb2RlKiBzdGF0aWNSb290ID0gQVhTdGF0aWNUcmVlQ2Fj
aGU6OnJvb3RTdGF0aWNUcmVlTm9kZShwYWdlKTsKKyAgICBpZiAoIXN0YXRpY1Jvb3QpIHsKKyAg
ICAgICAgYXV0byBnZW5lcmF0ZUJsb2NrID0gWyZjYWNoZV0geworICAgICAgICAgICAgY2FjaGUt
PmdlbmVyYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWVJZk5lZWRlZCgpOworICAgICAgICB9Owor
ICAgICAgICAKKyAgICAgICAgaWYgKFJ1bkxvb3A6OmlzTWFpbigpKQorICAgICAgICAgICAgZ2Vu
ZXJhdGVCbG9jaygpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBkaXNwYXRjaF9zeW5jKGRp
c3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIGdlbmVyYXRlQmxvY2spOworICAgIH0KKyAgICAKKyAg
ICBpZiAoKHN0YXRpY1Jvb3QgPSBBWFN0YXRpY1RyZWVDYWNoZTo6cm9vdFN0YXRpY1RyZWVOb2Rl
KHBhZ2UpKSkKKyAgICAgICAgcmV0dXJuIHN0YXRpY1Jvb3QtPndyYXBwZXIoKTsKKyNlbHNlCiAg
ICAgaWYgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIHJvb3QgPSBjYWNoZS0+cm9vdE9i
amVjdCgpKQogICAgICAgICByZXR1cm4gcm9vdC0+d3JhcHBlcigpOwotICAgIAorI2VuZGlmCiAg
ICAgcmV0dXJuIG5pbDsKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2
aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8
Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFj
Y2Vzc2liaWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTA3ICBEYXZpZCBLaWx6ZXIg
IDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgUHJlZmVyIFJldGFpblB0cjxOU09iamVj
dD4gdG8gUmV0YWluUHRyPE5TT2JqZWN0ICo+CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYg
KzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RB
VElDX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChX
S19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQ
UExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExF
X1BBWTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwog
Ci1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNU
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRf
UEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFC
TEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAk
KEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElO
R19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRP
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VM
RU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4p
ICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NF
TUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElD
X1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19B
UEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1Rf
SklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FU
VFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVH
QUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xf
TUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RP
T0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FH
RSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVS
UykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xU
KTsKSW5kZXg6IFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UJKHJldmlzaW9uIDIzOTcxOCkKKysr
IFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTg3
LDYgKzE4Nyw3IEBACiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NNT09USF9TQ1JP
TExJTkcgIlRvZ2dsZSBzbW9vdGggc2Nyb2xsaW5nIiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTICJUb2dnbGUgU3BlZWNoIFN5bnRo
ZXNpcyBBUEkgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX1NQRUxMQ0hFQ0sgIlRvZ2dsZSBTcGVsbGNoZWNraW5nIHN1cHBvcnQgKHJlcXVpcmVz
IEVuY2hhbnQpIiBQUklWQVRFIE9GRikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
QUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSAiVG9nZ2xlIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRy
ZWUgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X1NUUkVBTVNfQVBJICJUb2dnbGUgU3RyZWFtcyBBUEkgc3VwcG9ydCIgUFJJVkFURSBPTikKICAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1ZHX0ZPTlRTICJUb2dnbGUgU1ZHIEZvbnRz
IHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OICJUb2dnbGUgdGVsZXBob25lIG51bWJlciBkZXRlY3Rp
b24gc3VwcG9ydCIgUFJJVkFURSBPRkYpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzk4NjEpCisrKyBUb29scy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0xMSAgQ2hyaXMgRmxl
aXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBz
dGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAx
OS0wMS0xMCAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCBmaXggdHlwbyB0aGF0IGJyZWFrcyBkYXNoYm9hcmQgbGluay4KSW5kZXg6IFRv
b2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjM5NzE4KQorKysgVG9vbHMvVGVzdFdlYktpdEFQ
SS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpA
QCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNI
KSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJ
TElUWV9TVEFUSUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5BQkxFX0FQUExF
X1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lb3MgPSBF
TkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFC
TEVfQVBQTEVfUEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAKIEVOQUJMRV9YU0xUID0gRU5BQkxF
X1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05f
TUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJ
TkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09N
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NT
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9G
QVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVS
KSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRS
SUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9G
T1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RB
VElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dF
Ql9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVP
X1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxF
X1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJH
TDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElU
WV9TVEFUSUNfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VT
U0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FU
SU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BB
SU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBF
RF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RF
X0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJ
T04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFC
TEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FDQ0VTUykgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FS
RF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9Q
Uk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNf
VklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09V
UkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdF
X0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZP
TlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVF
TikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9S
VEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdf
QVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQo
RU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX1hTTFQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358885</attachid>
            <date>2019-01-11 00:37:23 -0800</date>
            <delta_ts>2019-01-11 00:45:26 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>92088</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogZXh0ZW5kIFhIUiBicmVha3BvaW50cyB0byB3b3JrIHdpdGgg
ZmV0Y2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIzOTcxOCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
OwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExF
X1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9B
UFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9p
cGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAK
IEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFH
X1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFC
TEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJV
VEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFH
RVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9Y
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVU
QUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitG
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5U
UykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FD
Q0VTUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19V
U0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
QVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24g
MjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNDQgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxl
LmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJl
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBpbXByb3ZlIHBlcmZvcm1h
bmNlIHdoZW4gcmVxdWVzdGluZyB0aGUgYWNjZXNzaWJpbGl0eSBoaWVyYXJjaHksIHdlIGludHJv
ZHVjZSB0aGUgaWRlYSBvZiBhICJzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlIiB3aGljaCBjb3Vs
ZCBiZSBhY2Nlc3NlZCBvbiBhIGRpZmZlcmVudCB0aHJlYWQgYnkgYXNzaXN0aXZlIHRlY2hub2xv
Z2llcy4KKyAgICAgICAgVGhhdCBpcyBhY2NvbXBsaXNoZWQgYnkgc3RvcmluZyBhbGwgdGhlIGRh
dGEgbmVlZGVkIHRvIGFuc3dlciBhY2Nlc3NpYmlsaXR5IGF0dHJpYnV0ZSBxdWVyaWVzIGluIGEg
c3RhdGljIG9iamVjdCB0aGF0IG1pcnJvcnMgdGhlICJsaXZlIiBBY2Nlc3NpYmlsaXR5T2JqZWN0
cyAod2hpY2ggaW50ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVzKS4KKyAgICAg
ICAgVGhlc2Ugc3RhdGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFmdGVyIGxheW91
dCBpcyBkb25lIGFuZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBUaGV5IGFyZSB0
aGVuIHN0b3JlZCBpbiB0aGUgc3RhdGljIHRyZWUgcmVwcmVzZW50YXRpb24gYW5kIGFibGUgdG8g
YmUgcmVhZCBmcm9tIGFueXdoZXJlLgorICAgICAgICBUYWN0aWNhbGx5IHRoaXMgaXMgZG9uZSB3
aXRoIEFYU3RhdGljVHJlZU5vZGVzIGluc2lkZSBvZiBhbiBBWFN0YXRpY1RyZWVDYWNoZS4gVGhl
IFRyZWVOb2RlcyBpbXBsZW1lbnQgYW4gQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSBzaGFy
ZWQgd2l0aCBBY2Nlc3NpYmlsaXR5T2JqZWN0CisgICAgICAgIFRoaXMgYWxsb3dzIHRoZSB3cmFw
cGVycyB0byBhY2Nlc3MgZWl0aGVyIG9uZSBkZXBlbmRpbmcgb24gY29uZGl0aW9ucyBhbmQgcGxh
dGZvcm1zIHdpdGhvdXQgc2lnbmlmaWNhbnQgY29kZSBkdXBsaWNhdGlvbiBvciByZS1vcmdhbml6
YXRpb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBlcmZvcm1EZWZlcnJlZENhY2hl
VXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OndhbGtBY2Nlc3NpYmls
aXR5VHJlZUZvclN0YXRpY1RyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OnNldEluaXRpYWxpemVkU3RhdGljVHJlZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eU9iamVjdDo6aW5pdGlhbGl6ZWRTdGF0aWNUcmVlTm9kZSBjb25zdCk6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OkFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZVN0YXRpY1RyZWVOb2RlKToKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJh
c2UubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBzZXRT
dGF0aWNUcmVlTm9kZTpdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlIHN0YXRpY1RyZWVOb2RlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQmFzZSBoYXNTdGF0aWNCYWNraW5nXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZSB1cGRhdGVPYmplY3RCYWNraW5nU3RvcmVdKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGF4QmFja2luZ09iamVjdF0p
OgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgYmFzZUFjY2Vz
c2liaWxpdHlEZXNjcmlwdGlvbl0pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlciByb2xlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyIHN1YnJvbGVdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgcm9sZURlc2NyaXB0aW9uXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpdKToKKwogMjAxOS0wMS0wNyAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggaW4gU1dT
ZXJ2ZXI6OkNvbm5lY3Rpb246OnJlc29sdmVSZWdpc3RyYXRpb25SZWFkeVJlcXVlc3RzCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQw
LDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElD
X1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19Q
TEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExF
X1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BB
WTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVS
TUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RS
RUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVT
VCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklU
X1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJN
RVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAx
LTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6
IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAx
OS0wMS0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogTmV0d29yazogc2hvdyBzZWN1cmUgY29ubmVjdGlvbiBkZXRhaWxzIHBlci1y
ZXF1ZXN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChX
S19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19j
b2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5B
QkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAk
KEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZ
X2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2lt
dWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVf
WFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFf
SU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JU
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJF
UykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VN
QkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5B
QkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQ
UE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVB
VFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxF
X0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChF
TkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVN
RU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAk
KEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1C
TFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFC
TEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyMzk3
MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzY2
LDYgKzM2Niw4IEBACiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlLmNwcAogYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZUl0ZW0uY3BwCiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
bGVTZXRWYWx1ZUV2ZW50LmNwcAorYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhTdGF0aWNU
cmVlQ2FjaGUuY3BwCithY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVOb2Rl
LmNwcAogCiBhbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmNwcAogYW5pbWF0aW9uL0FuaW1hdGlv
blBsYXliYWNrRXZlbnQuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTY5NCw2ICs2OTQsNyBAQAogCQkyNkY5QTgzODE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRD
b25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI2RjlBODM2MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24u
Y3BwICovOyB9OwogCQkyNkY5QTgzOTE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1
cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
NkY5QTgzNzE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkxNEUzMDgxQ0FC
NUE0NDAwNDk5NjZGIC8qIEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYg
LyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLzsgfTsKKwkJMjkzNkJGNUMyMUQ2OUU0QjAw
NEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MzZCRjVBMjFENjk5OUUwMDRBOEZDOSAv
KiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkzRUFFMUYxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjkzRUFFMUUxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNh
dGlvbkNoZWNrcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTI5NDg5RkM3MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmll
dy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk0ODlG
QzUxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmggKi87IH07CiAJ
CTI5N0JFM0Q1MTZDMDNDMDgwMDMzMTZCRCAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVy
YW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjUy
N0NDOTExNkJGOEJBMTAwOUREQUMwIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNl
LmggKi87IH07CkBAIC03MTUsNiArNzE2LDggQEAKIAkJMjlBODEyNDMwRkJCOUMxRDAwNTEwMjkz
IC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTIyNTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0
eUxpc3RCb3guaCAqLzsgfTsKIAkJMjlBODEyNDkwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMjlBODEyNDUwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTI5QUNCMjEyMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmls
aXR5TW9ja09iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMjlBQ0IyMTExNDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0
LmggKi87IH07CisJCTI5QUUyMTJEMjFBQjlFRUIwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVDYWNo
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBRTIx
MkIyMUFCOUVFQjAwODY5MjgzIC8qIEFYU3RhdGljVHJlZUNhY2hlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMjlBRTIxMzUyMUFCQTQ4QTAwODY5
MjgzIC8qIEFYU3RhdGljVHJlZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVO
b2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
MjlEN0JDRkExNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUQ3QkNGOTE0NDRB
RjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLzsgfTsKIAkJMjlGQUY0
QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUZBRjRCNTE5NUFCMDg5
MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyQjM2NUM4NDE1MjUxMTlFMDA5MUQy
N0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2MDAwREJCQ0Q4IC8qIFJlbmRlclNWR0VsbGlw
c2UuaCAqLzsgfTsKQEAgLTY1MzAsNiArNjUzMyw3IEBACiAJCTI4REI5QkM3MjAyMEVBMDQwMEU1
NEEwNyAvKiBQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyOTE0RTMwNTFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0
dGFjaG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTE0RTMwNjFDQUI1
QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9iamVjdElu
dGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNFQUUxRTEzNTZCMkZF
MDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0
eVNjcm9sbFZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJp
bGl0eVNjcm9sbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjk0OTg2ODEx
OTUzNDE5NDAwNzJEMkJEIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBN
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NTc3LDYgKzY1ODEsMTAgQEAK
IAkJMjlBODEyNDcwRkJCOUNBOTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVNYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBWE9iamVjdENhY2hlTWFjLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyog
QWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMjlBQ0IyMTMxNDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNb2Nr
T2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMkIyMUFCOUVF
QjAwODY5MjgzIC8qIEFYU3RhdGljVHJlZUNhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFYU3RhdGlj
VHJlZUNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJDMjFBQjlF
RUIwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBB
WFN0YXRpY1RyZWVDYWNoZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUy
MTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVOb2RlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEFYU3RhdGljVHJlZU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIx
MzQyMUFCQTQ4QTAwODY5MjgzIC8qIEFYU3RhdGljVHJlZU5vZGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQVhTdGF0aWNUcmVlTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI5RDdCQ0Y1MTQ0NEFGNTgwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RDdCQ0Y5MTQ0NEFGN0Qw
MDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyOUUwNEEyN0JFRDJGODFGOThFOTAyMkIgLyogSlNCZWZvcmVVbmxvYWRF
dmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JlZm9yZVVubG9hZEV2
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjk3Nyw2ICsxNjk4NSw3IEBA
CiAJCQkJMjk4NTcwOTMxNUNDNTMyRDAwNjM1NUNEIC8qIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0
LmggKi8sCiAJCQkJMjk4MUNBQTUxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwICovLAogCQkJCTI5QTgxMjE4MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5
T2JqZWN0LmggKi8sCisJCQkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCAqLywKIAkJCQlBNDA5Qzk4MjExNkQwREREMDA3MTk3QkQgLyog
QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcCAqLywKIAkJCQlBNDA5Qzk4MzExNkQw
REREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmggKi8sCiAJCQkJ
Mjk4MUNBQTYxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
ICovLApAQCAtMTcwMTUsNiArMTcwMjQsNyBAQAogCQkJCTI5ODFDQUFGMTMxODIyRUMwMEQxMkYy
QSAvKiBBWE9iamVjdENhY2hlLmNwcCAqLywKIAkJCQkyOUE4MTIxQTBGQkI5QzFEMDA1MTAyOTMg
LyogQVhPYmplY3RDYWNoZS5oICovLAogCQkJCTkxQzlGMkY4MUFFM0JFMjQwMDk1QjYxQyAvKiBB
WFRleHRTdGF0ZUNoYW5nZUludGVudC5oICovLAorCQkJCTI5QUUyMTI5MjFBQjlFQ0IwMDg2OTI4
MyAvKiBBWFN0YXRpY1RyZWUgKi8sCiAJCQkpOwogCQkJcGF0aCA9IGFjY2Vzc2liaWxpdHk7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTcwMzIsNiArMTcwNDIsMTcgQEAKIAkJCXBh
dGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQkyOUFFMjEyOTIx
QUI5RUNCMDA4NjkyODMgLyogQVhTdGF0aWNUcmVlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7
CisJCQljaGlsZHJlbiA9ICgKKwkJCQkyOUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhTdGF0
aWNUcmVlQ2FjaGUuaCAqLywKKwkJCQkyOUFFMjEyQzIxQUI5RUVCMDA4NjkyODMgLyogQVhTdGF0
aWNUcmVlQ2FjaGUuY3BwICovLAorCQkJCTI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0
YXRpY1RyZWVOb2RlLmggKi8sCisJCQkJMjlBRTIxMzQyMUFCQTQ4QTAwODY5MjgzIC8qIEFYU3Rh
dGljVHJlZU5vZGUuY3BwICovLAorCQkJKTsKKwkJCXBhdGggPSBBWFN0YXRpY1RyZWU7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQkyRDA2MjE0NjFEQTYzOUVDMDBBN0ZCMjYg
LyogbGVnYWN5ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAg
LTI5NTkyLDYgKzI5NjEzLDcgQEAKIAkJCQkxQUUyQUE5ODBBMUNERDJEMDBCNDJCMjUgLyogSlNI
VE1MSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODBFN0U5NzBBMUE4M0UzMDA3
RkI4QzUgLyogSlNIVE1MSW5wdXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzZCMDk1
NjFGNUYzNEQ5MDAzQzM3MDIgLyogSlNIVE1MSW5wdXRFbGVtZW50RW50cmllc0FQSS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMjkzNkJGNUMyMUQ2OUU0QjAwNEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlP
YmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE2MTQ4QTc5MTJFNDFFM0IwMDQ0
QTc4NCAvKiBKU0hUTUxLZXlnZW5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUIy
MjBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGFiZWxFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUUyQUIyNDBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGVnZW5kRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zMTA0Myw2ICszMTA2NSw3IEBACiAJCQkJNTE0MDVDODkxOTBCMDE0
NDAwNzU0Rjk0IC8qIFNlbGVjdGlvblJlY3RHYXRoZXJlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTQ0QjRCQjQxNDE2NTBENzAwMkIxRDhCIC8qIFNlbGVjdG9yQ2hlY2tlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDMyRDNGRTgxOEE4NjU4NDAwRDdEQzAzIC8qIFNlbGVjdG9yQ2hlY2tlclRlc3RG
dW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAv
KiBBWFN0YXRpY1RyZWVOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkI5OTk5NzE4MDRENTQy
MDBEMDExMjEgLyogU2VsZWN0b3JDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE1MDcx
NTgxNjg1MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0MzEwN0JFMjE4Q0MxOURFMDBDQzE4RTggLyogU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmggaW4g
SGVhZGVycyAqLywKQEAgLTMxOTczLDYgKzMxOTk2LDcgQEAKIAkJCQk5NzdFMkUwRjEyRjBGQzlD
MDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTQx
NkZFNjE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0E1NTE1RjUxOTE4MzBBMzAwOTY4N0QyIC8qIFlvdVR1YmVQbHVnaW5S
ZXBsYWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMkQyMUFCOUVFQjAwODY5Mjgz
IC8qIEFYU3RhdGljVHJlZUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDUzNzM1MzEzN0I2
NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCShyZXZpc2lvbiAyMzk3MTgpCisr
KyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02Miw2ICs2Miw4IEBACiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVRhYmxlUm93
LmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVRyZWUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmls
aXR5VHJlZUl0ZW0uaCIKKyNpbmNsdWRlICJBWFN0YXRpY1RyZWVOb2RlLmgiCisjaW5jbHVkZSAi
QVhTdGF0aWNUcmVlQ2FjaGUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVk
aXRpbmcuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKQEAgLTI5MDUsOCArMjkwNywzNiBAQAogICAg
IGZvciAoYXV0byYgZGVmZXJyZWRGb2N1c2VkQ2hhbmdlQ29udGV4dCA6IG1fZGVmZXJyZWRGb2N1
c2VkTm9kZUNoYW5nZSkKICAgICAgICAgaGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQoZGVm
ZXJyZWRGb2N1c2VkQ2hhbmdlQ29udGV4dC5maXJzdCwgZGVmZXJyZWRGb2N1c2VkQ2hhbmdlQ29u
dGV4dC5zZWNvbmQpOwogICAgIG1fZGVmZXJyZWRGb2N1c2VkTm9kZUNoYW5nZS5jbGVhcigpOwor
CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisgICAgZ2VuZXJhdGVTdGF0
aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKCk7CisjZW5kaWYKIH0KICAgICAKKyNpZiBFTkFC
TEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKK1JlZlB0cjxBWFN0YXRpY1RyZWVOb2RlPiBB
WE9iamVjdENhY2hlOjp3YWxrQWNjZXNzaWJpbGl0eVRyZWVGb3JTdGF0aWNUcmVlKEFjY2Vzc2li
aWxpdHlPYmplY3QqIG9iamVjdCkKK3sKKyAgICBSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gc3Rh
dGljVHJlZU5vZGUgPSBBWFN0YXRpY1RyZWVOb2RlOjpjcmVhdGUob2JqZWN0KTsKKyAgICBvYmpl
Y3QtPnNldEluaXRpYWxpemVkU3RhdGljVHJlZU5vZGUodHJ1ZSk7CisgICAgYXNzb2NpYXRlU3Rh
dGljVHJlZU5vZGUob2JqZWN0LCBzdGF0aWNUcmVlTm9kZS5nZXQoKSk7CisgICAgZm9yIChhdXRv
IGNoaWxkIDogb2JqZWN0LT5jaGlsZHJlbigpKSB7CisgICAgICAgIGF1dG8gc3RhdGljQ2hpbGQg
PSB3YWxrQWNjZXNzaWJpbGl0eVRyZWVGb3JTdGF0aWNUcmVlKGNoaWxkLmdldCgpKTsKKyAgICAg
ICAgc3RhdGljQ2hpbGQtPnNldFBhcmVudChzdGF0aWNUcmVlTm9kZS5nZXQoKSk7CisgICAgICAg
IHN0YXRpY1RyZWVOb2RlLT5jaGlsZHJlbigpLmFwcGVuZChzdGF0aWNDaGlsZCk7CisgICAgfQor
ICAgIHJldHVybiBzdGF0aWNUcmVlTm9kZTsKK30KKyAgICAKK3ZvaWQgQVhPYmplY3RDYWNoZTo6
Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKCkKK3sKKyAgICBpZiAocm9v
dE9iamVjdCgpLT5pbml0aWFsaXplZFN0YXRpY1RyZWVOb2RlKCkpCisgICAgICAgIHJldHVybjsK
KyAgICAKKyAgICBSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gcm9vdCA9IHdhbGtBY2Nlc3NpYmls
aXR5VHJlZUZvclN0YXRpY1RyZWUocm9vdE9iamVjdCgpKTsKKyAgICBBWFN0YXRpY1RyZWVDYWNo
ZTo6dXBkYXRlU3RhdGljVHJlZUNhY2hlKHJvb3QsIG1fZG9jdW1lbnQucGFnZSgpKTsKK30KKyNl
bmRpZgorICAgIAogdm9pZCBBWE9iamVjdENhY2hlOjpkZWZlclJlY29tcHV0ZUlzSWdub3JlZElm
TmVlZGVkKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgaWYgKCFub2RlQW5kUmVuZGVyZXJBcmVW
YWxpZChlbGVtZW50KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5oCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNf
VFJFRSkKK2NsYXNzIEFYU3RhdGljVHJlZU5vZGU7CisjZW5kaWYKIGNsYXNzIERvY3VtZW50Owog
Y2xhc3MgSFRNTEFyZWFFbGVtZW50OwogY2xhc3MgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ7
CkBAIC0xODAsNiArMTgzLDEzIEBACiAgICAgdm9pZCBkZWZlckF0dHJpYnV0ZUNoYW5nZUlmTmVl
ZGVkKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBFbGVtZW50Kik7CiAgICAgdm9pZCByZWNvbXB1dGVJ
c0lnbm9yZWQoUmVuZGVyT2JqZWN0KiByZW5kZXJlcik7CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJ
TElUWV9TVEFUSUNfVFJFRSkKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGdlbmVyYXRlU3RhdGlj
QWNjZXNzaWJpbGl0eVRyZWVJZk5lZWRlZCgpOworCisgICAgdm9pZCBhc3NvY2lhdGVTdGF0aWNU
cmVlTm9kZShBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgQVhTdGF0aWNUcmVlTm9kZSopOworICAgIFJl
ZlB0cjxBWFN0YXRpY1RyZWVOb2RlPiB3YWxrQWNjZXNzaWJpbGl0eVRyZWVGb3JTdGF0aWNUcmVl
KEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKKyNlbmRpZgorICAgIAogI2lmIEhBVkUoQUNDRVNTSUJJ
TElUWSkKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVBY2Nlc3NpYmlsaXR5
KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZGlzYWJsZUFjY2Vzc2liaWxpdHko
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhTdGF0aWNUcmVlL0FYU3Rh
dGljVHJlZUNhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVDYWNoZS5jcHAJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhTdGF0aWNUcmVlQ2Fj
aGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTA2IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQorCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiQVhTdGF0aWNUcmVlQ2FjaGUuaCIKKworI2luY2x1ZGUgIkFYU3RhdGljVHJl
ZU5vZGUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK3N0YXRpYyBMb2NrIHNfc3RhdGljVHJl
ZUxvY2s7CitIYXNoTWFwPFBhZ2UqLCBSZWZQdHI8QVhTdGF0aWNUcmVlQ2FjaGU+PiYgQVhTdGF0
aWNUcmVlQ2FjaGU6OnBhZ2VSb290TWFwKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
SGFzaE1hcDxQYWdlKiwgUmVmUHRyPEFYU3RhdGljVHJlZUNhY2hlPj4+IG1hcDsKKyAgICByZXR1
cm4gbWFwOworfQorICAgIAorQVhTdGF0aWNUcmVlQ2FjaGU6OkFYU3RhdGljVHJlZUNhY2hlKCkK
K3sKK30KKworQVhTdGF0aWNUcmVlQ2FjaGU6On5BWFN0YXRpY1RyZWVDYWNoZSgpID0gZGVmYXVs
dDsKKworUmVmPEFYU3RhdGljVHJlZUNhY2hlPiBBWFN0YXRpY1RyZWVDYWNoZTo6Y3JlYXRlKCkK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWFN0YXRpY1RyZWVDYWNoZSgpKTsKK30KKyAg
ICAKK0FYU3RhdGljVHJlZU5vZGUqIEFYU3RhdGljVHJlZUNhY2hlOjpyb290U3RhdGljVHJlZU5v
ZGUoUGFnZSogcGFnZSkKK3sKKyAgICBzX3N0YXRpY1RyZWVMb2NrLmxvY2soKTsKKyAgICBhdXRv
IGNhY2hlID0gcGFnZVJvb3RNYXAoKS5nZXQocGFnZSk7CisgICAgc19zdGF0aWNUcmVlTG9jay51
bmxvY2soKTsKKyAgICBpZiAoY2FjaGUgJiYgY2FjaGUtPm1fcm9vdE5vZGUpCisgICAgICAgIHJl
dHVybiBjYWNoZS0+bV9yb290Tm9kZS5nZXQoKTsKKyAgICAKKyAgICByZXR1cm4gbnVsbHB0cjsK
K30KKwordm9pZCBBWFN0YXRpY1RyZWVDYWNoZTo6dXBkYXRlU3RhdGljVHJlZUNhY2hlKFJlZlB0
cjxBWFN0YXRpY1RyZWVOb2RlPiByb290LCBQYWdlKiBwYWdlKQoreworICAgIHNfc3RhdGljVHJl
ZUxvY2subG9jaygpOworICAgIGF1dG8gY2FjaGUgPSBwYWdlUm9vdE1hcCgpLmdldChwYWdlKTsK
KyAgICBpZiAoIWNhY2hlKSB7CisgICAgICAgIFJlZlB0cjxBWFN0YXRpY1RyZWVDYWNoZT4gbmV3
Q2FjaGUgPSBBWFN0YXRpY1RyZWVDYWNoZTo6Y3JlYXRlKCk7CisgICAgICAgIHBhZ2VSb290TWFw
KCkuc2V0KHBhZ2UsIG5ld0NhY2hlKTsKKyAgICAgICAgY2FjaGUgPSBuZXdDYWNoZS5nZXQoKTsK
KyAgICB9CisgICAgCisgICAgY2FjaGUtPmludGVybmFsVXBkYXRlU3RhdGljVHJlZUNhY2hlKHJv
b3QpOworICAgIHNfc3RhdGljVHJlZUxvY2sudW5sb2NrKCk7Cit9CisgICAKK3N0YXRpYyBib29s
IHNlYXJjaFRyZWVBbmRSZXBsYWNlKFJlZlB0cjxBWFN0YXRpY1RyZWVOb2RlPiBzZWFyY2hOb2Rl
LCBSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gbmV3Um9vdCkKK3sKKyAgICBhdXRvIGNoaWxkcmVu
ID0gc2VhcmNoTm9kZS0+Y2hpbGRyZW4oKTsKKyAgICBzaXplX3QgY291bnQgPSBjaGlsZHJlbi5z
aXplKCk7CisgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGNvdW50OyArK2luZGV4
KSB7CisgICAgICAgIGlmIChjaGlsZHJlbltpbmRleF0tPmlkZW50aWZpZXIoKSA9PSBuZXdSb290
LT5pZGVudGlmaWVyKCkpIHsKKyAgICAgICAgICAgIGNoaWxkcmVuLmluc2VydChpbmRleCwgbmV3
Um9vdCk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfSBlbHNlIGlmIChzZWFy
Y2hUcmVlQW5kUmVwbGFjZShjaGlsZHJlbltpbmRleF0sIG5ld1Jvb3QpKQorICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorICAgIAordm9pZCBB
WFN0YXRpY1RyZWVDYWNoZTo6aW50ZXJuYWxVcGRhdGVTdGF0aWNUcmVlQ2FjaGUoUmVmUHRyPEFY
U3RhdGljVHJlZU5vZGU+IHN1YlJvb3QpCit7CisgICAgQVNTRVJUKHNfc3RhdGljVHJlZUxvY2su
aXNMb2NrZWQoKSk7CisgICAgaWYgKCFtX3Jvb3ROb2RlKQorICAgICAgICBtX3Jvb3ROb2RlID0g
c3ViUm9vdDsKKyAgICBlbHNlCisgICAgICAgIHNlYXJjaFRyZWVBbmRSZXBsYWNlKG1fcm9vdE5v
ZGUsIHN1YlJvb3QpOworfQorICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVDYWNoZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGlj
VHJlZUNhY2hlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWFN0YXRpY1RyZWUvQVhTdGF0aWNUcmVlQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKwor
I2luY2x1ZGUgIkFYU3RhdGljVHJlZU5vZGUuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisgCitjbGFzcyBQYWdlOworICAgIAorY2xhc3MgQVhTdGF0aWNU
cmVlQ2FjaGUgOiBwdWJsaWMgUmVmQ291bnRlZDxBWFN0YXRpY1RyZWVDYWNoZT4geworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEFYU3RhdGljVHJlZUNhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CisKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEFYU3RhdGljVHJlZUNhY2hlPiBjcmVh
dGUoKTsKKyAgICBzdGF0aWMgdm9pZCB1cGRhdGVTdGF0aWNUcmVlQ2FjaGUoUmVmUHRyPEFYU3Rh
dGljVHJlZU5vZGU+LCBQYWdlKik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIEFYU3RhdGlj
VHJlZU5vZGUqIHJvb3RTdGF0aWNUcmVlTm9kZShQYWdlKik7CisgICAgQVhTdGF0aWNUcmVlQ2Fj
aGUoKTsKKyAgICB2aXJ0dWFsIH5BWFN0YXRpY1RyZWVDYWNoZSgpOworCitwcml2YXRlOgorICAg
IHZvaWQgaW50ZXJuYWxVcGRhdGVTdGF0aWNUcmVlQ2FjaGUoUmVmUHRyPEFYU3RhdGljVHJlZU5v
ZGU+KTsKKyAgICBzdGF0aWMgSGFzaE1hcDxQYWdlKiwgUmVmUHRyPEFYU3RhdGljVHJlZUNhY2hl
Pj4mIHBhZ2VSb290TWFwKCk7CisKKyAgICBSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gbV9yb290
Tm9kZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVOb2RlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJl
ZS9BWFN0YXRpY1RyZWVOb2RlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVOb2RlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDExOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJ
TElUWV9TVEFUSUNfVFJFRSkKKworI2luY2x1ZGUgPGNvbmZpZy5oPgorI2luY2x1ZGUgIkFYU3Rh
dGljVHJlZU5vZGUuaCIKKworI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitBWFN0YXRpY1RyZWVOb2RlOjpBWFN0YXRpY1RyZWVOb2RlKEFj
Y2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCkKK3sKKyAgICBtX2lkZW50aWZpZXIgPSBvYmplY3Qt
PmF4T2JqZWN0SUQoKTsKKyAgICBpbml0aWFsaXplQXR0cmlidXRlRGF0YShvYmplY3QpOworfQor
CitSZWY8QVhTdGF0aWNUcmVlTm9kZT4gQVhTdGF0aWNUcmVlTm9kZTo6Y3JlYXRlKEFjY2Vzc2li
aWxpdHlPYmplY3QqIG9iamVjdCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWFN0YXRp
Y1RyZWVOb2RlKG9iamVjdCkpOworfQorICAgIAorQVhTdGF0aWNUcmVlTm9kZTo6fkFYU3RhdGlj
VHJlZU5vZGUoKSA9IGRlZmF1bHQ7CisgIAordm9pZCBBWFN0YXRpY1RyZWVOb2RlOjppbml0aWFs
aXplQXR0cmlidXRlRGF0YShBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QpCit7CisgICAgc2V0
UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlJvbGVWYWx1ZSwgc3RhdGljX2Nhc3Q8aW50PihvYmpl
Y3QtPnJvbGVWYWx1ZSgpKSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0
YWNobWVudCwgb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWU6OklzTWVkaWFDb250cm9sTGFiZWwsIG9iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJl
bCgpKTsKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNBdHRhY2htZW50LCBvYmpl
Y3QtPmlzQXR0YWNobWVudCgpKTsKK30KKyAgICAKK3ZvaWQgQVhTdGF0aWNUcmVlTm9kZTo6c2V0
UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlh
bnQmJiB2YWx1ZSwgYm9vbCBzaG91bGRSZW1vdmUpCit7CisgICAgaWYgKHNob3VsZFJlbW92ZSkK
KyAgICAgICAgbV9hdHRyaWJ1dGVNYXAucmVtb3ZlKHByb3BlcnR5TmFtZSk7CisgICAgZWxzZQor
ICAgICAgICBtX2F0dHJpYnV0ZU1hcC5zZXQocHJvcGVydHlOYW1lLCB2YWx1ZSk7Cit9CisgICAg
Citkb3VibGUgQVhTdGF0aWNUcmVlTm9kZTo6ZG91YmxlQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0
eU5hbWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0
ZU1hcC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwg
WyZdIChkb3VibGUmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7Cisg
ICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gMC4wOworICAgIH0pOworfQorCit1
bnNpZ25lZCBBWFN0YXRpY1RyZWVOb2RlOjp1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVy
dHlOYW1lIHByb3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1
dGVNYXAuZ2V0KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUs
IFsmXSAodW5zaWduZWQmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7
CisgICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKwor
Ym9vbCBBWFN0YXRpY1RyZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUg
cHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5n
ZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChi
b29sJiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsm
XSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0pOworfQorCitjb25zdCBT
dHJpbmcmIEFYU3RhdGljVHJlZU5vZGU6OnN0cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlO
YW1lIHByb3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVN
YXAuZ2V0KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsm
XSAoU3RyaW5nJiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAg
IH0sIFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIG51bGxBdG9tKCk7CisgICAgfSk7Cit9
CisKK2ludCBBWFN0YXRpY1RyZWVOb2RlOjppbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFt
ZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFw
LmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0g
KGludCYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBb
Jl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0pOworfQorCisjcHJhZ21hIG1h
cmsgLSBPdmVycmlkZXMKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRSgoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZU5vZGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1Ry
ZWVOb2RlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WFN0YXRpY1RyZWUvQVhTdGF0aWNUcmVlTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTE0IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisKKyNp
bmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCisjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+
CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IEFjY2Vzc2liaWxpdHlPYmplY3Q7CisgICAgCitjbGFzcyBBWFN0YXRpY1RyZWVOb2RlIGZpbmFs
IDogcHVibGljIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UsIHB1YmxpYyBSZWZDb3VudGVk
PEFYU3RhdGljVHJlZU5vZGU+IHsKKyAgICAKK2VudW0gY2xhc3MgQVhQcm9wZXJ0eU5hbWUgOiBp
bnQgeworICAgIE5vbmUgPSAwLAorICAgIFJvbGVWYWx1ZSA9IDEsCisgICAgSXNBdHRhY2htZW50
LAorICAgIElzTWVkaWFDb250cm9sTGFiZWwsCit9OworCitzdHJ1Y3QgQVhQcm9wZXJ0eUhhc2hU
cmFpdHMgOiBXVEY6OkdlbmVyaWNIYXNoVHJhaXRzPEFYUHJvcGVydHlOYW1lPiB7CisgICAgc3Rh
dGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IGZhbHNlOworICAgIHN0YXRpYyBBWFBy
b3BlcnR5TmFtZSBlbXB0eVZhbHVlKCkgeyByZXR1cm4gQVhQcm9wZXJ0eU5hbWU6Ok5vbmU7IH07
CisgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKEFYUHJvcGVydHlOYW1lJiBz
bG90KQorICAgIHsKKyAgICAgICAgc2xvdCA9IHN0YXRpY19jYXN0PEFYUHJvcGVydHlOYW1lPihz
dGF0aWNfY2FzdDxpbnQ+KEFYUHJvcGVydHlOYW1lOjpOb25lKSAtIDEpOworICAgIH0KKyAgICBz
dGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShBWFByb3BlcnR5TmFtZSB2YWx1ZSkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlKSA9PSBzdGF0aWNfY2FzdDxpbnQ+
KEFYUHJvcGVydHlOYW1lOjpOb25lKSAtIDE7CisgICAgfQorfTsKKworcHJvdGVjdGVkOgorICAg
IEFYU3RhdGljVHJlZU5vZGUoKSA9IGRlZmF1bHQ7CisKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PEFYU3RhdGljVHJlZU5vZGU+IGNyZWF0ZShBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CisgICAgdmly
dHVhbCB+QVhTdGF0aWNUcmVlTm9kZSgpOworCisgICAgQVhJRCBpZGVudGlmaWVyKCkgY29uc3Qg
eyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CisgICAgCisgICAgVmVjdG9yPFJlZlB0cjxBWFN0YXRp
Y1RyZWVOb2RlPj4mIGNoaWxkcmVuKCkgeyByZXR1cm4gbV9jaGlsZHJlbjsgfTsKKworICAgIHZv
aWQgc2V0UGFyZW50KEFYU3RhdGljVHJlZU5vZGUqIHBhcmVudCkgeyBtX3BhcmVudCA9IHBhcmVu
dDsgfQorICAgIEFYU3RhdGljVHJlZU5vZGUqIHBhcmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFy
ZW50OyB9CisgICAgCisgICAgQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIoKSBj
b25zdCB7IHJldHVybiBtX3dyYXBwZXIuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFdyYXBwZXIoQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIpCisgICAgeworICAgICAgICBtX3dyYXBw
ZXIgPSB3cmFwcGVyOworICAgIH0KKworcHJpdmF0ZToKKyAgICBBWFN0YXRpY1RyZWVOb2RlKEFj
Y2Vzc2liaWxpdHlPYmplY3QqKTsKKyAgICB2b2lkIGluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKEFj
Y2Vzc2liaWxpdHlPYmplY3QqKTsKKyAgICAKKyAgICBib29sIGlzTWVkaWFDb250cm9sTGFiZWwo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5h
bWU6OklzTWVkaWFDb250cm9sTGFiZWwpOyB9CisgICAgYm9vbCBpc0F0dGFjaG1lbnQoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6Oklz
QXR0YWNobWVudCk7IH0KKyAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5Um9sZT4oaW50QXR0cmli
dXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OlJvbGVWYWx1ZSkpOyB9CisgICAgCisgICAgdXNpbmcg
QXR0cmlidXRlVmFsdWVWYXJpYW50ID0gVmFyaWFudDxzdGQ6Om51bGxwdHJfdCwgU3RyaW5nLCBi
b29sLCBpbnQsIHVuc2lnbmVkLCBkb3VibGU+OworICAgIHZvaWQgc2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCYmIHZhbHVlLCBib29sIHNob3VsZFJlbW92
ZSA9IGZhbHNlKTsKKyAgICAKKyAgICBib29sIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZSkgY29uc3Q7CisgICAgY29uc3QgU3RyaW5nJiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZSkgY29uc3Q7CisgICAgaW50IGludEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlO
YW1lKSBjb25zdDsKKyAgICB1bnNpZ25lZCB1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVy
dHlOYW1lKSBjb25zdDsKKyAgICBkb3VibGUgZG91YmxlQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0
eU5hbWUpIGNvbnN0OworICAgIAorICAgIEFYSUQgbV9pZGVudGlmaWVyOworICAgIFZlY3RvcjxS
ZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4+IG1fY2hpbGRyZW47CisgICAgQVhTdGF0aWNUcmVlTm9k
ZSogbV9wYXJlbnQ7CisgICAgCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgUmV0YWluUHRyPFdl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiBtX3dyYXBwZXI7CisjZW5kaWYKKyAgICAKKyAg
ICBIYXNoTWFwPEFYUHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQsIFdURjo6SW50
SGFzaDxBWFByb3BlcnR5TmFtZT4sIEFYUHJvcGVydHlIYXNoVHJhaXRzPiBtX2F0dHJpYnV0ZU1h
cDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUND
RVNTSUJJTElUWV9TVEFUSUNfVFJFRSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkocmV2aXNpb24gMjM5NzE4KQorKysg
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAj
aW5jbHVkZSAiSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJMYXlvdXRS
ZWN0LmgiCkBAIC04OSwxNTcgKzkwLDYgQEAKIGNsYXNzIFNjcm9sbFZpZXc7CiBjbGFzcyBXaWRn
ZXQ7CiAKLXR5cGVkZWYgdW5zaWduZWQgQVhJRDsKLQotZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5
Um9sZSB7Ci0gICAgQW5ub3RhdGlvbiA9IDEsCi0gICAgQXBwbGljYXRpb24sCi0gICAgQXBwbGlj
YXRpb25BbGVydCwKLSAgICBBcHBsaWNhdGlvbkFsZXJ0RGlhbG9nLAotICAgIEFwcGxpY2F0aW9u
RGlhbG9nLAotICAgIEFwcGxpY2F0aW9uR3JvdXAsCi0gICAgQXBwbGljYXRpb25Mb2csCi0gICAg
QXBwbGljYXRpb25NYXJxdWVlLAotICAgIEFwcGxpY2F0aW9uU3RhdHVzLAotICAgIEFwcGxpY2F0
aW9uVGV4dEdyb3VwLAotICAgIEFwcGxpY2F0aW9uVGltZXIsCi0gICAgQXVkaW8sCi0gICAgQmxv
Y2txdW90ZSwKLSAgICBCcm93c2VyLAotICAgIEJ1c3lJbmRpY2F0b3IsCi0gICAgQnV0dG9uLAot
ICAgIENhbnZhcywKLSAgICBDYXB0aW9uLAotICAgIENlbGwsCi0gICAgQ2hlY2tCb3gsCi0gICAg
Q29sb3JXZWxsLAotICAgIENvbHVtbiwKLSAgICBDb2x1bW5IZWFkZXIsCi0gICAgQ29tYm9Cb3gs
Ci0gICAgRGVmaW5pdGlvbiwKLSAgICBEZXNjcmlwdGlvbkxpc3QsCi0gICAgRGVzY3JpcHRpb25M
aXN0VGVybSwKLSAgICBEZXNjcmlwdGlvbkxpc3REZXRhaWwsCi0gICAgRGV0YWlscywKLSAgICBE
aXJlY3RvcnksCi0gICAgRGlzY2xvc3VyZVRyaWFuZ2xlLAotICAgIERpdiwKLSAgICBEb2N1bWVu
dCwKLSAgICBEb2N1bWVudEFydGljbGUsCi0gICAgRG9jdW1lbnRNYXRoLAotICAgIERvY3VtZW50
Tm90ZSwKLSAgICBEcmF3ZXIsCi0gICAgRWRpdGFibGVUZXh0LAotICAgIEZlZWQsCi0gICAgRmln
dXJlLAotICAgIEZvb3RlciwKLSAgICBGb290bm90ZSwKLSAgICBGb3JtLAotICAgIEdyYXBoaWNz
RG9jdW1lbnQsCi0gICAgR3JhcGhpY3NPYmplY3QsCi0gICAgR3JhcGhpY3NTeW1ib2wsCi0gICAg
R3JpZCwKLSAgICBHcmlkQ2VsbCwKLSAgICBHcm91cCwKLSAgICBHcm93QXJlYSwKLSAgICBIZWFk
aW5nLAotICAgIEhlbHBUYWcsCi0gICAgSG9yaXpvbnRhbFJ1bGUsCi0gICAgSWdub3JlZCwKLSAg
ICBJbmxpbmUsCi0gICAgSW1hZ2UsCi0gICAgSW1hZ2VNYXAsCi0gICAgSW1hZ2VNYXBMaW5rLAot
ICAgIEluY3JlbWVudG9yLAotICAgIExhYmVsLAotICAgIExhbmRtYXJrQmFubmVyLAotICAgIExh
bmRtYXJrQ29tcGxlbWVudGFyeSwKLSAgICBMYW5kbWFya0NvbnRlbnRJbmZvLAotICAgIExhbmRt
YXJrRG9jUmVnaW9uLAotICAgIExhbmRtYXJrTWFpbiwKLSAgICBMYW5kbWFya05hdmlnYXRpb24s
Ci0gICAgTGFuZG1hcmtSZWdpb24sCi0gICAgTGFuZG1hcmtTZWFyY2gsCi0gICAgTGVnZW5kLAot
ICAgIExpbmssCi0gICAgTGlzdCwKLSAgICBMaXN0Qm94LAotICAgIExpc3RCb3hPcHRpb24sCi0g
ICAgTGlzdEl0ZW0sCi0gICAgTGlzdE1hcmtlciwKLSAgICBNYXJrLAotICAgIE1hdGhFbGVtZW50
LAotICAgIE1hdHRlLAotICAgIE1lbnUsCi0gICAgTWVudUJhciwKLSAgICBNZW51QnV0dG9uLAot
ICAgIE1lbnVJdGVtLAotICAgIE1lbnVJdGVtQ2hlY2tib3gsCi0gICAgTWVudUl0ZW1SYWRpbywK
LSAgICBNZW51TGlzdFBvcHVwLAotICAgIE1lbnVMaXN0T3B0aW9uLAotICAgIE91dGxpbmUsCi0g
ICAgUGFyYWdyYXBoLAotICAgIFBvcFVwQnV0dG9uLAotICAgIFByZSwKLSAgICBQcmVzZW50YXRp
b25hbCwKLSAgICBQcm9ncmVzc0luZGljYXRvciwKLSAgICBSYWRpb0J1dHRvbiwKLSAgICBSYWRp
b0dyb3VwLAotICAgIFJvd0hlYWRlciwKLSAgICBSb3csCi0gICAgUm93R3JvdXAsCi0gICAgUnVi
eUJhc2UsCi0gICAgUnVieUJsb2NrLAotICAgIFJ1YnlJbmxpbmUsCi0gICAgUnVieVJ1biwKLSAg
ICBSdWJ5VGV4dCwKLSAgICBSdWxlciwKLSAgICBSdWxlck1hcmtlciwKLSAgICBTY3JvbGxBcmVh
LAotICAgIFNjcm9sbEJhciwKLSAgICBTZWFyY2hGaWVsZCwKLSAgICBTaGVldCwKLSAgICBTbGlk
ZXIsCi0gICAgU2xpZGVyVGh1bWIsCi0gICAgU3BpbkJ1dHRvbiwKLSAgICBTcGluQnV0dG9uUGFy
dCwKLSAgICBTcGxpdEdyb3VwLAotICAgIFNwbGl0dGVyLAotICAgIFN0YXRpY1RleHQsCi0gICAg
U3VtbWFyeSwKLSAgICBTd2l0Y2gsCi0gICAgU3lzdGVtV2lkZSwKLSAgICBTVkdSb290LAotICAg
IFNWR1RleHQsCi0gICAgU1ZHVFNwYW4sCi0gICAgU1ZHVGV4dFBhdGgsCi0gICAgVGFiR3JvdXAs
Ci0gICAgVGFiTGlzdCwKLSAgICBUYWJQYW5lbCwKLSAgICBUYWIsCi0gICAgVGFibGUsCi0gICAg
VGFibGVIZWFkZXJDb250YWluZXIsCi0gICAgVGV4dEFyZWEsCi0gICAgVGV4dEdyb3VwLAotICAg
IFRlcm0sCi0gICAgVGltZSwKLSAgICBUcmVlLAotICAgIFRyZWVHcmlkLAotICAgIFRyZWVJdGVt
LAotICAgIFRleHRGaWVsZCwKLSAgICBUb2dnbGVCdXR0b24sCi0gICAgVG9vbGJhciwKLSAgICBV
bmtub3duLAotICAgIFVzZXJJbnRlcmZhY2VUb29sdGlwLAotICAgIFZhbHVlSW5kaWNhdG9yLAot
ICAgIFZpZGVvLAotICAgIFdlYkFwcGxpY2F0aW9uLAotICAgIFdlYkFyZWEsCi0gICAgV2ViQ29y
ZUxpbmssCi0gICAgV2luZG93LAotfTsKLQogZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5VGV4dFNv
dXJjZSB7CiAgICAgQWx0ZXJuYXRpdmUsCiAgICAgQ2hpbGRyZW4sCkBAIC00OTEsNyArMzQxLDcg
QEAKICAgICAKIGJvb2wgbm9kZUhhc1ByZXNlbnRhdGlvblJvbGUoTm9kZSopOwogICAgIAotY2xh
c3MgQWNjZXNzaWJpbGl0eU9iamVjdCA6IHB1YmxpYyBSZWZDb3VudGVkPEFjY2Vzc2liaWxpdHlP
YmplY3Q+IHsKK2NsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxB
Y2Nlc3NpYmlsaXR5T2JqZWN0PiwgcHVibGljIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2Ug
ewogcHJvdGVjdGVkOgogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QoKSA9IGRlZmF1bHQ7CiAgICAg
CkBAIC0xMTUwLDYgKzEwMDAsMTEgQEAKICAgICB2b2lkIGNsZWFySXNJZ25vcmVkRnJvbVBhcmVu
dERhdGEoKSB7IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEgPSBBY2Nlc3NpYmlsaXR5SXNJZ25v
cmVkRnJvbVBhcmVudERhdGEoKTsgfQogICAgIHZvaWQgc2V0SXNJZ25vcmVkRnJvbVBhcmVudERh
dGFGb3JDaGlsZChBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAgICAgCisjaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFlfU1RBVElDX1RSRUUpCisgICAgdm9pZCBzZXRJbml0aWFsaXplZFN0YXRpY1RyZWVO
b2RlKGJvb2wgaW5pdGlhbGl6ZWQpIHsgbV9zdGF0aWNUcmVlTm9kZUluaXRpYWxpemVkID0gaW5p
dGlhbGl6ZWQ7IH0KKyAgICBib29sIGluaXRpYWxpemVkU3RhdGljVHJlZU5vZGUoKSBjb25zdCB7
IHJldHVybiBtX3N0YXRpY1RyZWVOb2RlSW5pdGlhbGl6ZWQ7IH0KKyNlbmRpZgorICAgIAogcHJv
dGVjdGVkOgogICAgIEFYSUQgbV9pZCB7IDAgfTsKICAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5W
ZWN0b3IgbV9jaGlsZHJlbjsKQEAgLTExNTksNyArMTAxNCwxMCBAQAogICAgIEFjY2Vzc2liaWxp
dHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhIHsgfTsK
ICAgICBib29sIG1fY2hpbGRyZW5EaXJ0eSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3N1YnRyZWVE
aXJ0eSB7IGZhbHNlIH07Ci0KKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkK
KyAgICBib29sIG1fc3RhdGljVHJlZU5vZGVJbml0aWFsaXplZCB7IGZhbHNlIH07CisjZW5kaWYK
KyAgICAKICAgICB2b2lkIHNldElzSWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlJ
c0lnbm9yZWRGcm9tUGFyZW50RGF0YSYgZGF0YSkgeyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRh
ID0gZGF0YTsgfQogCiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25v
cmVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCShyZXZpc2lvbiAyMzk3
MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFj
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbXBvcnQgIkFjY2Vzc2li
aWxpdHlPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlUYWJsZS5oIgorI2ltcG9ydCAi
QVhTdGF0aWNUcmVlTm9kZS5oIgogI2ltcG9ydCAiUmVuZGVyT2JqZWN0LmgiCiAjaW1wb3J0ICJX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5oIgogI2ltcG9ydCA8cGFsL3NwaS9tYWMv
TlNBY2Nlc3NpYmlsaXR5U1BJLmg+CkBAIC0yMzcsNiArMjM4LDE0IEBACiAgICAgb2JqLT5zZXRX
cmFwcGVyKG51bGxwdHIpOwogfQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RS
RUUpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZVN0YXRpY1RyZWVOb2RlKEFjY2Vzc2li
aWxpdHlPYmplY3QqIG9iamVjdCwgQVhTdGF0aWNUcmVlTm9kZSogbm9kZSkKK3sKKyAgICBvYmpl
Y3QtPndyYXBwZXIoKS5zdGF0aWNUcmVlTm9kZSA9IG5vZGU7CisgICAgbm9kZS0+c2V0V3JhcHBl
cihvYmplY3QtPndyYXBwZXIoKSk7Cit9CisjZW5kaWYKKyAgICAKIHZvaWQgQVhPYmplY3RDYWNo
ZTo6YXR0YWNoV3JhcHBlcihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmopCiB7CiAgICAgUmV0YWlu
UHRyPFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiB3cmFwcGVyID0gYWRvcHROUyhbW1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGFsbG9jXSBpbml0V2l0aEFjY2Vzc2liaWxpdHlP
YmplY3Q6b2JqXSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2Uu
aAkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMx
LDkgKzMxLDEzIEBACiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVk
ZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3Q7CisjaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCitjbGFzcyBBWFN0YXRpY1RyZWVOb2Rl
OworI2VuZGlmCiBzdHJ1Y3QgQWNjZXNzaWJpbGl0eVNlYXJjaENyaXRlcmlhOwogY2xhc3MgSW50
UmVjdDsKIGNsYXNzIEZsb2F0UG9pbnQ7CkBAIC00NCwxMCArNDgsMjIgQEAKIAogQGludGVyZmFj
ZSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgOiBOU09iamVjdCB7CiAgICAgV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogbV9vYmplY3Q7CisgICAgCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisgICAgV2ViQ29yZTo6QVhTdGF0aWNUcmVlTm9kZSog
bV9zdGF0aWNUcmVlTm9kZTsKKyNlbmRpZgogfQogIAogLSAoaWQpaW5pdFdpdGhBY2Nlc3NpYmls
aXR5T2JqZWN0OihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KilheE9iamVjdDsKKworI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQorQHByb3BlcnR5IChub25hdG9taWMs
IGFzc2lnbikgV2ViQ29yZTo6QVhTdGF0aWNUcmVlTm9kZSAqc3RhdGljVHJlZU5vZGU7CisjZW5k
aWYKKwogLSAodm9pZClkZXRhY2g7CisKKy0gKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RJ
bnRlcmZhY2UgKilheEJhY2tpbmdPYmplY3Q7CisKIC0gKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlP
YmplY3QqKWFjY2Vzc2liaWxpdHlPYmplY3Q7CiAtIChCT09MKXVwZGF0ZU9iamVjdEJhY2tpbmdT
dG9yZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQko
cmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2
ICszMiw4IEBACiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogCiAjaW1wb3J0ICJBWE9iamVjdENh
Y2hlLmgiCisjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCisjaW1wb3J0
ICJBWFN0YXRpY1RyZWVOb2RlLmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cu
aCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlMaXN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5
TGlzdEJveC5oIgpAQCAtMjc0LDYgKzI3NiwyOCBAQAogICAgIHJldHVybiBzZWxmOwogfQogCisj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCistICh2b2lkKXNldFN0YXRpY1Ry
ZWVOb2RlOihXZWJDb3JlOjpBWFN0YXRpY1RyZWVOb2RlKilzdGF0aWNUcmVlTm9kZQoreworICAg
IG1fc3RhdGljVHJlZU5vZGUgPSBzdGF0aWNUcmVlTm9kZTsKK30KKworLSAoV2ViQ29yZTo6QVhT
dGF0aWNUcmVlTm9kZSopc3RhdGljVHJlZU5vZGUKK3sKKyAgICByZXR1cm4gbV9zdGF0aWNUcmVl
Tm9kZTsKK30KKworI2VuZGlmCisKKy0gKEJPT0wpaGFzU3RhdGljQmFja2luZworeworI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQorICAgIHJldHVybiBtX3N0YXRpY1RyZWVO
b2RlICE9IG51bGxwdHI7CisjZWxzZQorICAgIHJldHVybiBOTzsKKyNlbmRpZgorfQorCiAtICh2
b2lkKWRldGFjaAogewogICAgIG1fb2JqZWN0ID0gbnVsbHB0cjsKQEAgLTI4MSw2ICszMDUsMTEg
QEAKIAogLSAoQk9PTCl1cGRhdGVPYmplY3RCYWNraW5nU3RvcmUKIHsKKyNpZiBFTkFCTEUoQUND
RVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKyAgICBpZiAobV9zdGF0aWNUcmVlTm9kZSkKKyAgICAg
ICAgcmV0dXJuIFlFUzsKKyNlbmRpZgorICAgIAogICAgIC8vIENhbGxpbmcgdXBkYXRlQmFja2lu
Z1N0b3JlKCkgY2FuIGludmFsaWRhdGUgdGhpcyBlbGVtZW50IHNvIHNlbGYgbXVzdCBiZSByZXRh
aW5lZC4KICAgICAvLyBJZiBpdCBkb2VzIGJlY29tZSBpbnZhbGlkYXRlZCwgbV9vYmplY3Qgd2ls
bCBiZSBuaWwuCiAgICAgQ0ZSZXRhaW4oKF9fYnJpZGdlIENGVHlwZVJlZilzZWxmKTsKQEAgLTM1
NSwxMSArMzg0LDIxIEBACiAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmddOwogfQogCisjZGVm
aW5lIF9heEJhY2tpbmdPYmplY3Qgc2VsZi5heEJhY2tpbmdPYmplY3QKKy0gKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UgKilheEJhY2tpbmdPYmplY3QKK3sKKyNpZiBFTkFC
TEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKyAgICByZXR1cm4gbV9zdGF0aWNUcmVlTm9k
ZTsKKyNlbHNlCisgICAgcmV0dXJuIG1fb2JqZWN0OworI2VuZGlmCit9CisKIC0gKE5TU3RyaW5n
ICopYmFzZUFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbgogewogICAgIC8vIFN0YXRpYyB0ZXh0IG9i
amVjdHMgc2hvdWxkIG5vdCBoYXZlIGEgZGVzY3JpcHRpb24uIEl0cyBjb250ZW50IGlzIGNvbW11
bmljYXRlZCBpbiBpdHMgQVhWYWx1ZS4KICAgICAvLyBPbmUgZXhjZXB0aW9uIGlzIHRoZSBtZWRp
YSBjb250cm9sIGxhYmVscyB0aGF0IGhhdmUgYSB2YWx1ZSBhbmQgYSBkZXNjcmlwdGlvbi4gVGhv
c2UgYXJlIHNldCBwcm9ncmFtYXRpY2FsbHkuCi0gICAgaWYgKG1fb2JqZWN0LT5yb2xlVmFsdWUo
KSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dCAmJiAhbV9vYmplY3QtPmlzTWVkaWFD
b250cm9sTGFiZWwoKSkKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+cm9sZVZhbHVlKCkgPT0g
QWNjZXNzaWJpbGl0eVJvbGU6OlN0YXRpY1RleHQgJiYgIV9heEJhY2tpbmdPYmplY3QtPmlzTWVk
aWFDb250cm9sTGFiZWwoKSkKICAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmddOwogICAg
IAogICAgIFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4gdGV4dE9yZGVyOwpJbmRleDogU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJN
YWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHJldmlzaW9uIDIzOTcxOCkKKysrIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00MTIsNiArNDEyLDggQEAKICNkZWZpbmUgTlNB
Y2Nlc3NpYmlsaXR5TGlua1JlbGF0aW9uc2hpcFR5cGVBdHRyaWJ1dGUgQCJBWExpbmtSZWxhdGlv
bnNoaXBUeXBlIgogI2VuZGlmCiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVjdCBzZWxmLmF4QmFj
a2luZ09iamVjdAorCiBleHRlcm4gIkMiIEFYVUlFbGVtZW50UmVmIE5TQWNjZXNzaWJpbGl0eUNy
ZWF0ZUFYVUlFbGVtZW50UmVmKGlkIGVsZW1lbnQpOwogCiBAaW1wbGVtZW50YXRpb24gV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIKQEAgLTIwMDksMTAgKzIwMTEsMTAgQEAKIC0gKE5TU3Ry
aW5nKilyb2xlCiB7CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KLSAg
ICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKQorICAgIGlmIChfYXhCYWNraW5nT2JqZWN0
LT5pc0F0dGFjaG1lbnQoKSkKICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50Vmlld10g
YWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVJvbGVBdHRyaWJ1dGVd
OwogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAotICAgIEFjY2Vzc2liaWxp
dHlSb2xlIHJvbGUgPSBtX29iamVjdC0+cm9sZVZhbHVlKCk7CisgICAgQWNjZXNzaWJpbGl0eVJv
bGUgcm9sZSA9IF9heEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpOwogCiAgICAgaWYgKHJvbGUg
PT0gQWNjZXNzaWJpbGl0eVJvbGU6OkxhYmVsICYmIGlzPEFjY2Vzc2liaWxpdHlMYWJlbD4oKm1f
b2JqZWN0KSAmJiBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5TGFiZWw+KCptX29iamVjdCkuY29udGFp
bnNPbmx5U3RhdGljVGV4dCgpKQogICAgICAgICByb2xlID0gQWNjZXNzaWJpbGl0eVJvbGU6OlN0
YXRpY1RleHQ7CkBAIC0yMDM5LDcgKzIwNDEsNyBAQAogICAgIGlmIChtX29iamVjdC0+aXNTZWFy
Y2hGaWVsZCgpKQogICAgICAgICByZXR1cm4gTlNBY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRTdWJy
b2xlOwogICAgIAotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICBpZiAo
X2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgTlNWaWV3KiBhdHRh
Y2hWaWV3ID0gW3NlbGYgYXR0YWNobWVudFZpZXddOwogICAgICAgICBpZiAoW1thdHRhY2hWaWV3
IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmls
aXR5U3Vicm9sZUF0dHJpYnV0ZV0pCiAgICAgICAgICAgICByZXR1cm4gW2F0dGFjaFZpZXcgYWNj
ZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVN1YnJvbGVBdHRyaWJ1dGVd
OwpAQCAtMjI1MCw3ICsyMjUyLDcgQEAKIAogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJ
T05TX0JFR0lOCiAgICAgLy8gYXR0YWNobWVudHMgaGF2ZSB0aGUgQVhJbWFnZSByb2xlLCBidXQg
YSBkaWZmZXJlbnQgc3Vicm9sZQotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpCisg
ICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKQogICAgICAgICByZXR1cm4g
W1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nl
c3NpYmlsaXR5Um9sZURlc2NyaXB0aW9uQXR0cmlidXRlXTsKICAgICBBTExPV19ERVBSRUNBVEVE
X0RFQ0xBUkFUSU9OU19FTkQKIApAQCAtMjYwNyw3ICsyNjA5LDcgQEAKICAgICAgICAgcmV0dXJu
IFtOU051bWJlciBudW1iZXJXaXRoQm9vbDogbV9vYmplY3QtPmlzVmlzaXRlZCgpXTsKICAgICAK
ICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlU
aXRsZUF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkg
eworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAg
ICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
TmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0cmlidXRlXSkKICAg
ICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5
QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1dGVdOwogICAgICAgICB9
CkBAIC0yNjI0LDcgKzI2MjYsNyBAQAogICAgIH0KICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5h
bWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV0p
IHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAgICBpZiAo
X2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlmIChbW1tz
ZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5z
T2JqZWN0Ok5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
VmFsdWU6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdOwogICAgICAgICB9CkBA
IC0yNjMyLDcgKzI2MzQsNyBAQAogICAgIH0KICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUg
aXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV0pIHsKLSAgICAg
ICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAgICBpZiAoX2F4QmFja2lu
Z09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFj
aG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5T
QWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkKICAgICAgICAgICAgICAgICByZXR1cm4gW1tz
ZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3Np
YmlsaXR5VmFsdWVBdHRyaWJ1dGVdOwogICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24g
MjM5NzE4KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxNSBAQAorMjAxOS0wMS0xMSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUu
Y29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWc6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2li
aWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbToKKyAgICAgICAgKC1bV0tBY2Nlc3NpYmlsaXR5V2Vi
UGFnZU9iamVjdEJhc2UgYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyXSk6CisKIDIwMTkt
MDEtMDcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBSZW1vdmUgdXNlIG9mIE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24gZnJvbSBDYWNoZVN0
b3JhZ2U6OkVuZ2luZTo6ZnJvbQpJbmRleDogU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMzk3MTgpCisrKyBT
b3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQoV0tf
Q09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfY29j
b2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VOQUJM
RV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChF
TkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9p
cGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVs
YXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDIsNCArNDA0LDQgQEAKIAogRU5BQkxFX1hT
TFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNG
T1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9B
UFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxF
X0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9D
U1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RB
UktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lO
VEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMp
ICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJ
T05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FS
RF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFC
TEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFC
TEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9T
VEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVF
U1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VS
Q0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0Vf
V09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9B
Q0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFC
TEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVO
QUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJM
RV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBP
UlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMS0VZQk9BUkRfQUNDRVNTKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9J
TlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5B
QkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChF
TkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9V
U0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9W
QVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJ
T05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVO
VF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChF
TkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZ
X1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxF
X1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdl
YlBhZ2VPYmplY3RCYXNlLm1tCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0J
KHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAKICNpbXBvcnQgIldLU3RyaW5nLmgiCiAj
aW1wb3J0ICJXS1N0cmluZ0NGLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvQVhTdGF0aWNUcmVlQ2FjaGUuaD4KICNpbXBvcnQgPFdlYkNvcmUv
RG9jdW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWUuaD4KICNpbXBvcnQgPFdlYkNvcmUv
RnJhbWVWaWV3Lmg+CkBAIC00Nyw2ICs0OCwxOCBAQAogCiBAaW1wbGVtZW50YXRpb24gV0tBY2Nl
c3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UKIAorLSAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZSop
YXhPYmplY3RDYWNoZQoreworICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBtX3BhZ2UtPmNvcmVQ
YWdlKCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm4gbmlsOworICAgIFdlYkNvcmU6
OkZyYW1lJiBjb3JlID0gcGFnZS0+bWFpbkZyYW1lKCk7CisgICAgaWYgKCFjb3JlLmRvY3VtZW50
KCkpCisgICAgICAgIHJldHVybiBuaWw7CisgICAgCisgICAgcmV0dXJuIGNvcmUuZG9jdW1lbnQo
KS0+YXhPYmplY3RDYWNoZSgpOworfQorCiAtIChpZClhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdy
YXBwZXIKIHsKICAgICBpZiAoIVdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlF
bmFibGVkKCkpCkBAIC02MiwxOCArNzUsMzAgQEAKICAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0g
bV9wYWdlLT5jb3JlUGFnZSgpOwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIG5pbDsK
LSAgICAKLSAgICBXZWJDb3JlOjpGcmFtZSYgY29yZSA9IHBhZ2UtPm1haW5GcmFtZSgpOwotICAg
IGlmICghY29yZS5kb2N1bWVudCgpKQotICAgICAgICByZXR1cm4gbmlsOwotICAgIAotICAgIFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gY29yZS5kb2N1bWVudCgpLT5heE9iamVjdENh
Y2hlKCk7CisKKyAgICBBWE9iamVjdENhY2hlKiBjYWNoZSA9IFtzZWxmIGF4T2JqZWN0Q2FjaGVd
OwogICAgIGlmICghY2FjaGUpCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgCisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisgICAgQVhTdGF0aWNUcmVlTm9kZSogc3RhdGlj
Um9vdCA9IEFYU3RhdGljVHJlZUNhY2hlOjpyb290U3RhdGljVHJlZU5vZGUocGFnZSk7CisgICAg
aWYgKCFzdGF0aWNSb290KSB7CisgICAgICAgIGF1dG8gZ2VuZXJhdGVCbG9jayA9IFsmY2FjaGVd
IHsKKyAgICAgICAgICAgIGNhY2hlLT5nZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlSWZO
ZWVkZWQoKTsKKyAgICAgICAgfTsKKyAgICAgICAgCisgICAgICAgIGlmIChSdW5Mb29wOjppc01h
aW4oKSkKKyAgICAgICAgICAgIGdlbmVyYXRlQmxvY2soKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgZGlzcGF0Y2hfc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBnZW5lcmF0ZUJs
b2NrKTsKKyAgICB9CisgICAgCisgICAgaWYgKChzdGF0aWNSb290ID0gQVhTdGF0aWNUcmVlQ2Fj
aGU6OnJvb3RTdGF0aWNUcmVlTm9kZShwYWdlKSkpCisgICAgICAgIHJldHVybiBzdGF0aWNSb290
LT53cmFwcGVyKCk7CisjZWxzZQogICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
KiByb290ID0gY2FjaGUtPnJvb3RPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIHJvb3QtPndyYXBw
ZXIoKTsKLSAgICAKKyNlbmRpZgogICAgIHJldHVybiBuaWw7CiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAx
LTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6
IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAx
OS0wMS0wNyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFBy
ZWZlciBSZXRhaW5QdHI8TlNPYmplY3Q+IHRvIFJldGFpblB0cjxOU09iamVjdCAqPgpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3
b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQo
V0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdf
Y29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VO
QUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0g
JChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BB
WV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNp
bXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDIsNCArNDA0LDQgQEAKIAogRU5BQkxF
X1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJM
RV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVf
Q1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxF
X0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
X0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9S
VCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVS
RVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktF
UlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNF
Q1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlC
T0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChF
TkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChF
TkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JF
UVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJ
Q0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQ
SSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NF
TUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChF
TkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVO
QUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NV
UFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZF
QVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMS0VZQk9BUkRfQUNDRVNTKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJM
RV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQo
RU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VN
QkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVy
ZXMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtl
CShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UJ
KHdvcmtpbmcgY29weSkKQEAgLTE4Nyw2ICsxODcsNyBAQAogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HICJUb2dnbGUgc21vb3RoIHNjcm9sbGluZyIgUFJJ
VkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UyAiVG9nZ2xlIFNwZWVjaCBTeW50aGVzaXMgQVBJIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAg
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TUEVMTENIRUNLICJUb2dnbGUgU3BlbGxjaGVj
a2luZyBzdXBwb3J0IChyZXF1aXJlcyBFbmNoYW50KSIgUFJJVkFURSBPRkYpCisgICAgV0VCS0lU
X09QVElPTl9ERUZJTkUoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUgIlRvZ2dsZSBz
dGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9TVFJFQU1TX0FQSSAiVG9nZ2xlIFN0cmVhbXMgQVBJIHN1
cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NWR19G
T05UUyAiVG9nZ2xlIFNWRyBGb250cyBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTiAiVG9nZ2xlIHRl
bGVwaG9uZSBudW1iZXIgZGV0ZWN0aW9uIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQpJbmRleDogVG9v
bHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5
ODYxKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAg
ICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWc6CisKIDIwMTktMDEtMTAgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBh
cHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZml4IHR5cG8gdGhhdCBicmVha3MgZGFz
aGJvYXJkIGxpbmsuCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIzOTcxOCkK
KysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBM
RV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
QVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwMiw0ICs0MDQsNCBAQAog
CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQp
ICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykg
JChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJB
R19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklC
VVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5B
R0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1F
VEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwor
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVO
VFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklN
RU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9B
Q0NFU1MpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIp
ICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJ
QlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VC
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9f
VVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVf
V0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358886</attachid>
            <date>2019-01-11 00:45:26 -0800</date>
            <delta_ts>2019-01-11 07:50:04 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>96589</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogZXh0ZW5kIFhIUiBicmVha3BvaW50cyB0byB3b3JrIHdpdGgg
ZmV0Y2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIzOTcxOCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
OwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExF
X1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9B
UFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9p
cGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAK
IEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFH
X1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFC
TEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJV
VEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFH
RVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9Y
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVU
QUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitG
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5U
UykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FD
Q0VTUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19V
U0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
QVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24g
MjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNDQgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxl
LmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJl
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBpbXByb3ZlIHBlcmZvcm1h
bmNlIHdoZW4gcmVxdWVzdGluZyB0aGUgYWNjZXNzaWJpbGl0eSBoaWVyYXJjaHksIHdlIGludHJv
ZHVjZSB0aGUgaWRlYSBvZiBhICJzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlIiB3aGljaCBjb3Vs
ZCBiZSBhY2Nlc3NlZCBvbiBhIGRpZmZlcmVudCB0aHJlYWQgYnkgYXNzaXN0aXZlIHRlY2hub2xv
Z2llcy4KKyAgICAgICAgVGhhdCBpcyBhY2NvbXBsaXNoZWQgYnkgc3RvcmluZyBhbGwgdGhlIGRh
dGEgbmVlZGVkIHRvIGFuc3dlciBhY2Nlc3NpYmlsaXR5IGF0dHJpYnV0ZSBxdWVyaWVzIGluIGEg
c3RhdGljIG9iamVjdCB0aGF0IG1pcnJvcnMgdGhlICJsaXZlIiBBY2Nlc3NpYmlsaXR5T2JqZWN0
cyAod2hpY2ggaW50ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVzKS4KKyAgICAg
ICAgVGhlc2Ugc3RhdGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFmdGVyIGxheW91
dCBpcyBkb25lIGFuZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBUaGV5IGFyZSB0
aGVuIHN0b3JlZCBpbiB0aGUgc3RhdGljIHRyZWUgcmVwcmVzZW50YXRpb24gYW5kIGFibGUgdG8g
YmUgcmVhZCBmcm9tIGFueXdoZXJlLgorICAgICAgICBUYWN0aWNhbGx5IHRoaXMgaXMgZG9uZSB3
aXRoIEFYU3RhdGljVHJlZU5vZGVzIGluc2lkZSBvZiBhbiBBWFN0YXRpY1RyZWVDYWNoZS4gVGhl
IFRyZWVOb2RlcyBpbXBsZW1lbnQgYW4gQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSBzaGFy
ZWQgd2l0aCBBY2Nlc3NpYmlsaXR5T2JqZWN0CisgICAgICAgIFRoaXMgYWxsb3dzIHRoZSB3cmFw
cGVycyB0byBhY2Nlc3MgZWl0aGVyIG9uZSBkZXBlbmRpbmcgb24gY29uZGl0aW9ucyBhbmQgcGxh
dGZvcm1zIHdpdGhvdXQgc2lnbmlmaWNhbnQgY29kZSBkdXBsaWNhdGlvbiBvciByZS1vcmdhbml6
YXRpb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBlcmZvcm1EZWZlcnJlZENhY2hl
VXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OndhbGtBY2Nlc3NpYmls
aXR5VHJlZUZvclN0YXRpY1RyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OnNldEluaXRpYWxpemVkU3RhdGljVHJlZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eU9iamVjdDo6aW5pdGlhbGl6ZWRTdGF0aWNUcmVlTm9kZSBjb25zdCk6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OkFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZVN0YXRpY1RyZWVOb2RlKToKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJh
c2UubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBzZXRT
dGF0aWNUcmVlTm9kZTpdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlIHN0YXRpY1RyZWVOb2RlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQmFzZSBoYXNTdGF0aWNCYWNraW5nXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZSB1cGRhdGVPYmplY3RCYWNraW5nU3RvcmVdKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGF4QmFja2luZ09iamVjdF0p
OgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgYmFzZUFjY2Vz
c2liaWxpdHlEZXNjcmlwdGlvbl0pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlciByb2xlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyIHN1YnJvbGVdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgcm9sZURlc2NyaXB0aW9uXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpdKToKKwogMjAxOS0wMS0wNyAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggaW4gU1dT
ZXJ2ZXI6OkNvbm5lY3Rpb246OnJlc29sdmVSZWdpc3RyYXRpb25SZWFkeVJlcXVlc3RzCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQw
LDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElD
X1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19Q
TEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExF
X1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BB
WTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVS
TUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RS
RUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVT
VCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklU
X1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJN
RVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAx
LTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6
IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAx
OS0wMS0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogTmV0d29yazogc2hvdyBzZWN1cmUgY29ubmVjdGlvbiBkZXRhaWxzIHBlci1y
ZXF1ZXN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChX
S19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19j
b2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5B
QkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAk
KEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZ
X2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2lt
dWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVf
WFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFf
SU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JU
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJF
UykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VN
QkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5B
QkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQ
UE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVB
VFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxF
X0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChF
TkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVN
RU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAk
KEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1C
TFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFC
TEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyMzk3
MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzY2
LDYgKzM2Niw4IEBACiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlLmNwcAogYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZUl0ZW0uY3BwCiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
bGVTZXRWYWx1ZUV2ZW50LmNwcAorYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhTdGF0aWNU
cmVlQ2FjaGUuY3BwCithY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVOb2Rl
LmNwcAogCiBhbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmNwcAogYW5pbWF0aW9uL0FuaW1hdGlv
blBsYXliYWNrRXZlbnQuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTY5NCw2ICs2OTQsNyBAQAogCQkyNkY5QTgzODE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRD
b25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI2RjlBODM2MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24u
Y3BwICovOyB9OwogCQkyNkY5QTgzOTE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1
cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
NkY5QTgzNzE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkxNEUzMDgxQ0FC
NUE0NDAwNDk5NjZGIC8qIEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYg
LyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLzsgfTsKKwkJMjkzNkJGNUMyMUQ2OUU0QjAw
NEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MzZCRjVBMjFENjk5OUUwMDRBOEZDOSAv
KiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkzRUFFMUYxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjkzRUFFMUUxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNh
dGlvbkNoZWNrcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTI5NDg5RkM3MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmll
dy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk0ODlG
QzUxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmggKi87IH07CiAJ
CTI5N0JFM0Q1MTZDMDNDMDgwMDMzMTZCRCAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVy
YW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjUy
N0NDOTExNkJGOEJBMTAwOUREQUMwIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNl
LmggKi87IH07CkBAIC03MTUsNiArNzE2LDggQEAKIAkJMjlBODEyNDMwRkJCOUMxRDAwNTEwMjkz
IC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTIyNTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0
eUxpc3RCb3guaCAqLzsgfTsKIAkJMjlBODEyNDkwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMjlBODEyNDUwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTI5QUNCMjEyMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmls
aXR5TW9ja09iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMjlBQ0IyMTExNDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0
LmggKi87IH07CisJCTI5QUUyMTJEMjFBQjlFRUIwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVDYWNo
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBRTIx
MkIyMUFCOUVFQjAwODY5MjgzIC8qIEFYU3RhdGljVHJlZUNhY2hlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMjlBRTIxMzUyMUFCQTQ4QTAwODY5
MjgzIC8qIEFYU3RhdGljVHJlZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVO
b2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
MjlEN0JDRkExNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUQ3QkNGOTE0NDRB
RjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLzsgfTsKIAkJMjlGQUY0
QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUZBRjRCNTE5NUFCMDg5
MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyQjM2NUM4NDE1MjUxMTlFMDA5MUQy
N0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2MDAwREJCQ0Q4IC8qIFJlbmRlclNWR0VsbGlw
c2UuaCAqLzsgfTsKQEAgLTY1MzAsNiArNjUzMyw3IEBACiAJCTI4REI5QkM3MjAyMEVBMDQwMEU1
NEEwNyAvKiBQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyOTE0RTMwNTFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0
dGFjaG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTE0RTMwNjFDQUI1
QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9iamVjdElu
dGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNFQUUxRTEzNTZCMkZF
MDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0
eVNjcm9sbFZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJp
bGl0eVNjcm9sbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjk0OTg2ODEx
OTUzNDE5NDAwNzJEMkJEIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBN
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NTc3LDYgKzY1ODEsMTAgQEAK
IAkJMjlBODEyNDcwRkJCOUNBOTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVNYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBWE9iamVjdENhY2hlTWFjLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyog
QWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMjlBQ0IyMTMxNDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNb2Nr
T2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMkIyMUFCOUVF
QjAwODY5MjgzIC8qIEFYU3RhdGljVHJlZUNhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFYU3RhdGlj
VHJlZUNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJDMjFBQjlF
RUIwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBB
WFN0YXRpY1RyZWVDYWNoZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUy
MTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVOb2RlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEFYU3RhdGljVHJlZU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIx
MzQyMUFCQTQ4QTAwODY5MjgzIC8qIEFYU3RhdGljVHJlZU5vZGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQVhTdGF0aWNUcmVlTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI5RDdCQ0Y1MTQ0NEFGNTgwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RDdCQ0Y5MTQ0NEFGN0Qw
MDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyOUUwNEEyN0JFRDJGODFGOThFOTAyMkIgLyogSlNCZWZvcmVVbmxvYWRF
dmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JlZm9yZVVubG9hZEV2
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjk3Nyw2ICsxNjk4NSw3IEBA
CiAJCQkJMjk4NTcwOTMxNUNDNTMyRDAwNjM1NUNEIC8qIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0
LmggKi8sCiAJCQkJMjk4MUNBQTUxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwICovLAogCQkJCTI5QTgxMjE4MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5
T2JqZWN0LmggKi8sCisJCQkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCAqLywKIAkJCQlBNDA5Qzk4MjExNkQwREREMDA3MTk3QkQgLyog
QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcCAqLywKIAkJCQlBNDA5Qzk4MzExNkQw
REREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmggKi8sCiAJCQkJ
Mjk4MUNBQTYxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
ICovLApAQCAtMTcwMTUsNiArMTcwMjQsNyBAQAogCQkJCTI5ODFDQUFGMTMxODIyRUMwMEQxMkYy
QSAvKiBBWE9iamVjdENhY2hlLmNwcCAqLywKIAkJCQkyOUE4MTIxQTBGQkI5QzFEMDA1MTAyOTMg
LyogQVhPYmplY3RDYWNoZS5oICovLAogCQkJCTkxQzlGMkY4MUFFM0JFMjQwMDk1QjYxQyAvKiBB
WFRleHRTdGF0ZUNoYW5nZUludGVudC5oICovLAorCQkJCTI5QUUyMTI5MjFBQjlFQ0IwMDg2OTI4
MyAvKiBBWFN0YXRpY1RyZWUgKi8sCiAJCQkpOwogCQkJcGF0aCA9IGFjY2Vzc2liaWxpdHk7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTcwMzIsNiArMTcwNDIsMTcgQEAKIAkJCXBh
dGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQkyOUFFMjEyOTIx
QUI5RUNCMDA4NjkyODMgLyogQVhTdGF0aWNUcmVlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7
CisJCQljaGlsZHJlbiA9ICgKKwkJCQkyOUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhTdGF0
aWNUcmVlQ2FjaGUuaCAqLywKKwkJCQkyOUFFMjEyQzIxQUI5RUVCMDA4NjkyODMgLyogQVhTdGF0
aWNUcmVlQ2FjaGUuY3BwICovLAorCQkJCTI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0
YXRpY1RyZWVOb2RlLmggKi8sCisJCQkJMjlBRTIxMzQyMUFCQTQ4QTAwODY5MjgzIC8qIEFYU3Rh
dGljVHJlZU5vZGUuY3BwICovLAorCQkJKTsKKwkJCXBhdGggPSBBWFN0YXRpY1RyZWU7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQkyRDA2MjE0NjFEQTYzOUVDMDBBN0ZCMjYg
LyogbGVnYWN5ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAg
LTI5NTkyLDYgKzI5NjEzLDcgQEAKIAkJCQkxQUUyQUE5ODBBMUNERDJEMDBCNDJCMjUgLyogSlNI
VE1MSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODBFN0U5NzBBMUE4M0UzMDA3
RkI4QzUgLyogSlNIVE1MSW5wdXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzZCMDk1
NjFGNUYzNEQ5MDAzQzM3MDIgLyogSlNIVE1MSW5wdXRFbGVtZW50RW50cmllc0FQSS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMjkzNkJGNUMyMUQ2OUU0QjAwNEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlP
YmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE2MTQ4QTc5MTJFNDFFM0IwMDQ0
QTc4NCAvKiBKU0hUTUxLZXlnZW5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUIy
MjBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGFiZWxFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUUyQUIyNDBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGVnZW5kRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zMTA0Myw2ICszMTA2NSw3IEBACiAJCQkJNTE0MDVDODkxOTBCMDE0
NDAwNzU0Rjk0IC8qIFNlbGVjdGlvblJlY3RHYXRoZXJlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTQ0QjRCQjQxNDE2NTBENzAwMkIxRDhCIC8qIFNlbGVjdG9yQ2hlY2tlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDMyRDNGRTgxOEE4NjU4NDAwRDdEQzAzIC8qIFNlbGVjdG9yQ2hlY2tlclRlc3RG
dW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAv
KiBBWFN0YXRpY1RyZWVOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkI5OTk5NzE4MDRENTQy
MDBEMDExMjEgLyogU2VsZWN0b3JDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE1MDcx
NTgxNjg1MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0MzEwN0JFMjE4Q0MxOURFMDBDQzE4RTggLyogU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmggaW4g
SGVhZGVycyAqLywKQEAgLTMxOTczLDYgKzMxOTk2LDcgQEAKIAkJCQk5NzdFMkUwRjEyRjBGQzlD
MDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTQx
NkZFNjE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0E1NTE1RjUxOTE4MzBBMzAwOTY4N0QyIC8qIFlvdVR1YmVQbHVnaW5S
ZXBsYWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMkQyMUFCOUVFQjAwODY5Mjgz
IC8qIEFYU3RhdGljVHJlZUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDUzNzM1MzEzN0I2
NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCShyZXZpc2lvbiAyMzk3MTgpCisr
KyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMiw2ICszMiw4IEBACiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAK
KyNpbmNsdWRlICJBWFN0YXRpY1RyZWVOb2RlLmgiCisjaW5jbHVkZSAiQVhTdGF0aWNUcmVlQ2Fj
aGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaCIKICNpbmNsdWRlICJBY2Nl
c3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFSSUFHcmlk
Um93LmgiCkBAIC0yOTA1LDggKzI5MDcsMzYgQEAKICAgICBmb3IgKGF1dG8mIGRlZmVycmVkRm9j
dXNlZENoYW5nZUNvbnRleHQgOiBtX2RlZmVycmVkRm9jdXNlZE5vZGVDaGFuZ2UpCiAgICAgICAg
IGhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkKGRlZmVycmVkRm9jdXNlZENoYW5nZUNvbnRl
eHQuZmlyc3QsIGRlZmVycmVkRm9jdXNlZENoYW5nZUNvbnRleHQuc2Vjb25kKTsKICAgICBtX2Rl
ZmVycmVkRm9jdXNlZE5vZGVDaGFuZ2UuY2xlYXIoKTsKKworI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZX1NUQVRJQ19UUkVFKQorICAgIGdlbmVyYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWVJZk5l
ZWRlZCgpOworI2VuZGlmCiB9CiAgICAgCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElD
X1RSRUUpCitSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gQVhPYmplY3RDYWNoZTo6d2Fsa0FjY2Vz
c2liaWxpdHlUcmVlRm9yU3RhdGljVHJlZShBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QpCit7
CisgICAgUmVmUHRyPEFYU3RhdGljVHJlZU5vZGU+IHN0YXRpY1RyZWVOb2RlID0gQVhTdGF0aWNU
cmVlTm9kZTo6Y3JlYXRlKG9iamVjdCk7CisgICAgb2JqZWN0LT5zZXRJbml0aWFsaXplZFN0YXRp
Y1RyZWVOb2RlKHRydWUpOworICAgIGFzc29jaWF0ZVN0YXRpY1RyZWVOb2RlKG9iamVjdCwgc3Rh
dGljVHJlZU5vZGUuZ2V0KCkpOworICAgIGZvciAoYXV0byBjaGlsZCA6IG9iamVjdC0+Y2hpbGRy
ZW4oKSkgeworICAgICAgICBhdXRvIHN0YXRpY0NoaWxkID0gd2Fsa0FjY2Vzc2liaWxpdHlUcmVl
Rm9yU3RhdGljVHJlZShjaGlsZC5nZXQoKSk7CisgICAgICAgIHN0YXRpY0NoaWxkLT5zZXRQYXJl
bnQoc3RhdGljVHJlZU5vZGUuZ2V0KCkpOworICAgICAgICBzdGF0aWNUcmVlTm9kZS0+Y2hpbGRy
ZW4oKS5hcHBlbmQoc3RhdGljQ2hpbGQpOworICAgIH0KKyAgICByZXR1cm4gc3RhdGljVHJlZU5v
ZGU7Cit9CisgICAgCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmdlbmVyYXRlU3RhdGljQWNjZXNzaWJp
bGl0eVRyZWVJZk5lZWRlZCgpCit7CisgICAgaWYgKHJvb3RPYmplY3QoKS0+aW5pdGlhbGl6ZWRT
dGF0aWNUcmVlTm9kZSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgUmVmUHRyPEFYU3Rh
dGljVHJlZU5vZGU+IHJvb3QgPSB3YWxrQWNjZXNzaWJpbGl0eVRyZWVGb3JTdGF0aWNUcmVlKHJv
b3RPYmplY3QoKSk7CisgICAgQVhTdGF0aWNUcmVlQ2FjaGU6OnVwZGF0ZVN0YXRpY1RyZWVDYWNo
ZShyb290LCBtX2RvY3VtZW50LnBhZ2UoKSk7Cit9CisjZW5kaWYKKyAgICAKIHZvaWQgQVhPYmpl
Y3RDYWNoZTo6ZGVmZXJSZWNvbXB1dGVJc0lnbm9yZWRJZk5lZWRlZChFbGVtZW50KiBlbGVtZW50
KQogewogICAgIGlmICghbm9kZUFuZFJlbmRlcmVyQXJlVmFsaWQoZWxlbWVudCkpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkocmV2aXNpb24g
MjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCitjbGFzcyBBWFN0YXRpY1Ry
ZWVOb2RlOworI2VuZGlmCiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEhUTUxBcmVhRWxlbWVudDsK
IGNsYXNzIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OwpAQCAtMTgwLDYgKzE4MywxMyBAQAog
ICAgIHZvaWQgZGVmZXJBdHRyaWJ1dGVDaGFuZ2VJZk5lZWRlZChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRWxlbWVudCopOwogICAgIHZvaWQgcmVjb21wdXRlSXNJZ25vcmVkKFJlbmRlck9iamVjdCog
cmVuZGVyZXIpOwogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlSWZOZWVk
ZWQoKTsKKworICAgIHZvaWQgYXNzb2NpYXRlU3RhdGljVHJlZU5vZGUoQWNjZXNzaWJpbGl0eU9i
amVjdCosIEFYU3RhdGljVHJlZU5vZGUqKTsKKyAgICBSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4g
d2Fsa0FjY2Vzc2liaWxpdHlUcmVlRm9yU3RhdGljVHJlZShBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7
CisjZW5kaWYKKyAgICAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyB2b2lkIGRpc2FibGVBY2Nlc3NpYmlsaXR5KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVDYWNoZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhTdGF0
aWNUcmVlQ2FjaGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZUNhY2hlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDEwOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9T
VEFUSUNfVFJFRSkKKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFYU3RhdGljVHJl
ZUNhY2hlLmgiCisKKyNpbmNsdWRlICJBWFN0YXRpY1RyZWVOb2RlLmgiCisjaW5jbHVkZSAiUGFn
ZS5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisgICAgCitzdGF0aWMgTG9jayBzX3N0YXRpY1RyZWVMb2NrOworSGFzaE1hcDxQYWdlKiwg
UmVmUHRyPEFYU3RhdGljVHJlZUNhY2hlPj4mIEFYU3RhdGljVHJlZUNhY2hlOjpwYWdlUm9vdE1h
cCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8UGFnZSosIFJlZlB0cjxB
WFN0YXRpY1RyZWVDYWNoZT4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KKyAgICAKK0FYU3Rh
dGljVHJlZUNhY2hlOjpBWFN0YXRpY1RyZWVDYWNoZSgpCit7Cit9CisKK0FYU3RhdGljVHJlZUNh
Y2hlOjp+QVhTdGF0aWNUcmVlQ2FjaGUoKSA9IGRlZmF1bHQ7CisKK1JlZjxBWFN0YXRpY1RyZWVD
YWNoZT4gQVhTdGF0aWNUcmVlQ2FjaGU6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgQVhTdGF0aWNUcmVlQ2FjaGUoKSk7Cit9CisgICAgCitBWFN0YXRpY1RyZWVOb2RlKiBB
WFN0YXRpY1RyZWVDYWNoZTo6cm9vdFN0YXRpY1RyZWVOb2RlKFBhZ2UqIHBhZ2UpCit7CisgICAg
c19zdGF0aWNUcmVlTG9jay5sb2NrKCk7CisgICAgYXV0byBjYWNoZSA9IHBhZ2VSb290TWFwKCku
Z2V0KHBhZ2UpOworICAgIHNfc3RhdGljVHJlZUxvY2sudW5sb2NrKCk7CisgICAgaWYgKGNhY2hl
ICYmIGNhY2hlLT5tX3Jvb3ROb2RlKQorICAgICAgICByZXR1cm4gY2FjaGUtPm1fcm9vdE5vZGUu
Z2V0KCk7CisgICAgCisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQgQVhTdGF0aWNUcmVl
Q2FjaGU6OnVwZGF0ZVN0YXRpY1RyZWVDYWNoZShSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gcm9v
dCwgUGFnZSogcGFnZSkKK3sKKyAgICBzX3N0YXRpY1RyZWVMb2NrLmxvY2soKTsKKyAgICBhdXRv
IGNhY2hlID0gcGFnZVJvb3RNYXAoKS5nZXQocGFnZSk7CisgICAgaWYgKCFjYWNoZSkgeworICAg
ICAgICBSZWZQdHI8QVhTdGF0aWNUcmVlQ2FjaGU+IG5ld0NhY2hlID0gQVhTdGF0aWNUcmVlQ2Fj
aGU6OmNyZWF0ZSgpOworICAgICAgICBwYWdlUm9vdE1hcCgpLnNldChwYWdlLCBuZXdDYWNoZSk7
CisgICAgICAgIGNhY2hlID0gbmV3Q2FjaGUuZ2V0KCk7CisgICAgfQorICAgIAorICAgIGNhY2hl
LT5pbnRlcm5hbFVwZGF0ZVN0YXRpY1RyZWVDYWNoZShyb290KTsKKyAgICBzX3N0YXRpY1RyZWVM
b2NrLnVubG9jaygpOworfQorCitzdGF0aWMgYm9vbCBzZWFyY2hUcmVlQW5kUmVwbGFjZShSZWZQ
dHI8QVhTdGF0aWNUcmVlTm9kZT4gc2VhcmNoTm9kZSwgUmVmUHRyPEFYU3RhdGljVHJlZU5vZGU+
IG5ld1Jvb3QpCit7CisgICAgYXV0byBjaGlsZHJlbiA9IHNlYXJjaE5vZGUtPmNoaWxkcmVuKCk7
CisgICAgc2l6ZV90IGNvdW50ID0gY2hpbGRyZW4uc2l6ZSgpOworICAgIGZvciAoc2l6ZV90IGlu
ZGV4ID0gMDsgaW5kZXggPCBjb3VudDsgKytpbmRleCkgeworICAgICAgICBpZiAoY2hpbGRyZW5b
aW5kZXhdLT5pZGVudGlmaWVyKCkgPT0gbmV3Um9vdC0+aWRlbnRpZmllcigpKSB7CisgICAgICAg
ICAgICBjaGlsZHJlbi5pbnNlcnQoaW5kZXgsIG5ld1Jvb3QpOworICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmIChzZWFyY2hUcmVlQW5kUmVw
bGFjZShjaGlsZHJlbltpbmRleF0sIG5ld1Jvb3QpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorICAgIAordm9pZCBBWFN0YXRpY1RyZWVD
YWNoZTo6aW50ZXJuYWxVcGRhdGVTdGF0aWNUcmVlQ2FjaGUoUmVmUHRyPEFYU3RhdGljVHJlZU5v
ZGU+IHN1YlJvb3QpCit7CisgICAgQVNTRVJUKHNfc3RhdGljVHJlZUxvY2suaXNMb2NrZWQoKSk7
CisgICAgaWYgKCFtX3Jvb3ROb2RlKQorICAgICAgICBtX3Jvb3ROb2RlID0gc3ViUm9vdDsKKyAg
ICBlbHNlCisgICAgICAgIHNlYXJjaFRyZWVBbmRSZXBsYWNlKG1fcm9vdE5vZGUsIHN1YlJvb3Qp
OworfQorICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZUNhY2hlLmgJ
KG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1Ry
ZWUvQVhTdGF0aWNUcmVlQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKworI2luY2x1ZGUgIkFY
U3RhdGljVHJlZU5vZGUuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFBhZ2U7CisgICAgCitjbGFzcyBBWFN0YXRpY1RyZWVDYWNoZSA6IHB1
YmxpYyBSZWZDb3VudGVkPEFYU3RhdGljVHJlZUNhY2hlPiB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQVhTdGF0aWNUcmVlQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8QVhTdGF0aWNUcmVlQ2FjaGU+IGNyZWF0ZSgpOworICAgIHN0
YXRpYyB2b2lkIHVwZGF0ZVN0YXRpY1RyZWVDYWNoZShSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4s
IFBhZ2UqKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgQVhTdGF0aWNUcmVlTm9kZSogcm9v
dFN0YXRpY1RyZWVOb2RlKFBhZ2UqKTsKKyAgICBBWFN0YXRpY1RyZWVDYWNoZSgpOworICAgIHZp
cnR1YWwgfkFYU3RhdGljVHJlZUNhY2hlKCk7CisKK3ByaXZhdGU6CisgICAgdm9pZCBpbnRlcm5h
bFVwZGF0ZVN0YXRpY1RyZWVDYWNoZShSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4pOworICAgIHN0
YXRpYyBIYXNoTWFwPFBhZ2UqLCBSZWZQdHI8QVhTdGF0aWNUcmVlQ2FjaGU+PiYgcGFnZVJvb3RN
YXAoKTsKKworICAgIFJlZlB0cjxBWFN0YXRpY1RyZWVOb2RlPiBtX3Jvb3ROb2RlOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZU5vZGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGljVHJl
ZU5vZGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZU5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19U
UkVFKQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhTdGF0aWNUcmVlTm9kZS5o
IgorCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0FYU3RhdGljVHJlZU5vZGU6OkFYU3RhdGljVHJlZU5vZGUoQWNjZXNzaWJpbGl0eU9i
amVjdCogb2JqZWN0KQoreworICAgIG1faWRlbnRpZmllciA9IG9iamVjdC0+YXhPYmplY3RJRCgp
OworICAgIGluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKG9iamVjdCk7Cit9CisKK1JlZjxBWFN0YXRp
Y1RyZWVOb2RlPiBBWFN0YXRpY1RyZWVOb2RlOjpjcmVhdGUoQWNjZXNzaWJpbGl0eU9iamVjdCog
b2JqZWN0KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFYU3RhdGljVHJlZU5vZGUob2Jq
ZWN0KSk7Cit9CisgICAgCitBWFN0YXRpY1RyZWVOb2RlOjp+QVhTdGF0aWNUcmVlTm9kZSgpID0g
ZGVmYXVsdDsKKwordm9pZCBBWFN0YXRpY1RyZWVOb2RlOjppbml0aWFsaXplQXR0cmlidXRlRGF0
YShBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QpCit7CisgICAgc2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWU6OlJvbGVWYWx1ZSwgc3RhdGljX2Nhc3Q8aW50PihvYmplY3QtPnJvbGVWYWx1ZSgp
KSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCwgb2JqZWN0
LT5pc0F0dGFjaG1lbnQoKSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzTWVk
aWFDb250cm9sTGFiZWwsIG9iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKTsKKyAgICBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNBdHRhY2htZW50LCBvYmplY3QtPmlzQXR0YWNobWVu
dCgpKTsKK30KKyAgICAKK3ZvaWQgQVhTdGF0aWNUcmVlTm9kZTo6c2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQmJiB2YWx1ZSwgYm9v
bCBzaG91bGRSZW1vdmUpCit7CisgICAgaWYgKHNob3VsZFJlbW92ZSkKKyAgICAgICAgbV9hdHRy
aWJ1dGVNYXAucmVtb3ZlKHByb3BlcnR5TmFtZSk7CisgICAgZWxzZQorICAgICAgICBtX2F0dHJp
YnV0ZU1hcC5zZXQocHJvcGVydHlOYW1lLCB2YWx1ZSk7Cit9CisgICAgCitkb3VibGUgQVhTdGF0
aWNUcmVlTm9kZTo6ZG91YmxlQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVy
dHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChkb3VibGUmIHR5
cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRv
JikgeworICAgICAgICByZXR1cm4gMC4wOworICAgIH0pOworfQorCit1bnNpZ25lZCBBWFN0YXRp
Y1RyZWVOb2RlOjp1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3Bl
cnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAodW5zaWduZWQm
IHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChh
dXRvJikgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKworYm9vbCBBWFN0YXRpY1Ry
ZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBj
b25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1l
KTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChib29sJiB0eXBlZFZhbHVl
KSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0pOworfQorCitjb25zdCBTdHJpbmcmIEFYU3RhdGlj
VHJlZU5vZGU6OnN0cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFt
ZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5
TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAoU3RyaW5nJiB0eXBl
ZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYp
IHsKKyAgICAgICAgcmV0dXJuIG51bGxBdG9tKCk7CisgICAgfSk7Cit9CisKK2ludCBBWFN0YXRp
Y1RyZWVOb2RlOjppbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUp
IGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5h
bWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGludCYgdHlwZWRWYWx1
ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7Cisg
ICAgICAgIHJldHVybiAwOworICAgIH0pOworfQorCisjcHJhZ21hIG1hcmsgLSBPdmVycmlkZXMK
KyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNT
SUJJTElUWV9TVEFUSUNfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZU5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVOb2RlLmgJKG5vbmV4
aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhT
dGF0aWNUcmVlTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTE0IEBACisvKgorKiBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisKKyNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEFjY2Vzc2liaWxpdHlP
YmplY3Q7CisgICAgCitjbGFzcyBBWFN0YXRpY1RyZWVOb2RlIGZpbmFsIDogcHVibGljIEFjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UsIHB1YmxpYyBSZWZDb3VudGVkPEFYU3RhdGljVHJlZU5v
ZGU+IHsKKyAgICAKK2VudW0gY2xhc3MgQVhQcm9wZXJ0eU5hbWUgOiBpbnQgeworICAgIE5vbmUg
PSAwLAorICAgIFJvbGVWYWx1ZSA9IDEsCisgICAgSXNBdHRhY2htZW50LAorICAgIElzTWVkaWFD
b250cm9sTGFiZWwsCit9OworCitzdHJ1Y3QgQVhQcm9wZXJ0eUhhc2hUcmFpdHMgOiBXVEY6Okdl
bmVyaWNIYXNoVHJhaXRzPEFYUHJvcGVydHlOYW1lPiB7CisgICAgc3RhdGljIGNvbnN0IGJvb2wg
ZW1wdHlWYWx1ZUlzWmVybyA9IGZhbHNlOworICAgIHN0YXRpYyBBWFByb3BlcnR5TmFtZSBlbXB0
eVZhbHVlKCkgeyByZXR1cm4gQVhQcm9wZXJ0eU5hbWU6Ok5vbmU7IH07CisgICAgc3RhdGljIHZv
aWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKEFYUHJvcGVydHlOYW1lJiBzbG90KQorICAgIHsKKyAg
ICAgICAgc2xvdCA9IHN0YXRpY19jYXN0PEFYUHJvcGVydHlOYW1lPihzdGF0aWNfY2FzdDxpbnQ+
KEFYUHJvcGVydHlOYW1lOjpOb25lKSAtIDEpOworICAgIH0KKyAgICBzdGF0aWMgYm9vbCBpc0Rl
bGV0ZWRWYWx1ZShBWFByb3BlcnR5TmFtZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxpbnQ+KHZhbHVlKSA9PSBzdGF0aWNfY2FzdDxpbnQ+KEFYUHJvcGVydHlOYW1l
OjpOb25lKSAtIDE7CisgICAgfQorfTsKKworcHJvdGVjdGVkOgorICAgIEFYU3RhdGljVHJlZU5v
ZGUoKSA9IGRlZmF1bHQ7CisKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEFYU3RhdGljVHJlZU5v
ZGU+IGNyZWF0ZShBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CisgICAgdmlydHVhbCB+QVhTdGF0aWNU
cmVlTm9kZSgpOworCisgICAgQVhJRCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVu
dGlmaWVyOyB9CisgICAgCisgICAgVmVjdG9yPFJlZlB0cjxBWFN0YXRpY1RyZWVOb2RlPj4mIGNo
aWxkcmVuKCkgeyByZXR1cm4gbV9jaGlsZHJlbjsgfTsKKworICAgIHZvaWQgc2V0UGFyZW50KEFY
U3RhdGljVHJlZU5vZGUqIHBhcmVudCkgeyBtX3BhcmVudCA9IHBhcmVudDsgfQorICAgIEFYU3Rh
dGljVHJlZU5vZGUqIHBhcmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50OyB9CisgICAgCisg
ICAgQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIoKSBjb25zdCB7IHJldHVybiBt
X3dyYXBwZXIuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXIqIHdyYXBwZXIpCisgICAgeworICAgICAgICBtX3dyYXBwZXIgPSB3cmFwcGVyOwor
ICAgIH0KKworcHJpdmF0ZToKKyAgICBBWFN0YXRpY1RyZWVOb2RlKEFjY2Vzc2liaWxpdHlPYmpl
Y3QqKTsKKyAgICB2b2lkIGluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKEFjY2Vzc2liaWxpdHlPYmpl
Y3QqKTsKKyAgICAKKyAgICBib29sIGlzTWVkaWFDb250cm9sTGFiZWwoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OklzTWVkaWFDb250
cm9sTGFiZWwpOyB9CisgICAgYm9vbCBpc0F0dGFjaG1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCk7IH0K
KyAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5Um9sZT4oaW50QXR0cmlidXRlVmFsdWUoQVhQcm9w
ZXJ0eU5hbWU6OlJvbGVWYWx1ZSkpOyB9CisgICAgCisgICAgdXNpbmcgQXR0cmlidXRlVmFsdWVW
YXJpYW50ID0gVmFyaWFudDxzdGQ6Om51bGxwdHJfdCwgU3RyaW5nLCBib29sLCBpbnQsIHVuc2ln
bmVkLCBkb3VibGU+OworICAgIHZvaWQgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWUsIEF0dHJp
YnV0ZVZhbHVlVmFyaWFudCYmLCBib29sIHNob3VsZFJlbW92ZSA9IGZhbHNlKTsKKyAgICAKKyAg
ICBib29sIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgY29u
c3QgU3RyaW5nJiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7Cisg
ICAgaW50IGludEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICB1bnNp
Z25lZCB1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBk
b3VibGUgZG91YmxlQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIAor
ICAgIEFYSUQgbV9pZGVudGlmaWVyOworICAgIFZlY3RvcjxSZWZQdHI8QVhTdGF0aWNUcmVlTm9k
ZT4+IG1fY2hpbGRyZW47CisgICAgQVhTdGF0aWNUcmVlTm9kZSogbV9wYXJlbnQ7CisgICAgCisj
aWYgUExBVEZPUk0oQ09DT0EpCisgICAgUmV0YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyPiBtX3dyYXBwZXI7CisjZW5kaWYKKyAgICAKKyAgICBIYXNoTWFwPEFYUHJvcGVydHlO
YW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQsIFdURjo6SW50SGFzaDxBWFByb3BlcnR5TmFtZT4s
IEFYUHJvcGVydHlIYXNoVHJhaXRzPiBtX2F0dHJpYnV0ZU1hcDsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJF
RSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuaAkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5
LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRGb3Jt
Q29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCkBAIC04OSwxNTcgKzkw
LDYgQEAKIGNsYXNzIFNjcm9sbFZpZXc7CiBjbGFzcyBXaWRnZXQ7CiAKLXR5cGVkZWYgdW5zaWdu
ZWQgQVhJRDsKLQotZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7Ci0gICAgQW5ub3RhdGlv
biA9IDEsCi0gICAgQXBwbGljYXRpb24sCi0gICAgQXBwbGljYXRpb25BbGVydCwKLSAgICBBcHBs
aWNhdGlvbkFsZXJ0RGlhbG9nLAotICAgIEFwcGxpY2F0aW9uRGlhbG9nLAotICAgIEFwcGxpY2F0
aW9uR3JvdXAsCi0gICAgQXBwbGljYXRpb25Mb2csCi0gICAgQXBwbGljYXRpb25NYXJxdWVlLAot
ICAgIEFwcGxpY2F0aW9uU3RhdHVzLAotICAgIEFwcGxpY2F0aW9uVGV4dEdyb3VwLAotICAgIEFw
cGxpY2F0aW9uVGltZXIsCi0gICAgQXVkaW8sCi0gICAgQmxvY2txdW90ZSwKLSAgICBCcm93c2Vy
LAotICAgIEJ1c3lJbmRpY2F0b3IsCi0gICAgQnV0dG9uLAotICAgIENhbnZhcywKLSAgICBDYXB0
aW9uLAotICAgIENlbGwsCi0gICAgQ2hlY2tCb3gsCi0gICAgQ29sb3JXZWxsLAotICAgIENvbHVt
biwKLSAgICBDb2x1bW5IZWFkZXIsCi0gICAgQ29tYm9Cb3gsCi0gICAgRGVmaW5pdGlvbiwKLSAg
ICBEZXNjcmlwdGlvbkxpc3QsCi0gICAgRGVzY3JpcHRpb25MaXN0VGVybSwKLSAgICBEZXNjcmlw
dGlvbkxpc3REZXRhaWwsCi0gICAgRGV0YWlscywKLSAgICBEaXJlY3RvcnksCi0gICAgRGlzY2xv
c3VyZVRyaWFuZ2xlLAotICAgIERpdiwKLSAgICBEb2N1bWVudCwKLSAgICBEb2N1bWVudEFydGlj
bGUsCi0gICAgRG9jdW1lbnRNYXRoLAotICAgIERvY3VtZW50Tm90ZSwKLSAgICBEcmF3ZXIsCi0g
ICAgRWRpdGFibGVUZXh0LAotICAgIEZlZWQsCi0gICAgRmlndXJlLAotICAgIEZvb3RlciwKLSAg
ICBGb290bm90ZSwKLSAgICBGb3JtLAotICAgIEdyYXBoaWNzRG9jdW1lbnQsCi0gICAgR3JhcGhp
Y3NPYmplY3QsCi0gICAgR3JhcGhpY3NTeW1ib2wsCi0gICAgR3JpZCwKLSAgICBHcmlkQ2VsbCwK
LSAgICBHcm91cCwKLSAgICBHcm93QXJlYSwKLSAgICBIZWFkaW5nLAotICAgIEhlbHBUYWcsCi0g
ICAgSG9yaXpvbnRhbFJ1bGUsCi0gICAgSWdub3JlZCwKLSAgICBJbmxpbmUsCi0gICAgSW1hZ2Us
Ci0gICAgSW1hZ2VNYXAsCi0gICAgSW1hZ2VNYXBMaW5rLAotICAgIEluY3JlbWVudG9yLAotICAg
IExhYmVsLAotICAgIExhbmRtYXJrQmFubmVyLAotICAgIExhbmRtYXJrQ29tcGxlbWVudGFyeSwK
LSAgICBMYW5kbWFya0NvbnRlbnRJbmZvLAotICAgIExhbmRtYXJrRG9jUmVnaW9uLAotICAgIExh
bmRtYXJrTWFpbiwKLSAgICBMYW5kbWFya05hdmlnYXRpb24sCi0gICAgTGFuZG1hcmtSZWdpb24s
Ci0gICAgTGFuZG1hcmtTZWFyY2gsCi0gICAgTGVnZW5kLAotICAgIExpbmssCi0gICAgTGlzdCwK
LSAgICBMaXN0Qm94LAotICAgIExpc3RCb3hPcHRpb24sCi0gICAgTGlzdEl0ZW0sCi0gICAgTGlz
dE1hcmtlciwKLSAgICBNYXJrLAotICAgIE1hdGhFbGVtZW50LAotICAgIE1hdHRlLAotICAgIE1l
bnUsCi0gICAgTWVudUJhciwKLSAgICBNZW51QnV0dG9uLAotICAgIE1lbnVJdGVtLAotICAgIE1l
bnVJdGVtQ2hlY2tib3gsCi0gICAgTWVudUl0ZW1SYWRpbywKLSAgICBNZW51TGlzdFBvcHVwLAot
ICAgIE1lbnVMaXN0T3B0aW9uLAotICAgIE91dGxpbmUsCi0gICAgUGFyYWdyYXBoLAotICAgIFBv
cFVwQnV0dG9uLAotICAgIFByZSwKLSAgICBQcmVzZW50YXRpb25hbCwKLSAgICBQcm9ncmVzc0lu
ZGljYXRvciwKLSAgICBSYWRpb0J1dHRvbiwKLSAgICBSYWRpb0dyb3VwLAotICAgIFJvd0hlYWRl
ciwKLSAgICBSb3csCi0gICAgUm93R3JvdXAsCi0gICAgUnVieUJhc2UsCi0gICAgUnVieUJsb2Nr
LAotICAgIFJ1YnlJbmxpbmUsCi0gICAgUnVieVJ1biwKLSAgICBSdWJ5VGV4dCwKLSAgICBSdWxl
ciwKLSAgICBSdWxlck1hcmtlciwKLSAgICBTY3JvbGxBcmVhLAotICAgIFNjcm9sbEJhciwKLSAg
ICBTZWFyY2hGaWVsZCwKLSAgICBTaGVldCwKLSAgICBTbGlkZXIsCi0gICAgU2xpZGVyVGh1bWIs
Ci0gICAgU3BpbkJ1dHRvbiwKLSAgICBTcGluQnV0dG9uUGFydCwKLSAgICBTcGxpdEdyb3VwLAot
ICAgIFNwbGl0dGVyLAotICAgIFN0YXRpY1RleHQsCi0gICAgU3VtbWFyeSwKLSAgICBTd2l0Y2gs
Ci0gICAgU3lzdGVtV2lkZSwKLSAgICBTVkdSb290LAotICAgIFNWR1RleHQsCi0gICAgU1ZHVFNw
YW4sCi0gICAgU1ZHVGV4dFBhdGgsCi0gICAgVGFiR3JvdXAsCi0gICAgVGFiTGlzdCwKLSAgICBU
YWJQYW5lbCwKLSAgICBUYWIsCi0gICAgVGFibGUsCi0gICAgVGFibGVIZWFkZXJDb250YWluZXIs
Ci0gICAgVGV4dEFyZWEsCi0gICAgVGV4dEdyb3VwLAotICAgIFRlcm0sCi0gICAgVGltZSwKLSAg
ICBUcmVlLAotICAgIFRyZWVHcmlkLAotICAgIFRyZWVJdGVtLAotICAgIFRleHRGaWVsZCwKLSAg
ICBUb2dnbGVCdXR0b24sCi0gICAgVG9vbGJhciwKLSAgICBVbmtub3duLAotICAgIFVzZXJJbnRl
cmZhY2VUb29sdGlwLAotICAgIFZhbHVlSW5kaWNhdG9yLAotICAgIFZpZGVvLAotICAgIFdlYkFw
cGxpY2F0aW9uLAotICAgIFdlYkFyZWEsCi0gICAgV2ViQ29yZUxpbmssCi0gICAgV2luZG93LAot
fTsKLQogZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZSB7CiAgICAgQWx0ZXJuYXRp
dmUsCiAgICAgQ2hpbGRyZW4sCkBAIC00OTEsNyArMzQxLDcgQEAKICAgICAKIGJvb2wgbm9kZUhh
c1ByZXNlbnRhdGlvblJvbGUoTm9kZSopOwogICAgIAotY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVj
dCA6IHB1YmxpYyBSZWZDb3VudGVkPEFjY2Vzc2liaWxpdHlPYmplY3Q+IHsKK2NsYXNzIEFjY2Vz
c2liaWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0Piwg
cHVibGljIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UgewogcHJvdGVjdGVkOgogICAgIEFj
Y2Vzc2liaWxpdHlPYmplY3QoKSA9IGRlZmF1bHQ7CiAgICAgCkBAIC0xMTUwLDYgKzEwMDAsMTEg
QEAKICAgICB2b2lkIGNsZWFySXNJZ25vcmVkRnJvbVBhcmVudERhdGEoKSB7IG1faXNJZ25vcmVk
RnJvbVBhcmVudERhdGEgPSBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEoKTsg
fQogICAgIHZvaWQgc2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZChBY2Nlc3NpYmls
aXR5T2JqZWN0Kik7CiAgICAgCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUp
CisgICAgdm9pZCBzZXRJbml0aWFsaXplZFN0YXRpY1RyZWVOb2RlKGJvb2wgaW5pdGlhbGl6ZWQp
IHsgbV9zdGF0aWNUcmVlTm9kZUluaXRpYWxpemVkID0gaW5pdGlhbGl6ZWQ7IH0KKyAgICBib29s
IGluaXRpYWxpemVkU3RhdGljVHJlZU5vZGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRpY1RyZWVO
b2RlSW5pdGlhbGl6ZWQ7IH0KKyNlbmRpZgorICAgIAogcHJvdGVjdGVkOgogICAgIEFYSUQgbV9p
ZCB7IDAgfTsKICAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgbV9jaGlsZHJlbjsKQEAg
LTExNTksNyArMTAxNCwxMCBAQAogICAgIEFjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50
RGF0YSBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhIHsgfTsKICAgICBib29sIG1fY2hpbGRyZW5E
aXJ0eSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3N1YnRyZWVEaXJ0eSB7IGZhbHNlIH07Ci0KKyNp
ZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKyAgICBib29sIG1fc3RhdGljVHJl
ZU5vZGVJbml0aWFsaXplZCB7IGZhbHNlIH07CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHNldElz
SWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0
YSYgZGF0YSkgeyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhID0gZGF0YTsgfQogCiAgICAgdmly
dHVhbCBib29sIGNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QgeyByZXR1cm4g
dHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJKG5vbmV4aXN0ZW50KQorKysgU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit0eXBlZGVmIHVuc2lnbmVkIEFYSUQ7CisKK2Vu
dW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUgeworICAgIEFubm90YXRpb24gPSAxLAorICAgIEFw
cGxpY2F0aW9uLAorICAgIEFwcGxpY2F0aW9uQWxlcnQsCisgICAgQXBwbGljYXRpb25BbGVydERp
YWxvZywKKyAgICBBcHBsaWNhdGlvbkRpYWxvZywKKyAgICBBcHBsaWNhdGlvbkdyb3VwLAorICAg
IEFwcGxpY2F0aW9uTG9nLAorICAgIEFwcGxpY2F0aW9uTWFycXVlZSwKKyAgICBBcHBsaWNhdGlv
blN0YXR1cywKKyAgICBBcHBsaWNhdGlvblRleHRHcm91cCwKKyAgICBBcHBsaWNhdGlvblRpbWVy
LAorICAgIEF1ZGlvLAorICAgIEJsb2NrcXVvdGUsCisgICAgQnJvd3NlciwKKyAgICBCdXN5SW5k
aWNhdG9yLAorICAgIEJ1dHRvbiwKKyAgICBDYW52YXMsCisgICAgQ2FwdGlvbiwKKyAgICBDZWxs
LAorICAgIENoZWNrQm94LAorICAgIENvbG9yV2VsbCwKKyAgICBDb2x1bW4sCisgICAgQ29sdW1u
SGVhZGVyLAorICAgIENvbWJvQm94LAorICAgIERlZmluaXRpb24sCisgICAgRGVzY3JpcHRpb25M
aXN0LAorICAgIERlc2NyaXB0aW9uTGlzdFRlcm0sCisgICAgRGVzY3JpcHRpb25MaXN0RGV0YWls
LAorICAgIERldGFpbHMsCisgICAgRGlyZWN0b3J5LAorICAgIERpc2Nsb3N1cmVUcmlhbmdsZSwK
KyAgICBEaXYsCisgICAgRG9jdW1lbnQsCisgICAgRG9jdW1lbnRBcnRpY2xlLAorICAgIERvY3Vt
ZW50TWF0aCwKKyAgICBEb2N1bWVudE5vdGUsCisgICAgRHJhd2VyLAorICAgIEVkaXRhYmxlVGV4
dCwKKyAgICBGZWVkLAorICAgIEZpZ3VyZSwKKyAgICBGb290ZXIsCisgICAgRm9vdG5vdGUsCisg
ICAgRm9ybSwKKyAgICBHcmFwaGljc0RvY3VtZW50LAorICAgIEdyYXBoaWNzT2JqZWN0LAorICAg
IEdyYXBoaWNzU3ltYm9sLAorICAgIEdyaWQsCisgICAgR3JpZENlbGwsCisgICAgR3JvdXAsCisg
ICAgR3Jvd0FyZWEsCisgICAgSGVhZGluZywKKyAgICBIZWxwVGFnLAorICAgIEhvcml6b250YWxS
dWxlLAorICAgIElnbm9yZWQsCisgICAgSW5saW5lLAorICAgIEltYWdlLAorICAgIEltYWdlTWFw
LAorICAgIEltYWdlTWFwTGluaywKKyAgICBJbmNyZW1lbnRvciwKKyAgICBMYWJlbCwKKyAgICBM
YW5kbWFya0Jhbm5lciwKKyAgICBMYW5kbWFya0NvbXBsZW1lbnRhcnksCisgICAgTGFuZG1hcmtD
b250ZW50SW5mbywKKyAgICBMYW5kbWFya0RvY1JlZ2lvbiwKKyAgICBMYW5kbWFya01haW4sCisg
ICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAorICAgIExhbmRtYXJrUmVnaW9uLAorICAgIExhbmRtYXJr
U2VhcmNoLAorICAgIExlZ2VuZCwKKyAgICBMaW5rLAorICAgIExpc3QsCisgICAgTGlzdEJveCwK
KyAgICBMaXN0Qm94T3B0aW9uLAorICAgIExpc3RJdGVtLAorICAgIExpc3RNYXJrZXIsCisgICAg
TWFyaywKKyAgICBNYXRoRWxlbWVudCwKKyAgICBNYXR0ZSwKKyAgICBNZW51LAorICAgIE1lbnVC
YXIsCisgICAgTWVudUJ1dHRvbiwKKyAgICBNZW51SXRlbSwKKyAgICBNZW51SXRlbUNoZWNrYm94
LAorICAgIE1lbnVJdGVtUmFkaW8sCisgICAgTWVudUxpc3RQb3B1cCwKKyAgICBNZW51TGlzdE9w
dGlvbiwKKyAgICBPdXRsaW5lLAorICAgIFBhcmFncmFwaCwKKyAgICBQb3BVcEJ1dHRvbiwKKyAg
ICBQcmUsCisgICAgUHJlc2VudGF0aW9uYWwsCisgICAgUHJvZ3Jlc3NJbmRpY2F0b3IsCisgICAg
UmFkaW9CdXR0b24sCisgICAgUmFkaW9Hcm91cCwKKyAgICBSb3dIZWFkZXIsCisgICAgUm93LAor
ICAgIFJvd0dyb3VwLAorICAgIFJ1YnlCYXNlLAorICAgIFJ1YnlCbG9jaywKKyAgICBSdWJ5SW5s
aW5lLAorICAgIFJ1YnlSdW4sCisgICAgUnVieVRleHQsCisgICAgUnVsZXIsCisgICAgUnVsZXJN
YXJrZXIsCisgICAgU2Nyb2xsQXJlYSwKKyAgICBTY3JvbGxCYXIsCisgICAgU2VhcmNoRmllbGQs
CisgICAgU2hlZXQsCisgICAgU2xpZGVyLAorICAgIFNsaWRlclRodW1iLAorICAgIFNwaW5CdXR0
b24sCisgICAgU3BpbkJ1dHRvblBhcnQsCisgICAgU3BsaXRHcm91cCwKKyAgICBTcGxpdHRlciwK
KyAgICBTdGF0aWNUZXh0LAorICAgIFN1bW1hcnksCisgICAgU3dpdGNoLAorICAgIFN5c3RlbVdp
ZGUsCisgICAgU1ZHUm9vdCwKKyAgICBTVkdUZXh0LAorICAgIFNWR1RTcGFuLAorICAgIFNWR1Rl
eHRQYXRoLAorICAgIFRhYkdyb3VwLAorICAgIFRhYkxpc3QsCisgICAgVGFiUGFuZWwsCisgICAg
VGFiLAorICAgIFRhYmxlLAorICAgIFRhYmxlSGVhZGVyQ29udGFpbmVyLAorICAgIFRleHRBcmVh
LAorICAgIFRleHRHcm91cCwKKyAgICBUZXJtLAorICAgIFRpbWUsCisgICAgVHJlZSwKKyAgICBU
cmVlR3JpZCwKKyAgICBUcmVlSXRlbSwKKyAgICBUZXh0RmllbGQsCisgICAgVG9nZ2xlQnV0dG9u
LAorICAgIFRvb2xiYXIsCisgICAgVW5rbm93biwKKyAgICBVc2VySW50ZXJmYWNlVG9vbHRpcCwK
KyAgICBWYWx1ZUluZGljYXRvciwKKyAgICBWaWRlbywKKyAgICBXZWJBcHBsaWNhdGlvbiwKKyAg
ICBXZWJBcmVhLAorICAgIFdlYkNvcmVMaW5rLAorICAgIFdpbmRvdywKK307CisKK2NsYXNzIEFj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UgeworcHVibGljOgorICAgIHZpcnR1YWwgfkFjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UoKSA9IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFsIGJvb2wg
aXNNZWRpYUNvbnRyb2xMYWJlbCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIEFjY2Vzc2liaWxp
dHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdHRhY2ht
ZW50KCkgY29uc3QgPSAwOworfTsKKworfQorCisjZW5kaWYgLyogQWNjZXNzaWJpbGl0eU9iamVj
dEludGVyZmFjZV9oICovCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9B
WE9iamVjdENhY2hlTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0JKHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgUExB
VEZPUk0oTUFDKQogCisjaW1wb3J0ICJBWFN0YXRpY1RyZWVOb2RlLmgiCiAjaW1wb3J0ICJBY2Nl
c3NpYmlsaXR5T2JqZWN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5VGFibGUuaCIKICNpbXBv
cnQgIlJlbmRlck9iamVjdC5oIgpAQCAtMjM3LDYgKzIzOCwxNCBAQAogICAgIG9iai0+c2V0V3Jh
cHBlcihudWxscHRyKTsKIH0KIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVF
KQordm9pZCBBWE9iamVjdENhY2hlOjphc3NvY2lhdGVTdGF0aWNUcmVlTm9kZShBY2Nlc3NpYmls
aXR5T2JqZWN0KiBvYmplY3QsIEFYU3RhdGljVHJlZU5vZGUqIG5vZGUpCit7CisgICAgb2JqZWN0
LT53cmFwcGVyKCkuc3RhdGljVHJlZU5vZGUgPSBub2RlOworICAgIG5vZGUtPnNldFdyYXBwZXIo
b2JqZWN0LT53cmFwcGVyKCkpOworfQorI2VuZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2FjaGU6
OmF0dGFjaFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogewogICAgIFJldGFpblB0
cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gd3JhcHBlciA9IGFkb3B0TlMoW1tXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhbGxvY10gaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2Jq
ZWN0Om9ial0pOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgJ
KHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw5
ICszMSwxMyBAQAogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUg
PENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQorY2xhc3MgQVhTdGF0aWNUcmVlTm9kZTsK
KyNlbmRpZgogc3RydWN0IEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYTsKIGNsYXNzIEludFJl
Y3Q7CiBjbGFzcyBGbG9hdFBvaW50OwpAQCAtNDQsMTAgKzQ4LDIyIEBACiAKIEBpbnRlcmZhY2Ug
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIDogTlNPYmplY3QgewogICAgIFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG1fb2JqZWN0OworICAgIAorI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX1NUQVRJQ19UUkVFKQorICAgIFdlYkNvcmU6OkFYU3RhdGljVHJlZU5vZGUqIG1f
c3RhdGljVHJlZU5vZGU7CisjZW5kaWYKIH0KICAKIC0gKGlkKWluaXRXaXRoQWNjZXNzaWJpbGl0
eU9iamVjdDooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCopYXhPYmplY3Q7CisKKyNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBh
c3NpZ24pIFdlYkNvcmU6OkFYU3RhdGljVHJlZU5vZGUgKnN0YXRpY1RyZWVOb2RlOworI2VuZGlm
CisKIC0gKHZvaWQpZGV0YWNoOworCistIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlICopYXhCYWNraW5nT2JqZWN0OworCiAtIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KilhY2Nlc3NpYmlsaXR5T2JqZWN0OwogLSAoQk9PTCl1cGRhdGVPYmplY3RCYWNraW5nU3Rv
cmU7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0JKHJl
dmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzIsNiAr
MzIsOCBAQAogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIAogI2ltcG9ydCAiQVhPYmplY3RDYWNo
ZS5oIgorI2ltcG9ydCAiQVhTdGF0aWNUcmVlTm9kZS5oIgorI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eU9iamVjdEludGVyZmFjZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93Lmgi
CiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5TGlzdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxp
c3RCb3guaCIKQEAgLTI3NCw2ICsyNzYsMjggQEAKICAgICByZXR1cm4gc2VsZjsKIH0KIAorI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQorLSAodm9pZClzZXRTdGF0aWNUcmVl
Tm9kZTooV2ViQ29yZTo6QVhTdGF0aWNUcmVlTm9kZSopc3RhdGljVHJlZU5vZGUKK3sKKyAgICBt
X3N0YXRpY1RyZWVOb2RlID0gc3RhdGljVHJlZU5vZGU7Cit9CisKKy0gKFdlYkNvcmU6OkFYU3Rh
dGljVHJlZU5vZGUqKXN0YXRpY1RyZWVOb2RlCit7CisgICAgcmV0dXJuIG1fc3RhdGljVHJlZU5v
ZGU7Cit9CisKKyNlbmRpZgorCistIChCT09MKWhhc1N0YXRpY0JhY2tpbmcKK3sKKyNpZiBFTkFC
TEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKyAgICByZXR1cm4gbV9zdGF0aWNUcmVlTm9k
ZSAhPSBudWxscHRyOworI2Vsc2UKKyAgICByZXR1cm4gTk87CisjZW5kaWYKK30KKwogLSAodm9p
ZClkZXRhY2gKIHsKICAgICBtX29iamVjdCA9IG51bGxwdHI7CkBAIC0yODEsNiArMzA1LDExIEBA
CiAKIC0gKEJPT0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3JlCiB7CisjaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFlfU1RBVElDX1RSRUUpCisgICAgaWYgKG1fc3RhdGljVHJlZU5vZGUpCisgICAgICAg
IHJldHVybiBZRVM7CisjZW5kaWYKKyAgICAKICAgICAvLyBDYWxsaW5nIHVwZGF0ZUJhY2tpbmdT
dG9yZSgpIGNhbiBpbnZhbGlkYXRlIHRoaXMgZWxlbWVudCBzbyBzZWxmIG11c3QgYmUgcmV0YWlu
ZWQuCiAgICAgLy8gSWYgaXQgZG9lcyBiZWNvbWUgaW52YWxpZGF0ZWQsIG1fb2JqZWN0IHdpbGwg
YmUgbmlsLgogICAgIENGUmV0YWluKChfX2JyaWRnZSBDRlR5cGVSZWYpc2VsZik7CkBAIC0zNTUs
MTEgKzM4NCwyMSBAQAogICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nXTsKIH0KIAorI2RlZmlu
ZSBfYXhCYWNraW5nT2JqZWN0IHNlbGYuYXhCYWNraW5nT2JqZWN0CistIChXZWJDb3JlOjpBY2Nl
c3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlICopYXhCYWNraW5nT2JqZWN0Cit7CisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisgICAgcmV0dXJuIG1fc3RhdGljVHJlZU5vZGU7
CisjZWxzZQorICAgIHJldHVybiBtX29iamVjdDsKKyNlbmRpZgorfQorCiAtIChOU1N0cmluZyAq
KWJhc2VBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24KIHsKICAgICAvLyBTdGF0aWMgdGV4dCBvYmpl
Y3RzIHNob3VsZCBub3QgaGF2ZSBhIGRlc2NyaXB0aW9uLiBJdHMgY29udGVudCBpcyBjb21tdW5p
Y2F0ZWQgaW4gaXRzIEFYVmFsdWUuCiAgICAgLy8gT25lIGV4Y2VwdGlvbiBpcyB0aGUgbWVkaWEg
Y29udHJvbCBsYWJlbHMgdGhhdCBoYXZlIGEgdmFsdWUgYW5kIGEgZGVzY3JpcHRpb24uIFRob3Nl
IGFyZSBzZXQgcHJvZ3JhbWF0aWNhbGx5LgotICAgIGlmIChtX29iamVjdC0+cm9sZVZhbHVlKCkg
PT0gQWNjZXNzaWJpbGl0eVJvbGU6OlN0YXRpY1RleHQgJiYgIW1fb2JqZWN0LT5pc01lZGlhQ29u
dHJvbExhYmVsKCkpCisgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpID09IEFj
Y2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNUZXh0ICYmICFfYXhCYWNraW5nT2JqZWN0LT5pc01lZGlh
Q29udHJvbExhYmVsKCkpCiAgICAgICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nXTsKICAgICAK
ICAgICBWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+IHRleHRPcmRlcjsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFj
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNDEyLDYgKzQxMiw4IEBACiAjZGVmaW5lIE5TQWNj
ZXNzaWJpbGl0eUxpbmtSZWxhdGlvbnNoaXBUeXBlQXR0cmlidXRlIEAiQVhMaW5rUmVsYXRpb25z
aGlwVHlwZSIKICNlbmRpZgogCisjZGVmaW5lIF9heEJhY2tpbmdPYmplY3Qgc2VsZi5heEJhY2tp
bmdPYmplY3QKKwogZXh0ZXJuICJDIiBBWFVJRWxlbWVudFJlZiBOU0FjY2Vzc2liaWxpdHlDcmVh
dGVBWFVJRWxlbWVudFJlZihpZCBlbGVtZW50KTsKIAogQGltcGxlbWVudGF0aW9uIFdlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyCkBAIC0yMDA5LDEwICsyMDExLDEwIEBACiAtIChOU1N0cmlu
Zyopcm9sZQogewogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCi0gICAg
aWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+
aXNBdHRhY2htZW50KCkpCiAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFj
Y2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlSb2xlQXR0cmlidXRlXTsK
ICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKLSAgICBBY2Nlc3NpYmlsaXR5
Um9sZSByb2xlID0gbV9vYmplY3QtPnJvbGVWYWx1ZSgpOworICAgIEFjY2Vzc2liaWxpdHlSb2xl
IHJvbGUgPSBfYXhCYWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKTsKIAogICAgIGlmIChyb2xlID09
IEFjY2Vzc2liaWxpdHlSb2xlOjpMYWJlbCAmJiBpczxBY2Nlc3NpYmlsaXR5TGFiZWw+KCptX29i
amVjdCkgJiYgZG93bmNhc3Q8QWNjZXNzaWJpbGl0eUxhYmVsPigqbV9vYmplY3QpLmNvbnRhaW5z
T25seVN0YXRpY1RleHQoKSkKICAgICAgICAgcm9sZSA9IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0
aWNUZXh0OwpAQCAtMjAzOSw3ICsyMDQxLDcgQEAKICAgICBpZiAobV9vYmplY3QtPmlzU2VhcmNo
RmllbGQoKSkKICAgICAgICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkU3Vicm9s
ZTsKICAgICAKLSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgaWYgKF9h
eEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAgIE5TVmlldyogYXR0YWNo
VmlldyA9IFtzZWxmIGF0dGFjaG1lbnRWaWV3XTsKICAgICAgICAgaWYgKFtbYXR0YWNoVmlldyBh
Y2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0
eVN1YnJvbGVBdHRyaWJ1dGVdKQogICAgICAgICAgICAgcmV0dXJuIFthdHRhY2hWaWV3IGFjY2Vz
c2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlTdWJyb2xlQXR0cmlidXRlXTsK
QEAgLTIyNTAsNyArMjI1Miw3IEBACiAKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9O
U19CRUdJTgogICAgIC8vIGF0dGFjaG1lbnRzIGhhdmUgdGhlIEFYSW1hZ2Ugcm9sZSwgYnV0IGEg
ZGlmZmVyZW50IHN1YnJvbGUKLSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKQorICAg
IGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKICAgICAgICAgcmV0dXJuIFtb
c2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNz
aWJpbGl0eVJvbGVEZXNjcmlwdGlvbkF0dHJpYnV0ZV07CiAgICAgQUxMT1dfREVQUkVDQVRFRF9E
RUNMQVJBVElPTlNfRU5ECiAKQEAgLTI2MDcsNyArMjYwOSw3IEBACiAgICAgICAgIHJldHVybiBb
TlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6IG1fb2JqZWN0LT5pc1Zpc2l0ZWQoKV07CiAgICAgCiAg
ICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5VGl0
bGVBdHRyaWJ1dGVdKSB7Ci0gICAgICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsK
KyAgICAgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAg
ICAgICBpZiAoW1tbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5h
bWVzXSBjb250YWluc09iamVjdDpOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV0pCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0
dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0cmlidXRlXTsKICAgICAgICAgfQpA
QCAtMjYyNCw3ICsyNjI2LDcgQEAKICAgICB9CiAgICAgCiAgICAgaWYgKFthdHRyaWJ1dGVOYW1l
IGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdKSB7
Ci0gICAgICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICAgICAgaWYgKF9h
eEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAgICAgICBpZiAoW1tbc2Vs
ZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09i
amVjdDpOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV0pCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZh
bHVlOk5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXTsKICAgICAgICAgfQpAQCAt
MjYzMiw3ICsyNjM0LDcgQEAKICAgICB9CiAgICAgCiAgICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlz
RXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdKSB7Ci0gICAgICAg
IGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICAgICAgaWYgKF9heEJhY2tpbmdP
YmplY3QtPmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAgICAgICBpZiAoW1tbc2VsZiBhdHRhY2ht
ZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09iamVjdDpOU0Fj
Y2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIFtbc2Vs
ZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJp
bGl0eVZhbHVlQXR0cmlidXRlXTsKICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDIz
OTcxOCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNv
bT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdEJhc2UubW06CisgICAgICAgICgtW1dLQWNjZXNzaWJpbGl0eVdlYlBh
Z2VPYmplY3RCYXNlIGFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcl0pOgorCiAyMDE5LTAx
LTA3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmVtb3ZlIHVzZSBvZiBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uIGZyb20gQ2FjaGVTdG9y
YWdlOjpFbmdpbmU6OmZyb20KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291
cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2lu
ZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NP
Q09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29h
dG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVf
QUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5B
QkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBo
b25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0
b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAKIEVOQUJMRV9YU0xU
ID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BB
WV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQ
TElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9D
U1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NT
X1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJL
X01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRF
UkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAk
KEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9O
X09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRf
Q09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxF
X0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxF
X0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9N
QUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RB
TkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNF
X0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dP
UktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUND
RVNTSUJJTElUWV9TVEFUSUNfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFf
SU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JU
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJF
UykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FDQ0VTUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJM
RV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNF
Ul9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFS
SUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRf
RlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5B
QkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9T
VFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9X
RUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQ
YWdlT2JqZWN0QmFzZS5tbQkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBACiAjaW1wb3J0ICJXS1N0cmluZy5oIgogI2lt
cG9ydCAiV0tTdHJpbmdDRi5oIgogI2ltcG9ydCA8V2ViQ29yZS9BWE9iamVjdENhY2hlLmg+Cisj
aW1wb3J0IDxXZWJDb3JlL0FYU3RhdGljVHJlZUNhY2hlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Rv
Y3VtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zy
YW1lVmlldy5oPgpAQCAtNDcsNiArNDgsMTggQEAKIAogQGltcGxlbWVudGF0aW9uIFdLQWNjZXNz
aWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlCiAKKy0gKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqKWF4
T2JqZWN0Q2FjaGUKK3sKKyAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gbV9wYWdlLT5jb3JlUGFn
ZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKyAgICBXZWJDb3JlOjpG
cmFtZSYgY29yZSA9IHBhZ2UtPm1haW5GcmFtZSgpOworICAgIGlmICghY29yZS5kb2N1bWVudCgp
KQorICAgICAgICByZXR1cm4gbmlsOworICAgIAorICAgIHJldHVybiBjb3JlLmRvY3VtZW50KCkt
PmF4T2JqZWN0Q2FjaGUoKTsKK30KKwogLSAoaWQpYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFw
cGVyCiB7CiAgICAgaWYgKCFXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5h
YmxlZCgpKQpAQCAtNjIsMTggKzc1LDMwIEBACiAgICAgV2ViQ29yZTo6UGFnZSogcGFnZSA9IG1f
cGFnZS0+Y29yZVBhZ2UoKTsKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBuaWw7Ci0g
ICAgCi0gICAgV2ViQ29yZTo6RnJhbWUmIGNvcmUgPSBwYWdlLT5tYWluRnJhbWUoKTsKLSAgICBp
ZiAoIWNvcmUuZG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIG5pbDsKLSAgICAKLSAgICBXZWJD
b3JlOjpBWE9iamVjdENhY2hlKiBjYWNoZSA9IGNvcmUuZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNo
ZSgpOworCisgICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBbc2VsZiBheE9iamVjdENhY2hlXTsK
ICAgICBpZiAoIWNhY2hlKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAorI2lmIEVOQUJMRShB
Q0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQorICAgIEFYU3RhdGljVHJlZU5vZGUqIHN0YXRpY1Jv
b3QgPSBBWFN0YXRpY1RyZWVDYWNoZTo6cm9vdFN0YXRpY1RyZWVOb2RlKHBhZ2UpOworICAgIGlm
ICghc3RhdGljUm9vdCkgeworICAgICAgICBhdXRvIGdlbmVyYXRlQmxvY2sgPSBbJmNhY2hlXSB7
CisgICAgICAgICAgICBjYWNoZS0+Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVl
ZGVkKCk7CisgICAgICAgIH07CisgICAgICAgIAorICAgICAgICBpZiAoUnVuTG9vcDo6aXNNYWlu
KCkpCisgICAgICAgICAgICBnZW5lcmF0ZUJsb2NrKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGRpc3BhdGNoX3N5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgZ2VuZXJhdGVCbG9j
ayk7CisgICAgfQorICAgIAorICAgIGlmICgoc3RhdGljUm9vdCA9IEFYU3RhdGljVHJlZUNhY2hl
Ojpyb290U3RhdGljVHJlZU5vZGUocGFnZSkpKQorICAgICAgICByZXR1cm4gc3RhdGljUm9vdC0+
d3JhcHBlcigpOworI2Vsc2UKICAgICBpZiAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCog
cm9vdCA9IGNhY2hlLT5yb290T2JqZWN0KCkpCiAgICAgICAgIHJldHVybiByb290LT53cmFwcGVy
KCk7Ci0gICAgCisjZW5kaWYKICAgICByZXR1cm4gbmlsOwogfQogCkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0x
MSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJ
bnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTkt
MDEtMDcgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVm
ZXIgUmV0YWluUHRyPE5TT2JqZWN0PiB0byBSZXRhaW5QdHI8TlNPYmplY3QgKj4KSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29y
a2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdL
X0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2Nv
Y29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFC
TEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQo
RU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11
bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAKIEVOQUJMRV9Y
U0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5T
Rk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVf
QVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
Q1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9E
QVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9J
TlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNU
SU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9B
UkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5B
QkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5B
QkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
U1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFV
RVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNF
X1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1C
TFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVf
QUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5B
QkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFC
TEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQ
T1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFU
VVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FDQ0VTUykgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVz
LmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQko
cmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCSh3
b3JraW5nIGNvcHkpCkBAIC0xODcsNiArMTg3LDcgQEAKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfU01PT1RIX1NDUk9MTElORyAiVG9nZ2xlIHNtb290aCBzY3JvbGxpbmciIFBSSVZB
VEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMg
IlRvZ2dsZSBTcGVlY2ggU3ludGhlc2lzIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1BFTExDSEVDSyAiVG9nZ2xlIFNwZWxsY2hlY2tp
bmcgc3VwcG9ydCAocmVxdWlyZXMgRW5jaGFudCkiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFICJUb2dnbGUgc3Rh
dGljIGFjY2Vzc2liaWxpdHkgdHJlZSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfU1RSRUFNU19BUEkgIlRvZ2dsZSBTdHJlYW1zIEFQSSBzdXBw
b3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TVkdfRk9O
VFMgIlRvZ2dsZSBTVkcgRm9udHMgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04gIlRvZ2dsZSB0ZWxl
cGhvbmUgbnVtYmVyIGRldGVjdGlvbiBzdXBwb3J0IiBQUklWQVRFIE9GRikKSW5kZXg6IFRvb2xz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzOTg2
MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisy
MDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAg
ICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTEwICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBw
bGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZpeCB0eXBvIHRoYXQgYnJlYWtzIGRhc2hi
b2FyZCBsaW5rLgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMzk3MTgpCisr
KyBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7
CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFID0gOworCiBFTkFCTEVfQVBQTEVf
UEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQ
UExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lw
aG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDIsNCArNDA0LDQgQEAKIAog
RU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQo
RU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVU
RSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdF
UikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlN
RU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChF
TkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRB
TCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
NCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRT
KSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
UkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVO
VEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMS0VZQk9BUkRfQUND
RVNTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAk
KEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJV
VEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElT
VElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19Q
UkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VT
RVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dF
QkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358896</attachid>
            <date>2019-01-11 07:50:04 -0800</date>
            <delta_ts>2019-01-11 08:44:50 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>96703</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogZXh0ZW5kIFhIUiBicmVha3BvaW50cyB0byB3b3JrIHdpdGgg
ZmV0Y2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIzOTcxOCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
OwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExF
X1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9B
UFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9p
cGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAK
IEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFH
X1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFC
TEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJV
VEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFH
RVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9Y
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVU
QUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitG
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5U
UykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FD
Q0VTUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19V
U0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
QVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24g
MjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNDQgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxl
LmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJl
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBpbXByb3ZlIHBlcmZvcm1h
bmNlIHdoZW4gcmVxdWVzdGluZyB0aGUgYWNjZXNzaWJpbGl0eSBoaWVyYXJjaHksIHdlIGludHJv
ZHVjZSB0aGUgaWRlYSBvZiBhICJzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlIiB3aGljaCBjb3Vs
ZCBiZSBhY2Nlc3NlZCBvbiBhIGRpZmZlcmVudCB0aHJlYWQgYnkgYXNzaXN0aXZlIHRlY2hub2xv
Z2llcy4KKyAgICAgICAgVGhhdCBpcyBhY2NvbXBsaXNoZWQgYnkgc3RvcmluZyBhbGwgdGhlIGRh
dGEgbmVlZGVkIHRvIGFuc3dlciBhY2Nlc3NpYmlsaXR5IGF0dHJpYnV0ZSBxdWVyaWVzIGluIGEg
c3RhdGljIG9iamVjdCB0aGF0IG1pcnJvcnMgdGhlICJsaXZlIiBBY2Nlc3NpYmlsaXR5T2JqZWN0
cyAod2hpY2ggaW50ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVzKS4KKyAgICAg
ICAgVGhlc2Ugc3RhdGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFmdGVyIGxheW91
dCBpcyBkb25lIGFuZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBUaGV5IGFyZSB0
aGVuIHN0b3JlZCBpbiB0aGUgc3RhdGljIHRyZWUgcmVwcmVzZW50YXRpb24gYW5kIGFibGUgdG8g
YmUgcmVhZCBmcm9tIGFueXdoZXJlLgorICAgICAgICBUYWN0aWNhbGx5IHRoaXMgaXMgZG9uZSB3
aXRoIEFYU3RhdGljVHJlZU5vZGVzIGluc2lkZSBvZiBhbiBBWFN0YXRpY1RyZWVDYWNoZS4gVGhl
IFRyZWVOb2RlcyBpbXBsZW1lbnQgYW4gQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSBzaGFy
ZWQgd2l0aCBBY2Nlc3NpYmlsaXR5T2JqZWN0CisgICAgICAgIFRoaXMgYWxsb3dzIHRoZSB3cmFw
cGVycyB0byBhY2Nlc3MgZWl0aGVyIG9uZSBkZXBlbmRpbmcgb24gY29uZGl0aW9ucyBhbmQgcGxh
dGZvcm1zIHdpdGhvdXQgc2lnbmlmaWNhbnQgY29kZSBkdXBsaWNhdGlvbiBvciByZS1vcmdhbml6
YXRpb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBlcmZvcm1EZWZlcnJlZENhY2hl
VXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OndhbGtBY2Nlc3NpYmls
aXR5VHJlZUZvclN0YXRpY1RyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OnNldEluaXRpYWxpemVkU3RhdGljVHJlZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eU9iamVjdDo6aW5pdGlhbGl6ZWRTdGF0aWNUcmVlTm9kZSBjb25zdCk6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OkFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZVN0YXRpY1RyZWVOb2RlKToKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJh
c2UubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBzZXRT
dGF0aWNUcmVlTm9kZTpdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlIHN0YXRpY1RyZWVOb2RlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQmFzZSBoYXNTdGF0aWNCYWNraW5nXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZSB1cGRhdGVPYmplY3RCYWNraW5nU3RvcmVdKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGF4QmFja2luZ09iamVjdF0p
OgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgYmFzZUFjY2Vz
c2liaWxpdHlEZXNjcmlwdGlvbl0pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlciByb2xlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyIHN1YnJvbGVdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgcm9sZURlc2NyaXB0aW9uXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpdKToKKwogMjAxOS0wMS0wNyAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggaW4gU1dT
ZXJ2ZXI6OkNvbm5lY3Rpb246OnJlc29sdmVSZWdpc3RyYXRpb25SZWFkeVJlcXVlc3RzCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQw
LDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElD
X1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19Q
TEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExF
X1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BB
WTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVS
TUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RS
RUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVT
VCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklU
X1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJN
RVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAx
LTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6
IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAx
OS0wMS0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogTmV0d29yazogc2hvdyBzZWN1cmUgY29ubmVjdGlvbiBkZXRhaWxzIHBlci1y
ZXF1ZXN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChX
S19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19j
b2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5B
QkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAk
KEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZ
X2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2lt
dWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVf
WFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFf
SU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JU
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJF
UykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VN
QkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5B
QkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQ
UE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVB
VFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxF
X0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChF
TkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVN
RU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAk
KEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1C
TFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFC
TEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyMzk3
MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzY2
LDYgKzM2Niw4IEBACiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlLmNwcAogYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZUl0ZW0uY3BwCiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
bGVTZXRWYWx1ZUV2ZW50LmNwcAorYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhTdGF0aWNU
cmVlQ2FjaGUuY3BwCithY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVOb2Rl
LmNwcAogCiBhbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmNwcAogYW5pbWF0aW9uL0FuaW1hdGlv
blBsYXliYWNrRXZlbnQuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTY5NCw2ICs2OTQsNyBAQAogCQkyNkY5QTgzODE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRD
b25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI2RjlBODM2MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24u
Y3BwICovOyB9OwogCQkyNkY5QTgzOTE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1
cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
NkY5QTgzNzE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkxNEUzMDgxQ0FC
NUE0NDAwNDk5NjZGIC8qIEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYg
LyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLzsgfTsKKwkJMjkzNkJGNUMyMUQ2OUU0QjAw
NEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MzZCRjVBMjFENjk5OUUwMDRBOEZDOSAv
KiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkzRUFFMUYxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjkzRUFFMUUxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNh
dGlvbkNoZWNrcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTI5NDg5RkM3MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmll
dy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk0ODlG
QzUxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmggKi87IH07CiAJ
CTI5N0JFM0Q1MTZDMDNDMDgwMDMzMTZCRCAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVy
YW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjUy
N0NDOTExNkJGOEJBMTAwOUREQUMwIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNl
LmggKi87IH07CkBAIC03MTUsNiArNzE2LDggQEAKIAkJMjlBODEyNDMwRkJCOUMxRDAwNTEwMjkz
IC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTIyNTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0
eUxpc3RCb3guaCAqLzsgfTsKIAkJMjlBODEyNDkwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMjlBODEyNDUwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTI5QUNCMjEyMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmls
aXR5TW9ja09iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMjlBQ0IyMTExNDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0
LmggKi87IH07CisJCTI5QUUyMTJEMjFBQjlFRUIwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVDYWNo
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBRTIx
MkIyMUFCOUVFQjAwODY5MjgzIC8qIEFYU3RhdGljVHJlZUNhY2hlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMjlBRTIxMzUyMUFCQTQ4QTAwODY5
MjgzIC8qIEFYU3RhdGljVHJlZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVO
b2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
MjlEN0JDRkExNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUQ3QkNGOTE0NDRB
RjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLzsgfTsKIAkJMjlGQUY0
QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUZBRjRCNTE5NUFCMDg5
MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyQjM2NUM4NDE1MjUxMTlFMDA5MUQy
N0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2MDAwREJCQ0Q4IC8qIFJlbmRlclNWR0VsbGlw
c2UuaCAqLzsgfTsKQEAgLTY1MzAsNiArNjUzMyw3IEBACiAJCTI4REI5QkM3MjAyMEVBMDQwMEU1
NEEwNyAvKiBQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyOTE0RTMwNTFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0
dGFjaG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTE0RTMwNjFDQUI1
QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9iamVjdElu
dGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNFQUUxRTEzNTZCMkZF
MDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0
eVNjcm9sbFZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJp
bGl0eVNjcm9sbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjk0OTg2ODEx
OTUzNDE5NDAwNzJEMkJEIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBN
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NTc3LDYgKzY1ODEsMTAgQEAK
IAkJMjlBODEyNDcwRkJCOUNBOTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVNYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBWE9iamVjdENhY2hlTWFjLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyog
QWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMjlBQ0IyMTMxNDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNb2Nr
T2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMkIyMUFCOUVF
QjAwODY5MjgzIC8qIEFYU3RhdGljVHJlZUNhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFYU3RhdGlj
VHJlZUNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJDMjFBQjlF
RUIwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBB
WFN0YXRpY1RyZWVDYWNoZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUy
MTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVOb2RlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEFYU3RhdGljVHJlZU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIx
MzQyMUFCQTQ4QTAwODY5MjgzIC8qIEFYU3RhdGljVHJlZU5vZGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQVhTdGF0aWNUcmVlTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI5RDdCQ0Y1MTQ0NEFGNTgwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RDdCQ0Y5MTQ0NEFGN0Qw
MDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyOUUwNEEyN0JFRDJGODFGOThFOTAyMkIgLyogSlNCZWZvcmVVbmxvYWRF
dmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JlZm9yZVVubG9hZEV2
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjk3Nyw2ICsxNjk4NSw3IEBA
CiAJCQkJMjk4NTcwOTMxNUNDNTMyRDAwNjM1NUNEIC8qIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0
LmggKi8sCiAJCQkJMjk4MUNBQTUxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwICovLAogCQkJCTI5QTgxMjE4MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5
T2JqZWN0LmggKi8sCisJCQkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCAqLywKIAkJCQlBNDA5Qzk4MjExNkQwREREMDA3MTk3QkQgLyog
QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcCAqLywKIAkJCQlBNDA5Qzk4MzExNkQw
REREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmggKi8sCiAJCQkJ
Mjk4MUNBQTYxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
ICovLApAQCAtMTcwMTUsNiArMTcwMjQsNyBAQAogCQkJCTI5ODFDQUFGMTMxODIyRUMwMEQxMkYy
QSAvKiBBWE9iamVjdENhY2hlLmNwcCAqLywKIAkJCQkyOUE4MTIxQTBGQkI5QzFEMDA1MTAyOTMg
LyogQVhPYmplY3RDYWNoZS5oICovLAogCQkJCTkxQzlGMkY4MUFFM0JFMjQwMDk1QjYxQyAvKiBB
WFRleHRTdGF0ZUNoYW5nZUludGVudC5oICovLAorCQkJCTI5QUUyMTI5MjFBQjlFQ0IwMDg2OTI4
MyAvKiBBWFN0YXRpY1RyZWUgKi8sCiAJCQkpOwogCQkJcGF0aCA9IGFjY2Vzc2liaWxpdHk7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTcwMzIsNiArMTcwNDIsMTcgQEAKIAkJCXBh
dGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQkyOUFFMjEyOTIx
QUI5RUNCMDA4NjkyODMgLyogQVhTdGF0aWNUcmVlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7
CisJCQljaGlsZHJlbiA9ICgKKwkJCQkyOUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhTdGF0
aWNUcmVlQ2FjaGUuaCAqLywKKwkJCQkyOUFFMjEyQzIxQUI5RUVCMDA4NjkyODMgLyogQVhTdGF0
aWNUcmVlQ2FjaGUuY3BwICovLAorCQkJCTI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0
YXRpY1RyZWVOb2RlLmggKi8sCisJCQkJMjlBRTIxMzQyMUFCQTQ4QTAwODY5MjgzIC8qIEFYU3Rh
dGljVHJlZU5vZGUuY3BwICovLAorCQkJKTsKKwkJCXBhdGggPSBBWFN0YXRpY1RyZWU7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQkyRDA2MjE0NjFEQTYzOUVDMDBBN0ZCMjYg
LyogbGVnYWN5ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAg
LTI5NTkyLDYgKzI5NjEzLDcgQEAKIAkJCQkxQUUyQUE5ODBBMUNERDJEMDBCNDJCMjUgLyogSlNI
VE1MSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODBFN0U5NzBBMUE4M0UzMDA3
RkI4QzUgLyogSlNIVE1MSW5wdXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzZCMDk1
NjFGNUYzNEQ5MDAzQzM3MDIgLyogSlNIVE1MSW5wdXRFbGVtZW50RW50cmllc0FQSS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMjkzNkJGNUMyMUQ2OUU0QjAwNEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlP
YmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE2MTQ4QTc5MTJFNDFFM0IwMDQ0
QTc4NCAvKiBKU0hUTUxLZXlnZW5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUIy
MjBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGFiZWxFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUUyQUIyNDBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGVnZW5kRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zMTA0Myw2ICszMTA2NSw3IEBACiAJCQkJNTE0MDVDODkxOTBCMDE0
NDAwNzU0Rjk0IC8qIFNlbGVjdGlvblJlY3RHYXRoZXJlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTQ0QjRCQjQxNDE2NTBENzAwMkIxRDhCIC8qIFNlbGVjdG9yQ2hlY2tlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDMyRDNGRTgxOEE4NjU4NDAwRDdEQzAzIC8qIFNlbGVjdG9yQ2hlY2tlclRlc3RG
dW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAv
KiBBWFN0YXRpY1RyZWVOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkI5OTk5NzE4MDRENTQy
MDBEMDExMjEgLyogU2VsZWN0b3JDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE1MDcx
NTgxNjg1MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0MzEwN0JFMjE4Q0MxOURFMDBDQzE4RTggLyogU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmggaW4g
SGVhZGVycyAqLywKQEAgLTMxOTczLDYgKzMxOTk2LDcgQEAKIAkJCQk5NzdFMkUwRjEyRjBGQzlD
MDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTQx
NkZFNjE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0E1NTE1RjUxOTE4MzBBMzAwOTY4N0QyIC8qIFlvdVR1YmVQbHVnaW5S
ZXBsYWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMkQyMUFCOUVFQjAwODY5Mjgz
IC8qIEFYU3RhdGljVHJlZUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDUzNzM1MzEzN0I2
NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCShyZXZpc2lvbiAyMzk3MTgpCisr
KyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMiw2ICszMiw4IEBACiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAK
KyNpbmNsdWRlICJBWFN0YXRpY1RyZWVDYWNoZS5oIgorI2luY2x1ZGUgIkFYU3RhdGljVHJlZU5v
ZGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaCIKICNpbmNsdWRlICJBY2Nl
c3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFSSUFHcmlk
Um93LmgiCkBAIC0yOTA1LDggKzI5MDcsMzYgQEAKICAgICBmb3IgKGF1dG8mIGRlZmVycmVkRm9j
dXNlZENoYW5nZUNvbnRleHQgOiBtX2RlZmVycmVkRm9jdXNlZE5vZGVDaGFuZ2UpCiAgICAgICAg
IGhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkKGRlZmVycmVkRm9jdXNlZENoYW5nZUNvbnRl
eHQuZmlyc3QsIGRlZmVycmVkRm9jdXNlZENoYW5nZUNvbnRleHQuc2Vjb25kKTsKICAgICBtX2Rl
ZmVycmVkRm9jdXNlZE5vZGVDaGFuZ2UuY2xlYXIoKTsKKworI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZX1NUQVRJQ19UUkVFKQorICAgIGdlbmVyYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWVJZk5l
ZWRlZCgpOworI2VuZGlmCiB9CiAgICAgCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElD
X1RSRUUpCitSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gQVhPYmplY3RDYWNoZTo6d2Fsa0FjY2Vz
c2liaWxpdHlUcmVlRm9yU3RhdGljVHJlZShBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QpCit7
CisgICAgUmVmUHRyPEFYU3RhdGljVHJlZU5vZGU+IHN0YXRpY1RyZWVOb2RlID0gQVhTdGF0aWNU
cmVlTm9kZTo6Y3JlYXRlKG9iamVjdCk7CisgICAgb2JqZWN0LT5zZXRJbml0aWFsaXplZFN0YXRp
Y1RyZWVOb2RlKHRydWUpOworICAgIGFzc29jaWF0ZVN0YXRpY1RyZWVOb2RlKG9iamVjdCwgc3Rh
dGljVHJlZU5vZGUuZ2V0KCkpOworICAgIGZvciAoYXV0byBjaGlsZCA6IG9iamVjdC0+Y2hpbGRy
ZW4oKSkgeworICAgICAgICBhdXRvIHN0YXRpY0NoaWxkID0gd2Fsa0FjY2Vzc2liaWxpdHlUcmVl
Rm9yU3RhdGljVHJlZShjaGlsZC5nZXQoKSk7CisgICAgICAgIHN0YXRpY0NoaWxkLT5zZXRQYXJl
bnQoc3RhdGljVHJlZU5vZGUuZ2V0KCkpOworICAgICAgICBzdGF0aWNUcmVlTm9kZS0+Y2hpbGRy
ZW4oKS5hcHBlbmQoc3RhdGljQ2hpbGQpOworICAgIH0KKyAgICByZXR1cm4gc3RhdGljVHJlZU5v
ZGU7Cit9CisgICAgCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmdlbmVyYXRlU3RhdGljQWNjZXNzaWJp
bGl0eVRyZWVJZk5lZWRlZCgpCit7CisgICAgaWYgKHJvb3RPYmplY3QoKS0+aW5pdGlhbGl6ZWRT
dGF0aWNUcmVlTm9kZSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgUmVmUHRyPEFYU3Rh
dGljVHJlZU5vZGU+IHJvb3QgPSB3YWxrQWNjZXNzaWJpbGl0eVRyZWVGb3JTdGF0aWNUcmVlKHJv
b3RPYmplY3QoKSk7CisgICAgQVhTdGF0aWNUcmVlQ2FjaGU6OnVwZGF0ZVN0YXRpY1RyZWVDYWNo
ZShyb290LCBtX2RvY3VtZW50LnBhZ2UoKSk7Cit9CisjZW5kaWYKKyAgICAKIHZvaWQgQVhPYmpl
Y3RDYWNoZTo6ZGVmZXJSZWNvbXB1dGVJc0lnbm9yZWRJZk5lZWRlZChFbGVtZW50KiBlbGVtZW50
KQogewogICAgIGlmICghbm9kZUFuZFJlbmRlcmVyQXJlVmFsaWQoZWxlbWVudCkpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkocmV2aXNpb24g
MjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCitjbGFzcyBBWFN0YXRpY1Ry
ZWVOb2RlOworI2VuZGlmCiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEhUTUxBcmVhRWxlbWVudDsK
IGNsYXNzIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OwpAQCAtMTgwLDYgKzE4MywxMyBAQAog
ICAgIHZvaWQgZGVmZXJBdHRyaWJ1dGVDaGFuZ2VJZk5lZWRlZChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRWxlbWVudCopOwogICAgIHZvaWQgcmVjb21wdXRlSXNJZ25vcmVkKFJlbmRlck9iamVjdCog
cmVuZGVyZXIpOwogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlSWZOZWVk
ZWQoKTsKKworICAgIHZvaWQgYXNzb2NpYXRlU3RhdGljVHJlZU5vZGUoQWNjZXNzaWJpbGl0eU9i
amVjdCosIEFYU3RhdGljVHJlZU5vZGUqKTsKKyAgICBSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4g
d2Fsa0FjY2Vzc2liaWxpdHlUcmVlRm9yU3RhdGljVHJlZShBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7
CisjZW5kaWYKKyAgICAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyB2b2lkIGRpc2FibGVBY2Nlc3NpYmlsaXR5KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVDYWNoZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhTdGF0
aWNUcmVlQ2FjaGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZUNhY2hlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDEwOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9T
VEFUSUNfVFJFRSkKKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFYU3RhdGljVHJl
ZUNhY2hlLmgiCisKKyNpbmNsdWRlICJBWFN0YXRpY1RyZWVOb2RlLmgiCisjaW5jbHVkZSAiUGFn
ZS5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisgICAgCitzdGF0aWMgTG9jayBzX3N0YXRpY1RyZWVMb2NrOworSGFzaE1hcDxQYWdlKiwg
UmVmUHRyPEFYU3RhdGljVHJlZUNhY2hlPj4mIEFYU3RhdGljVHJlZUNhY2hlOjpwYWdlUm9vdE1h
cCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8UGFnZSosIFJlZlB0cjxB
WFN0YXRpY1RyZWVDYWNoZT4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KKyAgICAKK0FYU3Rh
dGljVHJlZUNhY2hlOjpBWFN0YXRpY1RyZWVDYWNoZSgpCit7Cit9CisKK0FYU3RhdGljVHJlZUNh
Y2hlOjp+QVhTdGF0aWNUcmVlQ2FjaGUoKSA9IGRlZmF1bHQ7CisKK1JlZjxBWFN0YXRpY1RyZWVD
YWNoZT4gQVhTdGF0aWNUcmVlQ2FjaGU6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgQVhTdGF0aWNUcmVlQ2FjaGUoKSk7Cit9CisgICAgCitBWFN0YXRpY1RyZWVOb2RlKiBB
WFN0YXRpY1RyZWVDYWNoZTo6cm9vdFN0YXRpY1RyZWVOb2RlKFBhZ2UqIHBhZ2UpCit7CisgICAg
c19zdGF0aWNUcmVlTG9jay5sb2NrKCk7CisgICAgYXV0byBjYWNoZSA9IHBhZ2VSb290TWFwKCku
Z2V0KHBhZ2UpOworICAgIHNfc3RhdGljVHJlZUxvY2sudW5sb2NrKCk7CisgICAgaWYgKGNhY2hl
ICYmIGNhY2hlLT5tX3Jvb3ROb2RlKQorICAgICAgICByZXR1cm4gY2FjaGUtPm1fcm9vdE5vZGUu
Z2V0KCk7CisgICAgCisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQgQVhTdGF0aWNUcmVl
Q2FjaGU6OnVwZGF0ZVN0YXRpY1RyZWVDYWNoZShSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gcm9v
dCwgUGFnZSogcGFnZSkKK3sKKyAgICBzX3N0YXRpY1RyZWVMb2NrLmxvY2soKTsKKyAgICBhdXRv
IGNhY2hlID0gcGFnZVJvb3RNYXAoKS5nZXQocGFnZSk7CisgICAgaWYgKCFjYWNoZSkgeworICAg
ICAgICBSZWZQdHI8QVhTdGF0aWNUcmVlQ2FjaGU+IG5ld0NhY2hlID0gQVhTdGF0aWNUcmVlQ2Fj
aGU6OmNyZWF0ZSgpOworICAgICAgICBwYWdlUm9vdE1hcCgpLnNldChwYWdlLCBuZXdDYWNoZSk7
CisgICAgICAgIGNhY2hlID0gbmV3Q2FjaGUuZ2V0KCk7CisgICAgfQorICAgIAorICAgIGNhY2hl
LT5pbnRlcm5hbFVwZGF0ZVN0YXRpY1RyZWVDYWNoZShyb290KTsKKyAgICBzX3N0YXRpY1RyZWVM
b2NrLnVubG9jaygpOworfQorCitzdGF0aWMgYm9vbCBzZWFyY2hUcmVlQW5kUmVwbGFjZShSZWZQ
dHI8QVhTdGF0aWNUcmVlTm9kZT4gc2VhcmNoTm9kZSwgUmVmUHRyPEFYU3RhdGljVHJlZU5vZGU+
IG5ld1Jvb3QpCit7CisgICAgYXV0byBjaGlsZHJlbiA9IHNlYXJjaE5vZGUtPmNoaWxkcmVuKCk7
CisgICAgc2l6ZV90IGNvdW50ID0gY2hpbGRyZW4uc2l6ZSgpOworICAgIGZvciAoc2l6ZV90IGlu
ZGV4ID0gMDsgaW5kZXggPCBjb3VudDsgKytpbmRleCkgeworICAgICAgICBpZiAoY2hpbGRyZW5b
aW5kZXhdLT5pZGVudGlmaWVyKCkgPT0gbmV3Um9vdC0+aWRlbnRpZmllcigpKSB7CisgICAgICAg
ICAgICBjaGlsZHJlbi5pbnNlcnQoaW5kZXgsIG5ld1Jvb3QpOworICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmIChzZWFyY2hUcmVlQW5kUmVw
bGFjZShjaGlsZHJlbltpbmRleF0sIG5ld1Jvb3QpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorICAgIAordm9pZCBBWFN0YXRpY1RyZWVD
YWNoZTo6aW50ZXJuYWxVcGRhdGVTdGF0aWNUcmVlQ2FjaGUoUmVmUHRyPEFYU3RhdGljVHJlZU5v
ZGU+IHN1YlJvb3QpCit7CisgICAgQVNTRVJUKHNfc3RhdGljVHJlZUxvY2suaXNMb2NrZWQoKSk7
CisgICAgaWYgKCFtX3Jvb3ROb2RlKQorICAgICAgICBtX3Jvb3ROb2RlID0gc3ViUm9vdDsKKyAg
ICBlbHNlCisgICAgICAgIHNlYXJjaFRyZWVBbmRSZXBsYWNlKG1fcm9vdE5vZGUsIHN1YlJvb3Qp
OworfQorICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZUNhY2hlLmgJ
KG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1Ry
ZWUvQVhTdGF0aWNUcmVlQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKworI2luY2x1ZGUgIkFY
U3RhdGljVHJlZU5vZGUuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFBhZ2U7CisgICAgCitjbGFzcyBBWFN0YXRpY1RyZWVDYWNoZSA6IHB1
YmxpYyBSZWZDb3VudGVkPEFYU3RhdGljVHJlZUNhY2hlPiB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQVhTdGF0aWNUcmVlQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8QVhTdGF0aWNUcmVlQ2FjaGU+IGNyZWF0ZSgpOworICAgIHN0
YXRpYyB2b2lkIHVwZGF0ZVN0YXRpY1RyZWVDYWNoZShSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4s
IFBhZ2UqKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgQVhTdGF0aWNUcmVlTm9kZSogcm9v
dFN0YXRpY1RyZWVOb2RlKFBhZ2UqKTsKKyAgICBBWFN0YXRpY1RyZWVDYWNoZSgpOworICAgIHZp
cnR1YWwgfkFYU3RhdGljVHJlZUNhY2hlKCk7CisKK3ByaXZhdGU6CisgICAgdm9pZCBpbnRlcm5h
bFVwZGF0ZVN0YXRpY1RyZWVDYWNoZShSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4pOworICAgIHN0
YXRpYyBIYXNoTWFwPFBhZ2UqLCBSZWZQdHI8QVhTdGF0aWNUcmVlQ2FjaGU+PiYgcGFnZVJvb3RN
YXAoKTsKKworICAgIFJlZlB0cjxBWFN0YXRpY1RyZWVOb2RlPiBtX3Jvb3ROb2RlOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZU5vZGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGljVHJl
ZU5vZGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZU5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19U
UkVFKQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhTdGF0aWNUcmVlTm9kZS5o
IgorCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0FYU3RhdGljVHJlZU5vZGU6OkFYU3RhdGljVHJlZU5vZGUoQWNjZXNzaWJpbGl0eU9i
amVjdCogb2JqZWN0KQoreworICAgIG1faWRlbnRpZmllciA9IG9iamVjdC0+YXhPYmplY3RJRCgp
OworICAgIGluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKG9iamVjdCk7Cit9CisKK1JlZjxBWFN0YXRp
Y1RyZWVOb2RlPiBBWFN0YXRpY1RyZWVOb2RlOjpjcmVhdGUoQWNjZXNzaWJpbGl0eU9iamVjdCog
b2JqZWN0KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFYU3RhdGljVHJlZU5vZGUob2Jq
ZWN0KSk7Cit9CisgICAgCitBWFN0YXRpY1RyZWVOb2RlOjp+QVhTdGF0aWNUcmVlTm9kZSgpID0g
ZGVmYXVsdDsKKwordm9pZCBBWFN0YXRpY1RyZWVOb2RlOjppbml0aWFsaXplQXR0cmlidXRlRGF0
YShBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QpCit7CisgICAgc2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWU6OlJvbGVWYWx1ZSwgc3RhdGljX2Nhc3Q8aW50PihvYmplY3QtPnJvbGVWYWx1ZSgp
KSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCwgb2JqZWN0
LT5pc0F0dGFjaG1lbnQoKSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzTWVk
aWFDb250cm9sTGFiZWwsIG9iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKTsKKyAgICBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNBdHRhY2htZW50LCBvYmplY3QtPmlzQXR0YWNobWVu
dCgpKTsKK30KKyAgICAKK3ZvaWQgQVhTdGF0aWNUcmVlTm9kZTo6c2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQmJiB2YWx1ZSwgYm9v
bCBzaG91bGRSZW1vdmUpCit7CisgICAgaWYgKHNob3VsZFJlbW92ZSkKKyAgICAgICAgbV9hdHRy
aWJ1dGVNYXAucmVtb3ZlKHByb3BlcnR5TmFtZSk7CisgICAgZWxzZQorICAgICAgICBtX2F0dHJp
YnV0ZU1hcC5zZXQocHJvcGVydHlOYW1lLCB2YWx1ZSk7Cit9CisgICAgCitkb3VibGUgQVhTdGF0
aWNUcmVlTm9kZTo6ZG91YmxlQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVy
dHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChkb3VibGUmIHR5
cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRv
JikgeworICAgICAgICByZXR1cm4gMC4wOworICAgIH0pOworfQorCit1bnNpZ25lZCBBWFN0YXRp
Y1RyZWVOb2RlOjp1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3Bl
cnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAodW5zaWduZWQm
IHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChh
dXRvJikgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKworYm9vbCBBWFN0YXRpY1Ry
ZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBj
b25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1l
KTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChib29sJiB0eXBlZFZhbHVl
KSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0pOworfQorCitjb25zdCBTdHJpbmcmIEFYU3RhdGlj
VHJlZU5vZGU6OnN0cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFt
ZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5
TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAoU3RyaW5nJiB0eXBl
ZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYp
IHsKKyAgICAgICAgcmV0dXJuIG51bGxBdG9tKCk7CisgICAgfSk7Cit9CisKK2ludCBBWFN0YXRp
Y1RyZWVOb2RlOjppbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUp
IGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5h
bWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGludCYgdHlwZWRWYWx1
ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7Cisg
ICAgICAgIHJldHVybiAwOworICAgIH0pOworfQorCisjcHJhZ21hIG1hcmsgLSBPdmVycmlkZXMK
KyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNT
SUJJTElUWV9TVEFUSUNfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZU5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVOb2RlLmgJKG5vbmV4
aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhT
dGF0aWNUcmVlTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTE0IEBACisvKgorKiBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisKKyNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEFjY2Vzc2liaWxpdHlP
YmplY3Q7CisgICAgCitjbGFzcyBBWFN0YXRpY1RyZWVOb2RlIGZpbmFsIDogcHVibGljIEFjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UsIHB1YmxpYyBSZWZDb3VudGVkPEFYU3RhdGljVHJlZU5v
ZGU+IHsKKyAgICAKK2VudW0gY2xhc3MgQVhQcm9wZXJ0eU5hbWUgOiBpbnQgeworICAgIE5vbmUg
PSAwLAorICAgIFJvbGVWYWx1ZSA9IDEsCisgICAgSXNBdHRhY2htZW50LAorICAgIElzTWVkaWFD
b250cm9sTGFiZWwsCit9OworCitzdHJ1Y3QgQVhQcm9wZXJ0eUhhc2hUcmFpdHMgOiBXVEY6Okdl
bmVyaWNIYXNoVHJhaXRzPEFYUHJvcGVydHlOYW1lPiB7CisgICAgc3RhdGljIGNvbnN0IGJvb2wg
ZW1wdHlWYWx1ZUlzWmVybyA9IGZhbHNlOworICAgIHN0YXRpYyBBWFByb3BlcnR5TmFtZSBlbXB0
eVZhbHVlKCkgeyByZXR1cm4gQVhQcm9wZXJ0eU5hbWU6Ok5vbmU7IH07CisgICAgc3RhdGljIHZv
aWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKEFYUHJvcGVydHlOYW1lJiBzbG90KQorICAgIHsKKyAg
ICAgICAgc2xvdCA9IHN0YXRpY19jYXN0PEFYUHJvcGVydHlOYW1lPihzdGF0aWNfY2FzdDxpbnQ+
KEFYUHJvcGVydHlOYW1lOjpOb25lKSAtIDEpOworICAgIH0KKyAgICBzdGF0aWMgYm9vbCBpc0Rl
bGV0ZWRWYWx1ZShBWFByb3BlcnR5TmFtZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxpbnQ+KHZhbHVlKSA9PSBzdGF0aWNfY2FzdDxpbnQ+KEFYUHJvcGVydHlOYW1l
OjpOb25lKSAtIDE7CisgICAgfQorfTsKKworcHJvdGVjdGVkOgorICAgIEFYU3RhdGljVHJlZU5v
ZGUoKSA9IGRlZmF1bHQ7CisKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEFYU3RhdGljVHJlZU5v
ZGU+IGNyZWF0ZShBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CisgICAgdmlydHVhbCB+QVhTdGF0aWNU
cmVlTm9kZSgpOworCisgICAgQVhJRCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVu
dGlmaWVyOyB9CisgICAgCisgICAgVmVjdG9yPFJlZlB0cjxBWFN0YXRpY1RyZWVOb2RlPj4mIGNo
aWxkcmVuKCkgeyByZXR1cm4gbV9jaGlsZHJlbjsgfTsKKworICAgIHZvaWQgc2V0UGFyZW50KEFY
U3RhdGljVHJlZU5vZGUqIHBhcmVudCkgeyBtX3BhcmVudCA9IHBhcmVudDsgfQorICAgIEFYU3Rh
dGljVHJlZU5vZGUqIHBhcmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50OyB9CisgICAgCisg
ICAgQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIoKSBjb25zdCB7IHJldHVybiBt
X3dyYXBwZXIuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXIqIHdyYXBwZXIpCisgICAgeworICAgICAgICBtX3dyYXBwZXIgPSB3cmFwcGVyOwor
ICAgIH0KKworcHJpdmF0ZToKKyAgICBBWFN0YXRpY1RyZWVOb2RlKEFjY2Vzc2liaWxpdHlPYmpl
Y3QqKTsKKyAgICB2b2lkIGluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKEFjY2Vzc2liaWxpdHlPYmpl
Y3QqKTsKKyAgICAKKyAgICBib29sIGlzTWVkaWFDb250cm9sTGFiZWwoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OklzTWVkaWFDb250
cm9sTGFiZWwpOyB9CisgICAgYm9vbCBpc0F0dGFjaG1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCk7IH0K
KyAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5Um9sZT4oaW50QXR0cmlidXRlVmFsdWUoQVhQcm9w
ZXJ0eU5hbWU6OlJvbGVWYWx1ZSkpOyB9CisgICAgCisgICAgdXNpbmcgQXR0cmlidXRlVmFsdWVW
YXJpYW50ID0gVmFyaWFudDxzdGQ6Om51bGxwdHJfdCwgU3RyaW5nLCBib29sLCBpbnQsIHVuc2ln
bmVkLCBkb3VibGU+OworICAgIHZvaWQgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWUsIEF0dHJp
YnV0ZVZhbHVlVmFyaWFudCYmLCBib29sIHNob3VsZFJlbW92ZSA9IGZhbHNlKTsKKyAgICAKKyAg
ICBib29sIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgY29u
c3QgU3RyaW5nJiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7Cisg
ICAgaW50IGludEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICB1bnNp
Z25lZCB1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBk
b3VibGUgZG91YmxlQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIAor
ICAgIEFYSUQgbV9pZGVudGlmaWVyOworICAgIFZlY3RvcjxSZWZQdHI8QVhTdGF0aWNUcmVlTm9k
ZT4+IG1fY2hpbGRyZW47CisgICAgQVhTdGF0aWNUcmVlTm9kZSogbV9wYXJlbnQ7CisgICAgCisj
aWYgUExBVEZPUk0oQ09DT0EpCisgICAgUmV0YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyPiBtX3dyYXBwZXI7CisjZW5kaWYKKyAgICAKKyAgICBIYXNoTWFwPEFYUHJvcGVydHlO
YW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQsIFdURjo6SW50SGFzaDxBWFByb3BlcnR5TmFtZT4s
IEFYUHJvcGVydHlIYXNoVHJhaXRzPiBtX2F0dHJpYnV0ZU1hcDsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJF
RSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuaAkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5
LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRGb3Jt
Q29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCkBAIC04OSwxNTcgKzkw
LDYgQEAKIGNsYXNzIFNjcm9sbFZpZXc7CiBjbGFzcyBXaWRnZXQ7CiAKLXR5cGVkZWYgdW5zaWdu
ZWQgQVhJRDsKLQotZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7Ci0gICAgQW5ub3RhdGlv
biA9IDEsCi0gICAgQXBwbGljYXRpb24sCi0gICAgQXBwbGljYXRpb25BbGVydCwKLSAgICBBcHBs
aWNhdGlvbkFsZXJ0RGlhbG9nLAotICAgIEFwcGxpY2F0aW9uRGlhbG9nLAotICAgIEFwcGxpY2F0
aW9uR3JvdXAsCi0gICAgQXBwbGljYXRpb25Mb2csCi0gICAgQXBwbGljYXRpb25NYXJxdWVlLAot
ICAgIEFwcGxpY2F0aW9uU3RhdHVzLAotICAgIEFwcGxpY2F0aW9uVGV4dEdyb3VwLAotICAgIEFw
cGxpY2F0aW9uVGltZXIsCi0gICAgQXVkaW8sCi0gICAgQmxvY2txdW90ZSwKLSAgICBCcm93c2Vy
LAotICAgIEJ1c3lJbmRpY2F0b3IsCi0gICAgQnV0dG9uLAotICAgIENhbnZhcywKLSAgICBDYXB0
aW9uLAotICAgIENlbGwsCi0gICAgQ2hlY2tCb3gsCi0gICAgQ29sb3JXZWxsLAotICAgIENvbHVt
biwKLSAgICBDb2x1bW5IZWFkZXIsCi0gICAgQ29tYm9Cb3gsCi0gICAgRGVmaW5pdGlvbiwKLSAg
ICBEZXNjcmlwdGlvbkxpc3QsCi0gICAgRGVzY3JpcHRpb25MaXN0VGVybSwKLSAgICBEZXNjcmlw
dGlvbkxpc3REZXRhaWwsCi0gICAgRGV0YWlscywKLSAgICBEaXJlY3RvcnksCi0gICAgRGlzY2xv
c3VyZVRyaWFuZ2xlLAotICAgIERpdiwKLSAgICBEb2N1bWVudCwKLSAgICBEb2N1bWVudEFydGlj
bGUsCi0gICAgRG9jdW1lbnRNYXRoLAotICAgIERvY3VtZW50Tm90ZSwKLSAgICBEcmF3ZXIsCi0g
ICAgRWRpdGFibGVUZXh0LAotICAgIEZlZWQsCi0gICAgRmlndXJlLAotICAgIEZvb3RlciwKLSAg
ICBGb290bm90ZSwKLSAgICBGb3JtLAotICAgIEdyYXBoaWNzRG9jdW1lbnQsCi0gICAgR3JhcGhp
Y3NPYmplY3QsCi0gICAgR3JhcGhpY3NTeW1ib2wsCi0gICAgR3JpZCwKLSAgICBHcmlkQ2VsbCwK
LSAgICBHcm91cCwKLSAgICBHcm93QXJlYSwKLSAgICBIZWFkaW5nLAotICAgIEhlbHBUYWcsCi0g
ICAgSG9yaXpvbnRhbFJ1bGUsCi0gICAgSWdub3JlZCwKLSAgICBJbmxpbmUsCi0gICAgSW1hZ2Us
Ci0gICAgSW1hZ2VNYXAsCi0gICAgSW1hZ2VNYXBMaW5rLAotICAgIEluY3JlbWVudG9yLAotICAg
IExhYmVsLAotICAgIExhbmRtYXJrQmFubmVyLAotICAgIExhbmRtYXJrQ29tcGxlbWVudGFyeSwK
LSAgICBMYW5kbWFya0NvbnRlbnRJbmZvLAotICAgIExhbmRtYXJrRG9jUmVnaW9uLAotICAgIExh
bmRtYXJrTWFpbiwKLSAgICBMYW5kbWFya05hdmlnYXRpb24sCi0gICAgTGFuZG1hcmtSZWdpb24s
Ci0gICAgTGFuZG1hcmtTZWFyY2gsCi0gICAgTGVnZW5kLAotICAgIExpbmssCi0gICAgTGlzdCwK
LSAgICBMaXN0Qm94LAotICAgIExpc3RCb3hPcHRpb24sCi0gICAgTGlzdEl0ZW0sCi0gICAgTGlz
dE1hcmtlciwKLSAgICBNYXJrLAotICAgIE1hdGhFbGVtZW50LAotICAgIE1hdHRlLAotICAgIE1l
bnUsCi0gICAgTWVudUJhciwKLSAgICBNZW51QnV0dG9uLAotICAgIE1lbnVJdGVtLAotICAgIE1l
bnVJdGVtQ2hlY2tib3gsCi0gICAgTWVudUl0ZW1SYWRpbywKLSAgICBNZW51TGlzdFBvcHVwLAot
ICAgIE1lbnVMaXN0T3B0aW9uLAotICAgIE91dGxpbmUsCi0gICAgUGFyYWdyYXBoLAotICAgIFBv
cFVwQnV0dG9uLAotICAgIFByZSwKLSAgICBQcmVzZW50YXRpb25hbCwKLSAgICBQcm9ncmVzc0lu
ZGljYXRvciwKLSAgICBSYWRpb0J1dHRvbiwKLSAgICBSYWRpb0dyb3VwLAotICAgIFJvd0hlYWRl
ciwKLSAgICBSb3csCi0gICAgUm93R3JvdXAsCi0gICAgUnVieUJhc2UsCi0gICAgUnVieUJsb2Nr
LAotICAgIFJ1YnlJbmxpbmUsCi0gICAgUnVieVJ1biwKLSAgICBSdWJ5VGV4dCwKLSAgICBSdWxl
ciwKLSAgICBSdWxlck1hcmtlciwKLSAgICBTY3JvbGxBcmVhLAotICAgIFNjcm9sbEJhciwKLSAg
ICBTZWFyY2hGaWVsZCwKLSAgICBTaGVldCwKLSAgICBTbGlkZXIsCi0gICAgU2xpZGVyVGh1bWIs
Ci0gICAgU3BpbkJ1dHRvbiwKLSAgICBTcGluQnV0dG9uUGFydCwKLSAgICBTcGxpdEdyb3VwLAot
ICAgIFNwbGl0dGVyLAotICAgIFN0YXRpY1RleHQsCi0gICAgU3VtbWFyeSwKLSAgICBTd2l0Y2gs
Ci0gICAgU3lzdGVtV2lkZSwKLSAgICBTVkdSb290LAotICAgIFNWR1RleHQsCi0gICAgU1ZHVFNw
YW4sCi0gICAgU1ZHVGV4dFBhdGgsCi0gICAgVGFiR3JvdXAsCi0gICAgVGFiTGlzdCwKLSAgICBU
YWJQYW5lbCwKLSAgICBUYWIsCi0gICAgVGFibGUsCi0gICAgVGFibGVIZWFkZXJDb250YWluZXIs
Ci0gICAgVGV4dEFyZWEsCi0gICAgVGV4dEdyb3VwLAotICAgIFRlcm0sCi0gICAgVGltZSwKLSAg
ICBUcmVlLAotICAgIFRyZWVHcmlkLAotICAgIFRyZWVJdGVtLAotICAgIFRleHRGaWVsZCwKLSAg
ICBUb2dnbGVCdXR0b24sCi0gICAgVG9vbGJhciwKLSAgICBVbmtub3duLAotICAgIFVzZXJJbnRl
cmZhY2VUb29sdGlwLAotICAgIFZhbHVlSW5kaWNhdG9yLAotICAgIFZpZGVvLAotICAgIFdlYkFw
cGxpY2F0aW9uLAotICAgIFdlYkFyZWEsCi0gICAgV2ViQ29yZUxpbmssCi0gICAgV2luZG93LAot
fTsKLQogZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZSB7CiAgICAgQWx0ZXJuYXRp
dmUsCiAgICAgQ2hpbGRyZW4sCkBAIC00OTEsNyArMzQxLDcgQEAKICAgICAKIGJvb2wgbm9kZUhh
c1ByZXNlbnRhdGlvblJvbGUoTm9kZSopOwogICAgIAotY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVj
dCA6IHB1YmxpYyBSZWZDb3VudGVkPEFjY2Vzc2liaWxpdHlPYmplY3Q+IHsKK2NsYXNzIEFjY2Vz
c2liaWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0Piwg
cHVibGljIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UgewogcHJvdGVjdGVkOgogICAgIEFj
Y2Vzc2liaWxpdHlPYmplY3QoKSA9IGRlZmF1bHQ7CiAgICAgCkBAIC0xMTUwLDYgKzEwMDAsMTEg
QEAKICAgICB2b2lkIGNsZWFySXNJZ25vcmVkRnJvbVBhcmVudERhdGEoKSB7IG1faXNJZ25vcmVk
RnJvbVBhcmVudERhdGEgPSBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEoKTsg
fQogICAgIHZvaWQgc2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZChBY2Nlc3NpYmls
aXR5T2JqZWN0Kik7CiAgICAgCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUp
CisgICAgdm9pZCBzZXRJbml0aWFsaXplZFN0YXRpY1RyZWVOb2RlKGJvb2wgaW5pdGlhbGl6ZWQp
IHsgbV9zdGF0aWNUcmVlTm9kZUluaXRpYWxpemVkID0gaW5pdGlhbGl6ZWQ7IH0KKyAgICBib29s
IGluaXRpYWxpemVkU3RhdGljVHJlZU5vZGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRpY1RyZWVO
b2RlSW5pdGlhbGl6ZWQ7IH0KKyNlbmRpZgorICAgIAogcHJvdGVjdGVkOgogICAgIEFYSUQgbV9p
ZCB7IDAgfTsKICAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgbV9jaGlsZHJlbjsKQEAg
LTExNTksNyArMTAxNCwxMCBAQAogICAgIEFjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50
RGF0YSBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhIHsgfTsKICAgICBib29sIG1fY2hpbGRyZW5E
aXJ0eSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3N1YnRyZWVEaXJ0eSB7IGZhbHNlIH07Ci0KKyNp
ZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKyAgICBib29sIG1fc3RhdGljVHJl
ZU5vZGVJbml0aWFsaXplZCB7IGZhbHNlIH07CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHNldElz
SWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0
YSYgZGF0YSkgeyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhID0gZGF0YTsgfQogCiAgICAgdmly
dHVhbCBib29sIGNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QgeyByZXR1cm4g
dHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJKG5vbmV4aXN0ZW50KQorKysgU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit0eXBlZGVmIHVuc2lnbmVkIEFYSUQ7CisKK2Vu
dW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUgeworICAgIEFubm90YXRpb24gPSAxLAorICAgIEFw
cGxpY2F0aW9uLAorICAgIEFwcGxpY2F0aW9uQWxlcnQsCisgICAgQXBwbGljYXRpb25BbGVydERp
YWxvZywKKyAgICBBcHBsaWNhdGlvbkRpYWxvZywKKyAgICBBcHBsaWNhdGlvbkdyb3VwLAorICAg
IEFwcGxpY2F0aW9uTG9nLAorICAgIEFwcGxpY2F0aW9uTWFycXVlZSwKKyAgICBBcHBsaWNhdGlv
blN0YXR1cywKKyAgICBBcHBsaWNhdGlvblRleHRHcm91cCwKKyAgICBBcHBsaWNhdGlvblRpbWVy
LAorICAgIEF1ZGlvLAorICAgIEJsb2NrcXVvdGUsCisgICAgQnJvd3NlciwKKyAgICBCdXN5SW5k
aWNhdG9yLAorICAgIEJ1dHRvbiwKKyAgICBDYW52YXMsCisgICAgQ2FwdGlvbiwKKyAgICBDZWxs
LAorICAgIENoZWNrQm94LAorICAgIENvbG9yV2VsbCwKKyAgICBDb2x1bW4sCisgICAgQ29sdW1u
SGVhZGVyLAorICAgIENvbWJvQm94LAorICAgIERlZmluaXRpb24sCisgICAgRGVzY3JpcHRpb25M
aXN0LAorICAgIERlc2NyaXB0aW9uTGlzdFRlcm0sCisgICAgRGVzY3JpcHRpb25MaXN0RGV0YWls
LAorICAgIERldGFpbHMsCisgICAgRGlyZWN0b3J5LAorICAgIERpc2Nsb3N1cmVUcmlhbmdsZSwK
KyAgICBEaXYsCisgICAgRG9jdW1lbnQsCisgICAgRG9jdW1lbnRBcnRpY2xlLAorICAgIERvY3Vt
ZW50TWF0aCwKKyAgICBEb2N1bWVudE5vdGUsCisgICAgRHJhd2VyLAorICAgIEVkaXRhYmxlVGV4
dCwKKyAgICBGZWVkLAorICAgIEZpZ3VyZSwKKyAgICBGb290ZXIsCisgICAgRm9vdG5vdGUsCisg
ICAgRm9ybSwKKyAgICBHcmFwaGljc0RvY3VtZW50LAorICAgIEdyYXBoaWNzT2JqZWN0LAorICAg
IEdyYXBoaWNzU3ltYm9sLAorICAgIEdyaWQsCisgICAgR3JpZENlbGwsCisgICAgR3JvdXAsCisg
ICAgR3Jvd0FyZWEsCisgICAgSGVhZGluZywKKyAgICBIZWxwVGFnLAorICAgIEhvcml6b250YWxS
dWxlLAorICAgIElnbm9yZWQsCisgICAgSW5saW5lLAorICAgIEltYWdlLAorICAgIEltYWdlTWFw
LAorICAgIEltYWdlTWFwTGluaywKKyAgICBJbmNyZW1lbnRvciwKKyAgICBMYWJlbCwKKyAgICBM
YW5kbWFya0Jhbm5lciwKKyAgICBMYW5kbWFya0NvbXBsZW1lbnRhcnksCisgICAgTGFuZG1hcmtD
b250ZW50SW5mbywKKyAgICBMYW5kbWFya0RvY1JlZ2lvbiwKKyAgICBMYW5kbWFya01haW4sCisg
ICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAorICAgIExhbmRtYXJrUmVnaW9uLAorICAgIExhbmRtYXJr
U2VhcmNoLAorICAgIExlZ2VuZCwKKyAgICBMaW5rLAorICAgIExpc3QsCisgICAgTGlzdEJveCwK
KyAgICBMaXN0Qm94T3B0aW9uLAorICAgIExpc3RJdGVtLAorICAgIExpc3RNYXJrZXIsCisgICAg
TWFyaywKKyAgICBNYXRoRWxlbWVudCwKKyAgICBNYXR0ZSwKKyAgICBNZW51LAorICAgIE1lbnVC
YXIsCisgICAgTWVudUJ1dHRvbiwKKyAgICBNZW51SXRlbSwKKyAgICBNZW51SXRlbUNoZWNrYm94
LAorICAgIE1lbnVJdGVtUmFkaW8sCisgICAgTWVudUxpc3RQb3B1cCwKKyAgICBNZW51TGlzdE9w
dGlvbiwKKyAgICBPdXRsaW5lLAorICAgIFBhcmFncmFwaCwKKyAgICBQb3BVcEJ1dHRvbiwKKyAg
ICBQcmUsCisgICAgUHJlc2VudGF0aW9uYWwsCisgICAgUHJvZ3Jlc3NJbmRpY2F0b3IsCisgICAg
UmFkaW9CdXR0b24sCisgICAgUmFkaW9Hcm91cCwKKyAgICBSb3dIZWFkZXIsCisgICAgUm93LAor
ICAgIFJvd0dyb3VwLAorICAgIFJ1YnlCYXNlLAorICAgIFJ1YnlCbG9jaywKKyAgICBSdWJ5SW5s
aW5lLAorICAgIFJ1YnlSdW4sCisgICAgUnVieVRleHQsCisgICAgUnVsZXIsCisgICAgUnVsZXJN
YXJrZXIsCisgICAgU2Nyb2xsQXJlYSwKKyAgICBTY3JvbGxCYXIsCisgICAgU2VhcmNoRmllbGQs
CisgICAgU2hlZXQsCisgICAgU2xpZGVyLAorICAgIFNsaWRlclRodW1iLAorICAgIFNwaW5CdXR0
b24sCisgICAgU3BpbkJ1dHRvblBhcnQsCisgICAgU3BsaXRHcm91cCwKKyAgICBTcGxpdHRlciwK
KyAgICBTdGF0aWNUZXh0LAorICAgIFN1bW1hcnksCisgICAgU3dpdGNoLAorICAgIFN5c3RlbVdp
ZGUsCisgICAgU1ZHUm9vdCwKKyAgICBTVkdUZXh0LAorICAgIFNWR1RTcGFuLAorICAgIFNWR1Rl
eHRQYXRoLAorICAgIFRhYkdyb3VwLAorICAgIFRhYkxpc3QsCisgICAgVGFiUGFuZWwsCisgICAg
VGFiLAorICAgIFRhYmxlLAorICAgIFRhYmxlSGVhZGVyQ29udGFpbmVyLAorICAgIFRleHRBcmVh
LAorICAgIFRleHRHcm91cCwKKyAgICBUZXJtLAorICAgIFRpbWUsCisgICAgVHJlZSwKKyAgICBU
cmVlR3JpZCwKKyAgICBUcmVlSXRlbSwKKyAgICBUZXh0RmllbGQsCisgICAgVG9nZ2xlQnV0dG9u
LAorICAgIFRvb2xiYXIsCisgICAgVW5rbm93biwKKyAgICBVc2VySW50ZXJmYWNlVG9vbHRpcCwK
KyAgICBWYWx1ZUluZGljYXRvciwKKyAgICBWaWRlbywKKyAgICBXZWJBcHBsaWNhdGlvbiwKKyAg
ICBXZWJBcmVhLAorICAgIFdlYkNvcmVMaW5rLAorICAgIFdpbmRvdywKK307CisKK2NsYXNzIEFj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UgeworcHVibGljOgorICAgIHZpcnR1YWwgfkFjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UoKSA9IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFsIGJvb2wg
aXNNZWRpYUNvbnRyb2xMYWJlbCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIEFjY2Vzc2liaWxp
dHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdHRhY2ht
ZW50KCkgY29uc3QgPSAwOworfTsKKworfQorCisjZW5kaWYgLyogQWNjZXNzaWJpbGl0eU9iamVj
dEludGVyZmFjZV9oICovCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9B
WE9iamVjdENhY2hlTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0JKHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgUExB
VEZPUk0oTUFDKQogCisjaW1wb3J0ICJBWFN0YXRpY1RyZWVOb2RlLmgiCiAjaW1wb3J0ICJBY2Nl
c3NpYmlsaXR5T2JqZWN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5VGFibGUuaCIKICNpbXBv
cnQgIlJlbmRlck9iamVjdC5oIgpAQCAtMjM3LDYgKzIzOCwxNCBAQAogICAgIG9iai0+c2V0V3Jh
cHBlcihudWxscHRyKTsKIH0KIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVF
KQordm9pZCBBWE9iamVjdENhY2hlOjphc3NvY2lhdGVTdGF0aWNUcmVlTm9kZShBY2Nlc3NpYmls
aXR5T2JqZWN0KiBvYmplY3QsIEFYU3RhdGljVHJlZU5vZGUqIG5vZGUpCit7CisgICAgb2JqZWN0
LT53cmFwcGVyKCkuc3RhdGljVHJlZU5vZGUgPSBub2RlOworICAgIG5vZGUtPnNldFdyYXBwZXIo
b2JqZWN0LT53cmFwcGVyKCkpOworfQorI2VuZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2FjaGU6
OmF0dGFjaFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogewogICAgIFJldGFpblB0
cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gd3JhcHBlciA9IGFkb3B0TlMoW1tXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhbGxvY10gaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2Jq
ZWN0Om9ial0pOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgJ
KHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw5
ICszMSwxMyBAQAogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUg
PENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQorY2xhc3MgQVhTdGF0aWNUcmVlTm9kZTsK
KyNlbmRpZgogc3RydWN0IEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYTsKIGNsYXNzIEludFJl
Y3Q7CiBjbGFzcyBGbG9hdFBvaW50OwpAQCAtNDQsMTAgKzQ4LDIyIEBACiAKIEBpbnRlcmZhY2Ug
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIDogTlNPYmplY3QgewogICAgIFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG1fb2JqZWN0OworICAgIAorI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX1NUQVRJQ19UUkVFKQorICAgIFdlYkNvcmU6OkFYU3RhdGljVHJlZU5vZGUqIG1f
c3RhdGljVHJlZU5vZGU7CisjZW5kaWYKIH0KICAKIC0gKGlkKWluaXRXaXRoQWNjZXNzaWJpbGl0
eU9iamVjdDooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCopYXhPYmplY3Q7CisKKyNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBh
c3NpZ24pIFdlYkNvcmU6OkFYU3RhdGljVHJlZU5vZGUgKnN0YXRpY1RyZWVOb2RlOworI2VuZGlm
CisKIC0gKHZvaWQpZGV0YWNoOworCistIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlICopYXhCYWNraW5nT2JqZWN0OworCiAtIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KilhY2Nlc3NpYmlsaXR5T2JqZWN0OwogLSAoQk9PTCl1cGRhdGVPYmplY3RCYWNraW5nU3Rv
cmU7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0JKHJl
dmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzIsOSAr
MzIsMTEgQEAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAKICNpbXBvcnQgIkFYT2JqZWN0Q2Fj
aGUuaCIKKyNpbXBvcnQgIkFYU3RhdGljVHJlZU5vZGUuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxp
dHlBUklBR3JpZFJvdy5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxpc3QuaCIKICNpbXBvcnQg
IkFjY2Vzc2liaWxpdHlMaXN0Qm94LmgiCisjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgiCiAjaW1wb3J0
ICJBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVNwaW5C
dXR0b24uaCIKQEAgLTI3NCw2ICsyNzYsMjggQEAKICAgICByZXR1cm4gc2VsZjsKIH0KIAorI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQorLSAodm9pZClzZXRTdGF0aWNUcmVl
Tm9kZTooV2ViQ29yZTo6QVhTdGF0aWNUcmVlTm9kZSopc3RhdGljVHJlZU5vZGUKK3sKKyAgICBt
X3N0YXRpY1RyZWVOb2RlID0gc3RhdGljVHJlZU5vZGU7Cit9CisKKy0gKFdlYkNvcmU6OkFYU3Rh
dGljVHJlZU5vZGUqKXN0YXRpY1RyZWVOb2RlCit7CisgICAgcmV0dXJuIG1fc3RhdGljVHJlZU5v
ZGU7Cit9CisKKyNlbmRpZgorCistIChCT09MKWhhc1N0YXRpY0JhY2tpbmcKK3sKKyNpZiBFTkFC
TEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKyAgICByZXR1cm4gbV9zdGF0aWNUcmVlTm9k
ZSAhPSBudWxscHRyOworI2Vsc2UKKyAgICByZXR1cm4gTk87CisjZW5kaWYKK30KKwogLSAodm9p
ZClkZXRhY2gKIHsKICAgICBtX29iamVjdCA9IG51bGxwdHI7CkBAIC0yODEsNiArMzA1LDExIEBA
CiAKIC0gKEJPT0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3JlCiB7CisjaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFlfU1RBVElDX1RSRUUpCisgICAgaWYgKG1fc3RhdGljVHJlZU5vZGUpCisgICAgICAg
IHJldHVybiBZRVM7CisjZW5kaWYKKyAgICAKICAgICAvLyBDYWxsaW5nIHVwZGF0ZUJhY2tpbmdT
dG9yZSgpIGNhbiBpbnZhbGlkYXRlIHRoaXMgZWxlbWVudCBzbyBzZWxmIG11c3QgYmUgcmV0YWlu
ZWQuCiAgICAgLy8gSWYgaXQgZG9lcyBiZWNvbWUgaW52YWxpZGF0ZWQsIG1fb2JqZWN0IHdpbGwg
YmUgbmlsLgogICAgIENGUmV0YWluKChfX2JyaWRnZSBDRlR5cGVSZWYpc2VsZik7CkBAIC0zNTUs
MTEgKzM4NCwyMSBAQAogICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nXTsKIH0KIAorI2RlZmlu
ZSBfYXhCYWNraW5nT2JqZWN0IHNlbGYuYXhCYWNraW5nT2JqZWN0CistIChXZWJDb3JlOjpBY2Nl
c3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlICopYXhCYWNraW5nT2JqZWN0Cit7CisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisgICAgcmV0dXJuIG1fc3RhdGljVHJlZU5vZGU7
CisjZWxzZQorICAgIHJldHVybiBtX29iamVjdDsKKyNlbmRpZgorfQorCiAtIChOU1N0cmluZyAq
KWJhc2VBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24KIHsKICAgICAvLyBTdGF0aWMgdGV4dCBvYmpl
Y3RzIHNob3VsZCBub3QgaGF2ZSBhIGRlc2NyaXB0aW9uLiBJdHMgY29udGVudCBpcyBjb21tdW5p
Y2F0ZWQgaW4gaXRzIEFYVmFsdWUuCiAgICAgLy8gT25lIGV4Y2VwdGlvbiBpcyB0aGUgbWVkaWEg
Y29udHJvbCBsYWJlbHMgdGhhdCBoYXZlIGEgdmFsdWUgYW5kIGEgZGVzY3JpcHRpb24uIFRob3Nl
IGFyZSBzZXQgcHJvZ3JhbWF0aWNhbGx5LgotICAgIGlmIChtX29iamVjdC0+cm9sZVZhbHVlKCkg
PT0gQWNjZXNzaWJpbGl0eVJvbGU6OlN0YXRpY1RleHQgJiYgIW1fb2JqZWN0LT5pc01lZGlhQ29u
dHJvbExhYmVsKCkpCisgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpID09IEFj
Y2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNUZXh0ICYmICFfYXhCYWNraW5nT2JqZWN0LT5pc01lZGlh
Q29udHJvbExhYmVsKCkpCiAgICAgICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nXTsKICAgICAK
ICAgICBWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+IHRleHRPcmRlcjsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFj
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNDEyLDYgKzQxMiw4IEBACiAjZGVmaW5lIE5TQWNj
ZXNzaWJpbGl0eUxpbmtSZWxhdGlvbnNoaXBUeXBlQXR0cmlidXRlIEAiQVhMaW5rUmVsYXRpb25z
aGlwVHlwZSIKICNlbmRpZgogCisjZGVmaW5lIF9heEJhY2tpbmdPYmplY3Qgc2VsZi5heEJhY2tp
bmdPYmplY3QKKwogZXh0ZXJuICJDIiBBWFVJRWxlbWVudFJlZiBOU0FjY2Vzc2liaWxpdHlDcmVh
dGVBWFVJRWxlbWVudFJlZihpZCBlbGVtZW50KTsKIAogQGltcGxlbWVudGF0aW9uIFdlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyCkBAIC0yMDA5LDEwICsyMDExLDEwIEBACiAtIChOU1N0cmlu
Zyopcm9sZQogewogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCi0gICAg
aWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+
aXNBdHRhY2htZW50KCkpCiAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFj
Y2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlSb2xlQXR0cmlidXRlXTsK
ICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKLSAgICBBY2Nlc3NpYmlsaXR5
Um9sZSByb2xlID0gbV9vYmplY3QtPnJvbGVWYWx1ZSgpOworICAgIEFjY2Vzc2liaWxpdHlSb2xl
IHJvbGUgPSBfYXhCYWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKTsKIAogICAgIGlmIChyb2xlID09
IEFjY2Vzc2liaWxpdHlSb2xlOjpMYWJlbCAmJiBpczxBY2Nlc3NpYmlsaXR5TGFiZWw+KCptX29i
amVjdCkgJiYgZG93bmNhc3Q8QWNjZXNzaWJpbGl0eUxhYmVsPigqbV9vYmplY3QpLmNvbnRhaW5z
T25seVN0YXRpY1RleHQoKSkKICAgICAgICAgcm9sZSA9IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0
aWNUZXh0OwpAQCAtMjAzOSw3ICsyMDQxLDcgQEAKICAgICBpZiAobV9vYmplY3QtPmlzU2VhcmNo
RmllbGQoKSkKICAgICAgICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkU3Vicm9s
ZTsKICAgICAKLSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgaWYgKF9h
eEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAgIE5TVmlldyogYXR0YWNo
VmlldyA9IFtzZWxmIGF0dGFjaG1lbnRWaWV3XTsKICAgICAgICAgaWYgKFtbYXR0YWNoVmlldyBh
Y2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0
eVN1YnJvbGVBdHRyaWJ1dGVdKQogICAgICAgICAgICAgcmV0dXJuIFthdHRhY2hWaWV3IGFjY2Vz
c2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlTdWJyb2xlQXR0cmlidXRlXTsK
QEAgLTIyNTAsNyArMjI1Miw3IEBACiAKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9O
U19CRUdJTgogICAgIC8vIGF0dGFjaG1lbnRzIGhhdmUgdGhlIEFYSW1hZ2Ugcm9sZSwgYnV0IGEg
ZGlmZmVyZW50IHN1YnJvbGUKLSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKQorICAg
IGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKICAgICAgICAgcmV0dXJuIFtb
c2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNz
aWJpbGl0eVJvbGVEZXNjcmlwdGlvbkF0dHJpYnV0ZV07CiAgICAgQUxMT1dfREVQUkVDQVRFRF9E
RUNMQVJBVElPTlNfRU5ECiAKQEAgLTI2MDcsNyArMjYwOSw3IEBACiAgICAgICAgIHJldHVybiBb
TlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6IG1fb2JqZWN0LT5pc1Zpc2l0ZWQoKV07CiAgICAgCiAg
ICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5VGl0
bGVBdHRyaWJ1dGVdKSB7Ci0gICAgICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsK
KyAgICAgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAg
ICAgICBpZiAoW1tbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5h
bWVzXSBjb250YWluc09iamVjdDpOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV0pCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0
dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0cmlidXRlXTsKICAgICAgICAgfQpA
QCAtMjYyNCw3ICsyNjI2LDcgQEAKICAgICB9CiAgICAgCiAgICAgaWYgKFthdHRyaWJ1dGVOYW1l
IGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdKSB7
Ci0gICAgICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICAgICAgaWYgKF9h
eEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAgICAgICBpZiAoW1tbc2Vs
ZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09i
amVjdDpOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV0pCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZh
bHVlOk5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXTsKICAgICAgICAgfQpAQCAt
MjYzMiw3ICsyNjM0LDcgQEAKICAgICB9CiAgICAgCiAgICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlz
RXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdKSB7Ci0gICAgICAg
IGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICAgICAgaWYgKF9heEJhY2tpbmdP
YmplY3QtPmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAgICAgICBpZiAoW1tbc2VsZiBhdHRhY2ht
ZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09iamVjdDpOU0Fj
Y2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIFtbc2Vs
ZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJp
bGl0eVZhbHVlQXR0cmlidXRlXTsKICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDIz
OTcxOCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNv
bT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdEJhc2UubW06CisgICAgICAgICgtW1dLQWNjZXNzaWJpbGl0eVdlYlBh
Z2VPYmplY3RCYXNlIGFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcl0pOgorCiAyMDE5LTAx
LTA3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmVtb3ZlIHVzZSBvZiBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uIGZyb20gQ2FjaGVTdG9y
YWdlOjpFbmdpbmU6OmZyb20KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291
cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2lu
ZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NP
Q09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29h
dG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVf
QUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5B
QkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBo
b25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0
b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAKIEVOQUJMRV9YU0xU
ID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BB
WV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQ
TElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9D
U1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NT
X1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJL
X01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRF
UkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAk
KEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9O
X09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRf
Q09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxF
X0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxF
X0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9N
QUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RB
TkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNF
X0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dP
UktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUND
RVNTSUJJTElUWV9TVEFUSUNfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFf
SU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JU
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJF
UykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FDQ0VTUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJM
RV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNF
Ul9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFS
SUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRf
RlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5B
QkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9T
VFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9X
RUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQ
YWdlT2JqZWN0QmFzZS5tbQkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBACiAjaW1wb3J0ICJXS1N0cmluZy5oIgogI2lt
cG9ydCAiV0tTdHJpbmdDRi5oIgogI2ltcG9ydCA8V2ViQ29yZS9BWE9iamVjdENhY2hlLmg+Cisj
aW1wb3J0IDxXZWJDb3JlL0FYU3RhdGljVHJlZUNhY2hlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Rv
Y3VtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zy
YW1lVmlldy5oPgpAQCAtNDcsNiArNDgsMTggQEAKIAogQGltcGxlbWVudGF0aW9uIFdLQWNjZXNz
aWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlCiAKKy0gKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqKWF4
T2JqZWN0Q2FjaGUKK3sKKyAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gbV9wYWdlLT5jb3JlUGFn
ZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKyAgICBXZWJDb3JlOjpG
cmFtZSYgY29yZSA9IHBhZ2UtPm1haW5GcmFtZSgpOworICAgIGlmICghY29yZS5kb2N1bWVudCgp
KQorICAgICAgICByZXR1cm4gbmlsOworICAgIAorICAgIHJldHVybiBjb3JlLmRvY3VtZW50KCkt
PmF4T2JqZWN0Q2FjaGUoKTsKK30KKwogLSAoaWQpYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFw
cGVyCiB7CiAgICAgaWYgKCFXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5h
YmxlZCgpKQpAQCAtNjIsMTggKzc1LDMwIEBACiAgICAgV2ViQ29yZTo6UGFnZSogcGFnZSA9IG1f
cGFnZS0+Y29yZVBhZ2UoKTsKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBuaWw7Ci0g
ICAgCi0gICAgV2ViQ29yZTo6RnJhbWUmIGNvcmUgPSBwYWdlLT5tYWluRnJhbWUoKTsKLSAgICBp
ZiAoIWNvcmUuZG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIG5pbDsKLSAgICAKLSAgICBXZWJD
b3JlOjpBWE9iamVjdENhY2hlKiBjYWNoZSA9IGNvcmUuZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNo
ZSgpOworCisgICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBbc2VsZiBheE9iamVjdENhY2hlXTsK
ICAgICBpZiAoIWNhY2hlKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAorI2lmIEVOQUJMRShB
Q0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQorICAgIEFYU3RhdGljVHJlZU5vZGUqIHN0YXRpY1Jv
b3QgPSBBWFN0YXRpY1RyZWVDYWNoZTo6cm9vdFN0YXRpY1RyZWVOb2RlKHBhZ2UpOworICAgIGlm
ICghc3RhdGljUm9vdCkgeworICAgICAgICBhdXRvIGdlbmVyYXRlQmxvY2sgPSBbJmNhY2hlXSB7
CisgICAgICAgICAgICBjYWNoZS0+Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVl
ZGVkKCk7CisgICAgICAgIH07CisgICAgICAgIAorICAgICAgICBpZiAoUnVuTG9vcDo6aXNNYWlu
KCkpCisgICAgICAgICAgICBnZW5lcmF0ZUJsb2NrKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGRpc3BhdGNoX3N5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgZ2VuZXJhdGVCbG9j
ayk7CisgICAgfQorICAgIAorICAgIGlmICgoc3RhdGljUm9vdCA9IEFYU3RhdGljVHJlZUNhY2hl
Ojpyb290U3RhdGljVHJlZU5vZGUocGFnZSkpKQorICAgICAgICByZXR1cm4gc3RhdGljUm9vdC0+
d3JhcHBlcigpOworI2Vsc2UKICAgICBpZiAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCog
cm9vdCA9IGNhY2hlLT5yb290T2JqZWN0KCkpCiAgICAgICAgIHJldHVybiByb290LT53cmFwcGVy
KCk7Ci0gICAgCisjZW5kaWYKICAgICByZXR1cm4gbmlsOwogfQogCkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0x
MSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJ
bnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTkt
MDEtMDcgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVm
ZXIgUmV0YWluUHRyPE5TT2JqZWN0PiB0byBSZXRhaW5QdHI8TlNPYmplY3QgKj4KSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29y
a2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdL
X0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2Nv
Y29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFC
TEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQo
RU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11
bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAKIEVOQUJMRV9Y
U0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5T
Rk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVf
QVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
Q1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9E
QVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9J
TlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNU
SU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9B
UkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5B
QkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5B
QkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
U1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFV
RVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNF
X1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1C
TFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVf
QUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5B
QkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFC
TEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQ
T1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFU
VVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FDQ0VTUykgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVz
LmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQko
cmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCSh3
b3JraW5nIGNvcHkpCkBAIC0xODcsNiArMTg3LDcgQEAKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfU01PT1RIX1NDUk9MTElORyAiVG9nZ2xlIHNtb290aCBzY3JvbGxpbmciIFBSSVZB
VEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMg
IlRvZ2dsZSBTcGVlY2ggU3ludGhlc2lzIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1BFTExDSEVDSyAiVG9nZ2xlIFNwZWxsY2hlY2tp
bmcgc3VwcG9ydCAocmVxdWlyZXMgRW5jaGFudCkiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFICJUb2dnbGUgc3Rh
dGljIGFjY2Vzc2liaWxpdHkgdHJlZSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfU1RSRUFNU19BUEkgIlRvZ2dsZSBTdHJlYW1zIEFQSSBzdXBw
b3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TVkdfRk9O
VFMgIlRvZ2dsZSBTVkcgRm9udHMgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04gIlRvZ2dsZSB0ZWxl
cGhvbmUgbnVtYmVyIGRldGVjdGlvbiBzdXBwb3J0IiBQUklWQVRFIE9GRikKSW5kZXg6IFRvb2xz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzOTg2
MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisy
MDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAg
ICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTEwICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBw
bGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZpeCB0eXBvIHRoYXQgYnJlYWtzIGRhc2hi
b2FyZCBsaW5rLgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMzk3MTgpCisr
KyBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7
CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFID0gOworCiBFTkFCTEVfQVBQTEVf
UEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQ
UExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lw
aG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDIsNCArNDA0LDQgQEAKIAog
RU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQo
RU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVU
RSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdF
UikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlN
RU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChF
TkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRB
TCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
NCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRT
KSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
UkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVO
VEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMS0VZQk9BUkRfQUND
RVNTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAk
KEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJV
VEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElT
VElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19Q
UkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VT
RVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dF
QkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358899</attachid>
            <date>2019-01-11 08:44:50 -0800</date>
            <delta_ts>2019-01-11 08:57:55 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>96656</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogZXh0ZW5kIFhIUiBicmVha3BvaW50cyB0byB3b3JrIHdpdGgg
ZmV0Y2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIzOTcxOCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
OwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExF
X1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9B
UFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9p
cGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAK
IEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFH
X1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFC
TEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJV
VEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFH
RVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9Y
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVU
QUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitG
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5U
UykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FD
Q0VTUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19V
U0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
QVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24g
MjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNDQgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxl
LmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJl
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBpbXByb3ZlIHBlcmZvcm1h
bmNlIHdoZW4gcmVxdWVzdGluZyB0aGUgYWNjZXNzaWJpbGl0eSBoaWVyYXJjaHksIHdlIGludHJv
ZHVjZSB0aGUgaWRlYSBvZiBhICJzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlIiB3aGljaCBjb3Vs
ZCBiZSBhY2Nlc3NlZCBvbiBhIGRpZmZlcmVudCB0aHJlYWQgYnkgYXNzaXN0aXZlIHRlY2hub2xv
Z2llcy4KKyAgICAgICAgVGhhdCBpcyBhY2NvbXBsaXNoZWQgYnkgc3RvcmluZyBhbGwgdGhlIGRh
dGEgbmVlZGVkIHRvIGFuc3dlciBhY2Nlc3NpYmlsaXR5IGF0dHJpYnV0ZSBxdWVyaWVzIGluIGEg
c3RhdGljIG9iamVjdCB0aGF0IG1pcnJvcnMgdGhlICJsaXZlIiBBY2Nlc3NpYmlsaXR5T2JqZWN0
cyAod2hpY2ggaW50ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVzKS4KKyAgICAg
ICAgVGhlc2Ugc3RhdGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFmdGVyIGxheW91
dCBpcyBkb25lIGFuZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBUaGV5IGFyZSB0
aGVuIHN0b3JlZCBpbiB0aGUgc3RhdGljIHRyZWUgcmVwcmVzZW50YXRpb24gYW5kIGFibGUgdG8g
YmUgcmVhZCBmcm9tIGFueXdoZXJlLgorICAgICAgICBUYWN0aWNhbGx5IHRoaXMgaXMgZG9uZSB3
aXRoIEFYU3RhdGljVHJlZU5vZGVzIGluc2lkZSBvZiBhbiBBWFN0YXRpY1RyZWVDYWNoZS4gVGhl
IFRyZWVOb2RlcyBpbXBsZW1lbnQgYW4gQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSBzaGFy
ZWQgd2l0aCBBY2Nlc3NpYmlsaXR5T2JqZWN0CisgICAgICAgIFRoaXMgYWxsb3dzIHRoZSB3cmFw
cGVycyB0byBhY2Nlc3MgZWl0aGVyIG9uZSBkZXBlbmRpbmcgb24gY29uZGl0aW9ucyBhbmQgcGxh
dGZvcm1zIHdpdGhvdXQgc2lnbmlmaWNhbnQgY29kZSBkdXBsaWNhdGlvbiBvciByZS1vcmdhbml6
YXRpb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBlcmZvcm1EZWZlcnJlZENhY2hl
VXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OndhbGtBY2Nlc3NpYmls
aXR5VHJlZUZvclN0YXRpY1RyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OnNldEluaXRpYWxpemVkU3RhdGljVHJlZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eU9iamVjdDo6aW5pdGlhbGl6ZWRTdGF0aWNUcmVlTm9kZSBjb25zdCk6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OkFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZVN0YXRpY1RyZWVOb2RlKToKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJh
c2UubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBzZXRT
dGF0aWNUcmVlTm9kZTpdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlIHN0YXRpY1RyZWVOb2RlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQmFzZSBoYXNTdGF0aWNCYWNraW5nXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZSB1cGRhdGVPYmplY3RCYWNraW5nU3RvcmVdKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGF4QmFja2luZ09iamVjdF0p
OgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgYmFzZUFjY2Vz
c2liaWxpdHlEZXNjcmlwdGlvbl0pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlciByb2xlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyIHN1YnJvbGVdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgcm9sZURlc2NyaXB0aW9uXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpdKToKKwogMjAxOS0wMS0wNyAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggaW4gU1dT
ZXJ2ZXI6OkNvbm5lY3Rpb246OnJlc29sdmVSZWdpc3RyYXRpb25SZWFkeVJlcXVlc3RzCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQw
LDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElD
X1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19Q
TEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExF
X1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BB
WTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVS
TUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RS
RUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVT
VCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklU
X1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJN
RVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAx
LTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6
IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAx
OS0wMS0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogTmV0d29yazogc2hvdyBzZWN1cmUgY29ubmVjdGlvbiBkZXRhaWxzIHBlci1y
ZXF1ZXN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChX
S19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19j
b2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5B
QkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAk
KEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZ
X2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2lt
dWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVf
WFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFf
SU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JU
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJF
UykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VN
QkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5B
QkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQ
UE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVB
VFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxF
X0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChF
TkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVN
RU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAk
KEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1C
TFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFC
TEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyMzk3
MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzY2
LDYgKzM2Niw4IEBACiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlLmNwcAogYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZUl0ZW0uY3BwCiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
bGVTZXRWYWx1ZUV2ZW50LmNwcAorYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhTdGF0aWNU
cmVlQ2FjaGUuY3BwCithY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVOb2Rl
LmNwcAogCiBhbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmNwcAogYW5pbWF0aW9uL0FuaW1hdGlv
blBsYXliYWNrRXZlbnQuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTY5NCw2ICs2OTQsNyBAQAogCQkyNkY5QTgzODE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRD
b25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI2RjlBODM2MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24u
Y3BwICovOyB9OwogCQkyNkY5QTgzOTE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1
cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
NkY5QTgzNzE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkxNEUzMDgxQ0FC
NUE0NDAwNDk5NjZGIC8qIEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYg
LyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLzsgfTsKKwkJMjkzNkJGNUMyMUQ2OUU0QjAw
NEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MzZCRjVBMjFENjk5OUUwMDRBOEZDOSAv
KiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkzRUFFMUYxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjkzRUFFMUUxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNh
dGlvbkNoZWNrcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTI5NDg5RkM3MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmll
dy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk0ODlG
QzUxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmggKi87IH07CiAJ
CTI5N0JFM0Q1MTZDMDNDMDgwMDMzMTZCRCAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVy
YW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjUy
N0NDOTExNkJGOEJBMTAwOUREQUMwIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNl
LmggKi87IH07CkBAIC03MTUsNiArNzE2LDggQEAKIAkJMjlBODEyNDMwRkJCOUMxRDAwNTEwMjkz
IC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTIyNTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0
eUxpc3RCb3guaCAqLzsgfTsKIAkJMjlBODEyNDkwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMjlBODEyNDUwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTI5QUNCMjEyMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmls
aXR5TW9ja09iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMjlBQ0IyMTExNDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0
LmggKi87IH07CisJCTI5QUUyMTJEMjFBQjlFRUIwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVDYWNo
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBRTIx
MkIyMUFCOUVFQjAwODY5MjgzIC8qIEFYU3RhdGljVHJlZUNhY2hlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMjlBRTIxMzUyMUFCQTQ4QTAwODY5
MjgzIC8qIEFYU3RhdGljVHJlZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVO
b2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
MjlEN0JDRkExNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUQ3QkNGOTE0NDRB
RjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLzsgfTsKIAkJMjlGQUY0
QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUZBRjRCNTE5NUFCMDg5
MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyQjM2NUM4NDE1MjUxMTlFMDA5MUQy
N0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2MDAwREJCQ0Q4IC8qIFJlbmRlclNWR0VsbGlw
c2UuaCAqLzsgfTsKQEAgLTY1MzAsNiArNjUzMyw3IEBACiAJCTI4REI5QkM3MjAyMEVBMDQwMEU1
NEEwNyAvKiBQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyOTE0RTMwNTFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0
dGFjaG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTE0RTMwNjFDQUI1
QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9iamVjdElu
dGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNFQUUxRTEzNTZCMkZF
MDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0
eVNjcm9sbFZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJp
bGl0eVNjcm9sbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjk0OTg2ODEx
OTUzNDE5NDAwNzJEMkJEIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBN
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NTc3LDYgKzY1ODEsMTAgQEAK
IAkJMjlBODEyNDcwRkJCOUNBOTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVNYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBWE9iamVjdENhY2hlTWFjLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyog
QWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMjlBQ0IyMTMxNDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNb2Nr
T2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMkIyMUFCOUVF
QjAwODY5MjgzIC8qIEFYU3RhdGljVHJlZUNhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFYU3RhdGlj
VHJlZUNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJDMjFBQjlF
RUIwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBB
WFN0YXRpY1RyZWVDYWNoZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUy
MTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVOb2RlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEFYU3RhdGljVHJlZU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIx
MzQyMUFCQTQ4QTAwODY5MjgzIC8qIEFYU3RhdGljVHJlZU5vZGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQVhTdGF0aWNUcmVlTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI5RDdCQ0Y1MTQ0NEFGNTgwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RDdCQ0Y5MTQ0NEFGN0Qw
MDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyOUUwNEEyN0JFRDJGODFGOThFOTAyMkIgLyogSlNCZWZvcmVVbmxvYWRF
dmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JlZm9yZVVubG9hZEV2
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjk3Nyw2ICsxNjk4NSw3IEBA
CiAJCQkJMjk4NTcwOTMxNUNDNTMyRDAwNjM1NUNEIC8qIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0
LmggKi8sCiAJCQkJMjk4MUNBQTUxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwICovLAogCQkJCTI5QTgxMjE4MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5
T2JqZWN0LmggKi8sCisJCQkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCAqLywKIAkJCQlBNDA5Qzk4MjExNkQwREREMDA3MTk3QkQgLyog
QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcCAqLywKIAkJCQlBNDA5Qzk4MzExNkQw
REREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmggKi8sCiAJCQkJ
Mjk4MUNBQTYxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
ICovLApAQCAtMTcwMTUsNiArMTcwMjQsNyBAQAogCQkJCTI5ODFDQUFGMTMxODIyRUMwMEQxMkYy
QSAvKiBBWE9iamVjdENhY2hlLmNwcCAqLywKIAkJCQkyOUE4MTIxQTBGQkI5QzFEMDA1MTAyOTMg
LyogQVhPYmplY3RDYWNoZS5oICovLAogCQkJCTkxQzlGMkY4MUFFM0JFMjQwMDk1QjYxQyAvKiBB
WFRleHRTdGF0ZUNoYW5nZUludGVudC5oICovLAorCQkJCTI5QUUyMTI5MjFBQjlFQ0IwMDg2OTI4
MyAvKiBBWFN0YXRpY1RyZWUgKi8sCiAJCQkpOwogCQkJcGF0aCA9IGFjY2Vzc2liaWxpdHk7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTcwMzIsNiArMTcwNDIsMTcgQEAKIAkJCXBh
dGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQkyOUFFMjEyOTIx
QUI5RUNCMDA4NjkyODMgLyogQVhTdGF0aWNUcmVlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7
CisJCQljaGlsZHJlbiA9ICgKKwkJCQkyOUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhTdGF0
aWNUcmVlQ2FjaGUuaCAqLywKKwkJCQkyOUFFMjEyQzIxQUI5RUVCMDA4NjkyODMgLyogQVhTdGF0
aWNUcmVlQ2FjaGUuY3BwICovLAorCQkJCTI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0
YXRpY1RyZWVOb2RlLmggKi8sCisJCQkJMjlBRTIxMzQyMUFCQTQ4QTAwODY5MjgzIC8qIEFYU3Rh
dGljVHJlZU5vZGUuY3BwICovLAorCQkJKTsKKwkJCXBhdGggPSBBWFN0YXRpY1RyZWU7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQkyRDA2MjE0NjFEQTYzOUVDMDBBN0ZCMjYg
LyogbGVnYWN5ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAg
LTI5NTkyLDYgKzI5NjEzLDcgQEAKIAkJCQkxQUUyQUE5ODBBMUNERDJEMDBCNDJCMjUgLyogSlNI
VE1MSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODBFN0U5NzBBMUE4M0UzMDA3
RkI4QzUgLyogSlNIVE1MSW5wdXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzZCMDk1
NjFGNUYzNEQ5MDAzQzM3MDIgLyogSlNIVE1MSW5wdXRFbGVtZW50RW50cmllc0FQSS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMjkzNkJGNUMyMUQ2OUU0QjAwNEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlP
YmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE2MTQ4QTc5MTJFNDFFM0IwMDQ0
QTc4NCAvKiBKU0hUTUxLZXlnZW5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUIy
MjBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGFiZWxFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUUyQUIyNDBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGVnZW5kRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zMTA0Myw2ICszMTA2NSw3IEBACiAJCQkJNTE0MDVDODkxOTBCMDE0
NDAwNzU0Rjk0IC8qIFNlbGVjdGlvblJlY3RHYXRoZXJlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTQ0QjRCQjQxNDE2NTBENzAwMkIxRDhCIC8qIFNlbGVjdG9yQ2hlY2tlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDMyRDNGRTgxOEE4NjU4NDAwRDdEQzAzIC8qIFNlbGVjdG9yQ2hlY2tlclRlc3RG
dW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAv
KiBBWFN0YXRpY1RyZWVOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkI5OTk5NzE4MDRENTQy
MDBEMDExMjEgLyogU2VsZWN0b3JDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE1MDcx
NTgxNjg1MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0MzEwN0JFMjE4Q0MxOURFMDBDQzE4RTggLyogU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmggaW4g
SGVhZGVycyAqLywKQEAgLTMxOTczLDYgKzMxOTk2LDcgQEAKIAkJCQk5NzdFMkUwRjEyRjBGQzlD
MDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTQx
NkZFNjE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0E1NTE1RjUxOTE4MzBBMzAwOTY4N0QyIC8qIFlvdVR1YmVQbHVnaW5S
ZXBsYWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMkQyMUFCOUVFQjAwODY5Mjgz
IC8qIEFYU3RhdGljVHJlZUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDUzNzM1MzEzN0I2
NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCShyZXZpc2lvbiAyMzk3MTgpCisr
KyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMiw2ICszMiw4IEBACiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAK
KyNpbmNsdWRlICJBWFN0YXRpY1RyZWVDYWNoZS5oIgorI2luY2x1ZGUgIkFYU3RhdGljVHJlZU5v
ZGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaCIKICNpbmNsdWRlICJBY2Nl
c3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFSSUFHcmlk
Um93LmgiCkBAIC0yOTA1LDggKzI5MDcsMzYgQEAKICAgICBmb3IgKGF1dG8mIGRlZmVycmVkRm9j
dXNlZENoYW5nZUNvbnRleHQgOiBtX2RlZmVycmVkRm9jdXNlZE5vZGVDaGFuZ2UpCiAgICAgICAg
IGhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkKGRlZmVycmVkRm9jdXNlZENoYW5nZUNvbnRl
eHQuZmlyc3QsIGRlZmVycmVkRm9jdXNlZENoYW5nZUNvbnRleHQuc2Vjb25kKTsKICAgICBtX2Rl
ZmVycmVkRm9jdXNlZE5vZGVDaGFuZ2UuY2xlYXIoKTsKKworI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZX1NUQVRJQ19UUkVFKQorICAgIGdlbmVyYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWVJZk5l
ZWRlZCgpOworI2VuZGlmCiB9CiAgICAgCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElD
X1RSRUUpCitSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gQVhPYmplY3RDYWNoZTo6d2Fsa0FjY2Vz
c2liaWxpdHlUcmVlRm9yU3RhdGljVHJlZShBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QpCit7
CisgICAgUmVmUHRyPEFYU3RhdGljVHJlZU5vZGU+IHN0YXRpY1RyZWVOb2RlID0gQVhTdGF0aWNU
cmVlTm9kZTo6Y3JlYXRlKG9iamVjdCk7CisgICAgb2JqZWN0LT5zZXRJbml0aWFsaXplZFN0YXRp
Y1RyZWVOb2RlKHRydWUpOworICAgIGFzc29jaWF0ZVN0YXRpY1RyZWVOb2RlKG9iamVjdCwgc3Rh
dGljVHJlZU5vZGUuZ2V0KCkpOworICAgIGZvciAoYXV0byBjaGlsZCA6IG9iamVjdC0+Y2hpbGRy
ZW4oKSkgeworICAgICAgICBhdXRvIHN0YXRpY0NoaWxkID0gd2Fsa0FjY2Vzc2liaWxpdHlUcmVl
Rm9yU3RhdGljVHJlZShjaGlsZC5nZXQoKSk7CisgICAgICAgIHN0YXRpY0NoaWxkLT5zZXRQYXJl
bnQoc3RhdGljVHJlZU5vZGUuZ2V0KCkpOworICAgICAgICBzdGF0aWNUcmVlTm9kZS0+Y2hpbGRy
ZW4oKS5hcHBlbmQoc3RhdGljQ2hpbGQpOworICAgIH0KKyAgICByZXR1cm4gc3RhdGljVHJlZU5v
ZGU7Cit9CisgICAgCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmdlbmVyYXRlU3RhdGljQWNjZXNzaWJp
bGl0eVRyZWVJZk5lZWRlZCgpCit7CisgICAgaWYgKHJvb3RPYmplY3QoKS0+aW5pdGlhbGl6ZWRT
dGF0aWNUcmVlTm9kZSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgUmVmUHRyPEFYU3Rh
dGljVHJlZU5vZGU+IHJvb3QgPSB3YWxrQWNjZXNzaWJpbGl0eVRyZWVGb3JTdGF0aWNUcmVlKHJv
b3RPYmplY3QoKSk7CisgICAgQVhTdGF0aWNUcmVlQ2FjaGU6OnVwZGF0ZVN0YXRpY1RyZWVDYWNo
ZShyb290LCBtX2RvY3VtZW50LnBhZ2UoKSk7Cit9CisjZW5kaWYKKyAgICAKIHZvaWQgQVhPYmpl
Y3RDYWNoZTo6ZGVmZXJSZWNvbXB1dGVJc0lnbm9yZWRJZk5lZWRlZChFbGVtZW50KiBlbGVtZW50
KQogewogICAgIGlmICghbm9kZUFuZFJlbmRlcmVyQXJlVmFsaWQoZWxlbWVudCkpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkocmV2aXNpb24g
MjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCitjbGFzcyBBWFN0YXRpY1Ry
ZWVOb2RlOworI2VuZGlmCiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEhUTUxBcmVhRWxlbWVudDsK
IGNsYXNzIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OwpAQCAtMTgwLDYgKzE4MywxMyBAQAog
ICAgIHZvaWQgZGVmZXJBdHRyaWJ1dGVDaGFuZ2VJZk5lZWRlZChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRWxlbWVudCopOwogICAgIHZvaWQgcmVjb21wdXRlSXNJZ25vcmVkKFJlbmRlck9iamVjdCog
cmVuZGVyZXIpOwogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlSWZOZWVk
ZWQoKTsKKworICAgIHZvaWQgYXNzb2NpYXRlU3RhdGljVHJlZU5vZGUoQWNjZXNzaWJpbGl0eU9i
amVjdCosIEFYU3RhdGljVHJlZU5vZGUqKTsKKyAgICBSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4g
d2Fsa0FjY2Vzc2liaWxpdHlUcmVlRm9yU3RhdGljVHJlZShBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7
CisjZW5kaWYKKyAgICAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyB2b2lkIGRpc2FibGVBY2Nlc3NpYmlsaXR5KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVDYWNoZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhTdGF0
aWNUcmVlQ2FjaGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZUNhY2hlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDEwOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9T
VEFUSUNfVFJFRSkKKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFYU3RhdGljVHJl
ZUNhY2hlLmgiCisKKyNpbmNsdWRlICJBWFN0YXRpY1RyZWVOb2RlLmgiCisjaW5jbHVkZSAiUGFn
ZS5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisgICAgCitzdGF0aWMgTG9jayBzX3N0YXRpY1RyZWVMb2NrOworSGFzaE1hcDxQYWdlKiwg
UmVmUHRyPEFYU3RhdGljVHJlZUNhY2hlPj4mIEFYU3RhdGljVHJlZUNhY2hlOjpwYWdlUm9vdE1h
cCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8UGFnZSosIFJlZlB0cjxB
WFN0YXRpY1RyZWVDYWNoZT4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KKyAgICAKK0FYU3Rh
dGljVHJlZUNhY2hlOjpBWFN0YXRpY1RyZWVDYWNoZSgpCit7Cit9CisKK0FYU3RhdGljVHJlZUNh
Y2hlOjp+QVhTdGF0aWNUcmVlQ2FjaGUoKSA9IGRlZmF1bHQ7CisKK1JlZjxBWFN0YXRpY1RyZWVD
YWNoZT4gQVhTdGF0aWNUcmVlQ2FjaGU6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgQVhTdGF0aWNUcmVlQ2FjaGUoKSk7Cit9CisgICAgCitBWFN0YXRpY1RyZWVOb2RlKiBB
WFN0YXRpY1RyZWVDYWNoZTo6cm9vdFN0YXRpY1RyZWVOb2RlKFBhZ2UqIHBhZ2UpCit7CisgICAg
c19zdGF0aWNUcmVlTG9jay5sb2NrKCk7CisgICAgYXV0byBjYWNoZSA9IHBhZ2VSb290TWFwKCku
Z2V0KHBhZ2UpOworICAgIHNfc3RhdGljVHJlZUxvY2sudW5sb2NrKCk7CisgICAgaWYgKGNhY2hl
ICYmIGNhY2hlLT5tX3Jvb3ROb2RlKQorICAgICAgICByZXR1cm4gY2FjaGUtPm1fcm9vdE5vZGUu
Z2V0KCk7CisgICAgCisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQgQVhTdGF0aWNUcmVl
Q2FjaGU6OnVwZGF0ZVN0YXRpY1RyZWVDYWNoZShSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gcm9v
dCwgUGFnZSogcGFnZSkKK3sKKyAgICBzX3N0YXRpY1RyZWVMb2NrLmxvY2soKTsKKyAgICBhdXRv
IGNhY2hlID0gcGFnZVJvb3RNYXAoKS5nZXQocGFnZSk7CisgICAgaWYgKCFjYWNoZSkgeworICAg
ICAgICBSZWZQdHI8QVhTdGF0aWNUcmVlQ2FjaGU+IG5ld0NhY2hlID0gQVhTdGF0aWNUcmVlQ2Fj
aGU6OmNyZWF0ZSgpOworICAgICAgICBwYWdlUm9vdE1hcCgpLnNldChwYWdlLCBuZXdDYWNoZSk7
CisgICAgICAgIGNhY2hlID0gbmV3Q2FjaGUuZ2V0KCk7CisgICAgfQorICAgIAorICAgIGNhY2hl
LT5pbnRlcm5hbFVwZGF0ZVN0YXRpY1RyZWVDYWNoZShyb290KTsKKyAgICBzX3N0YXRpY1RyZWVM
b2NrLnVubG9jaygpOworfQorCitzdGF0aWMgYm9vbCBzZWFyY2hUcmVlQW5kUmVwbGFjZShSZWZQ
dHI8QVhTdGF0aWNUcmVlTm9kZT4gc2VhcmNoTm9kZSwgUmVmUHRyPEFYU3RhdGljVHJlZU5vZGU+
IG5ld1Jvb3QpCit7CisgICAgYXV0byBjaGlsZHJlbiA9IHNlYXJjaE5vZGUtPmNoaWxkcmVuKCk7
CisgICAgc2l6ZV90IGNvdW50ID0gY2hpbGRyZW4uc2l6ZSgpOworICAgIGZvciAoc2l6ZV90IGlu
ZGV4ID0gMDsgaW5kZXggPCBjb3VudDsgKytpbmRleCkgeworICAgICAgICBpZiAoY2hpbGRyZW5b
aW5kZXhdLT5pZGVudGlmaWVyKCkgPT0gbmV3Um9vdC0+aWRlbnRpZmllcigpKSB7CisgICAgICAg
ICAgICBjaGlsZHJlbi5pbnNlcnQoaW5kZXgsIG5ld1Jvb3QpOworICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmIChzZWFyY2hUcmVlQW5kUmVw
bGFjZShjaGlsZHJlbltpbmRleF0sIG5ld1Jvb3QpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorICAgIAordm9pZCBBWFN0YXRpY1RyZWVD
YWNoZTo6aW50ZXJuYWxVcGRhdGVTdGF0aWNUcmVlQ2FjaGUoUmVmUHRyPEFYU3RhdGljVHJlZU5v
ZGU+IHN1YlJvb3QpCit7CisgICAgQVNTRVJUKHNfc3RhdGljVHJlZUxvY2suaXNMb2NrZWQoKSk7
CisgICAgaWYgKCFtX3Jvb3ROb2RlKQorICAgICAgICBtX3Jvb3ROb2RlID0gc3ViUm9vdDsKKyAg
ICBlbHNlCisgICAgICAgIHNlYXJjaFRyZWVBbmRSZXBsYWNlKG1fcm9vdE5vZGUsIHN1YlJvb3Qp
OworfQorICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZUNhY2hlLmgJ
KG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1Ry
ZWUvQVhTdGF0aWNUcmVlQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKworI2luY2x1ZGUgIkFY
U3RhdGljVHJlZU5vZGUuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFBhZ2U7CisgICAgCitjbGFzcyBBWFN0YXRpY1RyZWVDYWNoZSA6IHB1
YmxpYyBSZWZDb3VudGVkPEFYU3RhdGljVHJlZUNhY2hlPiB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQVhTdGF0aWNUcmVlQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8QVhTdGF0aWNUcmVlQ2FjaGU+IGNyZWF0ZSgpOworICAgIHN0
YXRpYyB2b2lkIHVwZGF0ZVN0YXRpY1RyZWVDYWNoZShSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4s
IFBhZ2UqKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgQVhTdGF0aWNUcmVlTm9kZSogcm9v
dFN0YXRpY1RyZWVOb2RlKFBhZ2UqKTsKKyAgICBBWFN0YXRpY1RyZWVDYWNoZSgpOworICAgIHZp
cnR1YWwgfkFYU3RhdGljVHJlZUNhY2hlKCk7CisKK3ByaXZhdGU6CisgICAgdm9pZCBpbnRlcm5h
bFVwZGF0ZVN0YXRpY1RyZWVDYWNoZShSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4pOworICAgIHN0
YXRpYyBIYXNoTWFwPFBhZ2UqLCBSZWZQdHI8QVhTdGF0aWNUcmVlQ2FjaGU+PiYgcGFnZVJvb3RN
YXAoKTsKKworICAgIFJlZlB0cjxBWFN0YXRpY1RyZWVOb2RlPiBtX3Jvb3ROb2RlOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZU5vZGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGljVHJl
ZU5vZGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZU5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19U
UkVFKQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhTdGF0aWNUcmVlTm9kZS5o
IgorCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0FYU3RhdGljVHJlZU5vZGU6OkFYU3RhdGljVHJlZU5vZGUoQWNjZXNzaWJpbGl0eU9i
amVjdCogb2JqZWN0KQoreworICAgIG1faWRlbnRpZmllciA9IG9iamVjdC0+YXhPYmplY3RJRCgp
OworICAgIGluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKG9iamVjdCk7Cit9CisKK1JlZjxBWFN0YXRp
Y1RyZWVOb2RlPiBBWFN0YXRpY1RyZWVOb2RlOjpjcmVhdGUoQWNjZXNzaWJpbGl0eU9iamVjdCog
b2JqZWN0KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFYU3RhdGljVHJlZU5vZGUob2Jq
ZWN0KSk7Cit9CisgICAgCitBWFN0YXRpY1RyZWVOb2RlOjp+QVhTdGF0aWNUcmVlTm9kZSgpID0g
ZGVmYXVsdDsKKwordm9pZCBBWFN0YXRpY1RyZWVOb2RlOjppbml0aWFsaXplQXR0cmlidXRlRGF0
YShBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QpCit7CisgICAgc2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWU6OlJvbGVWYWx1ZSwgc3RhdGljX2Nhc3Q8aW50PihvYmplY3QtPnJvbGVWYWx1ZSgp
KSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCwgb2JqZWN0
LT5pc0F0dGFjaG1lbnQoKSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzTWVk
aWFDb250cm9sTGFiZWwsIG9iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKTsKKyAgICBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNBdHRhY2htZW50LCBvYmplY3QtPmlzQXR0YWNobWVu
dCgpKTsKK30KKyAgICAKK3ZvaWQgQVhTdGF0aWNUcmVlTm9kZTo6c2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQmJiB2YWx1ZSwgYm9v
bCBzaG91bGRSZW1vdmUpCit7CisgICAgaWYgKHNob3VsZFJlbW92ZSkKKyAgICAgICAgbV9hdHRy
aWJ1dGVNYXAucmVtb3ZlKHByb3BlcnR5TmFtZSk7CisgICAgZWxzZQorICAgICAgICBtX2F0dHJp
YnV0ZU1hcC5zZXQocHJvcGVydHlOYW1lLCB2YWx1ZSk7Cit9CisgICAgCitkb3VibGUgQVhTdGF0
aWNUcmVlTm9kZTo6ZG91YmxlQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVy
dHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChkb3VibGUmIHR5
cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRv
JikgeworICAgICAgICByZXR1cm4gMC4wOworICAgIH0pOworfQorCit1bnNpZ25lZCBBWFN0YXRp
Y1RyZWVOb2RlOjp1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3Bl
cnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAodW5zaWduZWQm
IHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChh
dXRvJikgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKworYm9vbCBBWFN0YXRpY1Ry
ZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBj
b25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1l
KTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChib29sJiB0eXBlZFZhbHVl
KSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0pOworfQorCitjb25zdCBTdHJpbmcmIEFYU3RhdGlj
VHJlZU5vZGU6OnN0cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFt
ZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5
TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAoU3RyaW5nJiB0eXBl
ZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYp
IHsKKyAgICAgICAgcmV0dXJuIG51bGxBdG9tKCk7CisgICAgfSk7Cit9CisKK2ludCBBWFN0YXRp
Y1RyZWVOb2RlOjppbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUp
IGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5h
bWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGludCYgdHlwZWRWYWx1
ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7Cisg
ICAgICAgIHJldHVybiAwOworICAgIH0pOworfQorCisjcHJhZ21hIG1hcmsgLSBPdmVycmlkZXMK
KyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNT
SUJJTElUWV9TVEFUSUNfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhTdGF0aWNUcmVlL0FYU3RhdGljVHJlZU5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVOb2RlLmgJKG5vbmV4
aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhT
dGF0aWNUcmVlTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTE0IEBACisvKgorKiBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisKKyNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEFjY2Vzc2liaWxpdHlP
YmplY3Q7CisgICAgCitjbGFzcyBBWFN0YXRpY1RyZWVOb2RlIGZpbmFsIDogcHVibGljIEFjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UsIHB1YmxpYyBSZWZDb3VudGVkPEFYU3RhdGljVHJlZU5v
ZGU+IHsKKyAgICAKK2VudW0gY2xhc3MgQVhQcm9wZXJ0eU5hbWUgOiBpbnQgeworICAgIE5vbmUg
PSAwLAorICAgIFJvbGVWYWx1ZSA9IDEsCisgICAgSXNBdHRhY2htZW50LAorICAgIElzTWVkaWFD
b250cm9sTGFiZWwsCit9OworCitzdHJ1Y3QgQVhQcm9wZXJ0eUhhc2hUcmFpdHMgOiBXVEY6Okdl
bmVyaWNIYXNoVHJhaXRzPEFYUHJvcGVydHlOYW1lPiB7CisgICAgc3RhdGljIGNvbnN0IGJvb2wg
ZW1wdHlWYWx1ZUlzWmVybyA9IGZhbHNlOworICAgIHN0YXRpYyBBWFByb3BlcnR5TmFtZSBlbXB0
eVZhbHVlKCkgeyByZXR1cm4gQVhQcm9wZXJ0eU5hbWU6Ok5vbmU7IH07CisgICAgc3RhdGljIHZv
aWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKEFYUHJvcGVydHlOYW1lJiBzbG90KQorICAgIHsKKyAg
ICAgICAgc2xvdCA9IHN0YXRpY19jYXN0PEFYUHJvcGVydHlOYW1lPihzdGF0aWNfY2FzdDxpbnQ+
KEFYUHJvcGVydHlOYW1lOjpOb25lKSAtIDEpOworICAgIH0KKyAgICBzdGF0aWMgYm9vbCBpc0Rl
bGV0ZWRWYWx1ZShBWFByb3BlcnR5TmFtZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxpbnQ+KHZhbHVlKSA9PSBzdGF0aWNfY2FzdDxpbnQ+KEFYUHJvcGVydHlOYW1l
OjpOb25lKSAtIDE7CisgICAgfQorfTsKKworcHJvdGVjdGVkOgorICAgIEFYU3RhdGljVHJlZU5v
ZGUoKSA9IGRlZmF1bHQ7CisKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEFYU3RhdGljVHJlZU5v
ZGU+IGNyZWF0ZShBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CisgICAgdmlydHVhbCB+QVhTdGF0aWNU
cmVlTm9kZSgpOworCisgICAgQVhJRCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVu
dGlmaWVyOyB9CisgICAgCisgICAgVmVjdG9yPFJlZlB0cjxBWFN0YXRpY1RyZWVOb2RlPj4mIGNo
aWxkcmVuKCkgeyByZXR1cm4gbV9jaGlsZHJlbjsgfTsKKworICAgIHZvaWQgc2V0UGFyZW50KEFY
U3RhdGljVHJlZU5vZGUqIHBhcmVudCkgeyBtX3BhcmVudCA9IHBhcmVudDsgfQorICAgIEFYU3Rh
dGljVHJlZU5vZGUqIHBhcmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50OyB9CisgICAgCisg
ICAgQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIoKSBjb25zdCB7IHJldHVybiBt
X3dyYXBwZXIuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXIqIHdyYXBwZXIpCisgICAgeworICAgICAgICBtX3dyYXBwZXIgPSB3cmFwcGVyOwor
ICAgIH0KKworcHJpdmF0ZToKKyAgICBBWFN0YXRpY1RyZWVOb2RlKEFjY2Vzc2liaWxpdHlPYmpl
Y3QqKTsKKyAgICB2b2lkIGluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKEFjY2Vzc2liaWxpdHlPYmpl
Y3QqKTsKKyAgICAKKyAgICBib29sIGlzTWVkaWFDb250cm9sTGFiZWwoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OklzTWVkaWFDb250
cm9sTGFiZWwpOyB9CisgICAgYm9vbCBpc0F0dGFjaG1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCk7IH0K
KyAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5Um9sZT4oaW50QXR0cmlidXRlVmFsdWUoQVhQcm9w
ZXJ0eU5hbWU6OlJvbGVWYWx1ZSkpOyB9CisgICAgCisgICAgdXNpbmcgQXR0cmlidXRlVmFsdWVW
YXJpYW50ID0gVmFyaWFudDxzdGQ6Om51bGxwdHJfdCwgU3RyaW5nLCBib29sLCBpbnQsIHVuc2ln
bmVkLCBkb3VibGU+OworICAgIHZvaWQgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWUsIEF0dHJp
YnV0ZVZhbHVlVmFyaWFudCYmLCBib29sIHNob3VsZFJlbW92ZSA9IGZhbHNlKTsKKyAgICAKKyAg
ICBib29sIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgY29u
c3QgU3RyaW5nJiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7Cisg
ICAgaW50IGludEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICB1bnNp
Z25lZCB1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBk
b3VibGUgZG91YmxlQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIAor
ICAgIEFYSUQgbV9pZGVudGlmaWVyOworICAgIFZlY3RvcjxSZWZQdHI8QVhTdGF0aWNUcmVlTm9k
ZT4+IG1fY2hpbGRyZW47CisgICAgQVhTdGF0aWNUcmVlTm9kZSogbV9wYXJlbnQ7CisgICAgCisj
aWYgUExBVEZPUk0oQ09DT0EpCisgICAgUmV0YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyPiBtX3dyYXBwZXI7CisjZW5kaWYKKyAgICAKKyAgICBIYXNoTWFwPEFYUHJvcGVydHlO
YW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQsIFdURjo6SW50SGFzaDxBWFByb3BlcnR5TmFtZT4s
IEFYUHJvcGVydHlIYXNoVHJhaXRzPiBtX2F0dHJpYnV0ZU1hcDsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJF
RSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuaAkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5
LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRGb3Jt
Q29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCkBAIC04OSwxNTcgKzkw
LDYgQEAKIGNsYXNzIFNjcm9sbFZpZXc7CiBjbGFzcyBXaWRnZXQ7CiAKLXR5cGVkZWYgdW5zaWdu
ZWQgQVhJRDsKLQotZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7Ci0gICAgQW5ub3RhdGlv
biA9IDEsCi0gICAgQXBwbGljYXRpb24sCi0gICAgQXBwbGljYXRpb25BbGVydCwKLSAgICBBcHBs
aWNhdGlvbkFsZXJ0RGlhbG9nLAotICAgIEFwcGxpY2F0aW9uRGlhbG9nLAotICAgIEFwcGxpY2F0
aW9uR3JvdXAsCi0gICAgQXBwbGljYXRpb25Mb2csCi0gICAgQXBwbGljYXRpb25NYXJxdWVlLAot
ICAgIEFwcGxpY2F0aW9uU3RhdHVzLAotICAgIEFwcGxpY2F0aW9uVGV4dEdyb3VwLAotICAgIEFw
cGxpY2F0aW9uVGltZXIsCi0gICAgQXVkaW8sCi0gICAgQmxvY2txdW90ZSwKLSAgICBCcm93c2Vy
LAotICAgIEJ1c3lJbmRpY2F0b3IsCi0gICAgQnV0dG9uLAotICAgIENhbnZhcywKLSAgICBDYXB0
aW9uLAotICAgIENlbGwsCi0gICAgQ2hlY2tCb3gsCi0gICAgQ29sb3JXZWxsLAotICAgIENvbHVt
biwKLSAgICBDb2x1bW5IZWFkZXIsCi0gICAgQ29tYm9Cb3gsCi0gICAgRGVmaW5pdGlvbiwKLSAg
ICBEZXNjcmlwdGlvbkxpc3QsCi0gICAgRGVzY3JpcHRpb25MaXN0VGVybSwKLSAgICBEZXNjcmlw
dGlvbkxpc3REZXRhaWwsCi0gICAgRGV0YWlscywKLSAgICBEaXJlY3RvcnksCi0gICAgRGlzY2xv
c3VyZVRyaWFuZ2xlLAotICAgIERpdiwKLSAgICBEb2N1bWVudCwKLSAgICBEb2N1bWVudEFydGlj
bGUsCi0gICAgRG9jdW1lbnRNYXRoLAotICAgIERvY3VtZW50Tm90ZSwKLSAgICBEcmF3ZXIsCi0g
ICAgRWRpdGFibGVUZXh0LAotICAgIEZlZWQsCi0gICAgRmlndXJlLAotICAgIEZvb3RlciwKLSAg
ICBGb290bm90ZSwKLSAgICBGb3JtLAotICAgIEdyYXBoaWNzRG9jdW1lbnQsCi0gICAgR3JhcGhp
Y3NPYmplY3QsCi0gICAgR3JhcGhpY3NTeW1ib2wsCi0gICAgR3JpZCwKLSAgICBHcmlkQ2VsbCwK
LSAgICBHcm91cCwKLSAgICBHcm93QXJlYSwKLSAgICBIZWFkaW5nLAotICAgIEhlbHBUYWcsCi0g
ICAgSG9yaXpvbnRhbFJ1bGUsCi0gICAgSWdub3JlZCwKLSAgICBJbmxpbmUsCi0gICAgSW1hZ2Us
Ci0gICAgSW1hZ2VNYXAsCi0gICAgSW1hZ2VNYXBMaW5rLAotICAgIEluY3JlbWVudG9yLAotICAg
IExhYmVsLAotICAgIExhbmRtYXJrQmFubmVyLAotICAgIExhbmRtYXJrQ29tcGxlbWVudGFyeSwK
LSAgICBMYW5kbWFya0NvbnRlbnRJbmZvLAotICAgIExhbmRtYXJrRG9jUmVnaW9uLAotICAgIExh
bmRtYXJrTWFpbiwKLSAgICBMYW5kbWFya05hdmlnYXRpb24sCi0gICAgTGFuZG1hcmtSZWdpb24s
Ci0gICAgTGFuZG1hcmtTZWFyY2gsCi0gICAgTGVnZW5kLAotICAgIExpbmssCi0gICAgTGlzdCwK
LSAgICBMaXN0Qm94LAotICAgIExpc3RCb3hPcHRpb24sCi0gICAgTGlzdEl0ZW0sCi0gICAgTGlz
dE1hcmtlciwKLSAgICBNYXJrLAotICAgIE1hdGhFbGVtZW50LAotICAgIE1hdHRlLAotICAgIE1l
bnUsCi0gICAgTWVudUJhciwKLSAgICBNZW51QnV0dG9uLAotICAgIE1lbnVJdGVtLAotICAgIE1l
bnVJdGVtQ2hlY2tib3gsCi0gICAgTWVudUl0ZW1SYWRpbywKLSAgICBNZW51TGlzdFBvcHVwLAot
ICAgIE1lbnVMaXN0T3B0aW9uLAotICAgIE91dGxpbmUsCi0gICAgUGFyYWdyYXBoLAotICAgIFBv
cFVwQnV0dG9uLAotICAgIFByZSwKLSAgICBQcmVzZW50YXRpb25hbCwKLSAgICBQcm9ncmVzc0lu
ZGljYXRvciwKLSAgICBSYWRpb0J1dHRvbiwKLSAgICBSYWRpb0dyb3VwLAotICAgIFJvd0hlYWRl
ciwKLSAgICBSb3csCi0gICAgUm93R3JvdXAsCi0gICAgUnVieUJhc2UsCi0gICAgUnVieUJsb2Nr
LAotICAgIFJ1YnlJbmxpbmUsCi0gICAgUnVieVJ1biwKLSAgICBSdWJ5VGV4dCwKLSAgICBSdWxl
ciwKLSAgICBSdWxlck1hcmtlciwKLSAgICBTY3JvbGxBcmVhLAotICAgIFNjcm9sbEJhciwKLSAg
ICBTZWFyY2hGaWVsZCwKLSAgICBTaGVldCwKLSAgICBTbGlkZXIsCi0gICAgU2xpZGVyVGh1bWIs
Ci0gICAgU3BpbkJ1dHRvbiwKLSAgICBTcGluQnV0dG9uUGFydCwKLSAgICBTcGxpdEdyb3VwLAot
ICAgIFNwbGl0dGVyLAotICAgIFN0YXRpY1RleHQsCi0gICAgU3VtbWFyeSwKLSAgICBTd2l0Y2gs
Ci0gICAgU3lzdGVtV2lkZSwKLSAgICBTVkdSb290LAotICAgIFNWR1RleHQsCi0gICAgU1ZHVFNw
YW4sCi0gICAgU1ZHVGV4dFBhdGgsCi0gICAgVGFiR3JvdXAsCi0gICAgVGFiTGlzdCwKLSAgICBU
YWJQYW5lbCwKLSAgICBUYWIsCi0gICAgVGFibGUsCi0gICAgVGFibGVIZWFkZXJDb250YWluZXIs
Ci0gICAgVGV4dEFyZWEsCi0gICAgVGV4dEdyb3VwLAotICAgIFRlcm0sCi0gICAgVGltZSwKLSAg
ICBUcmVlLAotICAgIFRyZWVHcmlkLAotICAgIFRyZWVJdGVtLAotICAgIFRleHRGaWVsZCwKLSAg
ICBUb2dnbGVCdXR0b24sCi0gICAgVG9vbGJhciwKLSAgICBVbmtub3duLAotICAgIFVzZXJJbnRl
cmZhY2VUb29sdGlwLAotICAgIFZhbHVlSW5kaWNhdG9yLAotICAgIFZpZGVvLAotICAgIFdlYkFw
cGxpY2F0aW9uLAotICAgIFdlYkFyZWEsCi0gICAgV2ViQ29yZUxpbmssCi0gICAgV2luZG93LAot
fTsKLQogZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZSB7CiAgICAgQWx0ZXJuYXRp
dmUsCiAgICAgQ2hpbGRyZW4sCkBAIC00OTEsNyArMzQxLDcgQEAKICAgICAKIGJvb2wgbm9kZUhh
c1ByZXNlbnRhdGlvblJvbGUoTm9kZSopOwogICAgIAotY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVj
dCA6IHB1YmxpYyBSZWZDb3VudGVkPEFjY2Vzc2liaWxpdHlPYmplY3Q+IHsKK2NsYXNzIEFjY2Vz
c2liaWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0Piwg
cHVibGljIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UgewogcHJvdGVjdGVkOgogICAgIEFj
Y2Vzc2liaWxpdHlPYmplY3QoKSA9IGRlZmF1bHQ7CiAgICAgCkBAIC0xMTUwLDYgKzEwMDAsMTEg
QEAKICAgICB2b2lkIGNsZWFySXNJZ25vcmVkRnJvbVBhcmVudERhdGEoKSB7IG1faXNJZ25vcmVk
RnJvbVBhcmVudERhdGEgPSBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEoKTsg
fQogICAgIHZvaWQgc2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZChBY2Nlc3NpYmls
aXR5T2JqZWN0Kik7CiAgICAgCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUp
CisgICAgdm9pZCBzZXRJbml0aWFsaXplZFN0YXRpY1RyZWVOb2RlKGJvb2wgaW5pdGlhbGl6ZWQp
IHsgbV9zdGF0aWNUcmVlTm9kZUluaXRpYWxpemVkID0gaW5pdGlhbGl6ZWQ7IH0KKyAgICBib29s
IGluaXRpYWxpemVkU3RhdGljVHJlZU5vZGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRpY1RyZWVO
b2RlSW5pdGlhbGl6ZWQ7IH0KKyNlbmRpZgorICAgIAogcHJvdGVjdGVkOgogICAgIEFYSUQgbV9p
ZCB7IDAgfTsKICAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgbV9jaGlsZHJlbjsKQEAg
LTExNTksNyArMTAxNCwxMCBAQAogICAgIEFjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50
RGF0YSBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhIHsgfTsKICAgICBib29sIG1fY2hpbGRyZW5E
aXJ0eSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3N1YnRyZWVEaXJ0eSB7IGZhbHNlIH07Ci0KKyNp
ZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKyAgICBib29sIG1fc3RhdGljVHJl
ZU5vZGVJbml0aWFsaXplZCB7IGZhbHNlIH07CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHNldElz
SWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0
YSYgZGF0YSkgeyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhID0gZGF0YTsgfQogCiAgICAgdmly
dHVhbCBib29sIGNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QgeyByZXR1cm4g
dHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJKG5vbmV4aXN0ZW50KQorKysgU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit0eXBlZGVmIHVuc2lnbmVkIEFYSUQ7CisKK2Vu
dW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUgeworICAgIEFubm90YXRpb24gPSAxLAorICAgIEFw
cGxpY2F0aW9uLAorICAgIEFwcGxpY2F0aW9uQWxlcnQsCisgICAgQXBwbGljYXRpb25BbGVydERp
YWxvZywKKyAgICBBcHBsaWNhdGlvbkRpYWxvZywKKyAgICBBcHBsaWNhdGlvbkdyb3VwLAorICAg
IEFwcGxpY2F0aW9uTG9nLAorICAgIEFwcGxpY2F0aW9uTWFycXVlZSwKKyAgICBBcHBsaWNhdGlv
blN0YXR1cywKKyAgICBBcHBsaWNhdGlvblRleHRHcm91cCwKKyAgICBBcHBsaWNhdGlvblRpbWVy
LAorICAgIEF1ZGlvLAorICAgIEJsb2NrcXVvdGUsCisgICAgQnJvd3NlciwKKyAgICBCdXN5SW5k
aWNhdG9yLAorICAgIEJ1dHRvbiwKKyAgICBDYW52YXMsCisgICAgQ2FwdGlvbiwKKyAgICBDZWxs
LAorICAgIENoZWNrQm94LAorICAgIENvbG9yV2VsbCwKKyAgICBDb2x1bW4sCisgICAgQ29sdW1u
SGVhZGVyLAorICAgIENvbWJvQm94LAorICAgIERlZmluaXRpb24sCisgICAgRGVzY3JpcHRpb25M
aXN0LAorICAgIERlc2NyaXB0aW9uTGlzdFRlcm0sCisgICAgRGVzY3JpcHRpb25MaXN0RGV0YWls
LAorICAgIERldGFpbHMsCisgICAgRGlyZWN0b3J5LAorICAgIERpc2Nsb3N1cmVUcmlhbmdsZSwK
KyAgICBEaXYsCisgICAgRG9jdW1lbnQsCisgICAgRG9jdW1lbnRBcnRpY2xlLAorICAgIERvY3Vt
ZW50TWF0aCwKKyAgICBEb2N1bWVudE5vdGUsCisgICAgRHJhd2VyLAorICAgIEVkaXRhYmxlVGV4
dCwKKyAgICBGZWVkLAorICAgIEZpZ3VyZSwKKyAgICBGb290ZXIsCisgICAgRm9vdG5vdGUsCisg
ICAgRm9ybSwKKyAgICBHcmFwaGljc0RvY3VtZW50LAorICAgIEdyYXBoaWNzT2JqZWN0LAorICAg
IEdyYXBoaWNzU3ltYm9sLAorICAgIEdyaWQsCisgICAgR3JpZENlbGwsCisgICAgR3JvdXAsCisg
ICAgR3Jvd0FyZWEsCisgICAgSGVhZGluZywKKyAgICBIZWxwVGFnLAorICAgIEhvcml6b250YWxS
dWxlLAorICAgIElnbm9yZWQsCisgICAgSW5saW5lLAorICAgIEltYWdlLAorICAgIEltYWdlTWFw
LAorICAgIEltYWdlTWFwTGluaywKKyAgICBJbmNyZW1lbnRvciwKKyAgICBMYWJlbCwKKyAgICBM
YW5kbWFya0Jhbm5lciwKKyAgICBMYW5kbWFya0NvbXBsZW1lbnRhcnksCisgICAgTGFuZG1hcmtD
b250ZW50SW5mbywKKyAgICBMYW5kbWFya0RvY1JlZ2lvbiwKKyAgICBMYW5kbWFya01haW4sCisg
ICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAorICAgIExhbmRtYXJrUmVnaW9uLAorICAgIExhbmRtYXJr
U2VhcmNoLAorICAgIExlZ2VuZCwKKyAgICBMaW5rLAorICAgIExpc3QsCisgICAgTGlzdEJveCwK
KyAgICBMaXN0Qm94T3B0aW9uLAorICAgIExpc3RJdGVtLAorICAgIExpc3RNYXJrZXIsCisgICAg
TWFyaywKKyAgICBNYXRoRWxlbWVudCwKKyAgICBNYXR0ZSwKKyAgICBNZW51LAorICAgIE1lbnVC
YXIsCisgICAgTWVudUJ1dHRvbiwKKyAgICBNZW51SXRlbSwKKyAgICBNZW51SXRlbUNoZWNrYm94
LAorICAgIE1lbnVJdGVtUmFkaW8sCisgICAgTWVudUxpc3RQb3B1cCwKKyAgICBNZW51TGlzdE9w
dGlvbiwKKyAgICBPdXRsaW5lLAorICAgIFBhcmFncmFwaCwKKyAgICBQb3BVcEJ1dHRvbiwKKyAg
ICBQcmUsCisgICAgUHJlc2VudGF0aW9uYWwsCisgICAgUHJvZ3Jlc3NJbmRpY2F0b3IsCisgICAg
UmFkaW9CdXR0b24sCisgICAgUmFkaW9Hcm91cCwKKyAgICBSb3dIZWFkZXIsCisgICAgUm93LAor
ICAgIFJvd0dyb3VwLAorICAgIFJ1YnlCYXNlLAorICAgIFJ1YnlCbG9jaywKKyAgICBSdWJ5SW5s
aW5lLAorICAgIFJ1YnlSdW4sCisgICAgUnVieVRleHQsCisgICAgUnVsZXIsCisgICAgUnVsZXJN
YXJrZXIsCisgICAgU2Nyb2xsQXJlYSwKKyAgICBTY3JvbGxCYXIsCisgICAgU2VhcmNoRmllbGQs
CisgICAgU2hlZXQsCisgICAgU2xpZGVyLAorICAgIFNsaWRlclRodW1iLAorICAgIFNwaW5CdXR0
b24sCisgICAgU3BpbkJ1dHRvblBhcnQsCisgICAgU3BsaXRHcm91cCwKKyAgICBTcGxpdHRlciwK
KyAgICBTdGF0aWNUZXh0LAorICAgIFN1bW1hcnksCisgICAgU3dpdGNoLAorICAgIFN5c3RlbVdp
ZGUsCisgICAgU1ZHUm9vdCwKKyAgICBTVkdUZXh0LAorICAgIFNWR1RTcGFuLAorICAgIFNWR1Rl
eHRQYXRoLAorICAgIFRhYkdyb3VwLAorICAgIFRhYkxpc3QsCisgICAgVGFiUGFuZWwsCisgICAg
VGFiLAorICAgIFRhYmxlLAorICAgIFRhYmxlSGVhZGVyQ29udGFpbmVyLAorICAgIFRleHRBcmVh
LAorICAgIFRleHRHcm91cCwKKyAgICBUZXJtLAorICAgIFRpbWUsCisgICAgVHJlZSwKKyAgICBU
cmVlR3JpZCwKKyAgICBUcmVlSXRlbSwKKyAgICBUZXh0RmllbGQsCisgICAgVG9nZ2xlQnV0dG9u
LAorICAgIFRvb2xiYXIsCisgICAgVW5rbm93biwKKyAgICBVc2VySW50ZXJmYWNlVG9vbHRpcCwK
KyAgICBWYWx1ZUluZGljYXRvciwKKyAgICBWaWRlbywKKyAgICBXZWJBcHBsaWNhdGlvbiwKKyAg
ICBXZWJBcmVhLAorICAgIFdlYkNvcmVMaW5rLAorICAgIFdpbmRvdywKK307CisKK2NsYXNzIEFj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UgeworcHVibGljOgorICAgIHZpcnR1YWwgfkFjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UoKSA9IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFsIGJvb2wg
aXNNZWRpYUNvbnRyb2xMYWJlbCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIEFjY2Vzc2liaWxp
dHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdHRhY2ht
ZW50KCkgY29uc3QgPSAwOworfTsKKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCShyZXZpc2lvbiAyMzk3MTgp
CisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJ
VFkpICYmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCAiQVhTdGF0aWNUcmVlTm9kZS5oIgogI2lt
cG9ydCAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVRhYmxl
LmgiCiAjaW1wb3J0ICJSZW5kZXJPYmplY3QuaCIKQEAgLTIzNyw2ICsyMzgsMTQgQEAKICAgICBv
YmotPnNldFdyYXBwZXIobnVsbHB0cik7CiB9CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9T
VEFUSUNfVFJFRSkKK3ZvaWQgQVhPYmplY3RDYWNoZTo6YXNzb2NpYXRlU3RhdGljVHJlZU5vZGUo
QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBBWFN0YXRpY1RyZWVOb2RlKiBub2RlKQorewor
ICAgIG9iamVjdC0+d3JhcHBlcigpLnN0YXRpY1RyZWVOb2RlID0gbm9kZTsKKyAgICBub2RlLT5z
ZXRXcmFwcGVyKG9iamVjdC0+d3JhcHBlcigpKTsKK30KKyNlbmRpZgorICAgIAogdm9pZCBBWE9i
amVjdENhY2hlOjphdHRhY2hXcmFwcGVyKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaikKIHsKICAg
ICBSZXRhaW5QdHI8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI+IHdyYXBwZXIgPSBhZG9w
dE5TKFtbV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWxsb2NdIGluaXRXaXRoQWNjZXNz
aWJpbGl0eU9iamVjdDpvYmpdKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
bWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQmFzZS5oCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaAkod29ya2luZyBjb3B5
KQpAQCAtMzEsOSArMzEsMTMgQEAKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIK
ICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisjaW5jbHVkZSA8d3RmL1Zh
cmlhbnQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVj
dDsKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKK2NsYXNzIEFYU3RhdGlj
VHJlZU5vZGU7CisjZW5kaWYKIHN0cnVjdCBBY2Nlc3NpYmlsaXR5U2VhcmNoQ3JpdGVyaWE7CiBj
bGFzcyBJbnRSZWN0OwogY2xhc3MgRmxvYXRQb2ludDsKQEAgLTQ0LDEwICs0OCwyMiBAQAogCiBA
aW50ZXJmYWNlIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSA6IE5TT2JqZWN0IHsK
ICAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBtX29iamVjdDsKKyAgICAKKyNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKyAgICBXZWJDb3JlOjpBWFN0YXRpY1Ry
ZWVOb2RlKiBtX3N0YXRpY1RyZWVOb2RlOworI2VuZGlmCiB9CiAgCiAtIChpZClpbml0V2l0aEFj
Y2Vzc2liaWxpdHlPYmplY3Q6KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqKWF4T2JqZWN0
OworCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCitAcHJvcGVydHkgKG5v
bmF0b21pYywgYXNzaWduKSBXZWJDb3JlOjpBWFN0YXRpY1RyZWVOb2RlICpzdGF0aWNUcmVlTm9k
ZTsKKyNlbmRpZgorCiAtICh2b2lkKWRldGFjaDsKKworLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eU9iamVjdEludGVyZmFjZSAqKWF4QmFja2luZ09iamVjdDsKKwogLSAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eU9iamVjdCopYWNjZXNzaWJpbGl0eU9iamVjdDsKIC0gKEJPT0wpdXBkYXRlT2JqZWN0
QmFja2luZ1N0b3JlOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9X
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJC
YXNlLm1tCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0JKHdvcmtpbmcgY29weSkK
QEAgLTMyLDkgKzMyLDExIEBACiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogCiAjaW1wb3J0ICJB
WE9iamVjdENhY2hlLmgiCisjaW1wb3J0ICJBWFN0YXRpY1RyZWVOb2RlLmgiCiAjaW1wb3J0ICJB
Y2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlMaXN0Lmgi
CiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5TGlzdEJveC5oIgorI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eU9iamVjdEludGVyZmFjZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5o
IgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCIKICNpbXBvcnQgIkFjY2Vzc2li
aWxpdHlTcGluQnV0dG9uLmgiCkBAIC0yNzQsNiArMjc2LDI4IEBACiAgICAgcmV0dXJuIHNlbGY7
CiB9CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKy0gKHZvaWQpc2V0
U3RhdGljVHJlZU5vZGU6KFdlYkNvcmU6OkFYU3RhdGljVHJlZU5vZGUqKXN0YXRpY1RyZWVOb2Rl
Cit7CisgICAgbV9zdGF0aWNUcmVlTm9kZSA9IHN0YXRpY1RyZWVOb2RlOworfQorCistIChXZWJD
b3JlOjpBWFN0YXRpY1RyZWVOb2RlKilzdGF0aWNUcmVlTm9kZQoreworICAgIHJldHVybiBtX3N0
YXRpY1RyZWVOb2RlOworfQorCisjZW5kaWYKKworLSAoQk9PTCloYXNTdGF0aWNCYWNraW5nCit7
CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisgICAgcmV0dXJuIG1fc3Rh
dGljVHJlZU5vZGUgIT0gbnVsbHB0cjsKKyNlbHNlCisgICAgcmV0dXJuIE5POworI2VuZGlmCit9
CisKIC0gKHZvaWQpZGV0YWNoCiB7CiAgICAgbV9vYmplY3QgPSBudWxscHRyOwpAQCAtMjgxLDYg
KzMwNSwxMSBAQAogCiAtIChCT09MKXVwZGF0ZU9iamVjdEJhY2tpbmdTdG9yZQogeworI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQorICAgIGlmIChtX3N0YXRpY1RyZWVOb2Rl
KQorICAgICAgICByZXR1cm4gWUVTOworI2VuZGlmCisgICAgCiAgICAgLy8gQ2FsbGluZyB1cGRh
dGVCYWNraW5nU3RvcmUoKSBjYW4gaW52YWxpZGF0ZSB0aGlzIGVsZW1lbnQgc28gc2VsZiBtdXN0
IGJlIHJldGFpbmVkLgogICAgIC8vIElmIGl0IGRvZXMgYmVjb21lIGludmFsaWRhdGVkLCBtX29i
amVjdCB3aWxsIGJlIG5pbC4KICAgICBDRlJldGFpbigoX19icmlkZ2UgQ0ZUeXBlUmVmKXNlbGYp
OwpAQCAtMzU1LDExICszODQsMjEgQEAKICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ107CiB9
CiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVjdCBzZWxmLmF4QmFja2luZ09iamVjdAorLSAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSAqKWF4QmFja2luZ09iamVjdAorewor
I2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQorICAgIHJldHVybiBtX3N0YXRp
Y1RyZWVOb2RlOworI2Vsc2UKKyAgICByZXR1cm4gbV9vYmplY3Q7CisjZW5kaWYKK30KKwogLSAo
TlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uCiB7CiAgICAgLy8gU3RhdGlj
IHRleHQgb2JqZWN0cyBzaG91bGQgbm90IGhhdmUgYSBkZXNjcmlwdGlvbi4gSXRzIGNvbnRlbnQg
aXMgY29tbXVuaWNhdGVkIGluIGl0cyBBWFZhbHVlLgogICAgIC8vIE9uZSBleGNlcHRpb24gaXMg
dGhlIG1lZGlhIGNvbnRyb2wgbGFiZWxzIHRoYXQgaGF2ZSBhIHZhbHVlIGFuZCBhIGRlc2NyaXB0
aW9uLiBUaG9zZSBhcmUgc2V0IHByb2dyYW1hdGljYWxseS4KLSAgICBpZiAobV9vYmplY3QtPnJv
bGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNUZXh0ICYmICFtX29iamVjdC0+
aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQorICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5yb2xlVmFs
dWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dCAmJiAhX2F4QmFja2luZ09iamVj
dC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQogICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmlu
Z107CiAgICAgCiAgICAgVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiB0ZXh0T3JkZXI7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQkocmV2aXNpb24gMjM5NzE4
KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQxMiw2ICs0MTIsOCBAQAogI2Rl
ZmluZSBOU0FjY2Vzc2liaWxpdHlMaW5rUmVsYXRpb25zaGlwVHlwZUF0dHJpYnV0ZSBAIkFYTGlu
a1JlbGF0aW9uc2hpcFR5cGUiCiAjZW5kaWYKIAorI2RlZmluZSBfYXhCYWNraW5nT2JqZWN0IHNl
bGYuYXhCYWNraW5nT2JqZWN0CisKIGV4dGVybiAiQyIgQVhVSUVsZW1lbnRSZWYgTlNBY2Nlc3Np
YmlsaXR5Q3JlYXRlQVhVSUVsZW1lbnRSZWYoaWQgZWxlbWVudCk7CiAKIEBpbXBsZW1lbnRhdGlv
biBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcgpAQCAtMjAwOSwxMCArMjAxMSwxMCBAQAog
LSAoTlNTdHJpbmcqKXJvbGUKIHsKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19C
RUdJTgotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpCisgICAgaWYgKF9heEJhY2tp
bmdPYmplY3QtPmlzQXR0YWNobWVudCgpKQogICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1l
bnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5Um9sZUF0
dHJpYnV0ZV07CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECi0gICAgQWNj
ZXNzaWJpbGl0eVJvbGUgcm9sZSA9IG1fb2JqZWN0LT5yb2xlVmFsdWUoKTsKKyAgICBBY2Nlc3Np
YmlsaXR5Um9sZSByb2xlID0gX2F4QmFja2luZ09iamVjdC0+cm9sZVZhbHVlKCk7CiAKICAgICBp
ZiAocm9sZSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGFiZWwgJiYgaXM8QWNjZXNzaWJpbGl0eUxh
YmVsPigqbV9vYmplY3QpICYmIGRvd25jYXN0PEFjY2Vzc2liaWxpdHlMYWJlbD4oKm1fb2JqZWN0
KS5jb250YWluc09ubHlTdGF0aWNUZXh0KCkpCiAgICAgICAgIHJvbGUgPSBBY2Nlc3NpYmlsaXR5
Um9sZTo6U3RhdGljVGV4dDsKQEAgLTIwMzksNyArMjA0MSw3IEBACiAgICAgaWYgKG1fb2JqZWN0
LT5pc1NlYXJjaEZpZWxkKCkpCiAgICAgICAgIHJldHVybiBOU0FjY2Vzc2liaWxpdHlTZWFyY2hG
aWVsZFN1YnJvbGU7CiAgICAgCi0gICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewor
ICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICBOU1Zp
ZXcqIGF0dGFjaFZpZXcgPSBbc2VsZiBhdHRhY2htZW50Vmlld107CiAgICAgICAgIGlmIChbW2F0
dGFjaFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09iamVjdDpOU0Fj
Y2Vzc2liaWxpdHlTdWJyb2xlQXR0cmlidXRlXSkKICAgICAgICAgICAgIHJldHVybiBbYXR0YWNo
VmlldyBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5U3Vicm9sZUF0
dHJpYnV0ZV07CkBAIC0yMjUwLDcgKzIyNTIsNyBAQAogCiAgICAgQUxMT1dfREVQUkVDQVRFRF9E
RUNMQVJBVElPTlNfQkVHSU4KICAgICAvLyBhdHRhY2htZW50cyBoYXZlIHRoZSBBWEltYWdlIHJv
bGUsIGJ1dCBhIGRpZmZlcmVudCBzdWJyb2xlCi0gICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1l
bnQoKSkKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpCiAgICAgICAg
IHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1
ZTpOU0FjY2Vzc2liaWxpdHlSb2xlRGVzY3JpcHRpb25BdHRyaWJ1dGVdOwogICAgIEFMTE9XX0RF
UFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogCkBAIC0yNjA3LDcgKzI2MDksNyBAQAogICAgICAg
ICByZXR1cm4gW05TTnVtYmVyIG51bWJlcldpdGhCb29sOiBtX29iamVjdC0+aXNWaXNpdGVkKCld
OwogICAgIAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNz
aWJpbGl0eVRpdGxlQXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNo
bWVudCgpKSB7CisgICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkg
ewogICAgICAgICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlB
dHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1
dGVdKQogICAgICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vz
c2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV07CiAg
ICAgICAgIH0KQEAgLTI2MjQsNyArMjYyNiw3IEBACiAgICAgfQogICAgIAogICAgIGlmIChbYXR0
cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0
cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAg
ICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICAgICAg
aWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10g
Y29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdKQogICAg
ICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlB
dHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV07CiAgICAg
ICAgIH0KQEAgLTI2MzIsNyArMjYzNCw3IEBACiAgICAgfQogICAgIAogICAgIGlmIChbYXR0cmli
dXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkg
ewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgICAgIGlmIChf
YXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICAgICAgaWYgKFtbW3Nl
bGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNP
YmplY3Q6TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdKQogICAgICAgICAgICAgICAgIHJl
dHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpO
U0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV07CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE1IEBACisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmls
aXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dL
QWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tOgorICAgICAgICAoLVtXS0FjY2Vzc2li
aWxpdHlXZWJQYWdlT2JqZWN0QmFzZSBhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXJdKToK
KwogMjAxOS0wMS0wNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJlbW92ZSB1c2Ugb2YgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbiBmcm9t
IENhY2hlU3RvcmFnZTo6RW5naW5lOjpmcm9tCkluZGV4OiBTb3VyY2UvV2ViS2l0L0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIzOTcx
OCkKKysrIFNvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsK
IAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9Q
QVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQ
TEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBo
b25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBF
TkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJM
RV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChF
TkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19T
VVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9G
RUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5f
V09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lO
VEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxF
X0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRF
KSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VS
KSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NP
VVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAk
KEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VS
U09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFW
SUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1F
TlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
U0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVB
TVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dF
QkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFM
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQo
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RS
QUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5U
QUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NF
U1MpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVU
RSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQo
RU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNF
U19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FV
VEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VC
QVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikg
JChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0JKHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0
QmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQAogI2ltcG9ydCAiV0tTdHJp
bmcuaCIKICNpbXBvcnQgIldLU3RyaW5nQ0YuaCIKICNpbXBvcnQgPFdlYkNvcmUvQVhPYmplY3RD
YWNoZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9BWFN0YXRpY1RyZWVDYWNoZS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9Eb2N1bWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9GcmFtZVZpZXcuaD4KQEAgLTQ3LDYgKzQ4LDE4IEBACiAKIEBpbXBsZW1lbnRhdGlv
biBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZQogCistIChXZWJDb3JlOjpBWE9iamVj
dENhY2hlKilheE9iamVjdENhY2hlCit7CisgICAgV2ViQ29yZTo6UGFnZSogcGFnZSA9IG1fcGFn
ZS0+Y29yZVBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybiBuaWw7CisgICAg
V2ViQ29yZTo6RnJhbWUmIGNvcmUgPSBwYWdlLT5tYWluRnJhbWUoKTsKKyAgICBpZiAoIWNvcmUu
ZG9jdW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKyAgICAKKyAgICByZXR1cm4gY29yZS5k
b2N1bWVudCgpLT5heE9iamVjdENhY2hlKCk7Cit9CisKIC0gKGlkKWFjY2Vzc2liaWxpdHlSb290
T2JqZWN0V3JhcHBlcgogewogICAgIGlmICghV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNz
aWJpbGl0eUVuYWJsZWQoKSkKQEAgLTYyLDE4ICs3NSwzMCBAQAogICAgIFdlYkNvcmU6OlBhZ2Uq
IHBhZ2UgPSBtX3BhZ2UtPmNvcmVQYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1
cm4gbmlsOwotICAgIAotICAgIFdlYkNvcmU6OkZyYW1lJiBjb3JlID0gcGFnZS0+bWFpbkZyYW1l
KCk7Ci0gICAgaWYgKCFjb3JlLmRvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBuaWw7Ci0gICAg
Ci0gICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogY2FjaGUgPSBjb3JlLmRvY3VtZW50KCktPmF4
T2JqZWN0Q2FjaGUoKTsKKworICAgIEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gW3NlbGYgYXhPYmpl
Y3RDYWNoZV07CiAgICAgaWYgKCFjYWNoZSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKKyNp
ZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKyAgICBBWFN0YXRpY1RyZWVOb2Rl
KiBzdGF0aWNSb290ID0gQVhTdGF0aWNUcmVlQ2FjaGU6OnJvb3RTdGF0aWNUcmVlTm9kZShwYWdl
KTsKKyAgICBpZiAoIXN0YXRpY1Jvb3QpIHsKKyAgICAgICAgYXV0byBnZW5lcmF0ZUJsb2NrID0g
WyZjYWNoZV0geworICAgICAgICAgICAgY2FjaGUtPmdlbmVyYXRlU3RhdGljQWNjZXNzaWJpbGl0
eVRyZWVJZk5lZWRlZCgpOworICAgICAgICB9OworICAgICAgICAKKyAgICAgICAgaWYgKFJ1bkxv
b3A6OmlzTWFpbigpKQorICAgICAgICAgICAgZ2VuZXJhdGVCbG9jaygpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBkaXNwYXRjaF9zeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIGdl
bmVyYXRlQmxvY2spOworICAgIH0KKyAgICAKKyAgICBpZiAoKHN0YXRpY1Jvb3QgPSBBWFN0YXRp
Y1RyZWVDYWNoZTo6cm9vdFN0YXRpY1RyZWVOb2RlKHBhZ2UpKSkKKyAgICAgICAgcmV0dXJuIHN0
YXRpY1Jvb3QtPndyYXBwZXIoKTsKKyNlbHNlCiAgICAgaWYgKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3QqIHJvb3QgPSBjYWNoZS0+cm9vdE9iamVjdCgpKQogICAgICAgICByZXR1cm4gcm9v
dC0+d3JhcHBlcigpOwotICAgIAorI2VuZGlmCiAgICAgcmV0dXJuIG5pbDsKIH0KIApJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAg
ICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
OgorCiAyMDE5LTAxLTA3ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAg
ICAgICAgUHJlZmVyIFJldGFpblB0cjxOU09iamVjdD4gdG8gUmV0YWluUHRyPE5TT2JqZWN0ICo+
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjM5NzE4KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBM
RV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
QVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwMiw0ICs0MDQsNCBAQAog
CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQp
ICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykg
JChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJB
R19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklC
VVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5B
R0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1F
VEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwor
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVO
VFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklN
RU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9B
Q0NFU1MpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIp
ICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJ
QlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VC
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9f
VVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVf
V0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9jbWFrZS9XZWJL
aXRGZWF0dXJlcy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVy
ZXMuY21ha2UJKHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJl
cy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTg3LDYgKzE4Nyw3IEBACiAgICAgV0VCS0lUX09Q
VElPTl9ERUZJTkUoRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgIlRvZ2dsZSBzbW9vdGggc2Nyb2xs
aW5nIiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTICJUb2dnbGUgU3BlZWNoIFN5bnRoZXNpcyBBUEkgc3VwcG9ydCIgUFJJVkFURSBP
RkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NQRUxMQ0hFQ0sgIlRvZ2dsZSBT
cGVsbGNoZWNraW5nIHN1cHBvcnQgKHJlcXVpcmVzIEVuY2hhbnQpIiBQUklWQVRFIE9GRikKKyAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSAi
VG9nZ2xlIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAg
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NUUkVBTVNfQVBJICJUb2dnbGUgU3RyZWFt
cyBBUEkgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfU1ZHX0ZPTlRTICJUb2dnbGUgU1ZHIEZvbnRzIHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OICJU
b2dnbGUgdGVsZXBob25lIG51bWJlciBkZXRlY3Rpb24gc3VwcG9ydCIgUFJJVkFURSBPRkYpCklu
ZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAyMzk4NjEpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxMyBAQAorMjAxOS0wMS0xMSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29t
PgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0wMS0xMCAgUnlhbiBIYWRkYWQgIDxyeWFu
aGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggdHlwbyB0aGF0IGJy
ZWFrcyBkYXNoYm9hcmQgbGluay4KSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdl
YktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24g
MjM5NzE4KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSA9IDsKKwogRU5B
QkxFX0FQUExFX1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsK
IEVOQUJMRV9BUFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQ
UExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDAyLDQgKzQw
NCw0IEBACiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9Q
QVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VT
U0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJ
TkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JB
RElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQ
RVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lD
T05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJ
VCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tF
WV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RP
Q09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURF
T19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJ
QV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9Q
T0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0Vf
VVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFO
RExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
WFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtF
WUJPQVJEX0FDQ0VTUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9P
QlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NP
REVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9M
QVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9M
RUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFD
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJ
UFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFC
TEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5E
QUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9M
T0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JL
RVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAk
KEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358900</attachid>
            <date>2019-01-11 08:57:55 -0800</date>
            <delta_ts>2019-01-19 18:32:48 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>97141</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogZXh0ZW5kIFhIUiBicmVha3BvaW50cyB0byB3b3JrIHdpdGgg
ZmV0Y2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIzOTcxOCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
OwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExF
X1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9B
UFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9p
cGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAK
IEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFH
X1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFC
TEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJV
VEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFH
RVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9Y
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVU
QUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitG
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5U
UykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FD
Q0VTUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19V
U0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
QVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJ
KHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBACiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
d2Vic29ja2V0cyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy93ZWJ2ciIKICAgICAiJHtX
RUJDT1JFX0RJUn0vYWNjZXNzaWJpbGl0eSIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJp
bGl0eS9BWFN0YXRpY1RyZWUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2FuaW1hdGlvbiIKICAgICAi
JHtXRUJDT1JFX0RJUn0vYmluZGluZ3MiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2JpbmRpbmdzL2pz
IgpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDQgQEAKKzIwMTktMDEtMTEgIENocmlz
IEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNl
IGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIw
MzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
biBvcmRlciB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIHdoZW4gcmVxdWVzdGluZyB0aGUgYWNjZXNz
aWJpbGl0eSBoaWVyYXJjaHksIHdlIGludHJvZHVjZSB0aGUgaWRlYSBvZiBhICJzdGF0aWMgYWNj
ZXNzaWJpbGl0eSB0cmVlIiB3aGljaCBjb3VsZCBiZSBhY2Nlc3NlZCBvbiBhIGRpZmZlcmVudCB0
aHJlYWQgYnkgYXNzaXN0aXZlIHRlY2hub2xvZ2llcy4KKyAgICAgICAgVGhhdCBpcyBhY2NvbXBs
aXNoZWQgYnkgc3RvcmluZyBhbGwgdGhlIGRhdGEgbmVlZGVkIHRvIGFuc3dlciBhY2Nlc3NpYmls
aXR5IGF0dHJpYnV0ZSBxdWVyaWVzIGluIGEgc3RhdGljIG9iamVjdCB0aGF0IG1pcnJvcnMgdGhl
ICJsaXZlIiBBY2Nlc3NpYmlsaXR5T2JqZWN0cyAod2hpY2ggaW50ZXJhY3Qgd2l0aCBib3RoIERP
TSBhbmQgUmVuZGVyIHRyZWVzKS4KKyAgICAgICAgVGhlc2Ugc3RhdGljIG9iamVjdHMgYXJlIGdl
bmVyYWxseSBjcmVhdGVkIGFmdGVyIGxheW91dCBpcyBkb25lIGFuZCBmaW5hbCB0YXNrcyBhcmUg
YmVpbmcgcGVyZm9ybWVkLiBUaGV5IGFyZSB0aGVuIHN0b3JlZCBpbiB0aGUgc3RhdGljIHRyZWUg
cmVwcmVzZW50YXRpb24gYW5kIGFibGUgdG8gYmUgcmVhZCBmcm9tIGFueXdoZXJlLgorICAgICAg
ICBUYWN0aWNhbGx5IHRoaXMgaXMgZG9uZSB3aXRoIEFYU3RhdGljVHJlZU5vZGVzIGluc2lkZSBv
ZiBhbiBBWFN0YXRpY1RyZWVDYWNoZS4gVGhlIFRyZWVOb2RlcyBpbXBsZW1lbnQgYW4gQWNjZXNz
aWJpbGl0eU9iamVjdEludGVyZmFjZSBzaGFyZWQgd2l0aCBBY2Nlc3NpYmlsaXR5T2JqZWN0Cisg
ICAgICAgIFRoaXMgYWxsb3dzIHRoZSB3cmFwcGVycyB0byBhY2Nlc3MgZWl0aGVyIG9uZSBkZXBl
bmRpbmcgb24gY29uZGl0aW9ucyBhbmQgcGxhdGZvcm1zIHdpdGhvdXQgc2lnbmlmaWNhbnQgY29k
ZSBkdXBsaWNhdGlvbiBvciByZS1vcmdhbml6YXRpb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0
Q2FjaGU6OnBlcmZvcm1EZWZlcnJlZENhY2hlVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFY
T2JqZWN0Q2FjaGU6OndhbGtBY2Nlc3NpYmlsaXR5VHJlZUZvclN0YXRpY1RyZWUpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJl
ZUlmTmVlZGVkKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnNldEluaXRpYWxpemVkU3RhdGljVHJlZU5vZGUp
OgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6aW5pdGlhbGl6ZWRTdGF0
aWNUcmVlTm9kZSBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RD
YWNoZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZVN0
YXRpY1RyZWVOb2RlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckJhc2UuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZSBzZXRTdGF0aWNUcmVlTm9kZTpdKToKKyAgICAgICAgKC1b
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIHN0YXRpY1RyZWVOb2RlXSk6CisgICAg
ICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBoYXNTdGF0aWNCYWNraW5n
XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSB1cGRhdGVP
YmplY3RCYWNraW5nU3RvcmVdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXJCYXNlIGF4QmFja2luZ09iamVjdF0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlckJhc2UgYmFzZUFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbl0pOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1t
OgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByb2xlXSk6CisgICAg
ICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHN1YnJvbGVdKToKKyAgICAgICAg
KC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgcm9sZURlc2NyaXB0aW9uXSk6CisgICAg
ICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1
dGVWYWx1ZTpdKToKKwogMjAxOS0wMS0wNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CiAKICAgICAgICAgQ3Jhc2ggaW4gU1dTZXJ2ZXI6OkNvbm5lY3Rpb246OnJlc29sdmVSZWdp
c3RyYXRpb25SZWFkeVJlcXVlc3RzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjM5NzE4KQor
KysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJ
KHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdf
JChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
R19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAor
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkg
PSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVf
UEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25l
c2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFC
TEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5B
QkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFC
TEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQ
T1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFU
VVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVS
U0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tF
WUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAk
KEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAk
KEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRf
UkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9S
RVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VS
VklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFT
U0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5B
QkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQo
RU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1Mp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5B
QkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkg
JChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJ
TkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9N
RURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19F
TEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhO
KSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNT
RU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNp
b24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmls
aXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0wMS0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNz
b0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTmV0d29yazogc2hvdyBzZWN1
cmUgY29ubmVjdGlvbiBkZXRhaWxzIHBlci1yZXF1ZXN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Q
QUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAK
IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUg
PSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9S
TV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsK
IEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAg
LTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NT
X0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lP
TlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9L
RVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhU
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NV
U1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBU
VVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJ
T04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9N
RVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVM
TFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxF
X1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJF
QU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJH
UFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JN
UykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpICQo
RU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxF
X0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1J
U1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRF
UlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9L
RVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkg
JChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikg
JChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQo
RU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklH
QVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5U
X1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NF
UlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0CShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzY2LDYgKzM2Niw4IEBACiBhY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlUcmVlLmNwcAogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZUl0ZW0u
Y3BwCiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmNwcAorYWNjZXNzaWJp
bGl0eS9BWFN0YXRpY1RyZWUvQVhTdGF0aWNUcmVlQ2FjaGUuY3BwCithY2Nlc3NpYmlsaXR5L0FY
U3RhdGljVHJlZS9BWFN0YXRpY1RyZWVOb2RlLmNwcAogCiBhbmltYXRpb24vQW5pbWF0aW9uRWZm
ZWN0LmNwcAogYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQuY3BwCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTY5NCw2ICs2OTQsNyBAQAogCQkyNkY5QTgzODE4
QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2RjlBODM2MThBMDQ2QUMwMEFFQjg4
QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwICovOyB9OwogCQkyNkY5QTgzOTE4QTA0NkFD
MDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkY5QTgzNzE4QTA0NkFDMDBBRUI4OEEgLyogVmll
d3BvcnRDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMjkxNEUzMDgxQ0FCNUE0NDAwNDk5NjZGIC8qIEFjY2Vzc2liaWxpdHlB
dHRhY2htZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAq
LzsgfTsKKwkJMjkzNkJGNUMyMUQ2OUU0QjAwNEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJ
bnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDI5MzZCRjVBMjFENjk5OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkz
RUFFMUYxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzRUFFMUUxMzU2QjJG
RTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5NDg5RkM3MTJDMDBGMDMwMEQ4M0Yw
RiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjk0ODlGQzUxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2li
aWxpdHlTY3JvbGxWaWV3LmggKi87IH07CiAJCTI5N0JFM0Q1MTZDMDNDMDgwMDMzMTZCRCAvKiBQ
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjUyN0NDOTExNkJGOEJBMTAwOUREQUMwIC8qIFBsYXRm
b3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggKi87IH07CkBAIC03MTUsNiArNzE2LDggQEAK
IAkJMjlBODEyNDMwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTIyNTBGQkI5
QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3guaCAqLzsgfTsKIAkJMjlBODEyNDkw
RkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBODEyNDUwRkJC
OUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5QUNCMjEyMTQz
RTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBQ0IyMTExNDNFNzEyODAwNkJDQTVG
IC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmggKi87IH07CisJCTI5QUUyMTJEMjFBQjlFRUIw
MDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBRTIxMkIyMUFCOUVFQjAwODY5MjgzIC8qIEFYU3RhdGlj
VHJlZUNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMjlBRTIxMzUyMUFCQTQ4QTAwODY5MjgzIC8qIEFYU3RhdGljVHJlZU5vZGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QUUyMTMzMjFBQkE0
OEEwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjlEN0JDRkExNDQ0QUY3RDAwNzA2MTlDIC8qIEFj
Y2Vzc2liaWxpdHlTcGluQnV0dG9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyOUQ3QkNGOTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNw
aW5CdXR0b24uaCAqLzsgfTsKIAkJMjlGQUY0QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRv
SW5zZXJ0aW9uTWFya3VwTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyOUZBRjRCNTE5NUFCMDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25N
YXJrdXBNYWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkyQjM2NUM4NDE1MjUxMTlFMDA5MUQyN0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2
MDAwREJCQ0Q4IC8qIFJlbmRlclNWR0VsbGlwc2UuaCAqLzsgfTsKQEAgLTY1MzAsNiArNjUzMyw3
IEBACiAJCTI4REI5QkM3MjAyMEVBMDQwMEU1NEEwNyAvKiBQZXJmb3JtYW5jZVNlcnZlclRpbWlu
Zy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTE0RTMwNTFDQUI1QTQ0MDA0OTk2NkYg
LyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyOTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0
dGFjaG1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0
eUF0dGFjaG1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjkzNkJGNUEyMUQ2
OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNh
dGlvbkNoZWNrcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ4OUZDNTEyQzAw
RjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMjk0OTg2ODExOTUzNDE5NDAwNzJEMkJEIC8qIFRleHRVbmRvSW5z
ZXJ0aW9uTWFya3VwTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC02NTc3LDYgKzY1ODEsMTAgQEAKIAkJMjlBODEyNDcwRkJCOUNBOTAwNTEwMjkzIC8q
IEFYT2JqZWN0Q2FjaGVNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBBWE9iamVjdENhY2hlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
OUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlBQ0IyMTMxNDNFNzQ5ODAwNkJDQTVGIC8q
IEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMjlBRTIxMkIyMUFCOUVFQjAwODY5MjgzIC8qIEFYU3RhdGljVHJlZUNhY2hl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFYU3RhdGljVHJlZUNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTI5QUUyMTJDMjFBQjlFRUIwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVDYWNo
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBWFN0YXRpY1RyZWVDYWNoZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWFN0YXRp
Y1RyZWVOb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFYU3RhdGljVHJlZU5vZGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMzQyMUFCQTQ4QTAwODY5MjgzIC8qIEFYU3RhdGlj
VHJlZU5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQVhTdGF0aWNUcmVlTm9kZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RDdCQ0Y1MTQ0NEFGNTgwMDcwNjE5QyAvKiBB
Y2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI5RDdCQ0Y5MTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3Bp
bkJ1dHRvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUUwNEEyN0JFRDJGODFG
OThFOTAyMkIgLyogSlNCZWZvcmVVbmxvYWRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0JlZm9yZVVubG9hZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xNjkzOSw2ICsxNjk0Nyw3IEBACiAJCTI5QTgxMjA0MEZCQjlCNDEwMDUxMDI5MyAv
KiBhY2Nlc3NpYmlsaXR5ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKKwkJCQkyOUFFMjEyOTIxQUI5RUNCMDA4NjkyODMgLyogQVhTdGF0aWNUcmVlICovLAogCQkJ
CUFBQTcyOEVGMTZEMUQ4QkMwMEQzQkJDNiAvKiBpb3MgKi8sCiAJCQkJMjlBODEyMDUwRkJCOUI1
MjAwNTEwMjkzIC8qIG1hYyAqLywKIAkJCQkyOTgxQ0E5RDEzMTgyMkVDMDBEMTJGMkEgLyogQWNj
ZXNzaWJpbGl0eUFSSUFHcmlkLmNwcCAqLywKQEAgLTE2OTc3LDYgKzE2OTg2LDcgQEAKIAkJCQky
OTg1NzA5MzE1Q0M1MzJEMDA2MzU1Q0QgLyogQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaCAqLywK
IAkJCQkyOTgxQ0FBNTEzMTgyMkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAg
Ki8sCiAJCQkJMjlBODEyMTgwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3Qu
aCAqLywKKwkJCQkyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVj
dEludGVyZmFjZS5oICovLAogCQkJCUE0MDlDOTgyMTE2RDBEREQwMDcxOTdCRCAvKiBBY2Nlc3Np
YmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IuY3BwICovLAogCQkJCUE0MDlDOTgzMTE2RDBEREQwMDcx
OTdCRCAvKiBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IuaCAqLywKIAkJCQkyOTgxQ0FB
NjEzMTgyMkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgKi8sCkBA
IC0xNzAzMiw2ICsxNzA0MiwxNyBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CiAJCX07CisJCTI5QUUyMTI5MjFBQjlFQ0IwMDg2OTI4MyAvKiBBWFN0YXRpY1Ry
ZWUgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTI5QUUy
MTJCMjFBQjlFRUIwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVDYWNoZS5oICovLAorCQkJCTI5QUUy
MTJDMjFBQjlFRUIwMDg2OTI4MyAvKiBBWFN0YXRpY1RyZWVDYWNoZS5jcHAgKi8sCisJCQkJMjlB
RTIxMzMyMUFCQTQ4QTAwODY5MjgzIC8qIEFYU3RhdGljVHJlZU5vZGUuaCAqLywKKwkJCQkyOUFF
MjEzNDIxQUJBNDhBMDA4NjkyODMgLyogQVhTdGF0aWNUcmVlTm9kZS5jcHAgKi8sCisJCQkpOwor
CQkJcGF0aCA9IEFYU3RhdGljVHJlZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07
CiAJCTJEMDYyMTQ2MURBNjM5RUMwMEE3RkIyNiAvKiBsZWdhY3kgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMjk1OTIsNiArMjk2MTMsNyBAQAogCQkJCTFB
RTJBQTk4MEExQ0REMkQwMEI0MkIyNSAvKiBKU0hUTUxJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4MEU3RTk3MEExQTgzRTMwMDdGQjhDNSAvKiBKU0hUTUxJbnB1dEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTgzNkIwOTU2MUY1RjM0RDkwMDNDMzcwMiAvKiBKU0hUTUxJ
bnB1dEVsZW1lbnRFbnRyaWVzQVBJLmggaW4gSGVhZGVycyAqLywKKwkJCQkyOTM2QkY1QzIxRDY5
RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTYxNDhBNzkxMkU0MUUzQjAwNDRBNzg0IC8qIEpTSFRNTEtleWdlbkVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTJBQjIyMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxM
YWJlbEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTJBQjI0MEExQ0U2M0IwMEI0MkIy
NSAvKiBKU0hUTUxMZWdlbmRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMxMDQzLDYgKzMx
MDY1LDcgQEAKIAkJCQk1MTQwNUM4OTE5MEIwMTQ0MDA3NTRGOTQgLyogU2VsZWN0aW9uUmVjdEdh
dGhlcmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDRCNEJCNDE0MTY1MEQ3MDAyQjFEOEIgLyog
U2VsZWN0b3JDaGVja2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzJEM0ZFODE4QTg2NTg0MDBE
N0RDMDMgLyogU2VsZWN0b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMjlBRTIxMzUyMUFCQTQ4QTAwODY5MjgzIC8qIEFYU3RhdGljVHJlZU5vZGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTI2Qjk5OTk3MTgwNEQ1NDIwMEQwMTEyMSAvKiBTZWxlY3RvckNvbXBpbGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTUwNzE1ODE2ODUwNjczMDBDM0M3QjMgLyogU2VsZWN0
b3JGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQzMTA3QkUyMThDQzE5REUwMENDMThFOCAv
KiBTZWxlY3RvclBzZXVkb1R5cGVNYXAuaCBpbiBIZWFkZXJzICovLApAQCAtMzE5NzMsNiArMzE5
OTYsNyBAQAogCQkJCTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdh
dGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NDE2RkU2MTg4MTBFRjgwMDA5RkM1RiAvKiBZb3VU
dWJlRW1iZWRTaGFkb3dFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QTU1MTVGNTE5MTgz
MEEzMDA5Njg3RDIgLyogWW91VHViZVBsdWdpblJlcGxhY2VtZW50LmggaW4gSGVhZGVycyAqLywK
KwkJCQkyOUFFMjEyRDIxQUI5RUVCMDA4NjkyODMgLyogQVhTdGF0aWNUcmVlQ2FjaGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5jcHAJKHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDggQEAKIAog
I2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKIAorI2luY2x1ZGUgIkFYU3RhdGljVHJlZUNhY2hl
LmgiCisjaW5jbHVkZSAiQVhTdGF0aWNUcmVlTm9kZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlBUklBR3JpZC5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuaCIKICNp
bmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaCIKQEAgLTI5MDUsOCArMjkwNywzNiBA
QAogICAgIGZvciAoYXV0byYgZGVmZXJyZWRGb2N1c2VkQ2hhbmdlQ29udGV4dCA6IG1fZGVmZXJy
ZWRGb2N1c2VkTm9kZUNoYW5nZSkKICAgICAgICAgaGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5n
ZWQoZGVmZXJyZWRGb2N1c2VkQ2hhbmdlQ29udGV4dC5maXJzdCwgZGVmZXJyZWRGb2N1c2VkQ2hh
bmdlQ29udGV4dC5zZWNvbmQpOwogICAgIG1fZGVmZXJyZWRGb2N1c2VkTm9kZUNoYW5nZS5jbGVh
cigpOworCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisgICAgZ2VuZXJh
dGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKCk7CisjZW5kaWYKIH0KICAgICAKKyNp
ZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKK1JlZlB0cjxBWFN0YXRpY1RyZWVO
b2RlPiBBWE9iamVjdENhY2hlOjp3YWxrQWNjZXNzaWJpbGl0eVRyZWVGb3JTdGF0aWNUcmVlKEFj
Y2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCkKK3sKKyAgICBSZWZQdHI8QVhTdGF0aWNUcmVlTm9k
ZT4gc3RhdGljVHJlZU5vZGUgPSBBWFN0YXRpY1RyZWVOb2RlOjpjcmVhdGUob2JqZWN0KTsKKyAg
ICBvYmplY3QtPnNldEluaXRpYWxpemVkU3RhdGljVHJlZU5vZGUodHJ1ZSk7CisgICAgYXNzb2Np
YXRlU3RhdGljVHJlZU5vZGUob2JqZWN0LCBzdGF0aWNUcmVlTm9kZS5nZXQoKSk7CisgICAgZm9y
IChhdXRvIGNoaWxkIDogb2JqZWN0LT5jaGlsZHJlbigpKSB7CisgICAgICAgIGF1dG8gc3RhdGlj
Q2hpbGQgPSB3YWxrQWNjZXNzaWJpbGl0eVRyZWVGb3JTdGF0aWNUcmVlKGNoaWxkLmdldCgpKTsK
KyAgICAgICAgc3RhdGljQ2hpbGQtPnNldFBhcmVudChzdGF0aWNUcmVlTm9kZS5nZXQoKSk7Cisg
ICAgICAgIHN0YXRpY1RyZWVOb2RlLT5jaGlsZHJlbigpLmFwcGVuZChzdGF0aWNDaGlsZCk7Cisg
ICAgfQorICAgIHJldHVybiBzdGF0aWNUcmVlTm9kZTsKK30KKyAgICAKK3ZvaWQgQVhPYmplY3RD
YWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKCkKK3sKKyAgICBp
ZiAocm9vdE9iamVjdCgpLT5pbml0aWFsaXplZFN0YXRpY1RyZWVOb2RlKCkpCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICBSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gcm9vdCA9IHdhbGtBY2Nl
c3NpYmlsaXR5VHJlZUZvclN0YXRpY1RyZWUocm9vdE9iamVjdCgpKTsKKyAgICBBWFN0YXRpY1Ry
ZWVDYWNoZTo6dXBkYXRlU3RhdGljVHJlZUNhY2hlKHJvb3QsIG1fZG9jdW1lbnQucGFnZSgpKTsK
K30KKyNlbmRpZgorICAgIAogdm9pZCBBWE9iamVjdENhY2hlOjpkZWZlclJlY29tcHV0ZUlzSWdu
b3JlZElmTmVlZGVkKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgaWYgKCFub2RlQW5kUmVuZGVy
ZXJBcmVWYWxpZChlbGVtZW50KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5oCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzks
OSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9T
VEFUSUNfVFJFRSkKK2NsYXNzIEFYU3RhdGljVHJlZU5vZGU7CisjZW5kaWYKIGNsYXNzIERvY3Vt
ZW50OwogY2xhc3MgSFRNTEFyZWFFbGVtZW50OwogY2xhc3MgSFRNTFRleHRGb3JtQ29udHJvbEVs
ZW1lbnQ7CkBAIC0xODAsNiArMTgzLDEzIEBACiAgICAgdm9pZCBkZWZlckF0dHJpYnV0ZUNoYW5n
ZUlmTmVlZGVkKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBFbGVtZW50Kik7CiAgICAgdm9pZCByZWNv
bXB1dGVJc0lnbm9yZWQoUmVuZGVyT2JqZWN0KiByZW5kZXJlcik7CiAKKyNpZiBFTkFCTEUoQUND
RVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGdlbmVyYXRl
U3RhdGljQWNjZXNzaWJpbGl0eVRyZWVJZk5lZWRlZCgpOworCisgICAgdm9pZCBhc3NvY2lhdGVT
dGF0aWNUcmVlTm9kZShBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgQVhTdGF0aWNUcmVlTm9kZSopOwor
ICAgIFJlZlB0cjxBWFN0YXRpY1RyZWVOb2RlPiB3YWxrQWNjZXNzaWJpbGl0eVRyZWVGb3JTdGF0
aWNUcmVlKEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKKyNlbmRpZgorICAgIAogI2lmIEhBVkUoQUND
RVNTSUJJTElUWSkKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVBY2Nlc3Np
YmlsaXR5KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZGlzYWJsZUFjY2Vzc2li
aWxpdHkoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhTdGF0aWNUcmVl
L0FYU3RhdGljVHJlZUNhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVDYWNoZS5jcHAJKG5vbmV4aXN0ZW50
KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhTdGF0aWNU
cmVlQ2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTA4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQorCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiQVhTdGF0aWNUcmVlQ2FjaGUuaCIKKworI2luY2x1ZGUgIkFYU3Rh
dGljVHJlZU5vZGUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSA8d3RmL05ldmVyRGVz
dHJveWVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK3N0YXRpYyBMb2NrIHNfc3Rh
dGljVHJlZUxvY2s7CitIYXNoTWFwPFBhZ2UqLCBSZWZQdHI8QVhTdGF0aWNUcmVlQ2FjaGU+PiYg
QVhTdGF0aWNUcmVlQ2FjaGU6OnBhZ2VSb290TWFwKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8SGFzaE1hcDxQYWdlKiwgUmVmUHRyPEFYU3RhdGljVHJlZUNhY2hlPj4+IG1hcDsKKyAg
ICByZXR1cm4gbWFwOworfQorICAgIAorQVhTdGF0aWNUcmVlQ2FjaGU6OkFYU3RhdGljVHJlZUNh
Y2hlKCkKK3sKK30KKworQVhTdGF0aWNUcmVlQ2FjaGU6On5BWFN0YXRpY1RyZWVDYWNoZSgpID0g
ZGVmYXVsdDsKKworUmVmPEFYU3RhdGljVHJlZUNhY2hlPiBBWFN0YXRpY1RyZWVDYWNoZTo6Y3Jl
YXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWFN0YXRpY1RyZWVDYWNoZSgpKTsK
K30KKyAgICAKK0FYU3RhdGljVHJlZU5vZGUqIEFYU3RhdGljVHJlZUNhY2hlOjpyb290U3RhdGlj
VHJlZU5vZGUoUGFnZSogcGFnZSkKK3sKKyAgICBzX3N0YXRpY1RyZWVMb2NrLmxvY2soKTsKKyAg
ICBhdXRvIGNhY2hlID0gcGFnZVJvb3RNYXAoKS5nZXQocGFnZSk7CisgICAgc19zdGF0aWNUcmVl
TG9jay51bmxvY2soKTsKKyAgICBpZiAoY2FjaGUgJiYgY2FjaGUtPm1fcm9vdE5vZGUpCisgICAg
ICAgIHJldHVybiBjYWNoZS0+bV9yb290Tm9kZS5nZXQoKTsKKyAgICAKKyAgICByZXR1cm4gbnVs
bHB0cjsKK30KKwordm9pZCBBWFN0YXRpY1RyZWVDYWNoZTo6dXBkYXRlU3RhdGljVHJlZUNhY2hl
KFJlZlB0cjxBWFN0YXRpY1RyZWVOb2RlPiByb290LCBQYWdlKiBwYWdlKQoreworICAgIHNfc3Rh
dGljVHJlZUxvY2subG9jaygpOworICAgIGF1dG8gY2FjaGUgPSBwYWdlUm9vdE1hcCgpLmdldChw
YWdlKTsKKyAgICBpZiAoIWNhY2hlKSB7CisgICAgICAgIFJlZlB0cjxBWFN0YXRpY1RyZWVDYWNo
ZT4gbmV3Q2FjaGUgPSBBWFN0YXRpY1RyZWVDYWNoZTo6Y3JlYXRlKCk7CisgICAgICAgIHBhZ2VS
b290TWFwKCkuc2V0KHBhZ2UsIG5ld0NhY2hlKTsKKyAgICAgICAgY2FjaGUgPSBuZXdDYWNoZS5n
ZXQoKTsKKyAgICB9CisgICAgCisgICAgY2FjaGUtPmludGVybmFsVXBkYXRlU3RhdGljVHJlZUNh
Y2hlKHJvb3QpOworICAgIHNfc3RhdGljVHJlZUxvY2sudW5sb2NrKCk7Cit9CisKK3N0YXRpYyBi
b29sIHNlYXJjaFRyZWVBbmRSZXBsYWNlKFJlZlB0cjxBWFN0YXRpY1RyZWVOb2RlPiBzZWFyY2hO
b2RlLCBSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gbmV3Um9vdCkKK3sKKyAgICBhdXRvIGNoaWxk
cmVuID0gc2VhcmNoTm9kZS0+Y2hpbGRyZW4oKTsKKyAgICBzaXplX3QgY291bnQgPSBjaGlsZHJl
bi5zaXplKCk7CisgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGNvdW50OyArK2lu
ZGV4KSB7CisgICAgICAgIGlmIChjaGlsZHJlbltpbmRleF0tPmlkZW50aWZpZXIoKSA9PSBuZXdS
b290LT5pZGVudGlmaWVyKCkpIHsKKyAgICAgICAgICAgIGNoaWxkcmVuLmluc2VydChpbmRleCwg
bmV3Um9vdCk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICAK
KyAgICAgICAgaWYgKHNlYXJjaFRyZWVBbmRSZXBsYWNlKGNoaWxkcmVuW2luZGV4XSwgbmV3Um9v
dCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisgICAgCit2b2lkIEFYU3RhdGljVHJlZUNhY2hlOjppbnRlcm5hbFVwZGF0ZVN0YXRpY1Ry
ZWVDYWNoZShSZWZQdHI8QVhTdGF0aWNUcmVlTm9kZT4gc3ViUm9vdCkKK3sKKyAgICBBU1NFUlQo
c19zdGF0aWNUcmVlTG9jay5pc0xvY2tlZCgpKTsKKyAgICBpZiAoIW1fcm9vdE5vZGUpCisgICAg
ICAgIG1fcm9vdE5vZGUgPSBzdWJSb290OworICAgIGVsc2UKKyAgICAgICAgc2VhcmNoVHJlZUFu
ZFJlcGxhY2UobV9yb290Tm9kZSwgc3ViUm9vdCk7Cit9CisgICAgCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhTdGF0aWNUcmVlL0FYU3RhdGljVHJl
ZUNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0
YXRpY1RyZWUvQVhTdGF0aWNUcmVlQ2FjaGUuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVDYWNoZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
X1NUQVRJQ19UUkVFKQorCisjaW5jbHVkZSAiQVhTdGF0aWNUcmVlTm9kZS5oIgorI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGFnZTsKKyAgICAK
K2NsYXNzIEFYU3RhdGljVHJlZUNhY2hlIDogcHVibGljIFJlZkNvdW50ZWQ8QVhTdGF0aWNUcmVl
Q2FjaGU+IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBWFN0YXRpY1RyZWVDYWNoZSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworCitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxBWFN0YXRp
Y1RyZWVDYWNoZT4gY3JlYXRlKCk7CisgICAgc3RhdGljIHZvaWQgdXBkYXRlU3RhdGljVHJlZUNh
Y2hlKFJlZlB0cjxBWFN0YXRpY1RyZWVOb2RlPiwgUGFnZSopOworICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyBBWFN0YXRpY1RyZWVOb2RlKiByb290U3RhdGljVHJlZU5vZGUoUGFnZSopOworICAg
IEFYU3RhdGljVHJlZUNhY2hlKCk7CisgICAgdmlydHVhbCB+QVhTdGF0aWNUcmVlQ2FjaGUoKTsK
KworcHJpdmF0ZToKKyAgICB2b2lkIGludGVybmFsVXBkYXRlU3RhdGljVHJlZUNhY2hlKFJlZlB0
cjxBWFN0YXRpY1RyZWVOb2RlPik7CisgICAgc3RhdGljIEhhc2hNYXA8UGFnZSosIFJlZlB0cjxB
WFN0YXRpY1RyZWVDYWNoZT4+JiBwYWdlUm9vdE1hcCgpOworCisgICAgUmVmUHRyPEFYU3RhdGlj
VHJlZU5vZGU+IG1fcm9vdE5vZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhT
dGF0aWNUcmVlTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWFN0YXRpY1RyZWUvQVhTdGF0aWNUcmVlTm9kZS5jcHAJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhTdGF0aWNUcmVlTm9k
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJBWFN0YXRpY1RyZWVOb2RlLmgiCisKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5
T2JqZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQVhTdGF0aWNUcmVlTm9kZTo6QVhT
dGF0aWNUcmVlTm9kZShBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QpCit7CisgICAgbV9pZGVu
dGlmaWVyID0gb2JqZWN0LT5heE9iamVjdElEKCk7CisgICAgaW5pdGlhbGl6ZUF0dHJpYnV0ZURh
dGEob2JqZWN0KTsKK30KKworUmVmPEFYU3RhdGljVHJlZU5vZGU+IEFYU3RhdGljVHJlZU5vZGU6
OmNyZWF0ZShBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QpCit7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgQVhTdGF0aWNUcmVlTm9kZShvYmplY3QpKTsKK30KKyAgICAKK0FYU3RhdGljVHJl
ZU5vZGU6On5BWFN0YXRpY1RyZWVOb2RlKCkgPSBkZWZhdWx0OworCit2b2lkIEFYU3RhdGljVHJl
ZU5vZGU6OmluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVj
dCkKK3sKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Um9sZVZhbHVlLCBzdGF0aWNf
Y2FzdDxpbnQ+KG9iamVjdC0+cm9sZVZhbHVlKCkpKTsKKyAgICBzZXRQcm9wZXJ0eShBWFByb3Bl
cnR5TmFtZTo6SXNBdHRhY2htZW50LCBvYmplY3QtPmlzQXR0YWNobWVudCgpKTsKKyAgICBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNNZWRpYUNvbnRyb2xMYWJlbCwgb2JqZWN0LT5pc01l
ZGlhQ29udHJvbExhYmVsKCkpOworICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpJc0F0
dGFjaG1lbnQsIG9iamVjdC0+aXNBdHRhY2htZW50KCkpOworfQorICAgIAordm9pZCBBWFN0YXRp
Y1RyZWVOb2RlOjpzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEF0dHJp
YnV0ZVZhbHVlVmFyaWFudCYmIHZhbHVlLCBib29sIHNob3VsZFJlbW92ZSkKK3sKKyAgICBpZiAo
c2hvdWxkUmVtb3ZlKQorICAgICAgICBtX2F0dHJpYnV0ZU1hcC5yZW1vdmUocHJvcGVydHlOYW1l
KTsKKyAgICBlbHNlCisgICAgICAgIG1fYXR0cmlidXRlTWFwLnNldChwcm9wZXJ0eU5hbWUsIHZh
bHVlKTsKK30KKyAgICAKK2RvdWJsZSBBWFN0YXRpY1RyZWVOb2RlOjpkb3VibGVBdHRyaWJ1dGVW
YWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1
ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3
aXRjaE9uKHZhbHVlLCBbJl0gKGRvdWJsZSYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4g
dHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiAwLjA7Cisg
ICAgfSk7Cit9CisKK3Vuc2lnbmVkIEFYU3RhdGljVHJlZU5vZGU6OnVuc2lnbmVkQXR0cmlidXRl
VmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFs
dWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpz
d2l0Y2hPbih2YWx1ZSwgWyZdICh1bnNpZ25lZCYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1
cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiAwOwor
ICAgIH0pOworfQorCitib29sIEFYU3RhdGljVHJlZU5vZGU6OmJvb2xBdHRyaWJ1dGVWYWx1ZShB
WFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1f
YXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9u
KHZhbHVlLCBbJl0gKGJvb2wmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFs
dWU7CisgICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSk7
Cit9CisKK2NvbnN0IFN0cmluZyYgQVhTdGF0aWNUcmVlTm9kZTo6c3RyaW5nQXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUg
PSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0
Y2hPbih2YWx1ZSwgWyZdIChTdHJpbmcmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5
cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gbnVsbEF0b20o
KTsKKyAgICB9KTsKK30KKworaW50IEFYU3RhdGljVHJlZU5vZGU6OmludEF0dHJpYnV0ZVZhbHVl
KEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0g
bV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNo
T24odmFsdWUsIFsmXSAoaW50JiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZh
bHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfSk7Cit9
CisKKyNwcmFnbWEgbWFyayAtIE92ZXJyaWRlcworICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKChBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQpJbmRleDog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWFN0YXRpY1RyZWUvQVhTdGF0aWNUcmVlTm9k
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhTdGF0aWNU
cmVlL0FYU3RhdGljVHJlZU5vZGUuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYU3RhdGljVHJlZS9BWFN0YXRpY1RyZWVOb2RlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxMTQgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJl
IG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9TVEFU
SUNfVFJFRSkKKworI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKKyNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8
d3RmL1ZhcmlhbnQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdDsKKyAgICAKK2NsYXNzIEFYU3RhdGlj
VHJlZU5vZGUgZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSwgcHVi
bGljIFJlZkNvdW50ZWQ8QVhTdGF0aWNUcmVlTm9kZT4geworICAgIAorZW51bSBjbGFzcyBBWFBy
b3BlcnR5TmFtZSA6IGludCB7CisgICAgTm9uZSA9IDAsCisgICAgUm9sZVZhbHVlID0gMSwKKyAg
ICBJc0F0dGFjaG1lbnQsCisgICAgSXNNZWRpYUNvbnRyb2xMYWJlbCwKK307CisKK3N0cnVjdCBB
WFByb3BlcnR5SGFzaFRyYWl0cyA6IFdURjo6R2VuZXJpY0hhc2hUcmFpdHM8QVhQcm9wZXJ0eU5h
bWU+IHsKKyAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gZmFsc2U7Cisg
ICAgc3RhdGljIEFYUHJvcGVydHlOYW1lIGVtcHR5VmFsdWUoKSB7IHJldHVybiBBWFByb3BlcnR5
TmFtZTo6Tm9uZTsgfTsKKyAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoQVhQ
cm9wZXJ0eU5hbWUmIHNsb3QpCisgICAgeworICAgICAgICBzbG90ID0gc3RhdGljX2Nhc3Q8QVhQ
cm9wZXJ0eU5hbWU+KHN0YXRpY19jYXN0PGludD4oQVhQcm9wZXJ0eU5hbWU6Ok5vbmUpIC0gMSk7
CisgICAgfQorICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKEFYUHJvcGVydHlOYW1lIHZh
bHVlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4odmFsdWUpID09IHN0
YXRpY19jYXN0PGludD4oQVhQcm9wZXJ0eU5hbWU6Ok5vbmUpIC0gMTsKKyAgICB9Cit9OworCitw
cm90ZWN0ZWQ6CisgICAgQVhTdGF0aWNUcmVlTm9kZSgpID0gZGVmYXVsdDsKKworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8QVhTdGF0aWNUcmVlTm9kZT4gY3JlYXRlKEFjY2Vzc2liaWxpdHlPYmpl
Y3QqKTsKKyAgICB2aXJ0dWFsIH5BWFN0YXRpY1RyZWVOb2RlKCk7CisKKyAgICBBWElEIGlkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KKyAgICAKKyAgICBWZWN0b3I8
UmVmUHRyPEFYU3RhdGljVHJlZU5vZGU+PiYgY2hpbGRyZW4oKSB7IHJldHVybiBtX2NoaWxkcmVu
OyB9OworCisgICAgdm9pZCBzZXRQYXJlbnQoQVhTdGF0aWNUcmVlTm9kZSogcGFyZW50KSB7IG1f
cGFyZW50ID0gcGFyZW50OyB9CisgICAgQVhTdGF0aWNUcmVlTm9kZSogcGFyZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9wYXJlbnQ7IH0KKyAgICAKKyAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ciogd3JhcHBlcigpIGNvbnN0IHsgcmV0dXJuIG1fd3JhcHBlci5nZXQoKTsgfQorICAgIHZvaWQg
c2V0V3JhcHBlcihBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciogd3JhcHBlcikKKyAgICB7Cisg
ICAgICAgIG1fd3JhcHBlciA9IHdyYXBwZXI7CisgICAgfQorCitwcml2YXRlOgorICAgIEFYU3Rh
dGljVHJlZU5vZGUoQWNjZXNzaWJpbGl0eU9iamVjdCopOworICAgIHZvaWQgaW5pdGlhbGl6ZUF0
dHJpYnV0ZURhdGEoQWNjZXNzaWJpbGl0eU9iamVjdCopOworICAgIAorICAgIGJvb2wgaXNNZWRp
YUNvbnRyb2xMYWJlbCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZTo6SXNNZWRpYUNvbnRyb2xMYWJlbCk7IH0KKyAgICBib29sIGlzQXR0
YWNobWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6SXNBdHRhY2htZW50KTsgfQorICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVW
YWx1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlS
b2xlPihpbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6Um9sZVZhbHVlKSk7IH0KKyAg
ICAKKyAgICB1c2luZyBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQgPSBWYXJpYW50PHN0ZDo6bnVsbHB0
cl90LCBTdHJpbmcsIGJvb2wsIGludCwgdW5zaWduZWQsIGRvdWJsZT47CisgICAgdm9pZCBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZSwgQXR0cmlidXRlVmFsdWVWYXJpYW50JiYsIGJvb2wgc2hv
dWxkUmVtb3ZlID0gZmFsc2UpOworICAgIAorICAgIGJvb2wgYm9vbEF0dHJpYnV0ZVZhbHVlKEFY
UHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBjb25zdCBTdHJpbmcmIHN0cmluZ0F0dHJpYnV0ZVZh
bHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBpbnQgaW50QXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIHVuc2lnbmVkIHVuc2lnbmVkQXR0cmlidXRlVmFsdWUo
QVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGRvdWJsZSBkb3VibGVBdHRyaWJ1dGVWYWx1ZShB
WFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgCisgICAgQVhJRCBtX2lkZW50aWZpZXI7CisgICAg
VmVjdG9yPFJlZlB0cjxBWFN0YXRpY1RyZWVOb2RlPj4gbV9jaGlsZHJlbjsKKyAgICBBWFN0YXRp
Y1RyZWVOb2RlKiBtX3BhcmVudDsKKyAgICAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXRh
aW5QdHI8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI+IG1fd3JhcHBlcjsKKyNlbmRpZgor
ICAgIAorICAgIEhhc2hNYXA8QVhQcm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCwg
V1RGOjpJbnRIYXNoPEFYUHJvcGVydHlOYW1lPiwgQVhQcm9wZXJ0eUhhc2hUcmFpdHM+IG1fYXR0
cmlidXRlTWFwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKChBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCShyZXZpc2lvbiAyMzk3
MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
aAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2lu
Y2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKICNpbmNsdWRlICJGbG9hdFF1
YWQuaCIKICNpbmNsdWRlICJIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oIgogI2luY2x1ZGUg
IkxheW91dFJlY3QuaCIKQEAgLTg5LDE1NyArOTAsNiBAQAogY2xhc3MgU2Nyb2xsVmlldzsKIGNs
YXNzIFdpZGdldDsKIAotdHlwZWRlZiB1bnNpZ25lZCBBWElEOwotCi1lbnVtIGNsYXNzIEFjY2Vz
c2liaWxpdHlSb2xlIHsKLSAgICBBbm5vdGF0aW9uID0gMSwKLSAgICBBcHBsaWNhdGlvbiwKLSAg
ICBBcHBsaWNhdGlvbkFsZXJ0LAotICAgIEFwcGxpY2F0aW9uQWxlcnREaWFsb2csCi0gICAgQXBw
bGljYXRpb25EaWFsb2csCi0gICAgQXBwbGljYXRpb25Hcm91cCwKLSAgICBBcHBsaWNhdGlvbkxv
ZywKLSAgICBBcHBsaWNhdGlvbk1hcnF1ZWUsCi0gICAgQXBwbGljYXRpb25TdGF0dXMsCi0gICAg
QXBwbGljYXRpb25UZXh0R3JvdXAsCi0gICAgQXBwbGljYXRpb25UaW1lciwKLSAgICBBdWRpbywK
LSAgICBCbG9ja3F1b3RlLAotICAgIEJyb3dzZXIsCi0gICAgQnVzeUluZGljYXRvciwKLSAgICBC
dXR0b24sCi0gICAgQ2FudmFzLAotICAgIENhcHRpb24sCi0gICAgQ2VsbCwKLSAgICBDaGVja0Jv
eCwKLSAgICBDb2xvcldlbGwsCi0gICAgQ29sdW1uLAotICAgIENvbHVtbkhlYWRlciwKLSAgICBD
b21ib0JveCwKLSAgICBEZWZpbml0aW9uLAotICAgIERlc2NyaXB0aW9uTGlzdCwKLSAgICBEZXNj
cmlwdGlvbkxpc3RUZXJtLAotICAgIERlc2NyaXB0aW9uTGlzdERldGFpbCwKLSAgICBEZXRhaWxz
LAotICAgIERpcmVjdG9yeSwKLSAgICBEaXNjbG9zdXJlVHJpYW5nbGUsCi0gICAgRGl2LAotICAg
IERvY3VtZW50LAotICAgIERvY3VtZW50QXJ0aWNsZSwKLSAgICBEb2N1bWVudE1hdGgsCi0gICAg
RG9jdW1lbnROb3RlLAotICAgIERyYXdlciwKLSAgICBFZGl0YWJsZVRleHQsCi0gICAgRmVlZCwK
LSAgICBGaWd1cmUsCi0gICAgRm9vdGVyLAotICAgIEZvb3Rub3RlLAotICAgIEZvcm0sCi0gICAg
R3JhcGhpY3NEb2N1bWVudCwKLSAgICBHcmFwaGljc09iamVjdCwKLSAgICBHcmFwaGljc1N5bWJv
bCwKLSAgICBHcmlkLAotICAgIEdyaWRDZWxsLAotICAgIEdyb3VwLAotICAgIEdyb3dBcmVhLAot
ICAgIEhlYWRpbmcsCi0gICAgSGVscFRhZywKLSAgICBIb3Jpem9udGFsUnVsZSwKLSAgICBJZ25v
cmVkLAotICAgIElubGluZSwKLSAgICBJbWFnZSwKLSAgICBJbWFnZU1hcCwKLSAgICBJbWFnZU1h
cExpbmssCi0gICAgSW5jcmVtZW50b3IsCi0gICAgTGFiZWwsCi0gICAgTGFuZG1hcmtCYW5uZXIs
Ci0gICAgTGFuZG1hcmtDb21wbGVtZW50YXJ5LAotICAgIExhbmRtYXJrQ29udGVudEluZm8sCi0g
ICAgTGFuZG1hcmtEb2NSZWdpb24sCi0gICAgTGFuZG1hcmtNYWluLAotICAgIExhbmRtYXJrTmF2
aWdhdGlvbiwKLSAgICBMYW5kbWFya1JlZ2lvbiwKLSAgICBMYW5kbWFya1NlYXJjaCwKLSAgICBM
ZWdlbmQsCi0gICAgTGluaywKLSAgICBMaXN0LAotICAgIExpc3RCb3gsCi0gICAgTGlzdEJveE9w
dGlvbiwKLSAgICBMaXN0SXRlbSwKLSAgICBMaXN0TWFya2VyLAotICAgIE1hcmssCi0gICAgTWF0
aEVsZW1lbnQsCi0gICAgTWF0dGUsCi0gICAgTWVudSwKLSAgICBNZW51QmFyLAotICAgIE1lbnVC
dXR0b24sCi0gICAgTWVudUl0ZW0sCi0gICAgTWVudUl0ZW1DaGVja2JveCwKLSAgICBNZW51SXRl
bVJhZGlvLAotICAgIE1lbnVMaXN0UG9wdXAsCi0gICAgTWVudUxpc3RPcHRpb24sCi0gICAgT3V0
bGluZSwKLSAgICBQYXJhZ3JhcGgsCi0gICAgUG9wVXBCdXR0b24sCi0gICAgUHJlLAotICAgIFBy
ZXNlbnRhdGlvbmFsLAotICAgIFByb2dyZXNzSW5kaWNhdG9yLAotICAgIFJhZGlvQnV0dG9uLAot
ICAgIFJhZGlvR3JvdXAsCi0gICAgUm93SGVhZGVyLAotICAgIFJvdywKLSAgICBSb3dHcm91cCwK
LSAgICBSdWJ5QmFzZSwKLSAgICBSdWJ5QmxvY2ssCi0gICAgUnVieUlubGluZSwKLSAgICBSdWJ5
UnVuLAotICAgIFJ1YnlUZXh0LAotICAgIFJ1bGVyLAotICAgIFJ1bGVyTWFya2VyLAotICAgIFNj
cm9sbEFyZWEsCi0gICAgU2Nyb2xsQmFyLAotICAgIFNlYXJjaEZpZWxkLAotICAgIFNoZWV0LAot
ICAgIFNsaWRlciwKLSAgICBTbGlkZXJUaHVtYiwKLSAgICBTcGluQnV0dG9uLAotICAgIFNwaW5C
dXR0b25QYXJ0LAotICAgIFNwbGl0R3JvdXAsCi0gICAgU3BsaXR0ZXIsCi0gICAgU3RhdGljVGV4
dCwKLSAgICBTdW1tYXJ5LAotICAgIFN3aXRjaCwKLSAgICBTeXN0ZW1XaWRlLAotICAgIFNWR1Jv
b3QsCi0gICAgU1ZHVGV4dCwKLSAgICBTVkdUU3BhbiwKLSAgICBTVkdUZXh0UGF0aCwKLSAgICBU
YWJHcm91cCwKLSAgICBUYWJMaXN0LAotICAgIFRhYlBhbmVsLAotICAgIFRhYiwKLSAgICBUYWJs
ZSwKLSAgICBUYWJsZUhlYWRlckNvbnRhaW5lciwKLSAgICBUZXh0QXJlYSwKLSAgICBUZXh0R3Jv
dXAsCi0gICAgVGVybSwKLSAgICBUaW1lLAotICAgIFRyZWUsCi0gICAgVHJlZUdyaWQsCi0gICAg
VHJlZUl0ZW0sCi0gICAgVGV4dEZpZWxkLAotICAgIFRvZ2dsZUJ1dHRvbiwKLSAgICBUb29sYmFy
LAotICAgIFVua25vd24sCi0gICAgVXNlckludGVyZmFjZVRvb2x0aXAsCi0gICAgVmFsdWVJbmRp
Y2F0b3IsCi0gICAgVmlkZW8sCi0gICAgV2ViQXBwbGljYXRpb24sCi0gICAgV2ViQXJlYSwKLSAg
ICBXZWJDb3JlTGluaywKLSAgICBXaW5kb3csCi19OwotCiBlbnVtIGNsYXNzIEFjY2Vzc2liaWxp
dHlUZXh0U291cmNlIHsKICAgICBBbHRlcm5hdGl2ZSwKICAgICBDaGlsZHJlbiwKQEAgLTQ5MSw3
ICszNDEsNyBAQAogICAgIAogYm9vbCBub2RlSGFzUHJlc2VudGF0aW9uUm9sZShOb2RlKik7CiAg
ICAgCi1jbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0IDogcHVibGljIFJlZkNvdW50ZWQ8QWNjZXNz
aWJpbGl0eU9iamVjdD4geworY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdCA6IHB1YmxpYyBSZWZD
b3VudGVkPEFjY2Vzc2liaWxpdHlPYmplY3Q+LCBwdWJsaWMgQWNjZXNzaWJpbGl0eU9iamVjdElu
dGVyZmFjZSB7CiBwcm90ZWN0ZWQ6CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCgpID0gZGVmYXVs
dDsKICAgICAKQEAgLTExNTAsNiArMTAwMCwxMSBAQAogICAgIHZvaWQgY2xlYXJJc0lnbm9yZWRG
cm9tUGFyZW50RGF0YSgpIHsgbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YSA9IEFjY2Vzc2liaWxp
dHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSgpOyB9CiAgICAgdm9pZCBzZXRJc0lnbm9yZWRGcm9t
UGFyZW50RGF0YUZvckNoaWxkKEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKICAgICAKKyNpZiBFTkFC
TEUoQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkKKyAgICB2b2lkIHNldEluaXRpYWxpemVkU3Rh
dGljVHJlZU5vZGUoYm9vbCBpbml0aWFsaXplZCkgeyBtX3N0YXRpY1RyZWVOb2RlSW5pdGlhbGl6
ZWQgPSBpbml0aWFsaXplZDsgfQorICAgIGJvb2wgaW5pdGlhbGl6ZWRTdGF0aWNUcmVlTm9kZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc3RhdGljVHJlZU5vZGVJbml0aWFsaXplZDsgfQorI2VuZGlmCisg
ICAgCiBwcm90ZWN0ZWQ6CiAgICAgQVhJRCBtX2lkIHsgMCB9OwogICAgIEFjY2Vzc2liaWxpdHlD
aGlsZHJlblZlY3RvciBtX2NoaWxkcmVuOwpAQCAtMTE1OSw3ICsxMDE0LDEwIEBACiAgICAgQWNj
ZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhIG1faXNJZ25vcmVkRnJvbVBhcmVudERh
dGEgeyB9OwogICAgIGJvb2wgbV9jaGlsZHJlbkRpcnR5IHsgZmFsc2UgfTsKICAgICBib29sIG1f
c3VidHJlZURpcnR5IHsgZmFsc2UgfTsKLQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJ
Q19UUkVFKQorICAgIGJvb2wgbV9zdGF0aWNUcmVlTm9kZUluaXRpYWxpemVkIHsgZmFsc2UgfTsK
KyNlbmRpZgorICAgIAogICAgIHZvaWQgc2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGEoQWNjZXNz
aWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhJiBkYXRhKSB7IG1faXNJZ25vcmVkRnJvbVBh
cmVudERhdGEgPSBkYXRhOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY29tcHV0ZUFjY2Vzc2liaWxp
dHlJc0lnbm9yZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRl
cmZhY2UuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE5
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K3R5cGVkZWYgdW5zaWduZWQgQVhJRDsKKworZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7
CisgICAgQW5ub3RhdGlvbiA9IDEsCisgICAgQXBwbGljYXRpb24sCisgICAgQXBwbGljYXRpb25B
bGVydCwKKyAgICBBcHBsaWNhdGlvbkFsZXJ0RGlhbG9nLAorICAgIEFwcGxpY2F0aW9uRGlhbG9n
LAorICAgIEFwcGxpY2F0aW9uR3JvdXAsCisgICAgQXBwbGljYXRpb25Mb2csCisgICAgQXBwbGlj
YXRpb25NYXJxdWVlLAorICAgIEFwcGxpY2F0aW9uU3RhdHVzLAorICAgIEFwcGxpY2F0aW9uVGV4
dEdyb3VwLAorICAgIEFwcGxpY2F0aW9uVGltZXIsCisgICAgQXVkaW8sCisgICAgQmxvY2txdW90
ZSwKKyAgICBCcm93c2VyLAorICAgIEJ1c3lJbmRpY2F0b3IsCisgICAgQnV0dG9uLAorICAgIENh
bnZhcywKKyAgICBDYXB0aW9uLAorICAgIENlbGwsCisgICAgQ2hlY2tCb3gsCisgICAgQ29sb3JX
ZWxsLAorICAgIENvbHVtbiwKKyAgICBDb2x1bW5IZWFkZXIsCisgICAgQ29tYm9Cb3gsCisgICAg
RGVmaW5pdGlvbiwKKyAgICBEZXNjcmlwdGlvbkxpc3QsCisgICAgRGVzY3JpcHRpb25MaXN0VGVy
bSwKKyAgICBEZXNjcmlwdGlvbkxpc3REZXRhaWwsCisgICAgRGV0YWlscywKKyAgICBEaXJlY3Rv
cnksCisgICAgRGlzY2xvc3VyZVRyaWFuZ2xlLAorICAgIERpdiwKKyAgICBEb2N1bWVudCwKKyAg
ICBEb2N1bWVudEFydGljbGUsCisgICAgRG9jdW1lbnRNYXRoLAorICAgIERvY3VtZW50Tm90ZSwK
KyAgICBEcmF3ZXIsCisgICAgRWRpdGFibGVUZXh0LAorICAgIEZlZWQsCisgICAgRmlndXJlLAor
ICAgIEZvb3RlciwKKyAgICBGb290bm90ZSwKKyAgICBGb3JtLAorICAgIEdyYXBoaWNzRG9jdW1l
bnQsCisgICAgR3JhcGhpY3NPYmplY3QsCisgICAgR3JhcGhpY3NTeW1ib2wsCisgICAgR3JpZCwK
KyAgICBHcmlkQ2VsbCwKKyAgICBHcm91cCwKKyAgICBHcm93QXJlYSwKKyAgICBIZWFkaW5nLAor
ICAgIEhlbHBUYWcsCisgICAgSG9yaXpvbnRhbFJ1bGUsCisgICAgSWdub3JlZCwKKyAgICBJbmxp
bmUsCisgICAgSW1hZ2UsCisgICAgSW1hZ2VNYXAsCisgICAgSW1hZ2VNYXBMaW5rLAorICAgIElu
Y3JlbWVudG9yLAorICAgIExhYmVsLAorICAgIExhbmRtYXJrQmFubmVyLAorICAgIExhbmRtYXJr
Q29tcGxlbWVudGFyeSwKKyAgICBMYW5kbWFya0NvbnRlbnRJbmZvLAorICAgIExhbmRtYXJrRG9j
UmVnaW9uLAorICAgIExhbmRtYXJrTWFpbiwKKyAgICBMYW5kbWFya05hdmlnYXRpb24sCisgICAg
TGFuZG1hcmtSZWdpb24sCisgICAgTGFuZG1hcmtTZWFyY2gsCisgICAgTGVnZW5kLAorICAgIExp
bmssCisgICAgTGlzdCwKKyAgICBMaXN0Qm94LAorICAgIExpc3RCb3hPcHRpb24sCisgICAgTGlz
dEl0ZW0sCisgICAgTGlzdE1hcmtlciwKKyAgICBNYXJrLAorICAgIE1hdGhFbGVtZW50LAorICAg
IE1hdHRlLAorICAgIE1lbnUsCisgICAgTWVudUJhciwKKyAgICBNZW51QnV0dG9uLAorICAgIE1l
bnVJdGVtLAorICAgIE1lbnVJdGVtQ2hlY2tib3gsCisgICAgTWVudUl0ZW1SYWRpbywKKyAgICBN
ZW51TGlzdFBvcHVwLAorICAgIE1lbnVMaXN0T3B0aW9uLAorICAgIE91dGxpbmUsCisgICAgUGFy
YWdyYXBoLAorICAgIFBvcFVwQnV0dG9uLAorICAgIFByZSwKKyAgICBQcmVzZW50YXRpb25hbCwK
KyAgICBQcm9ncmVzc0luZGljYXRvciwKKyAgICBSYWRpb0J1dHRvbiwKKyAgICBSYWRpb0dyb3Vw
LAorICAgIFJvd0hlYWRlciwKKyAgICBSb3csCisgICAgUm93R3JvdXAsCisgICAgUnVieUJhc2Us
CisgICAgUnVieUJsb2NrLAorICAgIFJ1YnlJbmxpbmUsCisgICAgUnVieVJ1biwKKyAgICBSdWJ5
VGV4dCwKKyAgICBSdWxlciwKKyAgICBSdWxlck1hcmtlciwKKyAgICBTY3JvbGxBcmVhLAorICAg
IFNjcm9sbEJhciwKKyAgICBTZWFyY2hGaWVsZCwKKyAgICBTaGVldCwKKyAgICBTbGlkZXIsCisg
ICAgU2xpZGVyVGh1bWIsCisgICAgU3BpbkJ1dHRvbiwKKyAgICBTcGluQnV0dG9uUGFydCwKKyAg
ICBTcGxpdEdyb3VwLAorICAgIFNwbGl0dGVyLAorICAgIFN0YXRpY1RleHQsCisgICAgU3VtbWFy
eSwKKyAgICBTd2l0Y2gsCisgICAgU3lzdGVtV2lkZSwKKyAgICBTVkdSb290LAorICAgIFNWR1Rl
eHQsCisgICAgU1ZHVFNwYW4sCisgICAgU1ZHVGV4dFBhdGgsCisgICAgVGFiR3JvdXAsCisgICAg
VGFiTGlzdCwKKyAgICBUYWJQYW5lbCwKKyAgICBUYWIsCisgICAgVGFibGUsCisgICAgVGFibGVI
ZWFkZXJDb250YWluZXIsCisgICAgVGV4dEFyZWEsCisgICAgVGV4dEdyb3VwLAorICAgIFRlcm0s
CisgICAgVGltZSwKKyAgICBUcmVlLAorICAgIFRyZWVHcmlkLAorICAgIFRyZWVJdGVtLAorICAg
IFRleHRGaWVsZCwKKyAgICBUb2dnbGVCdXR0b24sCisgICAgVG9vbGJhciwKKyAgICBVbmtub3du
LAorICAgIFVzZXJJbnRlcmZhY2VUb29sdGlwLAorICAgIFZhbHVlSW5kaWNhdG9yLAorICAgIFZp
ZGVvLAorICAgIFdlYkFwcGxpY2F0aW9uLAorICAgIFdlYkFyZWEsCisgICAgV2ViQ29yZUxpbmss
CisgICAgV2luZG93LAorfTsKKworY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSB7
CitwdWJsaWM6CisgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSgpID0g
ZGVmYXVsdDsKKworICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhQ29udHJvbExhYmVsKCkgY29uc3Qg
PSAwOworICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3QgPSAw
OworICAgIHZpcnR1YWwgYm9vbCBpc0F0dGFjaG1lbnQoKSBjb25zdCA9IDA7Cit9OworCit9Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0
Q2FjaGVNYWMubW0JKHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4
LDcgQEAKIAogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgUExBVEZPUk0oTUFDKQogCisjaW1w
b3J0ICJBWFN0YXRpY1RyZWVOb2RlLmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0Lmgi
CiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5VGFibGUuaCIKICNpbXBvcnQgIlJlbmRlck9iamVjdC5o
IgpAQCAtMjM3LDYgKzIzOCwxNCBAQAogICAgIG9iai0+c2V0V3JhcHBlcihudWxscHRyKTsKIH0K
IAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKQordm9pZCBBWE9iamVjdENh
Y2hlOjphc3NvY2lhdGVTdGF0aWNUcmVlTm9kZShBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3Qs
IEFYU3RhdGljVHJlZU5vZGUqIG5vZGUpCit7CisgICAgb2JqZWN0LT53cmFwcGVyKCkuc3RhdGlj
VHJlZU5vZGUgPSBub2RlOworICAgIG5vZGUtPnNldFdyYXBwZXIob2JqZWN0LT53cmFwcGVyKCkp
OworfQorI2VuZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIoQWNj
ZXNzaWJpbGl0eU9iamVjdCogb2JqKQogewogICAgIFJldGFpblB0cjxXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlcj4gd3JhcHBlciA9IGFkb3B0TlMoW1tXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlciBhbGxvY10gaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0Om9ial0pOwpJbmRleDog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXJCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9t
YWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgJKHJldmlzaW9uIDIzOTcxOCkK
KysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw5ICszMSwxMyBAQAogCiAjaW5j
bHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3Jl
R3JhcGhpY3MuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
X1NUQVRJQ19UUkVFKQorY2xhc3MgQVhTdGF0aWNUcmVlTm9kZTsKKyNlbmRpZgogc3RydWN0IEFj
Y2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYTsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBGbG9hdFBv
aW50OwpAQCAtNDQsMTAgKzQ4LDIyIEBACiAKIEBpbnRlcmZhY2UgV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJCYXNlIDogTlNPYmplY3QgewogICAgIFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlP
YmplY3QqIG1fb2JqZWN0OworICAgIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJQ19U
UkVFKQorICAgIFdlYkNvcmU6OkFYU3RhdGljVHJlZU5vZGUqIG1fc3RhdGljVHJlZU5vZGU7Cisj
ZW5kaWYKIH0KICAKIC0gKGlkKWluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDooV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eU9iamVjdCopYXhPYmplY3Q7CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WV9TVEFUSUNfVFJFRSkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFdlYkNvcmU6OkFY
U3RhdGljVHJlZU5vZGUgKnN0YXRpY1RyZWVOb2RlOworI2VuZGlmCisKIC0gKHZvaWQpZGV0YWNo
OworCistIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlICopYXhCYWNraW5n
T2JqZWN0OworCiAtIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KilhY2Nlc3NpYmlsaXR5
T2JqZWN0OwogLSAoQk9PTCl1cGRhdGVPYmplY3RCYWNraW5nU3RvcmU7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9X
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0JKHJldmlzaW9uIDIzOTcxOCkKKysr
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzIsOSArMzIsMTEgQEAKICNpZiBIQVZF
KEFDQ0VTU0lCSUxJVFkpCiAKICNpbXBvcnQgIkFYT2JqZWN0Q2FjaGUuaCIKKyNpbXBvcnQgIkFY
U3RhdGljVHJlZU5vZGUuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5oIgog
I2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxpc3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlMaXN0
Qm94LmgiCisjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCiAjaW1wb3J0
ICJBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5U2Ny
b2xsVmlldy5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCIKQEAgLTI3NCw2
ICsyNzYsMjggQEAKICAgICByZXR1cm4gc2VsZjsKIH0KIAorI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZX1NUQVRJQ19UUkVFKQorLSAodm9pZClzZXRTdGF0aWNUcmVlTm9kZTooV2ViQ29yZTo6QVhT
dGF0aWNUcmVlTm9kZSopc3RhdGljVHJlZU5vZGUKK3sKKyAgICBtX3N0YXRpY1RyZWVOb2RlID0g
c3RhdGljVHJlZU5vZGU7Cit9CisKKy0gKFdlYkNvcmU6OkFYU3RhdGljVHJlZU5vZGUqKXN0YXRp
Y1RyZWVOb2RlCit7CisgICAgcmV0dXJuIG1fc3RhdGljVHJlZU5vZGU7Cit9CisKKyNlbmRpZgor
CistIChCT09MKWhhc1N0YXRpY0JhY2tpbmcKK3sKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9T
VEFUSUNfVFJFRSkKKyAgICByZXR1cm4gbV9zdGF0aWNUcmVlTm9kZSAhPSBudWxscHRyOworI2Vs
c2UKKyAgICByZXR1cm4gTk87CisjZW5kaWYKK30KKwogLSAodm9pZClkZXRhY2gKIHsKICAgICBt
X29iamVjdCA9IG51bGxwdHI7CkBAIC0yODEsNiArMzA1LDExIEBACiAKIC0gKEJPT0wpdXBkYXRl
T2JqZWN0QmFja2luZ1N0b3JlCiB7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RBVElDX1RS
RUUpCisgICAgaWYgKG1fc3RhdGljVHJlZU5vZGUpCisgICAgICAgIHJldHVybiBZRVM7CisjZW5k
aWYKKyAgICAKICAgICAvLyBDYWxsaW5nIHVwZGF0ZUJhY2tpbmdTdG9yZSgpIGNhbiBpbnZhbGlk
YXRlIHRoaXMgZWxlbWVudCBzbyBzZWxmIG11c3QgYmUgcmV0YWluZWQuCiAgICAgLy8gSWYgaXQg
ZG9lcyBiZWNvbWUgaW52YWxpZGF0ZWQsIG1fb2JqZWN0IHdpbGwgYmUgbmlsLgogICAgIENGUmV0
YWluKChfX2JyaWRnZSBDRlR5cGVSZWYpc2VsZik7CkBAIC0zNTUsMTEgKzM4NCwyMSBAQAogICAg
IHJldHVybiBbTlNTdHJpbmcgc3RyaW5nXTsKIH0KIAorI2RlZmluZSBfYXhCYWNraW5nT2JqZWN0
IHNlbGYuYXhCYWNraW5nT2JqZWN0CistIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlICopYXhCYWNraW5nT2JqZWN0Cit7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfU1RB
VElDX1RSRUUpCisgICAgcmV0dXJuIG1fc3RhdGljVHJlZU5vZGU7CisjZWxzZQorICAgIHJldHVy
biBtX29iamVjdDsKKyNlbmRpZgorfQorCiAtIChOU1N0cmluZyAqKWJhc2VBY2Nlc3NpYmlsaXR5
RGVzY3JpcHRpb24KIHsKICAgICAvLyBTdGF0aWMgdGV4dCBvYmplY3RzIHNob3VsZCBub3QgaGF2
ZSBhIGRlc2NyaXB0aW9uLiBJdHMgY29udGVudCBpcyBjb21tdW5pY2F0ZWQgaW4gaXRzIEFYVmFs
dWUuCiAgICAgLy8gT25lIGV4Y2VwdGlvbiBpcyB0aGUgbWVkaWEgY29udHJvbCBsYWJlbHMgdGhh
dCBoYXZlIGEgdmFsdWUgYW5kIGEgZGVzY3JpcHRpb24uIFRob3NlIGFyZSBzZXQgcHJvZ3JhbWF0
aWNhbGx5LgotICAgIGlmIChtX29iamVjdC0+cm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJv
bGU6OlN0YXRpY1RleHQgJiYgIW1fb2JqZWN0LT5pc01lZGlhQ29udHJvbExhYmVsKCkpCisgICAg
aWYgKF9heEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpT
dGF0aWNUZXh0ICYmICFfYXhCYWNraW5nT2JqZWN0LT5pc01lZGlhQ29udHJvbExhYmVsKCkpCiAg
ICAgICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nXTsKICAgICAKICAgICBWZWN0b3I8QWNjZXNz
aWJpbGl0eVRleHQ+IHRleHRPcmRlcjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyTWFjLm1tCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQkod29ya2luZyBj
b3B5KQpAQCAtNDEyLDYgKzQxMiw4IEBACiAjZGVmaW5lIE5TQWNjZXNzaWJpbGl0eUxpbmtSZWxh
dGlvbnNoaXBUeXBlQXR0cmlidXRlIEAiQVhMaW5rUmVsYXRpb25zaGlwVHlwZSIKICNlbmRpZgog
CisjZGVmaW5lIF9heEJhY2tpbmdPYmplY3Qgc2VsZi5heEJhY2tpbmdPYmplY3QKKwogZXh0ZXJu
ICJDIiBBWFVJRWxlbWVudFJlZiBOU0FjY2Vzc2liaWxpdHlDcmVhdGVBWFVJRWxlbWVudFJlZihp
ZCBlbGVtZW50KTsKIAogQGltcGxlbWVudGF0aW9uIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyCkBAIC0yMDA5LDEwICsyMDExLDEwIEBACiAtIChOU1N0cmluZyopcm9sZQogewogICAgIEFM
TE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCi0gICAgaWYgKG1fb2JqZWN0LT5pc0F0
dGFjaG1lbnQoKSkKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpCiAg
ICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1
dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlSb2xlQXR0cmlidXRlXTsKICAgICBBTExPV19ERVBSRUNB
VEVEX0RFQ0xBUkFUSU9OU19FTkQKLSAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlID0gbV9vYmpl
Y3QtPnJvbGVWYWx1ZSgpOworICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUgPSBfYXhCYWNraW5n
T2JqZWN0LT5yb2xlVmFsdWUoKTsKIAogICAgIGlmIChyb2xlID09IEFjY2Vzc2liaWxpdHlSb2xl
OjpMYWJlbCAmJiBpczxBY2Nlc3NpYmlsaXR5TGFiZWw+KCptX29iamVjdCkgJiYgZG93bmNhc3Q8
QWNjZXNzaWJpbGl0eUxhYmVsPigqbV9vYmplY3QpLmNvbnRhaW5zT25seVN0YXRpY1RleHQoKSkK
ICAgICAgICAgcm9sZSA9IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNUZXh0OwpAQCAtMjAzOSw3
ICsyMDQxLDcgQEAKICAgICBpZiAobV9vYmplY3QtPmlzU2VhcmNoRmllbGQoKSkKICAgICAgICAg
cmV0dXJuIE5TQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkU3Vicm9sZTsKICAgICAKLSAgICBpZiAo
bV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlz
QXR0YWNobWVudCgpKSB7CiAgICAgICAgIE5TVmlldyogYXR0YWNoVmlldyA9IFtzZWxmIGF0dGFj
aG1lbnRWaWV3XTsKICAgICAgICAgaWYgKFtbYXR0YWNoVmlldyBhY2Nlc3NpYmlsaXR5QXR0cmli
dXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVN1YnJvbGVBdHRyaWJ1dGVd
KQogICAgICAgICAgICAgcmV0dXJuIFthdHRhY2hWaWV3IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVW
YWx1ZTpOU0FjY2Vzc2liaWxpdHlTdWJyb2xlQXR0cmlidXRlXTsKQEAgLTIyNTAsNyArMjI1Miw3
IEBACiAKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogICAgIC8vIGF0
dGFjaG1lbnRzIGhhdmUgdGhlIEFYSW1hZ2Ugcm9sZSwgYnV0IGEgZGlmZmVyZW50IHN1YnJvbGUK
LSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKQorICAgIGlmIChfYXhCYWNraW5nT2Jq
ZWN0LT5pc0F0dGFjaG1lbnQoKSkKICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50Vmll
d10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVJvbGVEZXNjcmlw
dGlvbkF0dHJpYnV0ZV07CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAK
QEAgLTI2MDcsNyArMjYwOSw3IEBACiAgICAgICAgIHJldHVybiBbTlNOdW1iZXIgbnVtYmVyV2l0
aEJvb2w6IG1fb2JqZWN0LT5pc1Zpc2l0ZWQoKV07CiAgICAgCiAgICAgaWYgKFthdHRyaWJ1dGVO
YW1lIGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1dGVdKSB7Ci0g
ICAgICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICAgICAgaWYgKF9heEJh
Y2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAgICAgICBpZiAoW1tbc2VsZiBh
dHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09iamVj
dDpOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV0pCiAgICAgICAgICAgICAgICAgcmV0dXJu
IFtbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNj
ZXNzaWJpbGl0eVRpdGxlQXR0cmlidXRlXTsKICAgICAgICAgfQpAQCAtMjYyNCw3ICsyNjI2LDcg
QEAKICAgICB9CiAgICAgCiAgICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzog
TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdKSB7Ci0gICAgICAgIGlmIChtX29i
amVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICAgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlz
QXR0YWNobWVudCgpKSB7CiAgICAgICAgICAgICBpZiAoW1tbc2VsZiBhdHRhY2htZW50Vmlld10g
YWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09iamVjdDpOU0FjY2Vzc2liaWxp
dHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIFtbc2VsZiBh
dHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0
eURlc2NyaXB0aW9uQXR0cmlidXRlXTsKICAgICAgICAgfQpAQCAtMjYzMiw3ICsyNjM0LDcgQEAK
ICAgICB9CiAgICAgCiAgICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNB
Y2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdKSB7Ci0gICAgICAgIGlmIChtX29iamVjdC0+aXNB
dHRhY2htZW50KCkpIHsKKyAgICAgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVu
dCgpKSB7CiAgICAgICAgICAgICBpZiAoW1tbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJp
bGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09iamVjdDpOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0
dHJpYnV0ZV0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50Vmlld10g
YWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRl
XTsKICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDEt
MTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDog
SW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJh
c2UubW06CisgICAgICAgICgtW1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlIGFjY2Vz
c2liaWxpdHlSb290T2JqZWN0V3JhcHBlcl0pOgorCiAyMDE5LTAxLTA3ICBBbGV4IENocmlzdGVu
c2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHVzZSBvZiBO
ZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uIGZyb20gQ2FjaGVTdG9yYWdlOjpFbmdpbmU6OmZyb20K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYktpdC9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiAr
NDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFU
SUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdL
X1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQ
TEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVf
UEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1Qp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9Q
RVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJM
RV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQo
RU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VN
QkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNf
VFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklG
RVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQ
SSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9K
SVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJ
VCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FDQ0VTUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQo
RU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRU
UklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9N
QU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9P
TEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RS
RUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJT
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5B
QkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dF
Qk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQp
OwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJp
bGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQko
cmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0z
NSw2ICszNSw3IEBACiAjaW1wb3J0ICJXS1N0cmluZy5oIgogI2ltcG9ydCAiV0tTdHJpbmdDRi5o
IgogI2ltcG9ydCA8V2ViQ29yZS9BWE9iamVjdENhY2hlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0FY
U3RhdGljVHJlZUNhY2hlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RvY3VtZW50Lmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0ZyYW1lLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgpAQCAtNDcs
NiArNDgsMTggQEAKIAogQGltcGxlbWVudGF0aW9uIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmpl
Y3RCYXNlCiAKKy0gKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqKWF4T2JqZWN0Q2FjaGUKK3sKKyAg
ICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gbV9wYWdlLT5jb3JlUGFnZSgpOworICAgIGlmICghcGFn
ZSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKyAgICBXZWJDb3JlOjpGcmFtZSYgY29yZSA9IHBhZ2Ut
Pm1haW5GcmFtZSgpOworICAgIGlmICghY29yZS5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4g
bmlsOworICAgIAorICAgIHJldHVybiBjb3JlLmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKTsK
K30KKwogLSAoaWQpYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyCiB7CiAgICAgaWYgKCFX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQpAQCAtNjIsMTgg
Kzc1LDMwIEBACiAgICAgV2ViQ29yZTo6UGFnZSogcGFnZSA9IG1fcGFnZS0+Y29yZVBhZ2UoKTsK
ICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBuaWw7Ci0gICAgCi0gICAgV2ViQ29yZTo6
RnJhbWUmIGNvcmUgPSBwYWdlLT5tYWluRnJhbWUoKTsKLSAgICBpZiAoIWNvcmUuZG9jdW1lbnQo
KSkKLSAgICAgICAgcmV0dXJuIG5pbDsKLSAgICAKLSAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hl
KiBjYWNoZSA9IGNvcmUuZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpOworCisgICAgQVhPYmpl
Y3RDYWNoZSogY2FjaGUgPSBbc2VsZiBheE9iamVjdENhY2hlXTsKICAgICBpZiAoIWNhY2hlKQog
ICAgICAgICByZXR1cm4gbmlsOwogICAgIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX1NUQVRJ
Q19UUkVFKQorICAgIEFYU3RhdGljVHJlZU5vZGUqIHN0YXRpY1Jvb3QgPSBBWFN0YXRpY1RyZWVD
YWNoZTo6cm9vdFN0YXRpY1RyZWVOb2RlKHBhZ2UpOworICAgIGlmICghc3RhdGljUm9vdCkgewor
ICAgICAgICBhdXRvIGdlbmVyYXRlQmxvY2sgPSBbJmNhY2hlXSB7CisgICAgICAgICAgICBjYWNo
ZS0+Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKCk7CisgICAgICAgIH07
CisgICAgICAgIAorICAgICAgICBpZiAoUnVuTG9vcDo6aXNNYWluKCkpCisgICAgICAgICAgICBn
ZW5lcmF0ZUJsb2NrKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGRpc3BhdGNoX3N5bmMo
ZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgZ2VuZXJhdGVCbG9jayk7CisgICAgfQorICAgIAor
ICAgIGlmICgoc3RhdGljUm9vdCA9IEFYU3RhdGljVHJlZUNhY2hlOjpyb290U3RhdGljVHJlZU5v
ZGUocGFnZSkpKQorICAgICAgICByZXR1cm4gc3RhdGljUm9vdC0+d3JhcHBlcigpOworI2Vsc2UK
ICAgICBpZiAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogcm9vdCA9IGNhY2hlLT5yb290
T2JqZWN0KCkpCiAgICAgICAgIHJldHVybiByb290LT53cmFwcGVyKCk7Ci0gICAgCisjZW5kaWYK
ICAgICByZXR1cm4gbmlsOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0xMSAgQ2hyaXMgRmxlaXphY2gg
IDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMg
YWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMDEtMDcgIERhdmlkIEtpbHpl
ciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVmZXIgUmV0YWluUHRyPE5TT2Jq
ZWN0PiB0byBSZXRhaW5QdHI8TlNPYmplY3QgKj4KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAs
NiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9T
VEFUSUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8k
KFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVf
QVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQ
TEVfUEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7
CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZF
U1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJ
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAk
KEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJ
VF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVO
QUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRU
SU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElD
UykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNf
RUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRI
TikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFT
U0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQo
RU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFU
SUNfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
MykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01B
TklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5H
X0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFT
VF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FDQ0VTUykgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQp
ICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlf
QVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NP
TF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9f
VE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VT
QUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRM
RVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOwpJbmRleDogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQkocmV2aXNpb24gMjM5NzE4KQor
KysgU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0x
ODcsNiArMTg3LDcgQEAKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU01PT1RIX1ND
Uk9MTElORyAiVG9nZ2xlIHNtb290aCBzY3JvbGxpbmciIFBSSVZBVEUgT04pCiAgICAgV0VCS0lU
X09QVElPTl9ERUZJTkUoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMgIlRvZ2dsZSBTcGVlY2ggU3lu
dGhlc2lzIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfU1BFTExDSEVDSyAiVG9nZ2xlIFNwZWxsY2hlY2tpbmcgc3VwcG9ydCAocmVxdWly
ZXMgRW5jaGFudCkiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFICJUb2dnbGUgc3RhdGljIGFjY2Vzc2liaWxpdHkg
dHJlZSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfU1RSRUFNU19BUEkgIlRvZ2dsZSBTdHJlYW1zIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9OKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TVkdfRk9OVFMgIlRvZ2dsZSBTVkcgRm9u
dHMgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04gIlRvZ2dsZSB0ZWxlcGhvbmUgbnVtYmVyIGRldGVj
dGlvbiBzdXBwb3J0IiBQUklWQVRFIE9GRikKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzOTg2MSkKKysrIFRvb2xzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTExICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBh
IHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMy
OTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDE5LTAxLTEwICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIGZpeCB0eXBvIHRoYXQgYnJlYWtzIGRhc2hib2FyZCBsaW5rLgpJbmRleDog
VG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMzk3MTgpCisrKyBUb29scy9UZXN0V2ViS2l0
QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkp
CkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
ID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQoV0tfQ09DT0FfVE9V
Q0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfY29jb2F0b3VjaCA9
IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJ
QklMSVRZX1NUQVRJQ19UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFCTEVfQVBQ
TEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9
IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9IEVO
QUJMRV9BUFBMRV9QQVk7CkBAIC00MDIsNCArNDA0LDQgQEAKIAogRU5BQkxFX1hTTFQgPSBFTkFC
TEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElP
Tl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQ
VElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlO
VElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURf
T00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9D
U1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9O
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxF
X0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05F
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
V0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFC
TEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
QkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklM
SVRZX1NUQVRJQ19UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElD
QVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhU
KSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJ
VElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZ
UEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01P
REVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFD
VElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVO
QUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMS0VZQk9BUkRfQUNDRVNTKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJP
QVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
Q19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NB
R0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05f
Rk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NS
RUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VC
X1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlO
R19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkg
JChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfWFNMVCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359627</attachid>
            <date>2019-01-19 18:32:48 -0800</date>
            <delta_ts>2019-01-19 18:39:47 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>95899</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogZXh0ZW5kIFhIUiBicmVha3BvaW50cyB0byB3b3JrIHdpdGgg
ZmV0Y2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIzOTcxOCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
OwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExF
X1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9B
UFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9p
cGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAK
IEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFH
X1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFC
TEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJV
VEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFH
RVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9Y
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVU
QUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitG
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5U
UykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FD
Q0VTUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19V
U0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
QVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJ
KHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBACiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
d2Vic29ja2V0cyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy93ZWJ2ciIKICAgICAiJHtX
RUJDT1JFX0RJUn0vYWNjZXNzaWJpbGl0eSIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2FuaW1hdGlvbiIKICAgICAi
JHtXRUJDT1JFX0RJUn0vYmluZGluZ3MiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2JpbmRpbmdzL2pz
IgpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzggQEAKKzIwMTktMDEtMTEgIENocmlz
IEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNl
IGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIw
MzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
biBvcmRlciB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIHdoZW4gcmVxdWVzdGluZyB0aGUgYWNjZXNz
aWJpbGl0eSBoaWVyYXJjaHksIHdlIGludHJvZHVjZSB0aGUgaWRlYSBvZiBhICJzdGF0aWMgYWNj
ZXNzaWJpbGl0eSB0cmVlIiB3aGljaCBjb3VsZCBiZSBhY2Nlc3NlZCBvbiBhIGRpZmZlcmVudCB0
aHJlYWQgYnkgYXNzaXN0aXZlIHRlY2hub2xvZ2llcy4KKyAgICAgICAgVGhhdCBpcyBhY2NvbXBs
aXNoZWQgYnkgc3RvcmluZyBhbGwgdGhlIGRhdGEgbmVlZGVkIHRvIGFuc3dlciBhY2Nlc3NpYmls
aXR5IGF0dHJpYnV0ZSBxdWVyaWVzIGluIGEgc3RhdGljIG9iamVjdCB0aGF0IG1pcnJvcnMgdGhl
ICJsaXZlIiBBY2Nlc3NpYmlsaXR5T2JqZWN0cyAod2hpY2ggaW50ZXJhY3Qgd2l0aCBib3RoIERP
TSBhbmQgUmVuZGVyIHRyZWVzKS4KKyAgICAgICAgVGhlc2Ugc3RhdGljIG9iamVjdHMgYXJlIGdl
bmVyYWxseSBjcmVhdGVkIGFmdGVyIGxheW91dCBpcyBkb25lIGFuZCBmaW5hbCB0YXNrcyBhcmUg
YmVpbmcgcGVyZm9ybWVkLiBUaGV5IGFyZSB0aGVuIHN0b3JlZCBpbiB0aGUgc3RhdGljIHRyZWUg
cmVwcmVzZW50YXRpb24gYW5kIGFibGUgdG8gYmUgcmVhZCBmcm9tIGFueXdoZXJlLgorICAgICAg
ICBUYWN0aWNhbGx5IHRoaXMgaXMgZG9uZSB3aXRoIEFYSXNvbGF0ZWRUcmVlTm9kZXMgaW5zaWRl
IG9mIGFuIEFYSXNvbGF0ZWRUcmVlQ2FjaGUuIFRoZSBUcmVlTm9kZXMgaW1wbGVtZW50IGFuIEFj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2Ugc2hhcmVkIHdpdGggQWNjZXNzaWJpbGl0eU9iamVj
dAorICAgICAgICBUaGlzIGFsbG93cyB0aGUgd3JhcHBlcnMgdG8gYWNjZXNzIGVpdGhlciBvbmUg
ZGVwZW5kaW5nIG9uIGNvbmRpdGlvbnMgYW5kIHBsYXRmb3JtcyB3aXRob3V0IHNpZ25pZmljYW50
IGNvZGUgZHVwbGljYXRpb24gb3IgcmUtb3JnYW5pemF0aW9uLgorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWc6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpyZW1vdmUpOgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Y3JlYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWUpOgor
ICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmls
aXR5VHJlZUlmTmVlZGVkKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnNldEluaXRpYWxpemVkSXNvbGF0ZWRU
cmVlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppbml0aWFs
aXplZElzb2xhdGVkVHJlZU5vZGUgY29uc3QpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oOiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZTogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZFRyZWVDYWNoZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
QVhJc29sYXRlZFRyZWVDYWNoZTo6cGFnZVJvb3RNYXApOgorICAgICAgICAoV2ViQ29yZTo6QVhJ
c29sYXRlZFRyZWVDYWNoZTo6dHJlZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlQ2FjaGU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJ
c29sYXRlZFRyZWVDYWNoZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlQ2FjaGU6OmNhY2hlRm9ySUQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVD
YWNoZTo6Y2FjaGVGb3JQYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2Fj
aGU6Om5vZGVGb3JJRCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNh
Y2hlOjpyb290Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjpy
ZW1vdmVOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFwcGVu
ZE5vZGVDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFw
cGx5Q2hhbmdlTG9nKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZUNhY2hlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRy
ZWVDYWNoZTo6Y2FjaGVJZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6QVhJc29sYXRlZFRyZWVOb2RlKToKKyAgICAgICAg
KFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkFYSXNvbGF0ZWRUcmVlTm9kZTo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpzZXRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmRvdWJsZUF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6dW5zaWduZWRBdHRyaWJ1dGVWYWx1
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmJvb2xBdHRy
aWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6
OnN0cmluZ0F0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlTm9kZTo6aW50QXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OkFYSXNvbGF0ZWRUcmVlUmVsYXRp
b25zaGlwKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpv
cGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6
OnNldFBhcmVudCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cDo6cGFyZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRp
b25zaGlwOjpjaGlsZHJlbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RD
YWNoZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlz
b2xhdGVkVHJlZU5vZGUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbToKKyAgICAgICAgKC1bV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDpdKToK
KyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGlzb2xhdGVkVHJl
ZU5vZGVdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGRl
dGFjaF0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgdXBk
YXRlT2JqZWN0QmFja2luZ1N0b3JlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQmFzZSBheEJhY2tpbmdPYmplY3RdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJCYXNlIGJhc2VBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25dKToKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1h
Yy5tbToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgcm9sZV0pOgor
ICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBzdWJyb2xlXSk6CisgICAg
ICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHJvbGVEZXNjcmlwdGlvbl0pOgor
ICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXR0
cmlidXRlVmFsdWU6XSk6CisKIDIwMTktMDEtMDcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgogCiAgICAgICAgIENyYXNoIGluIFNXU2VydmVyOjpDb25uZWN0aW9uOjpyZXNvbHZl
UmVnaXN0cmF0aW9uUmVhZHlSZXF1ZXN0cwpJbmRleDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIzOTcx
OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7
CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBM
RV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
QVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwMiw0ICs0MDQsNCBAQAog
CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQp
ICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykg
JChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJB
R19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklC
VVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5B
R0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1F
VEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwor
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJ
RU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVS
SU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJE
X0FDQ0VTUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZF
UikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRU
UklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRf
Rk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9X
RUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURF
T19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
R0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDEtMTkgIENocmlzIEZsZWl6YWNoICA8
Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFj
Y2Vzc2liaWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTE5ICBBbnRvaW5lIFF1aW50
ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgUE9JTlRFUl9FVkVOVFMgZmVh
dHVyZSBmbGFnCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMzk3MTgpCisrKyBT
b3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJ
KHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdf
JChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
R19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAor
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BB
WSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBM
RV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhv
bmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDAyLDQgKzQwNCw0IEBACiAKIEVO
QUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChF
TkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVO
QUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NV
UFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZF
QVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5U
RVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVf
S0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIp
ICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVO
VF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9T
RVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VC
QVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChF
TkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
NCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRT
KSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
UkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVO
VEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMS0VZQk9BUkRfQUND
RVNTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAk
KEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJV
VEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElT
VElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19Q
UkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VT
RVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dF
QkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkocmV2aXNp
b24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTM2Niw2ICszNjYsOCBAQAogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZS5jcHAK
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRyZWVJdGVtLmNwcAogYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmxlU2V0VmFsdWVFdmVudC5jcHAKK2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FY
SXNvbGF0ZWRUcmVlQ2FjaGUuY3BwCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkVHJlZU5vZGUuY3BwCiAKIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuY3BwCiBhbmltYXRp
b24vQW5pbWF0aW9uUGxheWJhY2tFdmVudC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIzOTcxOCkKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtNjk0LDYgKzY5NCw3IEBACiAJCTI2RjlBODM4MThBMDQ2QUMwMEFFQjg4QSAv
KiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29u
ZmlndXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3
cG9ydENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQky
OTE0RTMwODFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNBQjVB
NDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OworCQkyOTM2QkY1
QzIxRDY5RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2OTk5
RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZFMDA2
N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMjk0ODlGQzcxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2liaWxp
dHlTY3JvbGxWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcu
aCAqLzsgfTsKIAkJMjk3QkUzRDUxNkMwM0MwODAwMzMxNkJEIC8qIFBsYXRmb3JtU3BlZWNoU3lu
dGhlc2lzVXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyNTI3Q0M5MTE2QkY4QkExMDA5RERBQzAgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVz
aXNVdHRlcmFuY2UuaCAqLzsgfTsKQEAgLTcxNSw2ICs3MTYsOCBAQAogCQkyOUE4MTI0MzBGQkI5
QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3guaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjI1MEZCQjlDMUQwMDUxMDI5MyAvKiBB
Y2Nlc3NpYmlsaXR5TGlzdEJveC5oICovOyB9OwogCQkyOUE4MTI0OTBGQkI5Q0E5MDA1MTAyOTMg
LyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTI0NTBGQkI5Q0E5MDA1MTAyOTMgLyog
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjlBQ0IyMTIxNDNFNzEyODAwNkJDQTVGIC8q
IEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyOUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0
eU1vY2tPYmplY3QuaCAqLzsgfTsKKwkJMjlBRTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNv
bGF0ZWRUcmVlQ2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI5QUUyMTJCMjFBQjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMjlBRTIx
MzUyMUFCQTQ4QTAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBRTIxMzMyMUFCQTQ4QTAwODY5Mjgz
IC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTI5RDdCQ0ZBMTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMjlEN0JDRjkxNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9u
LmggKi87IH07CiAJCTI5RkFGNEI2MTk1QUIwODkwMEE1MjJEQyAvKiBUZXh0VW5kb0luc2VydGlv
bk1hcmt1cE1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjlGQUY0QjUxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFj
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkIz
NjVDODQxNTI1MTE5RTAwOTFEMjdCIC8qIFJlbmRlclNWR0VsbGlwc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJCNDIzNUEwMTUyNTBGNjAwMERCQkNE
OCAvKiBSZW5kZXJTVkdFbGxpcHNlLmggKi87IH07CkBAIC02NTMwLDYgKzY1MzMsNyBAQAogCQky
OERCOUJDNzIwMjBFQTA0MDBFNTRBMDcgLyogUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjkxNEUzMDUxQ0FCNUE0NDAwNDk5NjZGIC8qIEFjY2Vz
c2liaWxpdHlBdHRhY2htZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMjkxNEUzMDYxQ0FCNUE0NDAwNDk5NjZGIC8qIEFjY2Vzc2liaWxpdHlBdHRhY2htZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlBdHRhY2ht
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5MzZCRjVBMjFENjk5OUUwMDRB
OEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMjkzRUFFMUUxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSdW50aW1lQXBwbGljYXRpb25DaGVj
a3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjk0ODlGQzUxMkMwMEYwMzAwRDgz
RjBGIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI5NDk4NjgxMTk1MzQxOTQwMDcyRDJCRCAvKiBUZXh0VW5kb0luc2VydGlvbk1h
cmt1cE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFRleHRV
bmRvSW5zZXJ0aW9uTWFya3VwTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
NjU3Nyw2ICs2NTgxLDEwIEBACiAJCTI5QTgxMjQ3MEZCQjlDQTkwMDUxMDI5MyAvKiBBWE9iamVj
dENhY2hlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQVhP
YmplY3RDYWNoZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlBQ0IyMTEx
NDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QUNCMjEzMTQzRTc0OTgwMDZCQ0E1RiAvKiBBY2Nlc3Np
YmlsaXR5TW9ja09iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTI5QUUyMTJCMjFBQjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFYSXNvbGF0ZWRUcmVlQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMjlBRTIxMkMyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlQ2FjaGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQVhJc29sYXRlZFRyZWVDYWNoZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xh
dGVkVHJlZU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVhJc29sYXRlZFRyZWVOb2RlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTM0MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElz
b2xhdGVkVHJlZU5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQVhJc29sYXRlZFRyZWVOb2Rl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlEN0JDRjUxNDQ0QUY1ODAwNzA2
MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMjlEN0JDRjkxNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxp
dHlTcGluQnV0dG9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2li
aWxpdHlTcGluQnV0dG9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RTA0QTI3
QkVEMkY4MUY5OEU5MDIyQiAvKiBKU0JlZm9yZVVubG9hZEV2ZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTQmVmb3JlVW5sb2FkRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE2OTM5LDYgKzE2OTQ3LDcgQEAKIAkJMjlBODEyMDQwRkJCOUI0MTAw
NTEwMjkzIC8qIGFjY2Vzc2liaWxpdHkgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKAorCQkJCTI5QUUyMTI5MjFBQjlFQ0IwMDg2OTI4MyAvKiBpc29sYXRlZHRyZWUg
Ki8sCiAJCQkJQUFBNzI4RUYxNkQxRDhCQzAwRDNCQkM2IC8qIGlvcyAqLywKIAkJCQkyOUE4MTIw
NTBGQkI5QjUyMDA1MTAyOTMgLyogbWFjICovLAogCQkJCTI5ODFDQTlEMTMxODIyRUMwMEQxMkYy
QSAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuY3BwICovLApAQCAtMTY5NzcsNiArMTY5ODYsNyBA
QAogCQkJCTI5ODU3MDkzMTVDQzUzMkQwMDYzNTVDRCAvKiBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dC5oICovLAogCQkJCTI5ODFDQUE1MTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcCAqLywKIAkJCQkyOUE4MTIxODBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0
eU9iamVjdC5oICovLAorCQkJCTI5MzZCRjVBMjFENjk5OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmls
aXR5T2JqZWN0SW50ZXJmYWNlLmggKi8sCiAJCQkJQTQwOUM5ODIxMTZEMERERDAwNzE5N0JEIC8q
IEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5jcHAgKi8sCiAJCQkJQTQwOUM5ODMxMTZE
MERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5oICovLAogCQkJ
CTI5ODFDQUE2MTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNw
cCAqLywKQEAgLTE3MDMyLDYgKzE3MDQyLDE3IEBACiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJMjlBRTIxMjkyMUFCOUVDQjAwODY5MjgzIC8qIGlz
b2xhdGVkdHJlZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJ
CQkJMjlBRTIxMkIyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCAqLywK
KwkJCQkyOUFFMjEyQzIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVDYWNoZS5jcHAg
Ki8sCisJCQkJMjlBRTIxMzMyMUFCQTQ4QTAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5o
ICovLAorCQkJCTI5QUUyMTM0MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUu
Y3BwICovLAorCQkJKTsKKwkJCXBhdGggPSBpc29sYXRlZHRyZWU7CisJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOworCQl9OwogCQkyRDA2MjE0NjFEQTYzOUVDMDBBN0ZCMjYgLyogbGVnYWN5ICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTI5NTkyLDYgKzI5
NjEzLDcgQEAKIAkJCQkxQUUyQUE5ODBBMUNERDJEMDBCNDJCMjUgLyogSlNIVE1MSW1hZ2VFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODBFN0U5NzBBMUE4M0UzMDA3RkI4QzUgLyogSlNI
VE1MSW5wdXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzZCMDk1NjFGNUYzNEQ5MDAz
QzM3MDIgLyogSlNIVE1MSW5wdXRFbGVtZW50RW50cmllc0FQSS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMjkzNkJGNUMyMUQ2OUU0QjAwNEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZh
Y2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE2MTQ4QTc5MTJFNDFFM0IwMDQ0QTc4NCAvKiBKU0hU
TUxLZXlnZW5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUIyMjBBMUNFNjNCMDBC
NDJCMjUgLyogSlNIVE1MTGFiZWxFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUIy
NDBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGVnZW5kRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0zMTA0Myw2ICszMTA2NSw3IEBACiAJCQkJNTE0MDVDODkxOTBCMDE0NDAwNzU0Rjk0IC8q
IFNlbGVjdGlvblJlY3RHYXRoZXJlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0QjRCQjQxNDE2
NTBENzAwMkIxRDhCIC8qIFNlbGVjdG9yQ2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDMy
RDNGRTgxOEE4NjU4NDAwRDdEQzAzIC8qIFNlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaCBp
biBIZWFkZXJzICovLAorCQkJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVk
VHJlZU5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2Qjk5OTk3MTgwNEQ1NDIwMEQwMTEyMSAv
KiBTZWxlY3RvckNvbXBpbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTUwNzE1ODE2ODUwNjcz
MDBDM0M3QjMgLyogU2VsZWN0b3JGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQzMTA3QkUy
MThDQzE5REUwMENDMThFOCAvKiBTZWxlY3RvclBzZXVkb1R5cGVNYXAuaCBpbiBIZWFkZXJzICov
LApAQCAtMzE5NzMsNiArMzE5OTYsNyBAQAogCQkJCTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM4MCAv
KiBYU1NBdWRpdG9yRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NDE2RkU2MTg4MTBF
RjgwMDA5RkM1RiAvKiBZb3VUdWJlRW1iZWRTaGFkb3dFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk3QTU1MTVGNTE5MTgzMEEzMDA5Njg3RDIgLyogWW91VHViZVBsdWdpblJlcGxhY2VtZW50
LmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUFFMjEyRDIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29s
YXRlZFRyZWVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1MzczNTMxMzdCNjUxODAwMDA4
RENFIC8qIFplcm9Qb2xlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzIsNiArMzIsOCBAQAogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgogCisjaW5jbHVk
ZSAiQVhJc29sYXRlZFRyZWVDYWNoZS5oIgorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5o
IgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlBUklBR3JpZC5oIgogI2luY2x1ZGUgIkFjY2Vzc2li
aWxpdHlBUklBR3JpZENlbGwuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cu
aCIKQEAgLTcyMyw3ICs3MjUsMTAgQEAKICAgICBvYmplY3QtPnNldEFYT2JqZWN0SUQoMCk7CiAK
ICAgICBtX2lkc0luVXNlLnJlbW92ZShheElEKTsKLQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpCisgICAgQVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVGb3JQYWdlKG1f
ZG9jdW1lbnQucGFnZSgpKS0+cmVtb3ZlTm9kZShheElEKTsKKyNlbmRpZgorICAgIAogICAgIEFT
U0VSVChtX29iamVjdHMuc2l6ZSgpID49IG1faWRzSW5Vc2Uuc2l6ZSgpKTsKIH0KICAgICAKQEAg
LTI5MDcsNiArMjkxMiw0MCBAQAogICAgIG1fZGVmZXJyZWRGb2N1c2VkTm9kZUNoYW5nZS5jbGVh
cigpOwogfQogICAgIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitS
ZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiBBWE9iamVjdENhY2hlOjpjcmVhdGVTdGF0aWNBY2Nl
c3NpYmlsaXR5VHJlZShBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QsIEFYSUQgcGFyZW50SUQs
IEFYSXNvbGF0ZWRUcmVlQ2FjaGUmIGNhY2hlLCBWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVl
Tm9kZT4+JiBub2RlcykKK3sKKyAgICBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiBpc29sYXRl
ZFRyZWVOb2RlID0gQVhJc29sYXRlZFRyZWVOb2RlOjpjcmVhdGUob2JqZWN0KTsKKyAgICBub2Rl
cy5hcHBlbmQoaXNvbGF0ZWRUcmVlTm9kZSk7CisgICAgCisgICAgUmVmUHRyPEFYSXNvbGF0ZWRU
cmVlUmVsYXRpb25zaGlwPiByZWxhdGlvbnNoaXAgPSBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cDo6Y3JlYXRlKCk7CisgICAgcmVsYXRpb25zaGlwLT5zZXRQYXJlbnQocGFyZW50SUQpOworICAg
IG9iamVjdC5zZXRJbml0aWFsaXplZElzb2xhdGVkVHJlZU5vZGUodHJ1ZSk7CisgICAgYXNzb2Np
YXRlSXNvbGF0ZWRUcmVlTm9kZShvYmplY3QsICppc29sYXRlZFRyZWVOb2RlLCBjYWNoZS5jYWNo
ZUlkZW50aWZpZXIoKSk7CisgICAgCisgICAgZm9yIChhdXRvIGNoaWxkIDogb2JqZWN0LmNoaWxk
cmVuKCkpIHsKKyAgICAgICAgYXV0byBzdGF0aWNDaGlsZCA9IGNyZWF0ZVN0YXRpY0FjY2Vzc2li
aWxpdHlUcmVlKCpjaGlsZCwgaXNvbGF0ZWRUcmVlTm9kZS0+aWRlbnRpZmllcigpLCBjYWNoZSwg
bm9kZXMpOworICAgICAgICByZWxhdGlvbnNoaXAtPmNoaWxkcmVuKCkuYXBwZW5kKHN0YXRpY0No
aWxkLT5pZGVudGlmaWVyKCkpOworICAgIH0KKyAgICAKKyAgICBpc29sYXRlZFRyZWVOb2RlLT5z
ZXRSZWxhdGlvbnNoaXAocmVsYXRpb25zaGlwKTsKKyAgICByZXR1cm4gaXNvbGF0ZWRUcmVlTm9k
ZTsKK30KKyAgICAKK3ZvaWQgQVhPYmplY3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmls
aXR5VHJlZUlmTmVlZGVkKCkKK3sKKyAgICBpZiAocm9vdE9iamVjdCgpLT5pbml0aWFsaXplZElz
b2xhdGVkVHJlZU5vZGUoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIFJlZlB0cjxBWElz
b2xhdGVkVHJlZUNhY2hlPiBjYWNoZSA9IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9yUGFn
ZShtX2RvY3VtZW50LnBhZ2UoKSk7CisgICAgVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5v
ZGU+PiBub2RlczsKKyAgICBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiByb290ID0gY3JlYXRl
U3RhdGljQWNjZXNzaWJpbGl0eVRyZWUoKnJvb3RPYmplY3QoKSwgMCwgKmNhY2hlLCBub2Rlcyk7
CisgICAgcm9vdC0+c2V0SXNSb290Tm9kZSh0cnVlKTsKKyAgICAKKyAgICBjYWNoZS0+YXBwZW5k
Tm9kZUNoYW5nZXMobm9kZXMpOworfQorI2VuZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2FjaGU6
OmRlZmVyUmVjb21wdXRlSXNJZ25vcmVkSWZOZWVkZWQoRWxlbWVudCogZWxlbWVudCkKIHsKICAg
ICBpZiAoIW5vZGVBbmRSZW5kZXJlckFyZVZhbGlkKGVsZW1lbnQpKQpJbmRleDogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJKHJldmlzaW9uIDIzOTcxOCkK
KysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yNSw2ICsyNSw5IEBACiAKICNwcmFnbWEgb25jZQogCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZUNhY2hl
LmgiCisjZW5kaWYKICNpbmNsdWRlICJBWFRleHRTdGF0ZUNoYW5nZUludGVudC5oIgogI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJSYW5nZS5oIgpAQCAtMzksNiAr
NDIsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKQorY2xhc3MgQVhJc29sYXRlZFRyZWVOb2RlOworI2VuZGlmCiBjbGFz
cyBEb2N1bWVudDsKIGNsYXNzIEhUTUxBcmVhRWxlbWVudDsKIGNsYXNzIEhUTUxUZXh0Rm9ybUNv
bnRyb2xFbGVtZW50OwpAQCAtMTgwLDYgKzE4NiwxMyBAQAogICAgIHZvaWQgZGVmZXJBdHRyaWJ1
dGVDaGFuZ2VJZk5lZWRlZChjb25zdCBRdWFsaWZpZWROYW1lJiwgRWxlbWVudCopOwogICAgIHZv
aWQgcmVjb21wdXRlSXNJZ25vcmVkKFJlbmRlck9iamVjdCogcmVuZGVyZXIpOwogCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGdlbmVyYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWVJZk5lZWRlZCgpOworCisgICAgdm9pZCBh
c3NvY2lhdGVJc29sYXRlZFRyZWVOb2RlKEFjY2Vzc2liaWxpdHlPYmplY3QmLCBBWElzb2xhdGVk
VHJlZU5vZGUmLCBBWElzb2xhdGVkQ2FjaGVJRCk7CisgICAgUmVmUHRyPEFYSXNvbGF0ZWRUcmVl
Tm9kZT4gY3JlYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWUoQWNjZXNzaWJpbGl0eU9iamVjdCYs
IEFYSUQsIEFYSXNvbGF0ZWRUcmVlQ2FjaGUmLCBWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVl
Tm9kZT4+Jik7CisjZW5kaWYKKyAgICAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAgICAgV0VC
Q09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwogICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyB2b2lkIGRpc2FibGVBY2Nlc3NpYmlsaXR5KCk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAko
cmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCiAjaW5j
bHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQu
aCIKICNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCkBAIC04OSwxNTcgKzkwLDYgQEAKIGNsYXNzIFNj
cm9sbFZpZXc7CiBjbGFzcyBXaWRnZXQ7CiAKLXR5cGVkZWYgdW5zaWduZWQgQVhJRDsKLQotZW51
bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7Ci0gICAgQW5ub3RhdGlvbiA9IDEsCi0gICAgQXBw
bGljYXRpb24sCi0gICAgQXBwbGljYXRpb25BbGVydCwKLSAgICBBcHBsaWNhdGlvbkFsZXJ0RGlh
bG9nLAotICAgIEFwcGxpY2F0aW9uRGlhbG9nLAotICAgIEFwcGxpY2F0aW9uR3JvdXAsCi0gICAg
QXBwbGljYXRpb25Mb2csCi0gICAgQXBwbGljYXRpb25NYXJxdWVlLAotICAgIEFwcGxpY2F0aW9u
U3RhdHVzLAotICAgIEFwcGxpY2F0aW9uVGV4dEdyb3VwLAotICAgIEFwcGxpY2F0aW9uVGltZXIs
Ci0gICAgQXVkaW8sCi0gICAgQmxvY2txdW90ZSwKLSAgICBCcm93c2VyLAotICAgIEJ1c3lJbmRp
Y2F0b3IsCi0gICAgQnV0dG9uLAotICAgIENhbnZhcywKLSAgICBDYXB0aW9uLAotICAgIENlbGws
Ci0gICAgQ2hlY2tCb3gsCi0gICAgQ29sb3JXZWxsLAotICAgIENvbHVtbiwKLSAgICBDb2x1bW5I
ZWFkZXIsCi0gICAgQ29tYm9Cb3gsCi0gICAgRGVmaW5pdGlvbiwKLSAgICBEZXNjcmlwdGlvbkxp
c3QsCi0gICAgRGVzY3JpcHRpb25MaXN0VGVybSwKLSAgICBEZXNjcmlwdGlvbkxpc3REZXRhaWws
Ci0gICAgRGV0YWlscywKLSAgICBEaXJlY3RvcnksCi0gICAgRGlzY2xvc3VyZVRyaWFuZ2xlLAot
ICAgIERpdiwKLSAgICBEb2N1bWVudCwKLSAgICBEb2N1bWVudEFydGljbGUsCi0gICAgRG9jdW1l
bnRNYXRoLAotICAgIERvY3VtZW50Tm90ZSwKLSAgICBEcmF3ZXIsCi0gICAgRWRpdGFibGVUZXh0
LAotICAgIEZlZWQsCi0gICAgRmlndXJlLAotICAgIEZvb3RlciwKLSAgICBGb290bm90ZSwKLSAg
ICBGb3JtLAotICAgIEdyYXBoaWNzRG9jdW1lbnQsCi0gICAgR3JhcGhpY3NPYmplY3QsCi0gICAg
R3JhcGhpY3NTeW1ib2wsCi0gICAgR3JpZCwKLSAgICBHcmlkQ2VsbCwKLSAgICBHcm91cCwKLSAg
ICBHcm93QXJlYSwKLSAgICBIZWFkaW5nLAotICAgIEhlbHBUYWcsCi0gICAgSG9yaXpvbnRhbFJ1
bGUsCi0gICAgSWdub3JlZCwKLSAgICBJbmxpbmUsCi0gICAgSW1hZ2UsCi0gICAgSW1hZ2VNYXAs
Ci0gICAgSW1hZ2VNYXBMaW5rLAotICAgIEluY3JlbWVudG9yLAotICAgIExhYmVsLAotICAgIExh
bmRtYXJrQmFubmVyLAotICAgIExhbmRtYXJrQ29tcGxlbWVudGFyeSwKLSAgICBMYW5kbWFya0Nv
bnRlbnRJbmZvLAotICAgIExhbmRtYXJrRG9jUmVnaW9uLAotICAgIExhbmRtYXJrTWFpbiwKLSAg
ICBMYW5kbWFya05hdmlnYXRpb24sCi0gICAgTGFuZG1hcmtSZWdpb24sCi0gICAgTGFuZG1hcmtT
ZWFyY2gsCi0gICAgTGVnZW5kLAotICAgIExpbmssCi0gICAgTGlzdCwKLSAgICBMaXN0Qm94LAot
ICAgIExpc3RCb3hPcHRpb24sCi0gICAgTGlzdEl0ZW0sCi0gICAgTGlzdE1hcmtlciwKLSAgICBN
YXJrLAotICAgIE1hdGhFbGVtZW50LAotICAgIE1hdHRlLAotICAgIE1lbnUsCi0gICAgTWVudUJh
ciwKLSAgICBNZW51QnV0dG9uLAotICAgIE1lbnVJdGVtLAotICAgIE1lbnVJdGVtQ2hlY2tib3gs
Ci0gICAgTWVudUl0ZW1SYWRpbywKLSAgICBNZW51TGlzdFBvcHVwLAotICAgIE1lbnVMaXN0T3B0
aW9uLAotICAgIE91dGxpbmUsCi0gICAgUGFyYWdyYXBoLAotICAgIFBvcFVwQnV0dG9uLAotICAg
IFByZSwKLSAgICBQcmVzZW50YXRpb25hbCwKLSAgICBQcm9ncmVzc0luZGljYXRvciwKLSAgICBS
YWRpb0J1dHRvbiwKLSAgICBSYWRpb0dyb3VwLAotICAgIFJvd0hlYWRlciwKLSAgICBSb3csCi0g
ICAgUm93R3JvdXAsCi0gICAgUnVieUJhc2UsCi0gICAgUnVieUJsb2NrLAotICAgIFJ1YnlJbmxp
bmUsCi0gICAgUnVieVJ1biwKLSAgICBSdWJ5VGV4dCwKLSAgICBSdWxlciwKLSAgICBSdWxlck1h
cmtlciwKLSAgICBTY3JvbGxBcmVhLAotICAgIFNjcm9sbEJhciwKLSAgICBTZWFyY2hGaWVsZCwK
LSAgICBTaGVldCwKLSAgICBTbGlkZXIsCi0gICAgU2xpZGVyVGh1bWIsCi0gICAgU3BpbkJ1dHRv
biwKLSAgICBTcGluQnV0dG9uUGFydCwKLSAgICBTcGxpdEdyb3VwLAotICAgIFNwbGl0dGVyLAot
ICAgIFN0YXRpY1RleHQsCi0gICAgU3VtbWFyeSwKLSAgICBTd2l0Y2gsCi0gICAgU3lzdGVtV2lk
ZSwKLSAgICBTVkdSb290LAotICAgIFNWR1RleHQsCi0gICAgU1ZHVFNwYW4sCi0gICAgU1ZHVGV4
dFBhdGgsCi0gICAgVGFiR3JvdXAsCi0gICAgVGFiTGlzdCwKLSAgICBUYWJQYW5lbCwKLSAgICBU
YWIsCi0gICAgVGFibGUsCi0gICAgVGFibGVIZWFkZXJDb250YWluZXIsCi0gICAgVGV4dEFyZWEs
Ci0gICAgVGV4dEdyb3VwLAotICAgIFRlcm0sCi0gICAgVGltZSwKLSAgICBUcmVlLAotICAgIFRy
ZWVHcmlkLAotICAgIFRyZWVJdGVtLAotICAgIFRleHRGaWVsZCwKLSAgICBUb2dnbGVCdXR0b24s
Ci0gICAgVG9vbGJhciwKLSAgICBVbmtub3duLAotICAgIFVzZXJJbnRlcmZhY2VUb29sdGlwLAot
ICAgIFZhbHVlSW5kaWNhdG9yLAotICAgIFZpZGVvLAotICAgIFdlYkFwcGxpY2F0aW9uLAotICAg
IFdlYkFyZWEsCi0gICAgV2ViQ29yZUxpbmssCi0gICAgV2luZG93LAotfTsKLQogZW51bSBjbGFz
cyBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZSB7CiAgICAgQWx0ZXJuYXRpdmUsCiAgICAgQ2hpbGRy
ZW4sCkBAIC00OTEsNyArMzQxLDcgQEAKICAgICAKIGJvb2wgbm9kZUhhc1ByZXNlbnRhdGlvblJv
bGUoTm9kZSopOwogICAgIAotY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdCA6IHB1YmxpYyBSZWZD
b3VudGVkPEFjY2Vzc2liaWxpdHlPYmplY3Q+IHsKK2NsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3Qg
OiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0PiwgcHVibGljIEFjY2Vzc2li
aWxpdHlPYmplY3RJbnRlcmZhY2UgewogcHJvdGVjdGVkOgogICAgIEFjY2Vzc2liaWxpdHlPYmpl
Y3QoKSA9IGRlZmF1bHQ7CiAgICAgCkBAIC0xMTUwLDYgKzEwMDAsMTEgQEAKICAgICB2b2lkIGNs
ZWFySXNJZ25vcmVkRnJvbVBhcmVudERhdGEoKSB7IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEg
PSBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEoKTsgfQogICAgIHZvaWQgc2V0
SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZChBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAg
ICAgCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICB2b2lkIHNl
dEluaXRpYWxpemVkSXNvbGF0ZWRUcmVlTm9kZShib29sIGluaXRpYWxpemVkKSB7IG1faXNvbGF0
ZWRUcmVlTm9kZUluaXRpYWxpemVkID0gaW5pdGlhbGl6ZWQ7IH0KKyAgICBib29sIGluaXRpYWxp
emVkSXNvbGF0ZWRUcmVlTm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNvbGF0ZWRUcmVlTm9kZUlu
aXRpYWxpemVkOyB9CisjZW5kaWYKKyAgICAKIHByb3RlY3RlZDoKICAgICBBWElEIG1faWQgeyAw
IH07CiAgICAgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yIG1fY2hpbGRyZW47CkBAIC0xMTU5
LDcgKzEwMTQsMTAgQEAKICAgICBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEg
bV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YSB7IH07CiAgICAgYm9vbCBtX2NoaWxkcmVuRGlydHkg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9zdWJ0cmVlRGlydHkgeyBmYWxzZSB9OwotCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBib29sIG1faXNvbGF0ZWRUcmVl
Tm9kZUluaXRpYWxpemVkIHsgZmFsc2UgfTsKKyNlbmRpZgorICAgIAogICAgIHZvaWQgc2V0SXNJ
Z25vcmVkRnJvbVBhcmVudERhdGEoQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRh
JiBkYXRhKSB7IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEgPSBkYXRhOyB9CiAKICAgICB2aXJ0
dWFsIGJvb2wgY29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3RJbnRlcmZhY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3R5cGVkZWYgdW5zaWduZWQgQVhJRDsKKworZW51
bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7CisgICAgQW5ub3RhdGlvbiA9IDEsCisgICAgQXBw
bGljYXRpb24sCisgICAgQXBwbGljYXRpb25BbGVydCwKKyAgICBBcHBsaWNhdGlvbkFsZXJ0RGlh
bG9nLAorICAgIEFwcGxpY2F0aW9uRGlhbG9nLAorICAgIEFwcGxpY2F0aW9uR3JvdXAsCisgICAg
QXBwbGljYXRpb25Mb2csCisgICAgQXBwbGljYXRpb25NYXJxdWVlLAorICAgIEFwcGxpY2F0aW9u
U3RhdHVzLAorICAgIEFwcGxpY2F0aW9uVGV4dEdyb3VwLAorICAgIEFwcGxpY2F0aW9uVGltZXIs
CisgICAgQXVkaW8sCisgICAgQmxvY2txdW90ZSwKKyAgICBCcm93c2VyLAorICAgIEJ1c3lJbmRp
Y2F0b3IsCisgICAgQnV0dG9uLAorICAgIENhbnZhcywKKyAgICBDYXB0aW9uLAorICAgIENlbGws
CisgICAgQ2hlY2tCb3gsCisgICAgQ29sb3JXZWxsLAorICAgIENvbHVtbiwKKyAgICBDb2x1bW5I
ZWFkZXIsCisgICAgQ29tYm9Cb3gsCisgICAgRGVmaW5pdGlvbiwKKyAgICBEZXNjcmlwdGlvbkxp
c3QsCisgICAgRGVzY3JpcHRpb25MaXN0VGVybSwKKyAgICBEZXNjcmlwdGlvbkxpc3REZXRhaWws
CisgICAgRGV0YWlscywKKyAgICBEaXJlY3RvcnksCisgICAgRGlzY2xvc3VyZVRyaWFuZ2xlLAor
ICAgIERpdiwKKyAgICBEb2N1bWVudCwKKyAgICBEb2N1bWVudEFydGljbGUsCisgICAgRG9jdW1l
bnRNYXRoLAorICAgIERvY3VtZW50Tm90ZSwKKyAgICBEcmF3ZXIsCisgICAgRWRpdGFibGVUZXh0
LAorICAgIEZlZWQsCisgICAgRmlndXJlLAorICAgIEZvb3RlciwKKyAgICBGb290bm90ZSwKKyAg
ICBGb3JtLAorICAgIEdyYXBoaWNzRG9jdW1lbnQsCisgICAgR3JhcGhpY3NPYmplY3QsCisgICAg
R3JhcGhpY3NTeW1ib2wsCisgICAgR3JpZCwKKyAgICBHcmlkQ2VsbCwKKyAgICBHcm91cCwKKyAg
ICBHcm93QXJlYSwKKyAgICBIZWFkaW5nLAorICAgIEhlbHBUYWcsCisgICAgSG9yaXpvbnRhbFJ1
bGUsCisgICAgSWdub3JlZCwKKyAgICBJbmxpbmUsCisgICAgSW1hZ2UsCisgICAgSW1hZ2VNYXAs
CisgICAgSW1hZ2VNYXBMaW5rLAorICAgIEluY3JlbWVudG9yLAorICAgIExhYmVsLAorICAgIExh
bmRtYXJrQmFubmVyLAorICAgIExhbmRtYXJrQ29tcGxlbWVudGFyeSwKKyAgICBMYW5kbWFya0Nv
bnRlbnRJbmZvLAorICAgIExhbmRtYXJrRG9jUmVnaW9uLAorICAgIExhbmRtYXJrTWFpbiwKKyAg
ICBMYW5kbWFya05hdmlnYXRpb24sCisgICAgTGFuZG1hcmtSZWdpb24sCisgICAgTGFuZG1hcmtT
ZWFyY2gsCisgICAgTGVnZW5kLAorICAgIExpbmssCisgICAgTGlzdCwKKyAgICBMaXN0Qm94LAor
ICAgIExpc3RCb3hPcHRpb24sCisgICAgTGlzdEl0ZW0sCisgICAgTGlzdE1hcmtlciwKKyAgICBN
YXJrLAorICAgIE1hdGhFbGVtZW50LAorICAgIE1hdHRlLAorICAgIE1lbnUsCisgICAgTWVudUJh
ciwKKyAgICBNZW51QnV0dG9uLAorICAgIE1lbnVJdGVtLAorICAgIE1lbnVJdGVtQ2hlY2tib3gs
CisgICAgTWVudUl0ZW1SYWRpbywKKyAgICBNZW51TGlzdFBvcHVwLAorICAgIE1lbnVMaXN0T3B0
aW9uLAorICAgIE91dGxpbmUsCisgICAgUGFyYWdyYXBoLAorICAgIFBvcFVwQnV0dG9uLAorICAg
IFByZSwKKyAgICBQcmVzZW50YXRpb25hbCwKKyAgICBQcm9ncmVzc0luZGljYXRvciwKKyAgICBS
YWRpb0J1dHRvbiwKKyAgICBSYWRpb0dyb3VwLAorICAgIFJvd0hlYWRlciwKKyAgICBSb3csCisg
ICAgUm93R3JvdXAsCisgICAgUnVieUJhc2UsCisgICAgUnVieUJsb2NrLAorICAgIFJ1YnlJbmxp
bmUsCisgICAgUnVieVJ1biwKKyAgICBSdWJ5VGV4dCwKKyAgICBSdWxlciwKKyAgICBSdWxlck1h
cmtlciwKKyAgICBTY3JvbGxBcmVhLAorICAgIFNjcm9sbEJhciwKKyAgICBTZWFyY2hGaWVsZCwK
KyAgICBTaGVldCwKKyAgICBTbGlkZXIsCisgICAgU2xpZGVyVGh1bWIsCisgICAgU3BpbkJ1dHRv
biwKKyAgICBTcGluQnV0dG9uUGFydCwKKyAgICBTcGxpdEdyb3VwLAorICAgIFNwbGl0dGVyLAor
ICAgIFN0YXRpY1RleHQsCisgICAgU3VtbWFyeSwKKyAgICBTd2l0Y2gsCisgICAgU3lzdGVtV2lk
ZSwKKyAgICBTVkdSb290LAorICAgIFNWR1RleHQsCisgICAgU1ZHVFNwYW4sCisgICAgU1ZHVGV4
dFBhdGgsCisgICAgVGFiR3JvdXAsCisgICAgVGFiTGlzdCwKKyAgICBUYWJQYW5lbCwKKyAgICBU
YWIsCisgICAgVGFibGUsCisgICAgVGFibGVIZWFkZXJDb250YWluZXIsCisgICAgVGV4dEFyZWEs
CisgICAgVGV4dEdyb3VwLAorICAgIFRlcm0sCisgICAgVGltZSwKKyAgICBUcmVlLAorICAgIFRy
ZWVHcmlkLAorICAgIFRyZWVJdGVtLAorICAgIFRleHRGaWVsZCwKKyAgICBUb2dnbGVCdXR0b24s
CisgICAgVG9vbGJhciwKKyAgICBVbmtub3duLAorICAgIFVzZXJJbnRlcmZhY2VUb29sdGlwLAor
ICAgIFZhbHVlSW5kaWNhdG9yLAorICAgIFZpZGVvLAorICAgIFdlYkFwcGxpY2F0aW9uLAorICAg
IFdlYkFyZWEsCisgICAgV2ViQ29yZUxpbmssCisgICAgV2luZG93LAorfTsKKworY2xhc3MgQWNj
ZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+QWNjZXNz
aWJpbGl0eU9iamVjdEludGVyZmFjZSgpID0gZGVmYXVsdDsKKworICAgIHZpcnR1YWwgYm9vbCBp
c01lZGlhQ29udHJvbExhYmVsKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0
eVJvbGUgcm9sZVZhbHVlKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBpc0F0dGFjaG1l
bnQoKSBjb25zdCA9IDA7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNh
Y2hlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lz
b2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDEyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRF
RF9UUkVFKQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVD
YWNoZS5oIgorCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCisjaW5jbHVkZSAiUGFn
ZS5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisgICAgCitzdGF0aWMgdW5zaWduZWQgc19jYWNoZUlEQ291bnQgPSAwOworSGFzaE1hcDxQ
YWdlKiwgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+PiYgQVhJc29sYXRlZFRyZWVDYWNoZTo6
cGFnZVJvb3RNYXAoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPFBhZ2Uq
LCBSZWZQdHI8QVhJc29sYXRlZFRyZWVDYWNoZT4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30K
KworSGFzaE1hcDxBWElzb2xhdGVkQ2FjaGVJRCwgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+
PiYgQVhJc29sYXRlZFRyZWVDYWNoZTo6dHJlZUNhY2hlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJE
ZXN0cm95ZWQ8SGFzaE1hcDxBWElzb2xhdGVkQ2FjaGVJRCwgUmVmUHRyPEFYSXNvbGF0ZWRUcmVl
Q2FjaGU+Pj4gbWFwOworICAgIHJldHVybiBtYXA7Cit9CisKK0FYSXNvbGF0ZWRUcmVlQ2FjaGU6
OkFYSXNvbGF0ZWRUcmVlQ2FjaGUoKQorICAgIDogbV9jYWNoZUlEKCsrc19jYWNoZUlEQ291bnQp
Cit7Cit9CisKK0FYSXNvbGF0ZWRUcmVlQ2FjaGU6On5BWElzb2xhdGVkVHJlZUNhY2hlKCkgPSBk
ZWZhdWx0OworCitSZWY8QVhJc29sYXRlZFRyZWVDYWNoZT4gQVhJc29sYXRlZFRyZWVDYWNoZTo6
Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZUNhY2hl
KCkpOworfQorICAgIAorUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+IEFYSXNvbGF0ZWRUcmVl
Q2FjaGU6OmNhY2hlRm9ySUQoQVhJc29sYXRlZENhY2hlSUQgY2FjaGVJRCkKK3sKKyAgICByZXR1
cm4gdHJlZUNhY2hlKCkuZ2V0KGNhY2hlSUQpOworfQorCitSZWZQdHI8QVhJc29sYXRlZFRyZWVD
YWNoZT4gQVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVGb3JQYWdlKFBhZ2UqIHBhZ2UpCit7Cisg
ICAgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+IGNhY2hlID0gcGFnZVJvb3RNYXAoKS5nZXQo
cGFnZSk7CisgICAgaWYgKCFjYWNoZSkgeworICAgICAgICBjYWNoZSA9IEFYSXNvbGF0ZWRUcmVl
Q2FjaGU6OmNyZWF0ZSgpOworICAgICAgICBwYWdlUm9vdE1hcCgpLnNldChwYWdlLCBjYWNoZSk7
CisgICAgICAgIHRyZWVDYWNoZSgpLnNldChjYWNoZS0+Y2FjaGVJZGVudGlmaWVyKCksIGNhY2hl
KTsKKyAgICB9CisgICAgcmV0dXJuIGNhY2hlOworfQorICAgIAorUmVmUHRyPEFYSXNvbGF0ZWRU
cmVlTm9kZT4gQVhJc29sYXRlZFRyZWVDYWNoZTo6bm9kZUZvcklEKEFYSUQgYXhJRCkgY29uc3QK
K3sKKyAgICBpZiAoIWF4SUQpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBt
X2NhY2hlLmdldChheElEKTsKK30KKworUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gQVhJc29s
YXRlZFRyZWVDYWNoZTo6cm9vdE5vZGUoKQoreworICAgIHJldHVybiBub2RlRm9ySUQobV9yb290
Tm9kZUlEKTsKK30KKwordm9pZCBBWElzb2xhdGVkVHJlZUNhY2hlOjpyZW1vdmVOb2RlKEFYSUQg
YXhJRCkKK3sKKyAgICBtX2NoYW5nZUxvZ0xvY2subG9jaygpOworICAgIG1fcmVtb3ZlQ2hhbmdl
TG9nLmFwcGVuZChheElEKTsKKyAgICBtX2NoYW5nZUxvZ0xvY2sudW5sb2NrKCk7Cit9CisKK3Zv
aWQgQVhJc29sYXRlZFRyZWVDYWNoZTo6YXBwZW5kTm9kZUNoYW5nZXMoVmVjdG9yPFJlZlB0cjxB
WElzb2xhdGVkVHJlZU5vZGU+PiYgbG9nKQoreworICAgIG1fY2hhbmdlTG9nTG9jay5sb2NrKCk7
CisgICAgbV9hcHBlbmRDaGFuZ2VMb2cuYXBwZW5kVmVjdG9yKGxvZyk7CisgICAgbV9jaGFuZ2VM
b2dMb2NrLnVubG9jaygpOworfQorICAgIAordm9pZCBBWElzb2xhdGVkVHJlZUNhY2hlOjphcHBs
eUNoYW5nZUxvZygpCit7CisgICAgVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiBh
cHBlbmRDb3B5OworICAgIFZlY3RvcjxBWElEPiByZW1vdmVDb3B5OworCisgICAgbV9jaGFuZ2VM
b2dMb2NrLmxvY2soKTsKKyAgICBhcHBlbmRDb3B5ID0gbV9hcHBlbmRDaGFuZ2VMb2c7CisgICAg
cmVtb3ZlQ29weSA9IG1fcmVtb3ZlQ2hhbmdlTG9nOworICAgIAorICAgIG1fYXBwZW5kQ2hhbmdl
TG9nLmNsZWFyKCk7CisgICAgbV9yZW1vdmVDaGFuZ2VMb2cuY2xlYXIoKTsKKyAgICBtX2NoYW5n
ZUxvZ0xvY2sudW5sb2NrKCk7CisKKyAgICBmb3IgKGF1dG8gaXRlbSA6IGFwcGVuZENvcHkpIHsK
KyAgICAgICAgbV9jYWNoZS5zZXQoaXRlbS0+aWRlbnRpZmllcigpLCBpdGVtKTsKKyAgICAgICAg
aWYgKGl0ZW0tPmlzUm9vdE5vZGUoKSkKKyAgICAgICAgICAgIG1fcm9vdE5vZGVJRCA9IGl0ZW0t
PmlkZW50aWZpZXIoKTsKKyAgICB9CisKKyAgICBmb3IgKGF1dG8gaXRlbSA6IHJlbW92ZUNvcHkp
CisgICAgICAgIG1fY2FjaGUucmVtb3ZlKGl0ZW0pOworfQorICAgIAorfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0
ZWRUcmVlQ2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmgJKG5vbmV4aXN0ZW50KQorKysgU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVDYWNo
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5vZGUu
aCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVm
Q291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBQYWdlOworCit0eXBlZGVmIHVuc2lnbmVkIEFYSXNvbGF0ZWRDYWNoZUlEOwor
ICAgIAorY2xhc3MgQVhJc29sYXRlZFRyZWVDYWNoZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291
bnRlZDxBWElzb2xhdGVkVHJlZUNhY2hlPiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQVhJ
c29sYXRlZFRyZWVDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworCitwdWJsaWM6Cisg
ICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZUNhY2hlPiBjcmVhdGUoKTsKKyAgICB2aXJ0dWFs
IH5BWElzb2xhdGVkVHJlZUNhY2hlKCk7CisKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVm
UHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+IGNhY2hlRm9yUGFnZShQYWdlKik7CisgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPiBjYWNoZUZvcklEKEFY
SXNvbGF0ZWRDYWNoZUlEKTsKKworICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxBWElzb2xhdGVk
VHJlZU5vZGU+IHJvb3ROb2RlKCk7CisgICAgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gbm9k
ZUZvcklEKEFYSUQpIGNvbnN0OworCisgICAgLy8gQ2FsbCBvbiBtYWluIHRocmVhZAorICAgIHZv
aWQgYXBwZW5kTm9kZUNoYW5nZXMoVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYp
OworICAgIHZvaWQgcmVtb3ZlTm9kZShBWElEKTsKKworICAgIC8vIENhbGwgb24gQVggdGhyZWFk
CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseUNoYW5nZUxvZygpOworICAgIAorICAgIEFY
SXNvbGF0ZWRDYWNoZUlEIGNhY2hlSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVJ
RDsgfQorICAgIAorcHJpdmF0ZToKKyAgICBBWElzb2xhdGVkVHJlZUNhY2hlKCk7CisKKyAgICBz
dGF0aWMgSGFzaE1hcDxQYWdlKiwgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+PiYgcGFnZVJv
b3RNYXAoKTsKKyAgICBzdGF0aWMgSGFzaE1hcDxBWElzb2xhdGVkQ2FjaGVJRCwgUmVmUHRyPEFY
SXNvbGF0ZWRUcmVlQ2FjaGU+PiYgdHJlZUNhY2hlKCk7CisgICAgCisgICAgLy8gT25seSBhY2Nl
c3Mgb24gQVggdGhyZWFkIHJlcXVlc3RpbmcgZGF0YS4KKyAgICBIYXNoTWFwPEFYSUQsIFJlZlB0
cjxBWElzb2xhdGVkVHJlZU5vZGU+PiBtX2NhY2hlOworICAgIAorICAgIC8vIFdyaXR0ZW4gdG8g
YnkgbWFpbiB0aHJlYWQgdW5kZXIgbG9jaywgYWNjZXNzZWQgYW5kIGFwcGxpZWQgYnkgQVggdGhy
ZWFkLgorICAgIFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbV9hcHBlbmRDaGFu
Z2VMb2c7CisgICAgVmVjdG9yPEFYSUQ+IG1fcmVtb3ZlQ2hhbmdlTG9nOworICAgIExvY2sgbV9j
aGFuZ2VMb2dMb2NrOworCisgICAgQVhJc29sYXRlZENhY2hlSUQgbV9jYWNoZUlEOworICAgIEFY
SUQgbV9yb290Tm9kZUlEOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0
ZWRUcmVlTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5v
ZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKKworI2luY2x1ZGUgIkFjY2Vzc2li
aWxpdHlPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitBWElzb2xhdGVkVHJlZU5v
ZGU6OkFYSXNvbGF0ZWRUcmVlTm9kZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3Qp
CisgICAgOiBtX2lkZW50aWZpZXIob2JqZWN0LmF4T2JqZWN0SUQoKSkKKyAgICAsIG1fcmVsYXRp
b25zaGlwKG51bGxwdHIpCit7CisgICAgaW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEob2JqZWN0KTsK
K30KKworUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gQVhJc29sYXRlZFRyZWVOb2RlOjpjcmVhdGUo
Y29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQoreworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IEFYSXNvbGF0ZWRUcmVlTm9kZShvYmplY3QpKTsKK30KKyAgICAKK0FYSXNvbGF0ZWRU
cmVlTm9kZTo6fkFYSXNvbGF0ZWRUcmVlTm9kZSgpID0gZGVmYXVsdDsKKwordm9pZCBBWElzb2xh
dGVkVHJlZU5vZGU6OmluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKGNvbnN0IEFjY2Vzc2liaWxpdHlP
YmplY3QmIG9iamVjdCkKK3sKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Um9sZVZh
bHVlLCBzdGF0aWNfY2FzdDxpbnQ+KG9iamVjdC5yb2xlVmFsdWUoKSkpOworICAgIHNldFByb3Bl
cnR5KEFYUHJvcGVydHlOYW1lOjpJc0F0dGFjaG1lbnQsIG9iamVjdC5pc0F0dGFjaG1lbnQoKSk7
CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzTWVkaWFDb250cm9sTGFiZWwsIG9i
amVjdC5pc01lZGlhQ29udHJvbExhYmVsKCkpOworfQorICAgIAordm9pZCBBWElzb2xhdGVkVHJl
ZU5vZGU6OnNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgQXR0cmlidXRl
VmFsdWVWYXJpYW50JiYgdmFsdWUsIGJvb2wgc2hvdWxkUmVtb3ZlKQoreworICAgIGlmIChzaG91
bGRSZW1vdmUpCisgICAgICAgIG1fYXR0cmlidXRlTWFwLnJlbW92ZShwcm9wZXJ0eU5hbWUpOwor
ICAgIGVsc2UKKyAgICAgICAgbV9hdHRyaWJ1dGVNYXAuc2V0KHByb3BlcnR5TmFtZSwgdmFsdWUp
OworfQorICAgIAorZG91YmxlIEFYSXNvbGF0ZWRUcmVlTm9kZTo6ZG91YmxlQXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUg
PSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0
Y2hPbih2YWx1ZSwgWyZdIChkb3VibGUmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5
cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gMC4wOworICAg
IH0pOworfQorCit1bnNpZ25lZCBBWElzb2xhdGVkVHJlZU5vZGU6OnVuc2lnbmVkQXR0cmlidXRl
VmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFs
dWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpz
d2l0Y2hPbih2YWx1ZSwgWyZdICh1bnNpZ25lZCYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1
cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiAwOwor
ICAgIH0pOworfQorCitib29sIEFYSXNvbGF0ZWRUcmVlTm9kZTo6Ym9vbEF0dHJpYnV0ZVZhbHVl
KEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0g
bV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNo
T24odmFsdWUsIFsmXSAoYm9vbCYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRW
YWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9
KTsKK30KKworY29uc3QgU3RyaW5nJiBBWElzb2xhdGVkVHJlZU5vZGU6OnN0cmluZ0F0dHJpYnV0
ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZh
bHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6
c3dpdGNoT24odmFsdWUsIFsmXSAoU3RyaW5nJiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVy
biB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIG51bGxB
dG9tKCk7CisgICAgfSk7Cit9CisKK2ludCBBWElzb2xhdGVkVHJlZU5vZGU6OmludEF0dHJpYnV0
ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZh
bHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6
c3dpdGNoT24odmFsdWUsIFsmXSAoaW50JiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0
eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fSk7Cit9CisKKyNwcmFnbWEgbWFyayAtIE92ZXJyaWRlcworICAgIAorfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKChBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkVHJlZU5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuaAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUu
aAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1NCBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAy
MDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworKiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0
SW50ZXJmYWNlLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjaW5jbHVkZSA8d3Rm
L1ZhcmlhbnQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQ
dHIuaD4KKworI2lmIFBMQVRGT1JNKENPQ09BKQorT0JKQ19DTEFTUyBXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlcjsKKyNlbmRpZgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEFj
Y2Vzc2liaWxpdHlPYmplY3Q7CisKK2NsYXNzIEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwIDog
cHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwPiB7
CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4gY3Jl
YXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCgp
KTsgfQorICAgIHZpcnR1YWwgfkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwKCkgPSBkZWZhdWx0
OworCisgICAgQVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXAoY29uc3QgQVhJc29sYXRlZFRyZWVS
ZWxhdGlvbnNoaXAmIHJlbGF0aW9uc2hpcCkKKyAgICAgICAgOiBtX3BhcmVudChyZWxhdGlvbnNo
aXAubV9wYXJlbnQpCisgICAgICAgICwgbV9jaGlsZHJlbihyZWxhdGlvbnNoaXAubV9jaGlsZHJl
bikKKyAgICB7CisgICAgfQorICAgIAorICAgIEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwJiBv
cGVyYXRvcj0oY29uc3QgQVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXAmIHJlbGF0aW9uc2hpcCkK
KyAgICB7CisgICAgICAgIG1fcGFyZW50ID0gcmVsYXRpb25zaGlwLm1fcGFyZW50OworICAgICAg
ICBtX2NoaWxkcmVuID0gcmVsYXRpb25zaGlwLm1fY2hpbGRyZW47CisgICAgICAgIHJldHVybiAq
dGhpczsKKyAgICB9CisKKyAgICB2b2lkIHNldFBhcmVudChBWElEIHBhcmVudCkgeyBtX3BhcmVu
dCA9IHBhcmVudDsgfQorICAgIEFYSUQgcGFyZW50KCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnQ7
IH0KKworICAgIFZlY3RvcjxBWElEPiYgY2hpbGRyZW4oKSB7IHJldHVybiBtX2NoaWxkcmVuOyB9
OworCitwcml2YXRlOgorICAgIEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwKCkgeyB9CisKKyAg
ICBBWElEIG1fcGFyZW50OworICAgIFZlY3RvcjxBWElEPiBtX2NoaWxkcmVuOworfTsKKworICAg
IAorY2xhc3MgQVhJc29sYXRlZFRyZWVOb2RlIGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxpdHlP
YmplY3RJbnRlcmZhY2UsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxBWElzb2xhdGVkVHJl
ZU5vZGU+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiB7CisgICAg
CitlbnVtIGNsYXNzIEFYUHJvcGVydHlOYW1lIDogdWludDE2X3QgeworICAgIE5vbmUgPSAwLAor
ICAgIFJvbGVWYWx1ZSA9IDEsCisgICAgSXNBdHRhY2htZW50LAorICAgIElzTWVkaWFDb250cm9s
TGFiZWwsCit9OworCitzdHJ1Y3QgQVhQcm9wZXJ0eUhhc2hUcmFpdHMgOiBXVEY6OlN0cm9uZ0Vu
dW1IYXNoVHJhaXRzPEFYUHJvcGVydHlOYW1lPiB7CisgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1w
dHlWYWx1ZUlzWmVybyA9IGZhbHNlOworICAgIHN0YXRpYyBBWFByb3BlcnR5TmFtZSBlbXB0eVZh
bHVlKCkgeyByZXR1cm4gQVhQcm9wZXJ0eU5hbWU6Ok5vbmU7IH07CisgICAgc3RhdGljIHZvaWQg
Y29uc3RydWN0RGVsZXRlZFZhbHVlKEFYUHJvcGVydHlOYW1lJiBzbG90KQorICAgIHsKKyAgICAg
ICAgc2xvdCA9IHN0YXRpY19jYXN0PEFYUHJvcGVydHlOYW1lPihzdGF0aWNfY2FzdDxpbnQ+KEFY
UHJvcGVydHlOYW1lOjpOb25lKSAtIDEpOworICAgIH0KKyAgICBzdGF0aWMgYm9vbCBpc0RlbGV0
ZWRWYWx1ZShBWFByb3BlcnR5TmFtZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxpbnQ+KHZhbHVlKSA9PSBzdGF0aWNfY2FzdDxpbnQ+KEFYUHJvcGVydHlOYW1lOjpO
b25lKSAtIDE7CisgICAgfQorfTsKKworcHJvdGVjdGVkOgorICAgIEFYSXNvbGF0ZWRUcmVlTm9k
ZSgpID0gZGVmYXVsdDsKKworcHVibGljOgorICAgIHN0YXRpYyBSZWY8QVhJc29sYXRlZFRyZWVO
b2RlPiBjcmVhdGUoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYpOworICAgIHZpcnR1YWwgfkFY
SXNvbGF0ZWRUcmVlTm9kZSgpOworCisgICAgQVhJRCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1
cm4gbV9pZGVudGlmaWVyOyB9CisgICAgCisgICAgdm9pZCBzZXRSZWxhdGlvbnNoaXAoUmVmUHRy
PEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwPiByZWxhdGlvbnNoaXApIHsgbV9yZWxhdGlvbnNo
aXAgPSByZWxhdGlvbnNoaXA7IH0KKyAgICBSZWZQdHI8QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNo
aXA+JiByZWxhdGlvbnNoaXAoKSB7IHJldHVybiBtX3JlbGF0aW9uc2hpcDsgfQorICAgIAorICAg
IGJvb2wgaXNSb290Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNSb290Tm9kZTsgfQorICAgIHZv
aWQgc2V0SXNSb290Tm9kZShib29sIHZhbHVlKSB7IG1faXNSb290Tm9kZSA9IHZhbHVlOyB9Cisg
ICAgCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXIqIHdyYXBwZXIoKSBjb25zdCB7IHJldHVybiBtX3dyYXBwZXIuZ2V0KCk7IH0KKyAgICB2b2lk
IHNldFdyYXBwZXIoV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIpCisgICAg
eworICAgICAgICBtX3dyYXBwZXIgPSB3cmFwcGVyOworICAgIH0KKyNlbmRpZgorCitwcml2YXRl
OgorICAgIEFYSXNvbGF0ZWRUcmVlTm9kZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7Cisg
ICAgdm9pZCBpbml0aWFsaXplQXR0cmlidXRlRGF0YShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0
Jik7CisgICAgCisgICAgYm9vbCBpc01lZGlhQ29udHJvbExhYmVsKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpJc01lZGlhQ29udHJv
bExhYmVsKTsgfQorICAgIGJvb2wgaXNBdHRhY2htZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpJc0F0dGFjaG1lbnQpOyB9Cisg
ICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8QWNjZXNzaWJpbGl0eVJvbGU+KGludEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVy
dHlOYW1lOjpSb2xlVmFsdWUpKTsgfQorICAgIAorICAgIHVzaW5nIEF0dHJpYnV0ZVZhbHVlVmFy
aWFudCA9IFZhcmlhbnQ8c3RkOjpudWxscHRyX3QsIFN0cmluZywgYm9vbCwgaW50LCB1bnNpZ25l
ZCwgZG91YmxlPjsKKyAgICB2b2lkIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lLCBBdHRyaWJ1
dGVWYWx1ZVZhcmlhbnQmJiwgYm9vbCBzaG91bGRSZW1vdmUgPSBmYWxzZSk7CisgICAgCisgICAg
Ym9vbCBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGNvbnN0
IFN0cmluZyYgc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAg
IGludCBpbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgdW5zaWdu
ZWQgdW5zaWduZWRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgZG91
YmxlIGRvdWJsZUF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICAKKyAg
ICBBWElEIG1faWRlbnRpZmllcjsKKyAgICBSZWZQdHI8QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNo
aXA+IG1fcmVsYXRpb25zaGlwOworICAgIGJvb2wgbV9pc1Jvb3ROb2RlOworICAgIAorI2lmIFBM
QVRGT1JNKENPQ09BKQorICAgIFJldGFpblB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
cj4gbV93cmFwcGVyOworI2VuZGlmCisgICAgCisgICAgSGFzaE1hcDxBWFByb3BlcnR5TmFtZSwg
QXR0cmlidXRlVmFsdWVWYXJpYW50LCBXVEY6OkludEhhc2g8QVhQcm9wZXJ0eU5hbWU+LCBBWFBy
b3BlcnR5SGFzaFRyYWl0cz4gbV9hdHRyaWJ1dGVNYXA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFj
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2Jq
ZWN0Q2FjaGVNYWMubW0JKHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDYg
KzI4LDcgQEAKIAogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgUExBVEZPUk0oTUFDKQogCisj
aW1wb3J0ICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlPYmpl
Y3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlUYWJsZS5oIgogI2ltcG9ydCAiUmVuZGVyT2Jq
ZWN0LmgiCkBAIC0yMzcsNiArMjM4LDE0IEBACiAgICAgb2JqLT5zZXRXcmFwcGVyKG51bGxwdHIp
OwogfQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK3ZvaWQgQVhP
YmplY3RDYWNoZTo6YXNzb2NpYXRlSXNvbGF0ZWRUcmVlTm9kZShBY2Nlc3NpYmlsaXR5T2JqZWN0
JiBvYmplY3QsIEFYSXNvbGF0ZWRUcmVlTm9kZSYgbm9kZSwgQVhJc29sYXRlZENhY2hlSUQgY2Fj
aGVJRCkKK3sKKyAgICBvYmplY3Qud3JhcHBlcigpLmlzb2xhdGVkQ2FjaGVJZGVudGlmaWVyID0g
Y2FjaGVJRDsKKyAgICBub2RlLnNldFdyYXBwZXIob2JqZWN0LndyYXBwZXIoKSk7Cit9CisjZW5k
aWYKKyAgICAKIHZvaWQgQVhPYmplY3RDYWNoZTo6YXR0YWNoV3JhcHBlcihBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBvYmopCiB7CiAgICAgUmV0YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyPiB3cmFwcGVyID0gYWRvcHROUyhbW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGFs
bG9jXSBpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6b2JqXSk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaAkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJC
YXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDEwICszMCwxNyBAQAogI2RlZmluZSBXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2VfaAogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9i
amVjdC5oIgorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIKICNpbmNsdWRlIDxDb3Jl
R3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdDsKKyNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKQorY2xhc3MgQVhJc29sYXRlZFRyZWVOb2RlOworI2VuZGlm
CiBzdHJ1Y3QgQWNjZXNzaWJpbGl0eVNlYXJjaENyaXRlcmlhOwogY2xhc3MgSW50UmVjdDsKIGNs
YXNzIEZsb2F0UG9pbnQ7CkBAIC00NywxMCArNTQsMjIgQEAKIH0KICAKIC0gKGlkKWluaXRXaXRo
QWNjZXNzaWJpbGl0eU9iamVjdDooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCopYXhPYmpl
Y3Q7CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5KSBSZWZQdHI8V2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2Rl
PiBpc29sYXRlZFRyZWVOb2RlOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgV2ViQ29y
ZTo6QVhJc29sYXRlZENhY2hlSUQgaXNvbGF0ZWRDYWNoZUlkZW50aWZpZXI7CisjZW5kaWYKKwog
LSAodm9pZClkZXRhY2g7CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFdlYkNvcmU6
OkFYSUQgaWRlbnRpZmllcjsKKwogLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCopYWNj
ZXNzaWJpbGl0eU9iamVjdDsKIC0gKEJPT0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3JlOwogCisv
LyBUaGlzIGNhbiBiZSBlaXRoZXIgYW4gQWNjZXNzaWJpbGl0eU9iamVjdCBvciBhbiBBWElzb2xh
dGVkVHJlZU5vZGUKKy0gKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UqKWF4
QmFja2luZ09iamVjdDsKKwogLy8gVGhlc2UgYXJlIHByZS1maXhlZCB3aXRoIGJhc2Ugc28gdGhh
dCBBcHBLaXQgZG9lcyBub3QgZW5kIHVwIGNhbGxpbmcgaW50byB0aGVzZSBkaXJlY3RseSAoYnlw
YXNzaW5nIHNhZmV0eSBjaGVja3MpLgogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eVRp
dGxlOwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uOwpJbmRleDog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXJCYXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
bWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkocmV2aXNpb24gMjM5NzE4
KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJCYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw5ICszMiwxMiBAQAogI2lm
IEhBVkUoQUNDRVNTSUJJTElUWSkKIAogI2ltcG9ydCAiQVhPYmplY3RDYWNoZS5oIgorI2ltcG9y
dCAiQVhJc29sYXRlZFRyZWVDYWNoZS5oIgorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWVOb2RlLmgi
CiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaCIKICNpbXBvcnQgIkFjY2Vzc2li
aWxpdHlMaXN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5TGlzdEJveC5oIgorI2ltcG9ydCAi
QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCIKICNpbXBv
cnQgIkFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmgiCkBAIC0yNzEsMTYgKzI3NCwzMCBAQAogICAg
ICAgICByZXR1cm4gbmlsOwogCiAgICAgbV9vYmplY3QgPSBheE9iamVjdDsKKyAgICBfaWRlbnRp
ZmllciA9IG1fb2JqZWN0LT5heE9iamVjdElEKCk7CiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKKyNp
ZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorLSAoUmVmUHRyPFdlYkNvcmU6
OkFYSXNvbGF0ZWRUcmVlTm9kZT4paXNvbGF0ZWRUcmVlTm9kZQoreworICAgIHJldHVybiBBWElz
b2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvcklEKF9pc29sYXRlZENhY2hlSWRlbnRpZmllciktPm5v
ZGVGb3JJRChfaWRlbnRpZmllcik7Cit9CisKKyNlbmRpZgorCiAtICh2b2lkKWRldGFjaAogewog
ICAgIG1fb2JqZWN0ID0gbnVsbHB0cjsKKyAgICBfaWRlbnRpZmllciA9IDA7CiB9CiAKIC0gKEJP
T0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3JlCiB7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlf
SVNPTEFURURfVFJFRSkKKyAgICBBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvcklEKHNlbGYu
aXNvbGF0ZWRDYWNoZUlkZW50aWZpZXIpLT5hcHBseUNoYW5nZUxvZygpOworICAgIHJldHVybiBf
aWRlbnRpZmllciAhPSAwOworI2Vsc2UKICAgICAvLyBDYWxsaW5nIHVwZGF0ZUJhY2tpbmdTdG9y
ZSgpIGNhbiBpbnZhbGlkYXRlIHRoaXMgZWxlbWVudCBzbyBzZWxmIG11c3QgYmUgcmV0YWluZWQu
CiAgICAgLy8gSWYgaXQgZG9lcyBiZWNvbWUgaW52YWxpZGF0ZWQsIG1fb2JqZWN0IHdpbGwgYmUg
bmlsLgogICAgIENGUmV0YWluKChfX2JyaWRnZSBDRlR5cGVSZWYpc2VsZik7CkBAIC0yOTQsNiAr
MzExLDcgQEAKICAgICAgICAgcmV0dXJuIE5POwogICAgIAogICAgIHJldHVybiBZRVM7CisjZW5k
aWYKIH0KIAogLSAoaWQpYXR0YWNobWVudFZpZXcKQEAgLTM1NSwxMSArMzczLDIxIEBACiAgICAg
cmV0dXJuIFtOU1N0cmluZyBzdHJpbmddOwogfQogCisjZGVmaW5lIF9heEJhY2tpbmdPYmplY3Qg
c2VsZi5heEJhY2tpbmdPYmplY3QKKy0gKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RJbnRl
cmZhY2UqKWF4QmFja2luZ09iamVjdAoreworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xB
VEVEX1RSRUUpCisgICAgcmV0dXJuIHNlbGYuaXNvbGF0ZWRUcmVlTm9kZS5nZXQoKTsKKyNlbHNl
CisgICAgcmV0dXJuIG1fb2JqZWN0OworI2VuZGlmCit9CisKIC0gKE5TU3RyaW5nICopYmFzZUFj
Y2Vzc2liaWxpdHlEZXNjcmlwdGlvbgogewogICAgIC8vIFN0YXRpYyB0ZXh0IG9iamVjdHMgc2hv
dWxkIG5vdCBoYXZlIGEgZGVzY3JpcHRpb24uIEl0cyBjb250ZW50IGlzIGNvbW11bmljYXRlZCBp
biBpdHMgQVhWYWx1ZS4KICAgICAvLyBPbmUgZXhjZXB0aW9uIGlzIHRoZSBtZWRpYSBjb250cm9s
IGxhYmVscyB0aGF0IGhhdmUgYSB2YWx1ZSBhbmQgYSBkZXNjcmlwdGlvbi4gVGhvc2UgYXJlIHNl
dCBwcm9ncmFtYXRpY2FsbHkuCi0gICAgaWYgKG1fb2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBBY2Nl
c3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dCAmJiAhbV9vYmplY3QtPmlzTWVkaWFDb250cm9sTGFi
ZWwoKSkKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+cm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJp
bGl0eVJvbGU6OlN0YXRpY1RleHQgJiYgIV9heEJhY2tpbmdPYmplY3QtPmlzTWVkaWFDb250cm9s
TGFiZWwoKSkKICAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmddOwogICAgIAogICAgIFZl
Y3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4gdGV4dE9yZGVyOwpJbmRleDogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHJldmlzaW9uIDIzOTcxOCkKKysrIFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC00MTIsNiArNDEyLDggQEAKICNkZWZpbmUgTlNBY2Nlc3NpYmls
aXR5TGlua1JlbGF0aW9uc2hpcFR5cGVBdHRyaWJ1dGUgQCJBWExpbmtSZWxhdGlvbnNoaXBUeXBl
IgogI2VuZGlmCiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVjdCBzZWxmLmF4QmFja2luZ09iamVj
dAorCiBleHRlcm4gIkMiIEFYVUlFbGVtZW50UmVmIE5TQWNjZXNzaWJpbGl0eUNyZWF0ZUFYVUlF
bGVtZW50UmVmKGlkIGVsZW1lbnQpOwogCiBAaW1wbGVtZW50YXRpb24gV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXIKQEAgLTIwMDksMTAgKzIwMTEsMTAgQEAKIC0gKE5TU3RyaW5nKilyb2xl
CiB7CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KLSAgICBpZiAobV9v
YmplY3QtPmlzQXR0YWNobWVudCgpKQorICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFj
aG1lbnQoKSkKICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJp
bGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVJvbGVBdHRyaWJ1dGVdOwogICAgIEFM
TE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAotICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJv
bGUgPSBtX29iamVjdC0+cm9sZVZhbHVlKCk7CisgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSA9
IF9heEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpOwogCiAgICAgaWYgKHJvbGUgPT0gQWNjZXNz
aWJpbGl0eVJvbGU6OkxhYmVsICYmIGlzPEFjY2Vzc2liaWxpdHlMYWJlbD4oKm1fb2JqZWN0KSAm
JiBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5TGFiZWw+KCptX29iamVjdCkuY29udGFpbnNPbmx5U3Rh
dGljVGV4dCgpKQogICAgICAgICByb2xlID0gQWNjZXNzaWJpbGl0eVJvbGU6OlN0YXRpY1RleHQ7
CkBAIC0yMDM5LDcgKzIwNDEsNyBAQAogICAgIGlmIChtX29iamVjdC0+aXNTZWFyY2hGaWVsZCgp
KQogICAgICAgICByZXR1cm4gTlNBY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRTdWJyb2xlOwogICAg
IAotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICBpZiAoX2F4QmFja2lu
Z09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgTlNWaWV3KiBhdHRhY2hWaWV3ID0g
W3NlbGYgYXR0YWNobWVudFZpZXddOwogICAgICAgICBpZiAoW1thdHRhY2hWaWV3IGFjY2Vzc2li
aWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5U3Vicm9s
ZUF0dHJpYnV0ZV0pCiAgICAgICAgICAgICByZXR1cm4gW2F0dGFjaFZpZXcgYWNjZXNzaWJpbGl0
eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVN1YnJvbGVBdHRyaWJ1dGVdOwpAQCAtMjI1
MCw3ICsyMjUyLDcgQEAKIAogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lO
CiAgICAgLy8gYXR0YWNobWVudHMgaGF2ZSB0aGUgQVhJbWFnZSByb2xlLCBidXQgYSBkaWZmZXJl
bnQgc3Vicm9sZQotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpCisgICAgaWYgKF9h
eEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKQogICAgICAgICByZXR1cm4gW1tzZWxmIGF0
dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5
Um9sZURlc2NyaXB0aW9uQXR0cmlidXRlXTsKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFU
SU9OU19FTkQKIApAQCAtMjYwNyw3ICsyNjA5LDcgQEAKICAgICAgICAgcmV0dXJuIFtOU051bWJl
ciBudW1iZXJXaXRoQm9vbDogbV9vYmplY3QtPmlzVmlzaXRlZCgpXTsKICAgICAKICAgICBpZiAo
W2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJp
YnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAg
ICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlm
IChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNv
bnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0cmlidXRlXSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
VmFsdWU6TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1dGVdOwogICAgICAgICB9CkBAIC0yNjI0
LDcgKzI2MjYsNyBAQAogICAgIH0KICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVh
bFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV0pIHsKLSAgICAg
ICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAgICBpZiAoX2F4QmFja2lu
Z09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFj
aG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5T
QWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXSkKICAgICAgICAgICAgICAgICByZXR1
cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNB
Y2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdOwogICAgICAgICB9CkBAIC0yNjMyLDcg
KzI2MzQsNyBAQAogICAgIH0KICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRv
U3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1f
b2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+
aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3
XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJp
bGl0eVZhbHVlQXR0cmlidXRlXSkKICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFj
aG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VmFs
dWVBdHRyaWJ1dGVdOwogICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NzE4KQor
KysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBA
QAorMjAxOS0wMS0xMSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisg
ICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWc6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQ
YWdlT2JqZWN0QmFzZS5tbToKKyAgICAgICAgKC1bV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVj
dEJhc2UgYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyXSk6CisKIDIwMTktMDEtMDcgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1v
dmUgdXNlIG9mIE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24gZnJvbSBDYWNoZVN0b3JhZ2U6OkVu
Z2luZTo6ZnJvbQpJbmRleDogU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMzk3MTgpCisrKyBTb3VyY2UvV2Vi
S2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkp
CkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
ID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQoV0tfQ09DT0FfVE9V
Q0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfY29jb2F0b3VjaCA9
IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9B
UFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9z
ID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0g
RU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVO
QUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VT
U0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FU
SU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BB
SU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBF
RF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RF
X0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJ
T04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFC
TEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNF
UlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVf
QVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlP
VVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdB
Q1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxP
TkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FE
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lC
SUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQ
UExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1Nf
U0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NT
U19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFS
S19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5U
RVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykg
JChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FDQ0VTUykgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9L
RVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhU
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NV
U1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBU
VVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJ
T04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9N
RVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVM
TFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxF
X1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJF
QU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJH
UFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdl
T2JqZWN0QmFzZS5tbQkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBACiAjaW1wb3J0ICJXS1N0cmluZy5oIgogI2ltcG9y
dCAiV0tTdHJpbmdDRi5oIgogI2ltcG9ydCA8V2ViQ29yZS9BWE9iamVjdENhY2hlLmg+CisjaW1w
b3J0IDxXZWJDb3JlL0FYSXNvbGF0ZWRUcmVlQ2FjaGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRG9j
dW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJh
bWVWaWV3Lmg+CkBAIC00Nyw2ICs0OCwxOCBAQAogCiBAaW1wbGVtZW50YXRpb24gV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdEJhc2UKIAorLSAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZSopYXhP
YmplY3RDYWNoZQoreworICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBtX3BhZ2UtPmNvcmVQYWdl
KCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm4gbmlsOworICAgIFdlYkNvcmU6OkZy
YW1lJiBjb3JlID0gcGFnZS0+bWFpbkZyYW1lKCk7CisgICAgaWYgKCFjb3JlLmRvY3VtZW50KCkp
CisgICAgICAgIHJldHVybiBuaWw7CisgICAgCisgICAgcmV0dXJuIGNvcmUuZG9jdW1lbnQoKS0+
YXhPYmplY3RDYWNoZSgpOworfQorCiAtIChpZClhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBw
ZXIKIHsKICAgICBpZiAoIVdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFi
bGVkKCkpCkBAIC02MiwxOCArNzUsNDYgQEAKICAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gbV9w
YWdlLT5jb3JlUGFnZSgpOwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIG5pbDsKLSAg
ICAKLSAgICBXZWJDb3JlOjpGcmFtZSYgY29yZSA9IHBhZ2UtPm1haW5GcmFtZSgpOwotICAgIGlm
ICghY29yZS5kb2N1bWVudCgpKQotICAgICAgICByZXR1cm4gbmlsOwotICAgIAotICAgIFdlYkNv
cmU6OkFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gY29yZS5kb2N1bWVudCgpLT5heE9iamVjdENhY2hl
KCk7CisKKyAgICBBWE9iamVjdENhY2hlKiBjYWNoZSA9IFtzZWxmIGF4T2JqZWN0Q2FjaGVdOwog
ICAgIGlmICghY2FjaGUpCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBhdXRvIGdlbmVyYXRlQmxvY2sgPSBbJl0g
eworICAgICAgICBhdXRvIGRpc3BhdGNoQmxvY2sgPSBbJmNhY2hlXSB7CisgICAgICAgICAgICBj
YWNoZS0+Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKCk7CisgICAgICAg
IH07CisgICAgICAgIAorICAgICAgICBpZiAoUnVuTG9vcDo6aXNNYWluKCkpCisgICAgICAgICAg
ICBkaXNwYXRjaEJsb2NrKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGRpc3BhdGNoX3N5
bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgZGlzcGF0Y2hCbG9jayk7CisgICAgfTsKKwor
ICAgIGF1dG8gaXNvbGF0ZWRDYWNoZSA9IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9yUGFn
ZShwYWdlKTsKKyAgICBpZiAoIWlzb2xhdGVkQ2FjaGUpIHsKKyAgICAgICAgZ2VuZXJhdGVCbG9j
aygpOworICAgICAgICBpc29sYXRlZENhY2hlID0gQVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVG
b3JQYWdlKHBhZ2UpOworICAgICAgICBBU1NFUlQoaXNvbGF0ZWRDYWNoZSk7CisgICAgICAgIGlm
ICghaXNvbGF0ZWRDYWNoZSkKKyAgICAgICAgICAgIHJldHVybiBuaWw7CisKKyAgICAgICAgaXNv
bGF0ZWRDYWNoZS0+YXBwbHlDaGFuZ2VMb2coKTsKKyAgICB9CisgICAgCisgICAgYXV0byByb290
Tm9kZSA9IGlzb2xhdGVkQ2FjaGUtPnJvb3ROb2RlKCk7CisgICAgaWYgKCFyb290Tm9kZSkgewor
ICAgICAgICBnZW5lcmF0ZUJsb2NrKCk7CisgICAgICAgIGlzb2xhdGVkQ2FjaGUtPmFwcGx5Q2hh
bmdlTG9nKCk7CisgICAgfQorCisgICAgaWYgKChyb290Tm9kZSA9IGlzb2xhdGVkQ2FjaGUtPnJv
b3ROb2RlKCkpKQorICAgICAgICByZXR1cm4gcm9vdE5vZGUtPndyYXBwZXIoKTsKKyNlbHNlCiAg
ICAgaWYgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIHJvb3QgPSBjYWNoZS0+cm9vdE9i
amVjdCgpKQogICAgICAgICByZXR1cm4gcm9vdC0+d3JhcHBlcigpOwotICAgIAorI2VuZGlmCiAg
ICAgcmV0dXJuIG5pbDsKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2
aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8
Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFj
Y2Vzc2liaWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTA3ICBEYXZpZCBLaWx6ZXIg
IDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgUHJlZmVyIFJldGFpblB0cjxOU09iamVj
dD4gdG8gUmV0YWluUHRyPE5TT2JqZWN0ICo+CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwkocmV2aXNpb24gMjM5NzE4KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYg
KzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RB
VElDX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChX
S19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQ
UExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExF
X1BBWTsKQEAgLTQwMiw0ICs0MDQsNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwog
Ci1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNU
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRf
UEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFC
TEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAk
KEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElO
R19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRP
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VM
RU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4p
ICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NF
TUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElD
X1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19B
UEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1Rf
SklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FU
VFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVH
QUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xf
TUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RP
T0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FH
RSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVS
UykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xU
KTsKSW5kZXg6IFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UJKHJldmlzaW9uIDIzOTcxOCkKKysr
IFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTg3
LDYgKzE4Nyw3IEBACiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NNT09USF9TQ1JP
TExJTkcgIlRvZ2dsZSBzbW9vdGggc2Nyb2xsaW5nIiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTICJUb2dnbGUgU3BlZWNoIFN5bnRo
ZXNpcyBBUEkgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX1NQRUxMQ0hFQ0sgIlRvZ2dsZSBTcGVsbGNoZWNraW5nIHN1cHBvcnQgKHJlcXVpcmVz
IEVuY2hhbnQpIiBQUklWQVRFIE9GRikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
QUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSAiVG9nZ2xlIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRy
ZWUgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X1NUUkVBTVNfQVBJICJUb2dnbGUgU3RyZWFtcyBBUEkgc3VwcG9ydCIgUFJJVkFURSBPTikKICAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1ZHX0ZPTlRTICJUb2dnbGUgU1ZHIEZvbnRz
IHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OICJUb2dnbGUgdGVsZXBob25lIG51bWJlciBkZXRlY3Rp
b24gc3VwcG9ydCIgUFJJVkFURSBPRkYpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359628</attachid>
            <date>2019-01-19 18:39:47 -0800</date>
            <delta_ts>2019-01-19 19:39:42 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>112122</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0xOSAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3RhcnQu
b3JnPgogCiAgICAgICAgIFtKU0NdIFJlb3JkZXIgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCBt
ZW1iZXIgZm9yIHByZXBhcmF0aW9uIG9mIEpTR2xvYmFsT2JqZWN0IG1lbW9yeSByZWR1Y3Rpb24K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
d29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18k
KFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
X2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitF
TkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9
ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9Q
QVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVz
aW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA2LDQgKzQwOCwxMCBAQAogCiBFTkFC
TEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCis8PDw8PDw8IC5taW5lCitGRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNT
SUJJTElUWV9TVEFUSUNfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQ
UExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1Nf
U0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NT
U19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFS
S19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5U
RVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykg
JChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FDQ0VTUykgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9L
RVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhU
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NV
U1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBU
VVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJ
T04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9N
RVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVM
TFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxF
X1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJF
QU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJH
UFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX1hTTFQpOworfHx8fHx8fCAucjIzOTcxOAorRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVO
VFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklN
RU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FU
VFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVH
QUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xf
TUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RP
T0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FH
RSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVS
UykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xU
KTsKKz09PT09PT0KIEZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNT
SU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJ
T05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQo
RU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVU
RSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdF
UikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlN
RU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZF
TlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChF
TkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9V
U0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9W
QVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJ
T05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVO
VF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKKz4+Pj4+
Pj4gLnIyNDAyMDYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyNDAyMDYpCisr
KyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiAr
NTgsNyBAQAogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3dlYnNvY2tldHMiCiAgICAgIiR7
V0VCQ09SRV9ESVJ9L01vZHVsZXMvd2VidnIiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2FjY2Vzc2li
aWxpdHkiCisgICAgIiR7V0VCQ09SRV9ESVJ9L2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlIgog
ICAgICIke1dFQkNPUkVfRElSfS9hbmltYXRpb24iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2JpbmRp
bmdzIgogICAgICIke1dFQkNPUkVfRElSfS9iaW5kaW5ncy9qcyIKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDc4IEBACisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmls
aXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gb3JkZXIgdG8gaW1wcm92ZSBw
ZXJmb3JtYW5jZSB3aGVuIHJlcXVlc3RpbmcgdGhlIGFjY2Vzc2liaWxpdHkgaGllcmFyY2h5LCB3
ZSBpbnRyb2R1Y2UgdGhlIGlkZWEgb2YgYSAic3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZSIgd2hp
Y2ggY291bGQgYmUgYWNjZXNzZWQgb24gYSBkaWZmZXJlbnQgdGhyZWFkIGJ5IGFzc2lzdGl2ZSB0
ZWNobm9sb2dpZXMuCisgICAgICAgIFRoYXQgaXMgYWNjb21wbGlzaGVkIGJ5IHN0b3JpbmcgYWxs
IHRoZSBkYXRhIG5lZWRlZCB0byBhbnN3ZXIgYWNjZXNzaWJpbGl0eSBhdHRyaWJ1dGUgcXVlcmll
cyBpbiBhIHN0YXRpYyBvYmplY3QgdGhhdCBtaXJyb3JzIHRoZSAibGl2ZSIgQWNjZXNzaWJpbGl0
eU9iamVjdHMgKHdoaWNoIGludGVyYWN0IHdpdGggYm90aCBET00gYW5kIFJlbmRlciB0cmVlcyku
CisgICAgICAgIFRoZXNlIHN0YXRpYyBvYmplY3RzIGFyZSBnZW5lcmFsbHkgY3JlYXRlZCBhZnRl
ciBsYXlvdXQgaXMgZG9uZSBhbmQgZmluYWwgdGFza3MgYXJlIGJlaW5nIHBlcmZvcm1lZC4gVGhl
eSBhcmUgdGhlbiBzdG9yZWQgaW4gdGhlIHN0YXRpYyB0cmVlIHJlcHJlc2VudGF0aW9uIGFuZCBh
YmxlIHRvIGJlIHJlYWQgZnJvbSBhbnl3aGVyZS4KKyAgICAgICAgVGFjdGljYWxseSB0aGlzIGlz
IGRvbmUgd2l0aCBBWElzb2xhdGVkVHJlZU5vZGVzIGluc2lkZSBvZiBhbiBBWElzb2xhdGVkVHJl
ZUNhY2hlLiBUaGUgVHJlZU5vZGVzIGltcGxlbWVudCBhbiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlIHNoYXJlZCB3aXRoIEFjY2Vzc2liaWxpdHlPYmplY3QKKyAgICAgICAgVGhpcyBhbGxv
d3MgdGhlIHdyYXBwZXJzIHRvIGFjY2VzcyBlaXRoZXIgb25lIGRlcGVuZGluZyBvbiBjb25kaXRp
b25zIGFuZCBwbGF0Zm9ybXMgd2l0aG91dCBzaWduaWZpY2FudCBjb2RlIGR1cGxpY2F0aW9uIG9y
IHJlLW9yZ2FuaXphdGlvbi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFNvdXJj
ZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OmNyZWF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFY
T2JqZWN0Q2FjaGU6OmdlbmVyYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWVJZk5lZWRlZCk6Cisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmg6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5T2JqZWN0OjpzZXRJbml0aWFsaXplZElzb2xhdGVkVHJlZU5vZGUpOgorICAgICAgICAo
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6aW5pdGlhbGl6ZWRJc29sYXRlZFRyZWVOb2Rl
IGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRl
cmZhY2UuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWU6IEFk
ZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVl
Q2FjaGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6
OnBhZ2VSb290TWFwKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnRy
ZWVDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjpBWElzb2xh
dGVkVHJlZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvcklE
KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9yUGFnZSk6
CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjpub2RlRm9ySUQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6cm9vdE5vZGUpOgorICAg
ICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6cmVtb3ZlTm9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjphcHBlbmROb2RlQ2hhbmdlcyk6CisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjphcHBseUNoYW5nZUxvZyk6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVDYWNoZS5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNhY2hlSWRlbnRp
ZmllciBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29s
YXRlZFRyZWVOb2RlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJl
ZU5vZGU6OkFYSXNvbGF0ZWRUcmVlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVk
VHJlZU5vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6
OmluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlTm9kZTo6c2V0UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVO
b2RlOjpkb3VibGVBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkVHJlZU5vZGU6OnVuc2lnbmVkQXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpzdHJpbmdBdHRyaWJ1dGVWYWx1
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmludEF0dHJp
YnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkVHJlZU5vZGUuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVk
VHJlZVJlbGF0aW9uc2hpcDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlUmVsYXRpb25zaGlwOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCk6CisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6b3BlcmF0b3I9KToKKyAgICAgICAg
KFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpzZXRQYXJlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OnBhcmVudCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6Y2hpbGRyZW4pOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW06CisgICAgICAg
IChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphc3NvY2lhdGVJc29sYXRlZFRyZWVOb2RlKToKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJh
c2UuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlckJhc2UubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QmFzZSBpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6XSk6CisgICAgICAgICgtW1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBpc29sYXRlZFRyZWVOb2RlXSk6CisgICAgICAgICgt
W1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBkZXRhY2hdKToKKyAgICAgICAgKC1b
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIHVwZGF0ZU9iamVjdEJhY2tpbmdTdG9y
ZV0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgYXhCYWNr
aW5nT2JqZWN0XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFz
ZSBiYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uXSk6CisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06CisgICAgICAgICgtW1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHJvbGVdKToKKyAgICAgICAgKC1bV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXIgc3Vicm9sZV0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlciByb2xlRGVzY3JpcHRpb25dKToKKyAgICAgICAgKC1bV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOl0pOgorCiAy
MDE5LTAxLTE5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBn
ZXRVc2VyTWVkaWEgd2l0aCBhIGRldmljZUlkIGV4YWN0IGNvbnN0cmFpbnQgd2l0aCBhbiBlbXB0
eSBzdHJpbmcgdmFsdWUgc2hvdWxkIHN1Y2NlZWQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAy
NDAyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HOwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVf
QVBQTEVfUEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5B
QkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVf
UEFZX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDEw
IEBACiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKKzw8PDw8PDwgLm1pbmUKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RS
QUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5U
QUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NF
U1MpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVU
RSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQo
RU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNF
U19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FV
VEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VC
QVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikg
JChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK3x8fHx8fHwgLnIyMzk3MTgKK0ZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1Nf
Q09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9O
UykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tF
WUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VT
VE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVf
UkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01F
U1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJ
T05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxM
U0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVf
V0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVB
TUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQ
VSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfWFNMVCk7Cis9PT09PT09CiBGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5B
QkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNf
R1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJE
X0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BS
T1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19W
SURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxT
KSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9X
RUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURF
T19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
WFNMVCk7Cis+Pj4+Pj4+IC5yMjQwMjA2CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHJldmlzaW9u
IDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0xOSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hA
YXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0
eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMDEtMTkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRz
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBQT0lOVEVSX0VWRU5UUyBmZWF0dXJlIGZsYWcK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJD
b3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBj
b3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09B
X1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91
Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUND
RVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFC
TEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhv
bmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRv
ciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDEwIEBACiAKIEVOQUJMRV9YU0xU
ID0gRU5BQkxFX1hTTFQ7CiAKKzw8PDw8PDwgLm1pbmUKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNB
VElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lU
SU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19Q
QUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQ
RURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9E
RV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNU
SU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5B
QkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExLRVlCT0FSRF9BQ0NFU1MpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9B
UkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01f
UFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFD
X1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FH
RV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JF
RU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJf
UlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5H
X0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAk
KEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9YU0xUKTsKK3x8fHx8fHwgLnIyMzk3MTgKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFH
X1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFC
TEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJV
VEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFH
RVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9Y
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVU
QUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7Cis9
PT09PT09CiBGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
MykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01B
TklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVO
QUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJM
RV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBP
UlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJT
RUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZ
Qk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQo
RU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQo
RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FU
T1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9S
RVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9N
RVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVM
TFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1C
TFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7Cis+Pj4+Pj4+IC5y
MjQwMjA2CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTM5OSw2ICszOTksOCBAQAogYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZS5jcHAKIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVRyZWVJdGVtLmNwcAogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlU2V0VmFsdWVFdmVudC5j
cHAKK2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlQ2FjaGUuY3BwCith
Y2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwCiAKIGFuaW1h
dGlvbi9BbmltYXRpb25FZmZlY3QuY3BwCiBhbmltYXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVu
dC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjk0LDYgKzY5NCw3
IEBACiAJCTI2RjlBODM4MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4
MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmlndXJhdGlvbi5jcHAgKi87IH07CiAJ
CTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2RjlBODM3MThBMDQ2
QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTE0RTMwODFDQUI1QTQ0MDA0OTk2NkYg
LyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNBQjVBNDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmls
aXR5QXR0YWNobWVudC5oICovOyB9OworCQkyOTM2QkY1QzIxRDY5RTRCMDA0QThGQzkgLyogQWNj
ZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjk0ODlG
QzcxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTQ4OUZDNTEyQzAwRjAzMDBE
ODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCAqLzsgfTsKIAkJMjk3QkUzRDUxNkMw
M0MwODAwMzMxNkJEIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNTI3Q0M5MTE2QkY4QkEx
MDA5RERBQzAgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaCAqLzsgfTsKQEAg
LTcxNSw2ICs3MTYsOCBAQAogCQkyOUE4MTI0MzBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJp
bGl0eUxpc3RCb3guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDI5QTgxMjI1MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5TGlzdEJveC5oICov
OyB9OwogCQkyOUE4MTI0OTBGQkI5Q0E5MDA1MTAyOTMgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXJCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyOUE4MTI0NTBGQkI5Q0E5MDA1MTAyOTMgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXJCYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMjlBQ0IyMTIxNDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFDQjIx
MTE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCAqLzsgfTsKKwkJ
MjlBRTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QUUyMTJCMjFBQjlFRUIw
MDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMjlBRTIxMzUyMUFCQTQ4QTAwODY5MjgzIC8qIEFY
SXNvbGF0ZWRUcmVlTm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMjlBRTIxMzMyMUFCQTQ4QTAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5RDdC
Q0ZBMTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlEN0JDRjkxNDQ0QUY3RDAw
NzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggKi87IH07CiAJCTI5RkFGNEI2MTk1
QUIwODkwMEE1MjJEQyAvKiBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlGQUY0QjUxOTVBQjA4OTAwQTUy
MkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkIzNjVDODQxNTI1MTE5RTAwOTFEMjdCIC8q
IFJlbmRlclNWR0VsbGlwc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJCNDIzNUEwMTUyNTBGNjAwMERCQkNEOCAvKiBSZW5kZXJTVkdFbGxpcHNlLmgg
Ki87IH07CkBAIC02NTY5LDYgKzY1NzIsNyBAQAogCQkyOERCOUJDNzIwMjBFQTA0MDBFNTRBMDcg
LyogUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBl
cmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MjkxNEUzMDUxQ0FCNUE0NDAwNDk5NjZGIC8qIEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlBdHRhY2ht
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjkxNEUzMDYxQ0FCNUE0NDAw
NDk5NjZGIC8qIEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlBdHRhY2htZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTI5MzZCRjVBMjFENjk5OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0SW50ZXJmYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZh
Y2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjkzRUFFMUUxMzU2QjJGRTAwNjdB
Q0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMjk0ODlGQzUxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2liaWxpdHlTY3Jv
bGxWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlT
Y3JvbGxWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5NDk4NjgxMTk1MzQx
OTQwMDcyRDJCRCAvKiBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjYxNiw2ICs2NjIwLDEwIEBACiAJCTI5
QTgxMjQ3MEZCQjlDQTkwMDUxMDI5MyAvKiBBWE9iamVjdENhY2hlTWFjLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQVhPYmplY3RDYWNoZU1hYy5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlBQ0IyMTExNDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vz
c2liaWxpdHlNb2NrT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFj
Y2Vzc2liaWxpdHlNb2NrT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5
QUNCMjEzMTQzRTc0OTgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5TW9ja09iamVj
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJCMjFBQjlFRUIwMDg2
OTI4MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFYSXNvbGF0ZWRU
cmVlQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMkMyMUFCOUVF
QjAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlQ2FjaGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
QVhJc29sYXRlZFRyZWVDYWNoZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5
QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQVhJc29sYXRlZFRyZWVOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTI5QUUyMTM0MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gQVhJc29sYXRlZFRyZWVOb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMjlEN0JDRjUxNDQ0QUY1ODAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2li
aWxpdHlTcGluQnV0dG9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlEN0JD
RjkxNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RTA0QTI3QkVEMkY4MUY5OEU5MDIyQiAvKiBKU0Jl
Zm9yZVVubG9hZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQmVm
b3JlVW5sb2FkRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjIyLDYg
KzE3MjMwLDcgQEAKIAkJMjlBODEyMDQwRkJCOUI0MTAwNTEwMjkzIC8qIGFjY2Vzc2liaWxpdHkg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTI5QUUyMTI5
MjFBQjlFQ0IwMDg2OTI4MyAvKiBpc29sYXRlZHRyZWUgKi8sCiAJCQkJQUFBNzI4RUYxNkQxRDhC
QzAwRDNCQkM2IC8qIGlvcyAqLywKIAkJCQkyOUE4MTIwNTBGQkI5QjUyMDA1MTAyOTMgLyogbWFj
ICovLAogCQkJCTI5ODFDQTlEMTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdy
aWQuY3BwICovLApAQCAtMTcyNjAsNiArMTcyNjksNyBAQAogCQkJCTI5ODU3MDkzMTVDQzUzMkQw
MDYzNTVDRCAvKiBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oICovLAogCQkJCTI5ODFDQUE1MTMx
ODIyRUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAqLywKIAkJCQkyOUE4MTIx
ODBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdC5oICovLAorCQkJCTI5MzZC
RjVBMjFENjk5OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggKi8s
CiAJCQkJQTQwOUM5ODIxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxpdHlQcm9ncmVzc0lu
ZGljYXRvci5jcHAgKi8sCiAJCQkJQTQwOUM5ODMxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2li
aWxpdHlQcm9ncmVzc0luZGljYXRvci5oICovLAogCQkJCTI5ODFDQUE2MTMxODIyRUMwMEQxMkYy
QSAvKiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAqLywKQEAgLTE3MzE1LDYgKzE3MzI1
LDE3IEBACiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsK
KwkJMjlBRTIxMjkyMUFCOUVDQjAwODY5MjgzIC8qIGlzb2xhdGVkdHJlZSAqLyA9IHsKKwkJCWlz
YSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMjlBRTIxMkIyMUFCOUVFQjAwODY5
MjgzIC8qIEFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCAqLywKKwkJCQkyOUFFMjEyQzIxQUI5RUVCMDA4
NjkyODMgLyogQVhJc29sYXRlZFRyZWVDYWNoZS5jcHAgKi8sCisJCQkJMjlBRTIxMzMyMUFCQTQ4
QTAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5oICovLAorCQkJCTI5QUUyMTM0MjFBQkE0
OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuY3BwICovLAorCQkJKTsKKwkJCXBhdGgg
PSBpc29sYXRlZHRyZWU7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQkyRDA2
MjE0NjFEQTYzOUVDMDBBN0ZCMjYgLyogbGVnYWN5ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKQEAgLTI5OTUyLDYgKzI5OTczLDcgQEAKIAkJCQkxQUUyQUE5ODBB
MUNERDJEMDBCNDJCMjUgLyogSlNIVE1MSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBODBFN0U5NzBBMUE4M0UzMDA3RkI4QzUgLyogSlNIVE1MSW5wdXRFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk4MzZCMDk1NjFGNUYzNEQ5MDAzQzM3MDIgLyogSlNIVE1MSW5wdXRFbGVt
ZW50RW50cmllc0FQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjkzNkJGNUMyMUQ2OUU0QjAwNEE4
RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE2MTQ4QTc5MTJFNDFFM0IwMDQ0QTc4NCAvKiBKU0hUTUxLZXlnZW5FbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQUUyQUIyMjBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGFiZWxFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUIyNDBBMUNFNjNCMDBCNDJCMjUgLyogSlNI
VE1MTGVnZW5kRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTQwNiw2ICszMTQyOCw3IEBA
CiAJCQkJNTE0MDVDODkxOTBCMDE0NDAwNzU0Rjk0IC8qIFNlbGVjdGlvblJlY3RHYXRoZXJlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0QjRCQjQxNDE2NTBENzAwMkIxRDhCIC8qIFNlbGVjdG9y
Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDMyRDNGRTgxOEE4NjU4NDAwRDdEQzAzIC8q
IFNlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5QUUy
MTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTI2Qjk5OTk3MTgwNEQ1NDIwMEQwMTEyMSAvKiBTZWxlY3RvckNvbXBpbGVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk0MTUwNzE1ODE2ODUwNjczMDBDM0M3QjMgLyogU2VsZWN0b3JGaWx0
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQzMTA3QkUyMThDQzE5REUwMENDMThFOCAvKiBTZWxl
Y3RvclBzZXVkb1R5cGVNYXAuaCBpbiBIZWFkZXJzICovLApAQCAtMzIzNDEsNiArMzIzNjQsNyBA
QAogCQkJCTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUE1NDE2RkU2MTg4MTBFRjgwMDA5RkM1RiAvKiBZb3VUdWJlRW1i
ZWRTaGFkb3dFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QTU1MTVGNTE5MTgzMEEzMDA5
Njg3RDIgLyogWW91VHViZVBsdWdpblJlcGxhY2VtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQky
OUFFMjEyRDIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVDYWNoZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRkQ1MzczNTMxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmggaW4gSGVh
ZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmNwcAkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsOCBAQAogCiAjaW5j
bHVkZSAiQVhPYmplY3RDYWNoZS5oIgogCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVDYWNoZS5o
IgorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlBUklBR3JpZC5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuaCIKICNp
bmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaCIKQEAgLTcyMyw3ICs3MjUsMTAgQEAK
ICAgICBvYmplY3QtPnNldEFYT2JqZWN0SUQoMCk7CiAKICAgICBtX2lkc0luVXNlLnJlbW92ZShh
eElEKTsKLQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgQVhJ
c29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVGb3JQYWdlKG1fZG9jdW1lbnQucGFnZSgpKS0+cmVtb3Zl
Tm9kZShheElEKTsKKyNlbmRpZgorICAgIAogICAgIEFTU0VSVChtX29iamVjdHMuc2l6ZSgpID49
IG1faWRzSW5Vc2Uuc2l6ZSgpKTsKIH0KICAgICAKQEAgLTI5MDcsNiArMjkxMiw0MCBAQAogICAg
IG1fZGVmZXJyZWRGb2N1c2VkTm9kZUNoYW5nZS5jbGVhcigpOwogfQogICAgIAorI2lmIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2Rl
PiBBWE9iamVjdENhY2hlOjpjcmVhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZShBY2Nlc3NpYmls
aXR5T2JqZWN0JiBvYmplY3QsIEFYSUQgcGFyZW50SUQsIEFYSXNvbGF0ZWRUcmVlQ2FjaGUmIGNh
Y2hlLCBWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+JiBub2RlcykKK3sKKyAgICBS
ZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiBpc29sYXRlZFRyZWVOb2RlID0gQVhJc29sYXRlZFRy
ZWVOb2RlOjpjcmVhdGUob2JqZWN0KTsKKyAgICBub2Rlcy5hcHBlbmQoaXNvbGF0ZWRUcmVlTm9k
ZSk7CisgICAgCisgICAgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwPiByZWxhdGlv
bnNoaXAgPSBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6Y3JlYXRlKCk7CisgICAgcmVsYXRp
b25zaGlwLT5zZXRQYXJlbnQocGFyZW50SUQpOworICAgIG9iamVjdC5zZXRJbml0aWFsaXplZElz
b2xhdGVkVHJlZU5vZGUodHJ1ZSk7CisgICAgYXNzb2NpYXRlSXNvbGF0ZWRUcmVlTm9kZShvYmpl
Y3QsICppc29sYXRlZFRyZWVOb2RlLCBjYWNoZS5jYWNoZUlkZW50aWZpZXIoKSk7CisgICAgCisg
ICAgZm9yIChhdXRvIGNoaWxkIDogb2JqZWN0LmNoaWxkcmVuKCkpIHsKKyAgICAgICAgYXV0byBz
dGF0aWNDaGlsZCA9IGNyZWF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlKCpjaGlsZCwgaXNvbGF0
ZWRUcmVlTm9kZS0+aWRlbnRpZmllcigpLCBjYWNoZSwgbm9kZXMpOworICAgICAgICByZWxhdGlv
bnNoaXAtPmNoaWxkcmVuKCkuYXBwZW5kKHN0YXRpY0NoaWxkLT5pZGVudGlmaWVyKCkpOworICAg
IH0KKyAgICAKKyAgICBpc29sYXRlZFRyZWVOb2RlLT5zZXRSZWxhdGlvbnNoaXAocmVsYXRpb25z
aGlwKTsKKyAgICByZXR1cm4gaXNvbGF0ZWRUcmVlTm9kZTsKK30KKyAgICAKK3ZvaWQgQVhPYmpl
Y3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKCkKK3sKKyAg
ICBpZiAocm9vdE9iamVjdCgpLT5pbml0aWFsaXplZElzb2xhdGVkVHJlZU5vZGUoKSkKKyAgICAg
ICAgcmV0dXJuOworICAgIAorICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPiBjYWNoZSA9
IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9yUGFnZShtX2RvY3VtZW50LnBhZ2UoKSk7Cisg
ICAgVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiBub2RlczsKKyAgICBSZWZQdHI8
QVhJc29sYXRlZFRyZWVOb2RlPiByb290ID0gY3JlYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWUo
KnJvb3RPYmplY3QoKSwgMCwgKmNhY2hlLCBub2Rlcyk7CisgICAgcm9vdC0+c2V0SXNSb290Tm9k
ZSh0cnVlKTsKKyAgICAKKyAgICBjYWNoZS0+YXBwZW5kTm9kZUNoYW5nZXMobm9kZXMpOworfQor
I2VuZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmRlZmVyUmVjb21wdXRlSXNJZ25vcmVk
SWZOZWVkZWQoRWxlbWVudCogZWxlbWVudCkKIHsKICAgICBpZiAoIW5vZGVBbmRSZW5kZXJlckFy
ZVZhbGlkKGVsZW1lbnQpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9i
amVjdENhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmgJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw5IEBA
CiAKICNwcmFnbWEgb25jZQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJF
RSkKKyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZUNhY2hlLmgiCisjZW5kaWYKICNpbmNsdWRlICJB
WFRleHRTdGF0ZUNoYW5nZUludGVudC5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3Qu
aCIKICNpbmNsdWRlICJSYW5nZS5oIgpAQCAtMzksNiArNDIsOSBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorY2xhc3Mg
QVhJc29sYXRlZFRyZWVOb2RlOworI2VuZGlmCiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEhUTUxB
cmVhRWxlbWVudDsKIGNsYXNzIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OwpAQCAtMTgwLDYg
KzE4NiwxMyBAQAogICAgIHZvaWQgZGVmZXJBdHRyaWJ1dGVDaGFuZ2VJZk5lZWRlZChjb25zdCBR
dWFsaWZpZWROYW1lJiwgRWxlbWVudCopOwogICAgIHZvaWQgcmVjb21wdXRlSXNJZ25vcmVkKFJl
bmRlck9iamVjdCogcmVuZGVyZXIpOwogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGdlbmVyYXRlU3RhdGljQWNjZXNzaWJp
bGl0eVRyZWVJZk5lZWRlZCgpOworCisgICAgdm9pZCBhc3NvY2lhdGVJc29sYXRlZFRyZWVOb2Rl
KEFjY2Vzc2liaWxpdHlPYmplY3QmLCBBWElzb2xhdGVkVHJlZU5vZGUmLCBBWElzb2xhdGVkQ2Fj
aGVJRCk7CisgICAgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gY3JlYXRlU3RhdGljQWNjZXNz
aWJpbGl0eVRyZWUoQWNjZXNzaWJpbGl0eU9iamVjdCYsIEFYSUQsIEFYSXNvbGF0ZWRUcmVlQ2Fj
aGUmLCBWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+Jik7CisjZW5kaWYKKyAgICAK
ICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQg
ZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGRp
c2FibGVBY2Nlc3NpYmlsaXR5KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkocmV2aXNpb24gMjQwMjA2KQorKysgU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBY2Nl
c3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5j
bHVkZSAiSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJMYXlvdXRSZWN0
LmgiCkBAIC04OSwxNTcgKzkwLDYgQEAKIGNsYXNzIFNjcm9sbFZpZXc7CiBjbGFzcyBXaWRnZXQ7
CiAKLXR5cGVkZWYgdW5zaWduZWQgQVhJRDsKLQotZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9s
ZSB7Ci0gICAgQW5ub3RhdGlvbiA9IDEsCi0gICAgQXBwbGljYXRpb24sCi0gICAgQXBwbGljYXRp
b25BbGVydCwKLSAgICBBcHBsaWNhdGlvbkFsZXJ0RGlhbG9nLAotICAgIEFwcGxpY2F0aW9uRGlh
bG9nLAotICAgIEFwcGxpY2F0aW9uR3JvdXAsCi0gICAgQXBwbGljYXRpb25Mb2csCi0gICAgQXBw
bGljYXRpb25NYXJxdWVlLAotICAgIEFwcGxpY2F0aW9uU3RhdHVzLAotICAgIEFwcGxpY2F0aW9u
VGV4dEdyb3VwLAotICAgIEFwcGxpY2F0aW9uVGltZXIsCi0gICAgQXVkaW8sCi0gICAgQmxvY2tx
dW90ZSwKLSAgICBCcm93c2VyLAotICAgIEJ1c3lJbmRpY2F0b3IsCi0gICAgQnV0dG9uLAotICAg
IENhbnZhcywKLSAgICBDYXB0aW9uLAotICAgIENlbGwsCi0gICAgQ2hlY2tCb3gsCi0gICAgQ29s
b3JXZWxsLAotICAgIENvbHVtbiwKLSAgICBDb2x1bW5IZWFkZXIsCi0gICAgQ29tYm9Cb3gsCi0g
ICAgRGVmaW5pdGlvbiwKLSAgICBEZXNjcmlwdGlvbkxpc3QsCi0gICAgRGVzY3JpcHRpb25MaXN0
VGVybSwKLSAgICBEZXNjcmlwdGlvbkxpc3REZXRhaWwsCi0gICAgRGV0YWlscywKLSAgICBEaXJl
Y3RvcnksCi0gICAgRGlzY2xvc3VyZVRyaWFuZ2xlLAotICAgIERpdiwKLSAgICBEb2N1bWVudCwK
LSAgICBEb2N1bWVudEFydGljbGUsCi0gICAgRG9jdW1lbnRNYXRoLAotICAgIERvY3VtZW50Tm90
ZSwKLSAgICBEcmF3ZXIsCi0gICAgRWRpdGFibGVUZXh0LAotICAgIEZlZWQsCi0gICAgRmlndXJl
LAotICAgIEZvb3RlciwKLSAgICBGb290bm90ZSwKLSAgICBGb3JtLAotICAgIEdyYXBoaWNzRG9j
dW1lbnQsCi0gICAgR3JhcGhpY3NPYmplY3QsCi0gICAgR3JhcGhpY3NTeW1ib2wsCi0gICAgR3Jp
ZCwKLSAgICBHcmlkQ2VsbCwKLSAgICBHcm91cCwKLSAgICBHcm93QXJlYSwKLSAgICBIZWFkaW5n
LAotICAgIEhlbHBUYWcsCi0gICAgSG9yaXpvbnRhbFJ1bGUsCi0gICAgSWdub3JlZCwKLSAgICBJ
bmxpbmUsCi0gICAgSW1hZ2UsCi0gICAgSW1hZ2VNYXAsCi0gICAgSW1hZ2VNYXBMaW5rLAotICAg
IEluY3JlbWVudG9yLAotICAgIExhYmVsLAotICAgIExhbmRtYXJrQmFubmVyLAotICAgIExhbmRt
YXJrQ29tcGxlbWVudGFyeSwKLSAgICBMYW5kbWFya0NvbnRlbnRJbmZvLAotICAgIExhbmRtYXJr
RG9jUmVnaW9uLAotICAgIExhbmRtYXJrTWFpbiwKLSAgICBMYW5kbWFya05hdmlnYXRpb24sCi0g
ICAgTGFuZG1hcmtSZWdpb24sCi0gICAgTGFuZG1hcmtTZWFyY2gsCi0gICAgTGVnZW5kLAotICAg
IExpbmssCi0gICAgTGlzdCwKLSAgICBMaXN0Qm94LAotICAgIExpc3RCb3hPcHRpb24sCi0gICAg
TGlzdEl0ZW0sCi0gICAgTGlzdE1hcmtlciwKLSAgICBNYXJrLAotICAgIE1hdGhFbGVtZW50LAot
ICAgIE1hdHRlLAotICAgIE1lbnUsCi0gICAgTWVudUJhciwKLSAgICBNZW51QnV0dG9uLAotICAg
IE1lbnVJdGVtLAotICAgIE1lbnVJdGVtQ2hlY2tib3gsCi0gICAgTWVudUl0ZW1SYWRpbywKLSAg
ICBNZW51TGlzdFBvcHVwLAotICAgIE1lbnVMaXN0T3B0aW9uLAotICAgIE91dGxpbmUsCi0gICAg
UGFyYWdyYXBoLAotICAgIFBvcFVwQnV0dG9uLAotICAgIFByZSwKLSAgICBQcmVzZW50YXRpb25h
bCwKLSAgICBQcm9ncmVzc0luZGljYXRvciwKLSAgICBSYWRpb0J1dHRvbiwKLSAgICBSYWRpb0dy
b3VwLAotICAgIFJvd0hlYWRlciwKLSAgICBSb3csCi0gICAgUm93R3JvdXAsCi0gICAgUnVieUJh
c2UsCi0gICAgUnVieUJsb2NrLAotICAgIFJ1YnlJbmxpbmUsCi0gICAgUnVieVJ1biwKLSAgICBS
dWJ5VGV4dCwKLSAgICBSdWxlciwKLSAgICBSdWxlck1hcmtlciwKLSAgICBTY3JvbGxBcmVhLAot
ICAgIFNjcm9sbEJhciwKLSAgICBTZWFyY2hGaWVsZCwKLSAgICBTaGVldCwKLSAgICBTbGlkZXIs
Ci0gICAgU2xpZGVyVGh1bWIsCi0gICAgU3BpbkJ1dHRvbiwKLSAgICBTcGluQnV0dG9uUGFydCwK
LSAgICBTcGxpdEdyb3VwLAotICAgIFNwbGl0dGVyLAotICAgIFN0YXRpY1RleHQsCi0gICAgU3Vt
bWFyeSwKLSAgICBTd2l0Y2gsCi0gICAgU3lzdGVtV2lkZSwKLSAgICBTVkdSb290LAotICAgIFNW
R1RleHQsCi0gICAgU1ZHVFNwYW4sCi0gICAgU1ZHVGV4dFBhdGgsCi0gICAgVGFiR3JvdXAsCi0g
ICAgVGFiTGlzdCwKLSAgICBUYWJQYW5lbCwKLSAgICBUYWIsCi0gICAgVGFibGUsCi0gICAgVGFi
bGVIZWFkZXJDb250YWluZXIsCi0gICAgVGV4dEFyZWEsCi0gICAgVGV4dEdyb3VwLAotICAgIFRl
cm0sCi0gICAgVGltZSwKLSAgICBUcmVlLAotICAgIFRyZWVHcmlkLAotICAgIFRyZWVJdGVtLAot
ICAgIFRleHRGaWVsZCwKLSAgICBUb2dnbGVCdXR0b24sCi0gICAgVG9vbGJhciwKLSAgICBVbmtu
b3duLAotICAgIFVzZXJJbnRlcmZhY2VUb29sdGlwLAotICAgIFZhbHVlSW5kaWNhdG9yLAotICAg
IFZpZGVvLAotICAgIFdlYkFwcGxpY2F0aW9uLAotICAgIFdlYkFyZWEsCi0gICAgV2ViQ29yZUxp
bmssCi0gICAgV2luZG93LAotfTsKLQogZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJj
ZSB7CiAgICAgQWx0ZXJuYXRpdmUsCiAgICAgQ2hpbGRyZW4sCkBAIC00OTEsNyArMzQxLDcgQEAK
ICAgICAKIGJvb2wgbm9kZUhhc1ByZXNlbnRhdGlvblJvbGUoTm9kZSopOwogICAgIAotY2xhc3Mg
QWNjZXNzaWJpbGl0eU9iamVjdCA6IHB1YmxpYyBSZWZDb3VudGVkPEFjY2Vzc2liaWxpdHlPYmpl
Y3Q+IHsKK2NsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nl
c3NpYmlsaXR5T2JqZWN0PiwgcHVibGljIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2Ugewog
cHJvdGVjdGVkOgogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QoKSA9IGRlZmF1bHQ7CiAgICAgCkBA
IC0xMTUwLDYgKzEwMDAsMTEgQEAKICAgICB2b2lkIGNsZWFySXNJZ25vcmVkRnJvbVBhcmVudERh
dGEoKSB7IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEgPSBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
RnJvbVBhcmVudERhdGEoKTsgfQogICAgIHZvaWQgc2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFG
b3JDaGlsZChBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAgICAgCisjaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICB2b2lkIHNldEluaXRpYWxpemVkSXNvbGF0ZWRUcmVl
Tm9kZShib29sIGluaXRpYWxpemVkKSB7IG1faXNvbGF0ZWRUcmVlTm9kZUluaXRpYWxpemVkID0g
aW5pdGlhbGl6ZWQ7IH0KKyAgICBib29sIGluaXRpYWxpemVkSXNvbGF0ZWRUcmVlTm9kZSgpIGNv
bnN0IHsgcmV0dXJuIG1faXNvbGF0ZWRUcmVlTm9kZUluaXRpYWxpemVkOyB9CisjZW5kaWYKKyAg
ICAKIHByb3RlY3RlZDoKICAgICBBWElEIG1faWQgeyAwIH07CiAgICAgQWNjZXNzaWJpbGl0eUNo
aWxkcmVuVmVjdG9yIG1fY2hpbGRyZW47CkBAIC0xMTU5LDcgKzEwMTQsMTAgQEAKICAgICBBY2Nl
c3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEgbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0
YSB7IH07CiAgICAgYm9vbCBtX2NoaWxkcmVuRGlydHkgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9z
dWJ0cmVlRGlydHkgeyBmYWxzZSB9OwotCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkKKyAgICBib29sIG1faXNvbGF0ZWRUcmVlTm9kZUluaXRpYWxpemVkIHsgZmFsc2Ug
fTsKKyNlbmRpZgorICAgIAogICAgIHZvaWQgc2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGEoQWNj
ZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhJiBkYXRhKSB7IG1faXNJZ25vcmVkRnJv
bVBhcmVudERhdGEgPSBkYXRhOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY29tcHV0ZUFjY2Vzc2li
aWxpdHlJc0lnbm9yZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJ
bnRlcmZhY2UuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDE5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK3R5cGVkZWYgdW5zaWduZWQgQVhJRDsKKworZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9s
ZSB7CisgICAgQW5ub3RhdGlvbiA9IDEsCisgICAgQXBwbGljYXRpb24sCisgICAgQXBwbGljYXRp
b25BbGVydCwKKyAgICBBcHBsaWNhdGlvbkFsZXJ0RGlhbG9nLAorICAgIEFwcGxpY2F0aW9uRGlh
bG9nLAorICAgIEFwcGxpY2F0aW9uR3JvdXAsCisgICAgQXBwbGljYXRpb25Mb2csCisgICAgQXBw
bGljYXRpb25NYXJxdWVlLAorICAgIEFwcGxpY2F0aW9uU3RhdHVzLAorICAgIEFwcGxpY2F0aW9u
VGV4dEdyb3VwLAorICAgIEFwcGxpY2F0aW9uVGltZXIsCisgICAgQXVkaW8sCisgICAgQmxvY2tx
dW90ZSwKKyAgICBCcm93c2VyLAorICAgIEJ1c3lJbmRpY2F0b3IsCisgICAgQnV0dG9uLAorICAg
IENhbnZhcywKKyAgICBDYXB0aW9uLAorICAgIENlbGwsCisgICAgQ2hlY2tCb3gsCisgICAgQ29s
b3JXZWxsLAorICAgIENvbHVtbiwKKyAgICBDb2x1bW5IZWFkZXIsCisgICAgQ29tYm9Cb3gsCisg
ICAgRGVmaW5pdGlvbiwKKyAgICBEZXNjcmlwdGlvbkxpc3QsCisgICAgRGVzY3JpcHRpb25MaXN0
VGVybSwKKyAgICBEZXNjcmlwdGlvbkxpc3REZXRhaWwsCisgICAgRGV0YWlscywKKyAgICBEaXJl
Y3RvcnksCisgICAgRGlzY2xvc3VyZVRyaWFuZ2xlLAorICAgIERpdiwKKyAgICBEb2N1bWVudCwK
KyAgICBEb2N1bWVudEFydGljbGUsCisgICAgRG9jdW1lbnRNYXRoLAorICAgIERvY3VtZW50Tm90
ZSwKKyAgICBEcmF3ZXIsCisgICAgRWRpdGFibGVUZXh0LAorICAgIEZlZWQsCisgICAgRmlndXJl
LAorICAgIEZvb3RlciwKKyAgICBGb290bm90ZSwKKyAgICBGb3JtLAorICAgIEdyYXBoaWNzRG9j
dW1lbnQsCisgICAgR3JhcGhpY3NPYmplY3QsCisgICAgR3JhcGhpY3NTeW1ib2wsCisgICAgR3Jp
ZCwKKyAgICBHcmlkQ2VsbCwKKyAgICBHcm91cCwKKyAgICBHcm93QXJlYSwKKyAgICBIZWFkaW5n
LAorICAgIEhlbHBUYWcsCisgICAgSG9yaXpvbnRhbFJ1bGUsCisgICAgSWdub3JlZCwKKyAgICBJ
bmxpbmUsCisgICAgSW1hZ2UsCisgICAgSW1hZ2VNYXAsCisgICAgSW1hZ2VNYXBMaW5rLAorICAg
IEluY3JlbWVudG9yLAorICAgIExhYmVsLAorICAgIExhbmRtYXJrQmFubmVyLAorICAgIExhbmRt
YXJrQ29tcGxlbWVudGFyeSwKKyAgICBMYW5kbWFya0NvbnRlbnRJbmZvLAorICAgIExhbmRtYXJr
RG9jUmVnaW9uLAorICAgIExhbmRtYXJrTWFpbiwKKyAgICBMYW5kbWFya05hdmlnYXRpb24sCisg
ICAgTGFuZG1hcmtSZWdpb24sCisgICAgTGFuZG1hcmtTZWFyY2gsCisgICAgTGVnZW5kLAorICAg
IExpbmssCisgICAgTGlzdCwKKyAgICBMaXN0Qm94LAorICAgIExpc3RCb3hPcHRpb24sCisgICAg
TGlzdEl0ZW0sCisgICAgTGlzdE1hcmtlciwKKyAgICBNYXJrLAorICAgIE1hdGhFbGVtZW50LAor
ICAgIE1hdHRlLAorICAgIE1lbnUsCisgICAgTWVudUJhciwKKyAgICBNZW51QnV0dG9uLAorICAg
IE1lbnVJdGVtLAorICAgIE1lbnVJdGVtQ2hlY2tib3gsCisgICAgTWVudUl0ZW1SYWRpbywKKyAg
ICBNZW51TGlzdFBvcHVwLAorICAgIE1lbnVMaXN0T3B0aW9uLAorICAgIE91dGxpbmUsCisgICAg
UGFyYWdyYXBoLAorICAgIFBvcFVwQnV0dG9uLAorICAgIFByZSwKKyAgICBQcmVzZW50YXRpb25h
bCwKKyAgICBQcm9ncmVzc0luZGljYXRvciwKKyAgICBSYWRpb0J1dHRvbiwKKyAgICBSYWRpb0dy
b3VwLAorICAgIFJvd0hlYWRlciwKKyAgICBSb3csCisgICAgUm93R3JvdXAsCisgICAgUnVieUJh
c2UsCisgICAgUnVieUJsb2NrLAorICAgIFJ1YnlJbmxpbmUsCisgICAgUnVieVJ1biwKKyAgICBS
dWJ5VGV4dCwKKyAgICBSdWxlciwKKyAgICBSdWxlck1hcmtlciwKKyAgICBTY3JvbGxBcmVhLAor
ICAgIFNjcm9sbEJhciwKKyAgICBTZWFyY2hGaWVsZCwKKyAgICBTaGVldCwKKyAgICBTbGlkZXIs
CisgICAgU2xpZGVyVGh1bWIsCisgICAgU3BpbkJ1dHRvbiwKKyAgICBTcGluQnV0dG9uUGFydCwK
KyAgICBTcGxpdEdyb3VwLAorICAgIFNwbGl0dGVyLAorICAgIFN0YXRpY1RleHQsCisgICAgU3Vt
bWFyeSwKKyAgICBTd2l0Y2gsCisgICAgU3lzdGVtV2lkZSwKKyAgICBTVkdSb290LAorICAgIFNW
R1RleHQsCisgICAgU1ZHVFNwYW4sCisgICAgU1ZHVGV4dFBhdGgsCisgICAgVGFiR3JvdXAsCisg
ICAgVGFiTGlzdCwKKyAgICBUYWJQYW5lbCwKKyAgICBUYWIsCisgICAgVGFibGUsCisgICAgVGFi
bGVIZWFkZXJDb250YWluZXIsCisgICAgVGV4dEFyZWEsCisgICAgVGV4dEdyb3VwLAorICAgIFRl
cm0sCisgICAgVGltZSwKKyAgICBUcmVlLAorICAgIFRyZWVHcmlkLAorICAgIFRyZWVJdGVtLAor
ICAgIFRleHRGaWVsZCwKKyAgICBUb2dnbGVCdXR0b24sCisgICAgVG9vbGJhciwKKyAgICBVbmtu
b3duLAorICAgIFVzZXJJbnRlcmZhY2VUb29sdGlwLAorICAgIFZhbHVlSW5kaWNhdG9yLAorICAg
IFZpZGVvLAorICAgIFdlYkFwcGxpY2F0aW9uLAorICAgIFdlYkFyZWEsCisgICAgV2ViQ29yZUxp
bmssCisgICAgV2luZG93LAorfTsKKworY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFj
ZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSgp
ID0gZGVmYXVsdDsKKworICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhQ29udHJvbExhYmVsKCkgY29u
c3QgPSAwOworICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3Qg
PSAwOworICAgIHZpcnR1YWwgYm9vbCBpc0F0dGFjaG1lbnQoKSBjb25zdCA9IDA7Cit9OworCit9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkVHJlZUNhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmNwcAkobm9uZXhpc3RlbnQpCisr
KyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJl
ZUNhY2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyOSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVDYWNoZS5oIgorCisjaW5jbHVkZSAiQVhJ
c29sYXRlZFRyZWVOb2RlLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitzdGF0aWMgdW5zaWdu
ZWQgc19jYWNoZUlEQ291bnQgPSAwOworSGFzaE1hcDxQYWdlKiwgUmVmUHRyPEFYSXNvbGF0ZWRU
cmVlQ2FjaGU+PiYgQVhJc29sYXRlZFRyZWVDYWNoZTo6cGFnZVJvb3RNYXAoKQoreworICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPFBhZ2UqLCBSZWZQdHI8QVhJc29sYXRlZFRyZWVD
YWNoZT4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KKworSGFzaE1hcDxBWElzb2xhdGVkQ2Fj
aGVJRCwgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+PiYgQVhJc29sYXRlZFRyZWVDYWNoZTo6
dHJlZUNhY2hlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxBWElzb2xh
dGVkQ2FjaGVJRCwgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+Pj4gbWFwOworICAgIHJldHVy
biBtYXA7Cit9CisKK0FYSXNvbGF0ZWRUcmVlQ2FjaGU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGUoKQor
ICAgIDogbV9jYWNoZUlEKCsrc19jYWNoZUlEQ291bnQpCit7Cit9CisKK0FYSXNvbGF0ZWRUcmVl
Q2FjaGU6On5BWElzb2xhdGVkVHJlZUNhY2hlKCkgPSBkZWZhdWx0OworCitSZWY8QVhJc29sYXRl
ZFRyZWVDYWNoZT4gQVhJc29sYXRlZFRyZWVDYWNoZTo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZUNhY2hlKCkpOworfQorICAgIAorUmVmUHRyPEFY
SXNvbGF0ZWRUcmVlQ2FjaGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9ySUQoQVhJc29s
YXRlZENhY2hlSUQgY2FjaGVJRCkKK3sKKyAgICByZXR1cm4gdHJlZUNhY2hlKCkuZ2V0KGNhY2hl
SUQpOworfQorCitSZWZQdHI8QVhJc29sYXRlZFRyZWVDYWNoZT4gQVhJc29sYXRlZFRyZWVDYWNo
ZTo6Y2FjaGVGb3JQYWdlKFBhZ2UqIHBhZ2UpCit7CisgICAgUmVmUHRyPEFYSXNvbGF0ZWRUcmVl
Q2FjaGU+IGNhY2hlID0gcGFnZVJvb3RNYXAoKS5nZXQocGFnZSk7CisgICAgaWYgKCFjYWNoZSkg
eworICAgICAgICBjYWNoZSA9IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNyZWF0ZSgpOworICAgICAg
ICBwYWdlUm9vdE1hcCgpLnNldChwYWdlLCBjYWNoZSk7CisgICAgICAgIHRyZWVDYWNoZSgpLnNl
dChjYWNoZS0+Y2FjaGVJZGVudGlmaWVyKCksIGNhY2hlKTsKKyAgICB9CisgICAgcmV0dXJuIGNh
Y2hlOworfQorICAgIAorUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gQVhJc29sYXRlZFRyZWVD
YWNoZTo6bm9kZUZvcklEKEFYSUQgYXhJRCkgY29uc3QKK3sKKyAgICBpZiAoIWF4SUQpCisgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBtX2NhY2hlLmdldChheElEKTsKK30KKwor
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gQVhJc29sYXRlZFRyZWVDYWNoZTo6cm9vdE5vZGUo
KQoreworICAgIHJldHVybiBub2RlRm9ySUQobV9yb290Tm9kZUlEKTsKK30KKwordm9pZCBBWElz
b2xhdGVkVHJlZUNhY2hlOjpyZW1vdmVOb2RlKEFYSUQgYXhJRCkKK3sKKyAgICBtX2NoYW5nZUxv
Z0xvY2subG9jaygpOworICAgIG1fcmVtb3ZlQ2hhbmdlTG9nLmFwcGVuZChheElEKTsKKyAgICBt
X2NoYW5nZUxvZ0xvY2sudW5sb2NrKCk7Cit9CisKK3ZvaWQgQVhJc29sYXRlZFRyZWVDYWNoZTo6
YXBwZW5kTm9kZUNoYW5nZXMoVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYgbG9n
KQoreworICAgIG1fY2hhbmdlTG9nTG9jay5sb2NrKCk7CisgICAgbV9hcHBlbmRDaGFuZ2VMb2cu
YXBwZW5kVmVjdG9yKGxvZyk7CisgICAgbV9jaGFuZ2VMb2dMb2NrLnVubG9jaygpOworfQorICAg
IAordm9pZCBBWElzb2xhdGVkVHJlZUNhY2hlOjphcHBseUNoYW5nZUxvZygpCit7CisgICAgVmVj
dG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiBhcHBlbmRDb3B5OworICAgIFZlY3RvcjxB
WElEPiByZW1vdmVDb3B5OworCisgICAgbV9jaGFuZ2VMb2dMb2NrLmxvY2soKTsKKyAgICBhcHBl
bmRDb3B5ID0gbV9hcHBlbmRDaGFuZ2VMb2c7CisgICAgcmVtb3ZlQ29weSA9IG1fcmVtb3ZlQ2hh
bmdlTG9nOworICAgIAorICAgIG1fYXBwZW5kQ2hhbmdlTG9nLmNsZWFyKCk7CisgICAgbV9yZW1v
dmVDaGFuZ2VMb2cuY2xlYXIoKTsKKyAgICBtX2NoYW5nZUxvZ0xvY2sudW5sb2NrKCk7CisKKyAg
ICBmb3IgKGF1dG8gaXRlbSA6IGFwcGVuZENvcHkpIHsKKyAgICAgICAgbV9jYWNoZS5zZXQoaXRl
bS0+aWRlbnRpZmllcigpLCBpdGVtKTsKKyAgICAgICAgaWYgKGl0ZW0tPmlzUm9vdE5vZGUoKSkK
KyAgICAgICAgICAgIG1fcm9vdE5vZGVJRCA9IGl0ZW0tPmlkZW50aWZpZXIoKTsKKyAgICB9CisK
KyAgICBmb3IgKGF1dG8gaXRlbSA6IHJlbW92ZUNvcHkpCisgICAgICAgIG1fY2FjaGUucmVtb3Zl
KGl0ZW0pOworfQorICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlQ2FjaGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
VHJlZUNhY2hlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsODMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CisKKyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQYWdlOworCit0eXBl
ZGVmIHVuc2lnbmVkIEFYSXNvbGF0ZWRDYWNoZUlEOworICAgIAorY2xhc3MgQVhJc29sYXRlZFRy
ZWVDYWNoZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxBWElzb2xhdGVkVHJlZUNhY2hl
PiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQVhJc29sYXRlZFRyZWVDYWNoZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworCitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxBWElzb2xhdGVk
VHJlZUNhY2hlPiBjcmVhdGUoKTsKKyAgICB2aXJ0dWFsIH5BWElzb2xhdGVkVHJlZUNhY2hlKCk7
CisKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+
IGNhY2hlRm9yUGFnZShQYWdlKik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZlB0cjxB
WElzb2xhdGVkVHJlZUNhY2hlPiBjYWNoZUZvcklEKEFYSXNvbGF0ZWRDYWNoZUlEKTsKKworICAg
IFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IHJvb3ROb2RlKCk7Cisg
ICAgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gbm9kZUZvcklEKEFYSUQpIGNvbnN0OworCisg
ICAgLy8gQ2FsbCBvbiBtYWluIHRocmVhZAorICAgIHZvaWQgYXBwZW5kTm9kZUNoYW5nZXMoVmVj
dG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYpOworICAgIHZvaWQgcmVtb3ZlTm9kZShB
WElEKTsKKworICAgIC8vIENhbGwgb24gQVggdGhyZWFkCisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBhcHBseUNoYW5nZUxvZygpOworICAgIAorICAgIEFYSXNvbGF0ZWRDYWNoZUlEIGNhY2hlSWRl
bnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVJRDsgfQorICAgIAorcHJpdmF0ZToKKyAg
ICBBWElzb2xhdGVkVHJlZUNhY2hlKCk7CisKKyAgICBzdGF0aWMgSGFzaE1hcDxQYWdlKiwgUmVm
UHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+PiYgcGFnZVJvb3RNYXAoKTsKKyAgICBzdGF0aWMgSGFz
aE1hcDxBWElzb2xhdGVkQ2FjaGVJRCwgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+PiYgdHJl
ZUNhY2hlKCk7CisgICAgCisgICAgLy8gT25seSBhY2Nlc3Mgb24gQVggdGhyZWFkIHJlcXVlc3Rp
bmcgZGF0YS4KKyAgICBIYXNoTWFwPEFYSUQsIFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiBt
X2NhY2hlOworICAgIAorICAgIC8vIFdyaXR0ZW4gdG8gYnkgbWFpbiB0aHJlYWQgdW5kZXIgbG9j
aywgYWNjZXNzZWQgYW5kIGFwcGxpZWQgYnkgQVggdGhyZWFkLgorICAgIFZlY3RvcjxSZWZQdHI8
QVhJc29sYXRlZFRyZWVOb2RlPj4gbV9hcHBlbmRDaGFuZ2VMb2c7CisgICAgVmVjdG9yPEFYSUQ+
IG1fcmVtb3ZlQ2hhbmdlTG9nOworICAgIExvY2sgbV9jaGFuZ2VMb2dMb2NrOworCisgICAgQVhJ
c29sYXRlZENhY2hlSUQgbV9jYWNoZUlEOworICAgIEFYSUQgbV9yb290Tm9kZUlEOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRl
ZFRyZWVOb2RlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lT
T0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBWElzb2xhdGVk
VHJlZU5vZGUuaCIKKworI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitBWElzb2xhdGVkVHJlZU5vZGU6OkFYSXNvbGF0ZWRUcmVlTm9kZShj
b25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCisgICAgOiBtX2lkZW50aWZpZXIob2Jq
ZWN0LmF4T2JqZWN0SUQoKSkKKyAgICAsIG1fcmVsYXRpb25zaGlwKG51bGxwdHIpCit7CisgICAg
aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEob2JqZWN0KTsKK30KKworUmVmPEFYSXNvbGF0ZWRUcmVl
Tm9kZT4gQVhJc29sYXRlZFRyZWVOb2RlOjpjcmVhdGUoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVj
dCYgb2JqZWN0KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFYSXNvbGF0ZWRUcmVlTm9k
ZShvYmplY3QpKTsKK30KKyAgICAKK0FYSXNvbGF0ZWRUcmVlTm9kZTo6fkFYSXNvbGF0ZWRUcmVl
Tm9kZSgpID0gZGVmYXVsdDsKKwordm9pZCBBWElzb2xhdGVkVHJlZU5vZGU6OmluaXRpYWxpemVB
dHRyaWJ1dGVEYXRhKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QmIG9iamVjdCkKK3sKKyAgICBz
ZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Um9sZVZhbHVlLCBzdGF0aWNfY2FzdDxpbnQ+KG9i
amVjdC5yb2xlVmFsdWUoKSkpOworICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpJc0F0
dGFjaG1lbnQsIG9iamVjdC5pc0F0dGFjaG1lbnQoKSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWU6OklzTWVkaWFDb250cm9sTGFiZWwsIG9iamVjdC5pc01lZGlhQ29udHJvbExhYmVs
KCkpOworfQorICAgIAordm9pZCBBWElzb2xhdGVkVHJlZU5vZGU6OnNldFByb3BlcnR5KEFYUHJv
cGVydHlOYW1lIHByb3BlcnR5TmFtZSwgQXR0cmlidXRlVmFsdWVWYXJpYW50JiYgdmFsdWUsIGJv
b2wgc2hvdWxkUmVtb3ZlKQoreworICAgIGlmIChzaG91bGRSZW1vdmUpCisgICAgICAgIG1fYXR0
cmlidXRlTWFwLnJlbW92ZShwcm9wZXJ0eU5hbWUpOworICAgIGVsc2UKKyAgICAgICAgbV9hdHRy
aWJ1dGVNYXAuc2V0KHByb3BlcnR5TmFtZSwgdmFsdWUpOworfQorICAgIAorZG91YmxlIEFYSXNv
bGF0ZWRUcmVlTm9kZTo6ZG91YmxlQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVy
dHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJv
cGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChkb3VibGUm
IHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChh
dXRvJikgeworICAgICAgICByZXR1cm4gMC4wOworICAgIH0pOworfQorCit1bnNpZ25lZCBBWElz
b2xhdGVkVHJlZU5vZGU6OnVuc2lnbmVkQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJv
cGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQo
cHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdICh1bnNp
Z25lZCYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBb
Jl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0pOworfQorCitib29sIEFYSXNv
bGF0ZWRUcmVlTm9kZTo6Ym9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3Bl
cnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAoYm9vbCYgdHlw
ZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8m
KSB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9KTsKK30KKworY29uc3QgU3RyaW5nJiBB
WElzb2xhdGVkVHJlZU5vZGU6OnN0cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0
KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAoU3Ry
aW5nJiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsm
XSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIG51bGxBdG9tKCk7CisgICAgfSk7Cit9CisKK2lu
dCBBWElzb2xhdGVkVHJlZU5vZGU6OmludEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0
KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAoaW50
JiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAo
YXV0byYpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfSk7Cit9CisKKyNwcmFnbWEgbWFyayAt
IE92ZXJyaWRlcworICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKChBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
VHJlZU5vZGUuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDE1NCBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLwor
CisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CisKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCisjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTYWZlUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRl
IDx3dGYvUmV0YWluUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KKyNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworI2lmIFBMQVRGT1JNKENP
Q09BKQorT0JKQ19DTEFTUyBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKKyNlbmRpZgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3Q7CisKK2Ns
YXNzIEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3Vu
dGVkPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJl
ZjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYo
Km5ldyBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCgpKTsgfQorICAgIHZpcnR1YWwgfkFYSXNv
bGF0ZWRUcmVlUmVsYXRpb25zaGlwKCkgPSBkZWZhdWx0OworCisgICAgQVhJc29sYXRlZFRyZWVS
ZWxhdGlvbnNoaXAoY29uc3QgQVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXAmIHJlbGF0aW9uc2hp
cCkKKyAgICAgICAgOiBtX3BhcmVudChyZWxhdGlvbnNoaXAubV9wYXJlbnQpCisgICAgICAgICwg
bV9jaGlsZHJlbihyZWxhdGlvbnNoaXAubV9jaGlsZHJlbikKKyAgICB7CisgICAgfQorICAgIAor
ICAgIEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwJiBvcGVyYXRvcj0oY29uc3QgQVhJc29sYXRl
ZFRyZWVSZWxhdGlvbnNoaXAmIHJlbGF0aW9uc2hpcCkKKyAgICB7CisgICAgICAgIG1fcGFyZW50
ID0gcmVsYXRpb25zaGlwLm1fcGFyZW50OworICAgICAgICBtX2NoaWxkcmVuID0gcmVsYXRpb25z
aGlwLm1fY2hpbGRyZW47CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAgICB2b2lk
IHNldFBhcmVudChBWElEIHBhcmVudCkgeyBtX3BhcmVudCA9IHBhcmVudDsgfQorICAgIEFYSUQg
cGFyZW50KCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnQ7IH0KKworICAgIFZlY3RvcjxBWElEPiYg
Y2hpbGRyZW4oKSB7IHJldHVybiBtX2NoaWxkcmVuOyB9OworCitwcml2YXRlOgorICAgIEFYSXNv
bGF0ZWRUcmVlUmVsYXRpb25zaGlwKCkgeyB9CisKKyAgICBBWElEIG1fcGFyZW50OworICAgIFZl
Y3RvcjxBWElEPiBtX2NoaWxkcmVuOworfTsKKworICAgIAorY2xhc3MgQVhJc29sYXRlZFRyZWVO
b2RlIGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UsIHB1YmxpYyBU
aHJlYWRTYWZlUmVmQ291bnRlZDxBWElzb2xhdGVkVHJlZU5vZGU+LCBwdWJsaWMgQ2FuTWFrZVdl
YWtQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiB7CisgICAgCitlbnVtIGNsYXNzIEFYUHJvcGVydHlO
YW1lIDogdWludDE2X3QgeworICAgIE5vbmUgPSAwLAorICAgIFJvbGVWYWx1ZSA9IDEsCisgICAg
SXNBdHRhY2htZW50LAorICAgIElzTWVkaWFDb250cm9sTGFiZWwsCit9OworCitzdHJ1Y3QgQVhQ
cm9wZXJ0eUhhc2hUcmFpdHMgOiBXVEY6OlN0cm9uZ0VudW1IYXNoVHJhaXRzPEFYUHJvcGVydHlO
YW1lPiB7CisgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IGZhbHNlOwor
ICAgIHN0YXRpYyBBWFByb3BlcnR5TmFtZSBlbXB0eVZhbHVlKCkgeyByZXR1cm4gQVhQcm9wZXJ0
eU5hbWU6Ok5vbmU7IH07CisgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKEFY
UHJvcGVydHlOYW1lJiBzbG90KQorICAgIHsKKyAgICAgICAgc2xvdCA9IHN0YXRpY19jYXN0PEFY
UHJvcGVydHlOYW1lPihzdGF0aWNfY2FzdDxpbnQ+KEFYUHJvcGVydHlOYW1lOjpOb25lKSAtIDEp
OworICAgIH0KKyAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShBWFByb3BlcnR5TmFtZSB2
YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlKSA9PSBz
dGF0aWNfY2FzdDxpbnQ+KEFYUHJvcGVydHlOYW1lOjpOb25lKSAtIDE7CisgICAgfQorfTsKKwor
cHJvdGVjdGVkOgorICAgIEFYSXNvbGF0ZWRUcmVlTm9kZSgpID0gZGVmYXVsdDsKKworcHVibGlj
OgorICAgIHN0YXRpYyBSZWY8QVhJc29sYXRlZFRyZWVOb2RlPiBjcmVhdGUoY29uc3QgQWNjZXNz
aWJpbGl0eU9iamVjdCYpOworICAgIHZpcnR1YWwgfkFYSXNvbGF0ZWRUcmVlTm9kZSgpOworCisg
ICAgQVhJRCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CisgICAg
CisgICAgdm9pZCBzZXRSZWxhdGlvbnNoaXAoUmVmUHRyPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25z
aGlwPiByZWxhdGlvbnNoaXApIHsgbV9yZWxhdGlvbnNoaXAgPSByZWxhdGlvbnNoaXA7IH0KKyAg
ICBSZWZQdHI8QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA+JiByZWxhdGlvbnNoaXAoKSB7IHJl
dHVybiBtX3JlbGF0aW9uc2hpcDsgfQorICAgIAorICAgIGJvb2wgaXNSb290Tm9kZSgpIGNvbnN0
IHsgcmV0dXJuIG1faXNSb290Tm9kZTsgfQorICAgIHZvaWQgc2V0SXNSb290Tm9kZShib29sIHZh
bHVlKSB7IG1faXNSb290Tm9kZSA9IHZhbHVlOyB9CisgICAgCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisgICAgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIoKSBjb25zdCB7IHJl
dHVybiBtX3dyYXBwZXIuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFdyYXBwZXIoV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIpCisgICAgeworICAgICAgICBtX3dyYXBwZXIgPSB3
cmFwcGVyOworICAgIH0KKyNlbmRpZgorCitwcml2YXRlOgorICAgIEFYSXNvbGF0ZWRUcmVlTm9k
ZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisgICAgdm9pZCBpbml0aWFsaXplQXR0cmli
dXRlRGF0YShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisgICAgCisgICAgYm9vbCBpc01l
ZGlhQ29udHJvbExhYmVsKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYm9vbEF0dHJpYnV0ZVZh
bHVlKEFYUHJvcGVydHlOYW1lOjpJc01lZGlhQ29udHJvbExhYmVsKTsgfQorICAgIGJvb2wgaXNB
dHRhY2htZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFY
UHJvcGVydHlOYW1lOjpJc0F0dGFjaG1lbnQpOyB9CisgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9s
ZVZhbHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RhdGljX2Nhc3Q8QWNjZXNzaWJpbGl0
eVJvbGU+KGludEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpSb2xlVmFsdWUpKTsgfQor
ICAgIAorICAgIHVzaW5nIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCA9IFZhcmlhbnQ8c3RkOjpudWxs
cHRyX3QsIFN0cmluZywgYm9vbCwgaW50LCB1bnNpZ25lZCwgZG91YmxlPjsKKyAgICB2b2lkIHNl
dFByb3BlcnR5KEFYUHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQmJiwgYm9vbCBz
aG91bGRSZW1vdmUgPSBmYWxzZSk7CisgICAgCisgICAgYm9vbCBib29sQXR0cmlidXRlVmFsdWUo
QVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGNvbnN0IFN0cmluZyYgc3RyaW5nQXR0cmlidXRl
VmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGludCBpbnRBdHRyaWJ1dGVWYWx1ZShB
WFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgdW5zaWduZWQgdW5zaWduZWRBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgZG91YmxlIGRvdWJsZUF0dHJpYnV0ZVZhbHVl
KEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICAKKyAgICBBWElEIG1faWRlbnRpZmllcjsKKyAg
ICBSZWZQdHI8QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA+IG1fcmVsYXRpb25zaGlwOworICAg
IGJvb2wgbV9pc1Jvb3ROb2RlOworICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFJldGFp
blB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gbV93cmFwcGVyOworI2VuZGlmCisg
ICAgCisgICAgSGFzaE1hcDxBWFByb3BlcnR5TmFtZSwgQXR0cmlidXRlVmFsdWVWYXJpYW50LCBX
VEY6OkludEhhc2g8QVhQcm9wZXJ0eU5hbWU+LCBBWFByb3BlcnR5SGFzaFRyYWl0cz4gbV9hdHRy
aWJ1dGVNYXA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0JKHJldmlzaW9u
IDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2Fj
aGVNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEhBVkUoQUND
RVNTSUJJTElUWSkgJiYgUExBVEZPUk0oTUFDKQogCisjaW1wb3J0ICJBWElzb2xhdGVkVHJlZU5v
ZGUuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vzc2li
aWxpdHlUYWJsZS5oIgogI2ltcG9ydCAiUmVuZGVyT2JqZWN0LmgiCkBAIC0yMzcsNiArMjM4LDE0
IEBACiAgICAgb2JqLT5zZXRXcmFwcGVyKG51bGxwdHIpOwogfQogCisjaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK3ZvaWQgQVhPYmplY3RDYWNoZTo6YXNzb2NpYXRlSXNv
bGF0ZWRUcmVlTm9kZShBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QsIEFYSXNvbGF0ZWRUcmVl
Tm9kZSYgbm9kZSwgQVhJc29sYXRlZENhY2hlSUQgY2FjaGVJRCkKK3sKKyAgICBvYmplY3Qud3Jh
cHBlcigpLmlzb2xhdGVkQ2FjaGVJZGVudGlmaWVyID0gY2FjaGVJRDsKKyAgICBub2RlLnNldFdy
YXBwZXIob2JqZWN0LndyYXBwZXIoKSk7Cit9CisjZW5kaWYKKyAgICAKIHZvaWQgQVhPYmplY3RD
YWNoZTo6YXR0YWNoV3JhcHBlcihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmopCiB7CiAgICAgUmV0
YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiB3cmFwcGVyID0gYWRvcHROUyhb
W1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGFsbG9jXSBpbml0V2l0aEFjY2Vzc2liaWxp
dHlPYmplY3Q6b2JqXSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9X
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJh
c2UuaAkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9t
YWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTMwLDEwICszMCwxNyBAQAogI2RlZmluZSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJh
c2VfaAogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgorI2luY2x1ZGUgIkFYSXNv
bGF0ZWRUcmVlQ2FjaGUuaCIKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+
CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5j
bHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWNjZXNz
aWJpbGl0eU9iamVjdDsKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQor
Y2xhc3MgQVhJc29sYXRlZFRyZWVOb2RlOworI2VuZGlmCiBzdHJ1Y3QgQWNjZXNzaWJpbGl0eVNl
YXJjaENyaXRlcmlhOwogY2xhc3MgSW50UmVjdDsKIGNsYXNzIEZsb2F0UG9pbnQ7CkBAIC00Nywx
MCArNTQsMjIgQEAKIH0KICAKIC0gKGlkKWluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDooV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCopYXhPYmplY3Q7CisKKyNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBS
ZWZQdHI8V2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlPiBpc29sYXRlZFRyZWVOb2RlOworQHBy
b3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgV2ViQ29yZTo6QVhJc29sYXRlZENhY2hlSUQgaXNv
bGF0ZWRDYWNoZUlkZW50aWZpZXI7CisjZW5kaWYKKwogLSAodm9pZClkZXRhY2g7CisKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFdlYkNvcmU6OkFYSUQgaWRlbnRpZmllcjsKKwogLSAo
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCopYWNjZXNzaWJpbGl0eU9iamVjdDsKIC0gKEJP
T0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3JlOwogCisvLyBUaGlzIGNhbiBiZSBlaXRoZXIgYW4g
QWNjZXNzaWJpbGl0eU9iamVjdCBvciBhbiBBWElzb2xhdGVkVHJlZU5vZGUKKy0gKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UqKWF4QmFja2luZ09iamVjdDsKKwogLy8gVGhl
c2UgYXJlIHByZS1maXhlZCB3aXRoIGJhc2Ugc28gdGhhdCBBcHBLaXQgZG9lcyBub3QgZW5kIHVw
IGNhbGxpbmcgaW50byB0aGVzZSBkaXJlY3RseSAoYnlwYXNzaW5nIHNhZmV0eSBjaGVja3MpLgog
LSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eVRpdGxlOwogLSAoTlNTdHJpbmcgKiliYXNl
QWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQmFzZS5tbQkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMiw5ICszMiwxMiBAQAogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIAog
I2ltcG9ydCAiQVhPYmplY3RDYWNoZS5oIgorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWVDYWNoZS5o
IgorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5
QVJJQUdyaWRSb3cuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlMaXN0LmgiCiAjaW1wb3J0ICJB
Y2Nlc3NpYmlsaXR5TGlzdEJveC5oIgorI2ltcG9ydCAiQWNjZXNzaWJpbGl0eU9iamVjdEludGVy
ZmFjZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oIgogI2ltcG9ydCAi
QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlTcGluQnV0
dG9uLmgiCkBAIC0yNzEsMTYgKzI3NCwzMCBAQAogICAgICAgICByZXR1cm4gbmlsOwogCiAgICAg
bV9vYmplY3QgPSBheE9iamVjdDsKKyAgICBfaWRlbnRpZmllciA9IG1fb2JqZWN0LT5heE9iamVj
dElEKCk7CiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9J
U09MQVRFRF9UUkVFKQorLSAoUmVmUHRyPFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZT4paXNv
bGF0ZWRUcmVlTm9kZQoreworICAgIHJldHVybiBBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZv
cklEKF9pc29sYXRlZENhY2hlSWRlbnRpZmllciktPm5vZGVGb3JJRChfaWRlbnRpZmllcik7Cit9
CisKKyNlbmRpZgorCiAtICh2b2lkKWRldGFjaAogewogICAgIG1fb2JqZWN0ID0gbnVsbHB0cjsK
KyAgICBfaWRlbnRpZmllciA9IDA7CiB9CiAKIC0gKEJPT0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0
b3JlCiB7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBBWElz
b2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvcklEKHNlbGYuaXNvbGF0ZWRDYWNoZUlkZW50aWZpZXIp
LT5hcHBseUNoYW5nZUxvZygpOworICAgIHJldHVybiBfaWRlbnRpZmllciAhPSAwOworI2Vsc2UK
ICAgICAvLyBDYWxsaW5nIHVwZGF0ZUJhY2tpbmdTdG9yZSgpIGNhbiBpbnZhbGlkYXRlIHRoaXMg
ZWxlbWVudCBzbyBzZWxmIG11c3QgYmUgcmV0YWluZWQuCiAgICAgLy8gSWYgaXQgZG9lcyBiZWNv
bWUgaW52YWxpZGF0ZWQsIG1fb2JqZWN0IHdpbGwgYmUgbmlsLgogICAgIENGUmV0YWluKChfX2Jy
aWRnZSBDRlR5cGVSZWYpc2VsZik7CkBAIC0yOTQsNiArMzExLDcgQEAKICAgICAgICAgcmV0dXJu
IE5POwogICAgIAogICAgIHJldHVybiBZRVM7CisjZW5kaWYKIH0KIAogLSAoaWQpYXR0YWNobWVu
dFZpZXcKQEAgLTM1NSwxMSArMzczLDIxIEBACiAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdd
OwogfQogCisjZGVmaW5lIF9heEJhY2tpbmdPYmplY3Qgc2VsZi5heEJhY2tpbmdPYmplY3QKKy0g
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UqKWF4QmFja2luZ09iamVjdAor
eworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgcmV0dXJuIHNl
bGYuaXNvbGF0ZWRUcmVlTm9kZS5nZXQoKTsKKyNlbHNlCisgICAgcmV0dXJuIG1fb2JqZWN0Owor
I2VuZGlmCit9CisKIC0gKE5TU3RyaW5nICopYmFzZUFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbgog
ewogICAgIC8vIFN0YXRpYyB0ZXh0IG9iamVjdHMgc2hvdWxkIG5vdCBoYXZlIGEgZGVzY3JpcHRp
b24uIEl0cyBjb250ZW50IGlzIGNvbW11bmljYXRlZCBpbiBpdHMgQVhWYWx1ZS4KICAgICAvLyBP
bmUgZXhjZXB0aW9uIGlzIHRoZSBtZWRpYSBjb250cm9sIGxhYmVscyB0aGF0IGhhdmUgYSB2YWx1
ZSBhbmQgYSBkZXNjcmlwdGlvbi4gVGhvc2UgYXJlIHNldCBwcm9ncmFtYXRpY2FsbHkuCi0gICAg
aWYgKG1fb2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4
dCAmJiAhbV9vYmplY3QtPmlzTWVkaWFDb250cm9sTGFiZWwoKSkKKyAgICBpZiAoX2F4QmFja2lu
Z09iamVjdC0+cm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlN0YXRpY1RleHQgJiYg
IV9heEJhY2tpbmdPYmplY3QtPmlzTWVkaWFDb250cm9sTGFiZWwoKSkKICAgICAgICAgcmV0dXJu
IFtOU1N0cmluZyBzdHJpbmddOwogICAgIAogICAgIFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4g
dGV4dE9yZGVyOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0J
KHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00MTIs
NiArNDEyLDggQEAKICNkZWZpbmUgTlNBY2Nlc3NpYmlsaXR5TGlua1JlbGF0aW9uc2hpcFR5cGVB
dHRyaWJ1dGUgQCJBWExpbmtSZWxhdGlvbnNoaXBUeXBlIgogI2VuZGlmCiAKKyNkZWZpbmUgX2F4
QmFja2luZ09iamVjdCBzZWxmLmF4QmFja2luZ09iamVjdAorCiBleHRlcm4gIkMiIEFYVUlFbGVt
ZW50UmVmIE5TQWNjZXNzaWJpbGl0eUNyZWF0ZUFYVUlFbGVtZW50UmVmKGlkIGVsZW1lbnQpOwog
CiBAaW1wbGVtZW50YXRpb24gV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIKQEAgLTIwMDks
MTAgKzIwMTEsMTAgQEAKIC0gKE5TU3RyaW5nKilyb2xlCiB7CiAgICAgQUxMT1dfREVQUkVDQVRF
RF9ERUNMQVJBVElPTlNfQkVHSU4KLSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKQor
ICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKICAgICAgICAgcmV0dXJu
IFtbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNj
ZXNzaWJpbGl0eVJvbGVBdHRyaWJ1dGVdOwogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJ
T05TX0VORAotICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUgPSBtX29iamVjdC0+cm9sZVZhbHVl
KCk7CisgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSA9IF9heEJhY2tpbmdPYmplY3QtPnJvbGVW
YWx1ZSgpOwogCiAgICAgaWYgKHJvbGUgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OkxhYmVsICYmIGlz
PEFjY2Vzc2liaWxpdHlMYWJlbD4oKm1fb2JqZWN0KSAmJiBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5
TGFiZWw+KCptX29iamVjdCkuY29udGFpbnNPbmx5U3RhdGljVGV4dCgpKQogICAgICAgICByb2xl
ID0gQWNjZXNzaWJpbGl0eVJvbGU6OlN0YXRpY1RleHQ7CkBAIC0yMDM5LDcgKzIwNDEsNyBAQAog
ICAgIGlmIChtX29iamVjdC0+aXNTZWFyY2hGaWVsZCgpKQogICAgICAgICByZXR1cm4gTlNBY2Nl
c3NpYmlsaXR5U2VhcmNoRmllbGRTdWJyb2xlOwogICAgIAotICAgIGlmIChtX29iamVjdC0+aXNB
dHRhY2htZW50KCkpIHsKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkp
IHsKICAgICAgICAgTlNWaWV3KiBhdHRhY2hWaWV3ID0gW3NlbGYgYXR0YWNobWVudFZpZXddOwog
ICAgICAgICBpZiAoW1thdHRhY2hWaWV3IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29u
dGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5U3Vicm9sZUF0dHJpYnV0ZV0pCiAgICAgICAgICAg
ICByZXR1cm4gW2F0dGFjaFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNz
aWJpbGl0eVN1YnJvbGVBdHRyaWJ1dGVdOwpAQCAtMjI1MCw3ICsyMjUyLDcgQEAKIAogICAgIEFM
TE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgLy8gYXR0YWNobWVudHMgaGF2
ZSB0aGUgQVhJbWFnZSByb2xlLCBidXQgYSBkaWZmZXJlbnQgc3Vicm9sZQotICAgIGlmIChtX29i
amVjdC0+aXNBdHRhY2htZW50KCkpCisgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNo
bWVudCgpKQogICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmls
aXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5Um9sZURlc2NyaXB0aW9uQXR0cmlidXRl
XTsKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIApAQCAtMjYwNyw3ICsy
NjA5LDcgQEAKICAgICAgICAgcmV0dXJuIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDogbV9vYmpl
Y3QtPmlzVmlzaXRlZCgpXTsKICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRv
U3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1f
b2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+
aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3
XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJp
bGl0eVRpdGxlQXR0cmlidXRlXSkKICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFj
aG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VGl0
bGVBdHRyaWJ1dGVdOwogICAgICAgICB9CkBAIC0yNjI0LDcgKzI2MjYsNyBAQAogICAgIH0KICAg
ICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxp
dHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFj
aG1lbnQoKSkgeworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkp
IHsKICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5
QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
QXR0cmlidXRlXSkKICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3
XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25B
dHRyaWJ1dGVdOwogICAgICAgICB9CkBAIC0yNjMyLDcgKzI2MzQsNyBAQAogICAgIH0KICAgICAK
ICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlW
YWx1ZUF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkg
eworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAg
ICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
TmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkKICAg
ICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5
QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdOwogICAgICAgICB9
CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wMS0xMSAgQ2hyaXMgRmxl
aXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBz
dGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbToKKyAgICAg
ICAgKC1bV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UgYWNjZXNzaWJpbGl0eVJvb3RP
YmplY3RXcmFwcGVyXSk6CisKIDIwMTktMDEtMTkgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFw
cGxlLmNvbT4KIAogICAgICAgICBGb2xsb3ctdXA6IGlPUzogVXBkYXRpbmcgaW5wdXQgbW9kZSBz
aG91bGQgdXBkYXRlIHRoZSBzb2Z0d2FyZSBrZXlib2FyZApJbmRleDogU291cmNlL1dlYktpdC9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lv
biAyNDAyMDYpCisrKyBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJM
RV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBF
TkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBM
RV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgs
MTAgQEAKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAorPDw8PDw8PCAubWluZQorRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQo
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5U
UykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTEtFWUJPQVJEX0FD
Q0VTUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19V
U0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
QVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworfHx8fHx8fCAucjIzOTcxOAorRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5B
QkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFC
TEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NT
U19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJ
T05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVf
S0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9D
VVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJf
TUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklB
VElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZV
TExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJM
RV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RS
RUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VC
R1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKKz09PT09PT0KIEZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChF
TkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FE
QVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJ
QklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05J
Q19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9B
UkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01f
UFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFD
X1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURf
U1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikg
JChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxF
X1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJ
REVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRD
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQ
SSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVO
QUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9YU0xUKTsKKz4+Pj4+Pj4gLnIyNDAyMDYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdEJhc2UubW0JKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFz
ZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQAogI2ltcG9ydCAiV0tTdHJpbmcu
aCIKICNpbXBvcnQgIldLU3RyaW5nQ0YuaCIKICNpbXBvcnQgPFdlYkNvcmUvQVhPYmplY3RDYWNo
ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9BWElzb2xhdGVkVHJlZUNhY2hlLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0RvY3VtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0ZyYW1lVmlldy5oPgpAQCAtNDcsNiArNDgsMTggQEAKIAogQGltcGxlbWVudGF0aW9u
IFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlCiAKKy0gKFdlYkNvcmU6OkFYT2JqZWN0
Q2FjaGUqKWF4T2JqZWN0Q2FjaGUKK3sKKyAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gbV9wYWdl
LT5jb3JlUGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKyAgICBX
ZWJDb3JlOjpGcmFtZSYgY29yZSA9IHBhZ2UtPm1haW5GcmFtZSgpOworICAgIGlmICghY29yZS5k
b2N1bWVudCgpKQorICAgICAgICByZXR1cm4gbmlsOworICAgIAorICAgIHJldHVybiBjb3JlLmRv
Y3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKTsKK30KKwogLSAoaWQpYWNjZXNzaWJpbGl0eVJvb3RP
YmplY3RXcmFwcGVyCiB7CiAgICAgaWYgKCFXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphY2Nlc3Np
YmlsaXR5RW5hYmxlZCgpKQpAQCAtNjIsMTggKzc1LDQ2IEBACiAgICAgV2ViQ29yZTo6UGFnZSog
cGFnZSA9IG1fcGFnZS0+Y29yZVBhZ2UoKTsKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVy
biBuaWw7Ci0gICAgCi0gICAgV2ViQ29yZTo6RnJhbWUmIGNvcmUgPSBwYWdlLT5tYWluRnJhbWUo
KTsKLSAgICBpZiAoIWNvcmUuZG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIG5pbDsKLSAgICAK
LSAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlKiBjYWNoZSA9IGNvcmUuZG9jdW1lbnQoKS0+YXhP
YmplY3RDYWNoZSgpOworCisgICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBbc2VsZiBheE9iamVj
dENhY2hlXTsKICAgICBpZiAoIWNhY2hlKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIAorI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgYXV0byBnZW5lcmF0ZUJs
b2NrID0gWyZdIHsKKyAgICAgICAgYXV0byBkaXNwYXRjaEJsb2NrID0gWyZjYWNoZV0geworICAg
ICAgICAgICAgY2FjaGUtPmdlbmVyYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWVJZk5lZWRlZCgp
OworICAgICAgICB9OworICAgICAgICAKKyAgICAgICAgaWYgKFJ1bkxvb3A6OmlzTWFpbigpKQor
ICAgICAgICAgICAgZGlzcGF0Y2hCbG9jaygpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBk
aXNwYXRjaF9zeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIGRpc3BhdGNoQmxvY2spOwor
ICAgIH07CisKKyAgICBhdXRvIGlzb2xhdGVkQ2FjaGUgPSBBWElzb2xhdGVkVHJlZUNhY2hlOjpj
YWNoZUZvclBhZ2UocGFnZSk7CisgICAgaWYgKCFpc29sYXRlZENhY2hlKSB7CisgICAgICAgIGdl
bmVyYXRlQmxvY2soKTsKKyAgICAgICAgaXNvbGF0ZWRDYWNoZSA9IEFYSXNvbGF0ZWRUcmVlQ2Fj
aGU6OmNhY2hlRm9yUGFnZShwYWdlKTsKKyAgICAgICAgQVNTRVJUKGlzb2xhdGVkQ2FjaGUpOwor
ICAgICAgICBpZiAoIWlzb2xhdGVkQ2FjaGUpCisgICAgICAgICAgICByZXR1cm4gbmlsOworCisg
ICAgICAgIGlzb2xhdGVkQ2FjaGUtPmFwcGx5Q2hhbmdlTG9nKCk7CisgICAgfQorICAgIAorICAg
IGF1dG8gcm9vdE5vZGUgPSBpc29sYXRlZENhY2hlLT5yb290Tm9kZSgpOworICAgIGlmICghcm9v
dE5vZGUpIHsKKyAgICAgICAgZ2VuZXJhdGVCbG9jaygpOworICAgICAgICBpc29sYXRlZENhY2hl
LT5hcHBseUNoYW5nZUxvZygpOworICAgIH0KKworICAgIGlmICgocm9vdE5vZGUgPSBpc29sYXRl
ZENhY2hlLT5yb290Tm9kZSgpKSkKKyAgICAgICAgcmV0dXJuIHJvb3ROb2RlLT53cmFwcGVyKCk7
CisjZWxzZQogICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiByb290ID0gY2Fj
aGUtPnJvb3RPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIHJvb3QtPndyYXBwZXIoKTsKLSAgICAK
KyNlbmRpZgogICAgIHJldHVybiBuaWw7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTExICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBh
IHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMy
OTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0wMS0xOSAgQW50
b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIFBPSU5URVJf
RVZFTlRTIGZlYXR1cmUgZmxhZwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJl
dmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBA
CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVF
ID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZP
Uk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7
CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBA
IC00MDYsNCArNDA4LDEwIEBACiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKKzw8PDw8
PDwgLm1pbmUKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFKSAkKEVOQUJMRV9B
UFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09O
SUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxM
S0VZQk9BUkRfQUNDRVNTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9O
X09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRf
Q09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxF
X0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxF
X0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9N
QUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RB
TkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNF
X0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dP
UktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7Cit8fHx8fHx8IC5yMjM5
NzE4CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklG
RVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQ
SSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9K
SVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJ
VCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChF
TkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRF
KSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFU
VElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERG
S0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VT
X0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVU
SE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAk
KEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworPT09PT09PQogRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BB
WSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNT
SU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVO
VF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVS
TUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJ
Q0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQ
SSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElf
U1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5B
QkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9T
VFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9X
RUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX1hTTFQpOworPj4+Pj4+PiAucjI0MDIwNgpJbmRleDogU291cmNlL2NtYWtl
L1dlYktpdEZlYXR1cmVzLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xODcsNiArMTg3LDcgQEAKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfU01PT1RIX1NDUk9MTElORyAiVG9nZ2xlIHNtb290aCBz
Y3JvbGxpbmciIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMgIlRvZ2dsZSBTcGVlY2ggU3ludGhlc2lzIEFQSSBzdXBwb3J0IiBQUklW
QVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1BFTExDSEVDSyAiVG9n
Z2xlIFNwZWxsY2hlY2tpbmcgc3VwcG9ydCAocmVxdWlyZXMgRW5jaGFudCkiIFBSSVZBVEUgT0ZG
KQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19U
UkVFICJUb2dnbGUgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZSBzdXBwb3J0IiBQUklWQVRFIE9G
RikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1RSRUFNU19BUEkgIlRvZ2dsZSBT
dHJlYW1zIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5F
KEVOQUJMRV9TVkdfRk9OVFMgIlRvZ2dsZSBTVkcgRm9udHMgc3VwcG9ydCIgUFJJVkFURSBPTikK
ICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04gIlRvZ2dsZSB0ZWxlcGhvbmUgbnVtYmVyIGRldGVjdGlvbiBzdXBwb3J0IiBQUklWQVRFIE9G
RikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359629</attachid>
            <date>2019-01-19 19:39:42 -0800</date>
            <delta_ts>2019-01-19 23:27:01 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>96201</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0xOSAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3RhcnQu
b3JnPgogCiAgICAgICAgIFtKU0NdIFJlb3JkZXIgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCBt
ZW1iZXIgZm9yIHByZXBhcmF0aW9uIG9mIEpTR2xvYmFsT2JqZWN0IG1lbW9yeSByZWR1Y3Rpb24K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
d29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18k
KFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
X2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitF
TkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZ
ID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExF
X1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9u
ZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAKIAogRU5B
QkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FS
RF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9Q
Uk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNf
VklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
V0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5B
QkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVf
QVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NP
TklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlC
T0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RP
TV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JF
U09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNT
QUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9O
X0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFND
UkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dF
Ql9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1J
TkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUp
ICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI0MDIwNikK
KysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01OCw2
ICs1OCw3IEBACiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvd2Vic29ja2V0cyIKICAgICAi
JHtXRUJDT1JFX0RJUn0vTW9kdWxlcy93ZWJ2ciIKICAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNz
aWJpbGl0eSIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUi
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L2FuaW1hdGlvbiIKICAgICAiJHtXRUJDT1JFX0RJUn0vYmlu
ZGluZ3MiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2JpbmRpbmdzL2pzIgpJbmRleDogU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwko
cmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsNzggQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2li
aWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBpbXByb3Zl
IHBlcmZvcm1hbmNlIHdoZW4gcmVxdWVzdGluZyB0aGUgYWNjZXNzaWJpbGl0eSBoaWVyYXJjaHks
IHdlIGludHJvZHVjZSB0aGUgaWRlYSBvZiBhICJzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlIiB3
aGljaCBjb3VsZCBiZSBhY2Nlc3NlZCBvbiBhIGRpZmZlcmVudCB0aHJlYWQgYnkgYXNzaXN0aXZl
IHRlY2hub2xvZ2llcy4KKyAgICAgICAgVGhhdCBpcyBhY2NvbXBsaXNoZWQgYnkgc3RvcmluZyBh
bGwgdGhlIGRhdGEgbmVlZGVkIHRvIGFuc3dlciBhY2Nlc3NpYmlsaXR5IGF0dHJpYnV0ZSBxdWVy
aWVzIGluIGEgc3RhdGljIG9iamVjdCB0aGF0IG1pcnJvcnMgdGhlICJsaXZlIiBBY2Nlc3NpYmls
aXR5T2JqZWN0cyAod2hpY2ggaW50ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVz
KS4KKyAgICAgICAgVGhlc2Ugc3RhdGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFm
dGVyIGxheW91dCBpcyBkb25lIGFuZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBU
aGV5IGFyZSB0aGVuIHN0b3JlZCBpbiB0aGUgc3RhdGljIHRyZWUgcmVwcmVzZW50YXRpb24gYW5k
IGFibGUgdG8gYmUgcmVhZCBmcm9tIGFueXdoZXJlLgorICAgICAgICBUYWN0aWNhbGx5IHRoaXMg
aXMgZG9uZSB3aXRoIEFYSXNvbGF0ZWRUcmVlTm9kZXMgaW5zaWRlIG9mIGFuIEFYSXNvbGF0ZWRU
cmVlQ2FjaGUuIFRoZSBUcmVlTm9kZXMgaW1wbGVtZW50IGFuIEFjY2Vzc2liaWxpdHlPYmplY3RJ
bnRlcmZhY2Ugc2hhcmVkIHdpdGggQWNjZXNzaWJpbGl0eU9iamVjdAorICAgICAgICBUaGlzIGFs
bG93cyB0aGUgd3JhcHBlcnMgdG8gYWNjZXNzIGVpdGhlciBvbmUgZGVwZW5kaW5nIG9uIGNvbmRp
dGlvbnMgYW5kIHBsYXRmb3JtcyB3aXRob3V0IHNpZ25pZmljYW50IGNvZGUgZHVwbGljYXRpb24g
b3IgcmUtb3JnYW5pemF0aW9uLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogU291
cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6Y3JlYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3Q6OnNldEluaXRpYWxpemVkSXNvbGF0ZWRUcmVlTm9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppbml0aWFsaXplZElzb2xhdGVkVHJlZU5v
ZGUgY29uc3QpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdElu
dGVyZmFjZS5oOiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZTog
QWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVDYWNoZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNo
ZTo6cGFnZVJvb3RNYXApOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6
dHJlZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OkFYSXNv
bGF0ZWRUcmVlQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9y
SUQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVGb3JQYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6Om5vZGVGb3JJRCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjpyb290Tm9kZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjpyZW1vdmVOb2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFwcGVuZE5vZGVDaGFuZ2VzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFwcGx5Q2hhbmdlTG9nKToKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVJZGVu
dGlmaWVyIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZU5vZGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlTm9kZTo6QVhJc29sYXRlZFRyZWVOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9k
ZTo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRl
ZFRyZWVOb2RlOjpzZXRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJl
ZU5vZGU6OmRvdWJsZUF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFY
SXNvbGF0ZWRUcmVlTm9kZTo6dW5zaWduZWRBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmJvb2xBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OnN0cmluZ0F0dHJpYnV0ZVZh
bHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6aW50QXR0
cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlTm9kZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlUmVsYXRpb25zaGlwOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRl
ZFRyZWVSZWxhdGlvbnNoaXA6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwKToKKyAgICAgICAg
KFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpvcGVyYXRvcj0pOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OnNldFBhcmVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6cGFyZW50IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpjaGlsZHJlbik6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlzb2xhdGVkVHJlZU5vZGUpOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QmFzZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQmFzZS5tbToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlIGluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDpdKToKKyAgICAgICAgKC1bV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGlzb2xhdGVkVHJlZU5vZGVdKToKKyAgICAgICAg
KC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGRldGFjaF0pOgorICAgICAgICAo
LVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgdXBkYXRlT2JqZWN0QmFja2luZ1N0
b3JlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBheEJh
Y2tpbmdPYmplY3RdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJC
YXNlIGJhc2VBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25dKToKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbToKKyAgICAgICAgKC1b
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgcm9sZV0pOgorICAgICAgICAoLVtXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlciBzdWJyb2xlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyIHJvbGVEZXNjcmlwdGlvbl0pOgorICAgICAgICAoLVtXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6XSk6CisK
IDIwMTktMDEtMTkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IGdldFVzZXJNZWRpYSB3aXRoIGEgZGV2aWNlSWQgZXhhY3QgY29uc3RyYWludCB3aXRoIGFuIGVt
cHR5IHN0cmluZyB2YWx1ZSBzaG91bGQgc3VjY2VlZApJbmRleDogU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9u
IDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJM
RV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBF
TkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBM
RV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgs
NCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJN
SVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9J
TlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5B
QkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFC
TEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NU
UkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dF
QkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1Qp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9Q
RVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJM
RV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQo
RU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VN
QkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHJldmlzaW9u
IDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0xOSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hA
YXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0
eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMDEtMTkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRz
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBQT0lOVEVSX0VWRU5UUyBmZWF0dXJlIGZsYWcK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJD
b3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBj
b3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09B
X1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91
Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUND
RVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFC
TEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhv
bmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRv
ciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAKIAogRU5BQkxFX1hTTFQg
PSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JN
UykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBM
SUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5U
UykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQo
RU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRU
UklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9N
QU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9P
TEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RS
RUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19F
TEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1F
VEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwor
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJ
RU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVS
SU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQp
ICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlf
QVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NP
TF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9f
VE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VT
QUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRM
RVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zOTksNiArMzk5LDggQEAKIGFjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVRyZWUuY3BwCiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlUcmVlSXRlbS5jcHAKIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVNldFZhbHVlRXZlbnQuY3Bw
CithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmNwcAorYWNj
ZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAogCiBhbmltYXRp
b24vQW5pbWF0aW9uRWZmZWN0LmNwcAogYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQu
Y3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTY5NCw2ICs2OTQsNyBA
QAogCQkyNkY5QTgzODE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2RjlBODM2
MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwICovOyB9OwogCQky
NkY5QTgzOTE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkY5QTgzNzE4QTA0NkFD
MDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkxNEUzMDgxQ0FCNUE0NDAwNDk5NjZGIC8q
IEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyOTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0
eUF0dGFjaG1lbnQuaCAqLzsgfTsKKwkJMjkzNkJGNUMyMUQ2OUU0QjAwNEE4RkM5IC8qIEFjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5MzZCRjVBMjFENjk5OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMjkzRUFFMUYxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MjkzRUFFMUUxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5NDg5RkM3
MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk0ODlGQzUxMkMwMEYwMzAwRDgz
RjBGIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmggKi87IH07CiAJCTI5N0JFM0Q1MTZDMDND
MDgwMDMzMTZCRCAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjUyN0NDOTExNkJGOEJBMTAw
OUREQUMwIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggKi87IH07CkBAIC03
MTUsNiArNzE2LDggQEAKIAkJMjlBODEyNDMwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxp
dHlMaXN0Qm94LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOUE4MTIyNTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3guaCAqLzsg
fTsKIAkJMjlBODEyNDkwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjlBODEyNDUwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTI5QUNCMjEyMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBQ0IyMTEx
NDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmggKi87IH07CisJCTI5
QUUyMTJEMjFBQjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEyQjIxQUI5RUVCMDA4
NjkyODMgLyogQVhJc29sYXRlZFRyZWVDYWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElz
b2xhdGVkVHJlZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOUQ3QkNG
QTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RDdCQ0Y5MTQ0NEFGN0QwMDcw
NjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovOyB9OwogCQkyOUZBRjRCNjE5NUFC
MDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RkFGNEI1MTk1QUIwODkwMEE1MjJE
QyAvKiBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJCMzY1Qzg0MTUyNTExOUUwMDkxRDI3QiAvKiBS
ZW5kZXJTVkdFbGxpcHNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyQjQyMzVBMDE1MjUwRjYwMDBEQkJDRDggLyogUmVuZGVyU1ZHRWxsaXBzZS5oICov
OyB9OwpAQCAtNjU2OSw2ICs2NTcyLDcgQEAKIAkJMjhEQjlCQzcyMDIwRUEwNDAwRTU0QTA3IC8q
IFBlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJm
b3JtYW5jZVNlcnZlclRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5
MTRFMzA1MUNBQjVBNDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNobWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5MTRFMzA2MUNBQjVBNDQwMDQ5
OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVj
dEludGVyZmFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5M0VBRTFFMTM1NkIyRkUwMDY3QUNG
OSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI5NDg5RkM1MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xs
Vmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U2Ny
b2xsVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ5ODY4MTE5NTM0MTk0
MDA3MkQyQkQgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY2MTYsNiArNjYyMCwxMCBAQAogCQkyOUE4
MTI0NzBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZU1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFYT2JqZWN0Q2FjaGVNYWMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QUNCMjExMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3Np
YmlsaXR5TW9ja09iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nl
c3NpYmlsaXR5TW9ja09iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFD
QjIxMzE0M0U3NDk4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUFFMjEyQjIxQUI5RUVCMDA4Njky
ODMgLyogQVhJc29sYXRlZFRyZWVDYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBWElzb2xhdGVkVHJl
ZUNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJDMjFBQjlFRUIw
MDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFY
SXNvbGF0ZWRUcmVlQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUFF
MjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFYSXNvbGF0ZWRUcmVlTm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
OUFFMjEzNDIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEFYSXNvbGF0ZWRUcmVlTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI5RDdCQ0Y1MTQ0NEFGNTgwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RDdCQ0Y5
MTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyOUUwNEEyN0JFRDJGODFGOThFOTAyMkIgLyogSlNCZWZv
cmVVbmxvYWRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JlZm9y
ZVVubG9hZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzIyMiw2ICsx
NzIzMCw3IEBACiAJCTI5QTgxMjA0MEZCQjlCNDEwMDUxMDI5MyAvKiBhY2Nlc3NpYmlsaXR5ICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkyOUFFMjEyOTIx
QUI5RUNCMDA4NjkyODMgLyogaXNvbGF0ZWR0cmVlICovLAogCQkJCUFBQTcyOEVGMTZEMUQ4QkMw
MEQzQkJDNiAvKiBpb3MgKi8sCiAJCQkJMjlBODEyMDUwRkJCOUI1MjAwNTEwMjkzIC8qIG1hYyAq
LywKIAkJCQkyOTgxQ0E5RDEzMTgyMkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlk
LmNwcCAqLywKQEAgLTE3MjYwLDYgKzE3MjY5LDcgQEAKIAkJCQkyOTg1NzA5MzE1Q0M1MzJEMDA2
MzU1Q0QgLyogQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaCAqLywKIAkJCQkyOTgxQ0FBNTEzMTgy
MkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgKi8sCiAJCQkJMjlBODEyMTgw
RkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3QuaCAqLywKKwkJCQkyOTM2QkY1
QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oICovLAog
CQkJCUE0MDlDOTgyMTE2RDBEREQwMDcxOTdCRCAvKiBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRp
Y2F0b3IuY3BwICovLAogCQkJCUE0MDlDOTgzMTE2RDBEREQwMDcxOTdCRCAvKiBBY2Nlc3NpYmls
aXR5UHJvZ3Jlc3NJbmRpY2F0b3IuaCAqLywKIAkJCQkyOTgxQ0FBNjEzMTgyMkVDMDBEMTJGMkEg
LyogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgKi8sCkBAIC0xNzMxNSw2ICsxNzMyNSwx
NyBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJ
CTI5QUUyMTI5MjFBQjlFQ0IwMDg2OTI4MyAvKiBpc29sYXRlZHRyZWUgKi8gPSB7CisJCQlpc2Eg
PSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTI5QUUyMTJCMjFBQjlFRUIwMDg2OTI4
MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmggKi8sCisJCQkJMjlBRTIxMkMyMUFCOUVFQjAwODY5
MjgzIC8qIEFYSXNvbGF0ZWRUcmVlQ2FjaGUuY3BwICovLAorCQkJCTI5QUUyMTMzMjFBQkE0OEEw
MDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAqLywKKwkJCQkyOUFFMjEzNDIxQUJBNDhB
MDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmNwcCAqLywKKwkJCSk7CisJCQlwYXRoID0g
aXNvbGF0ZWR0cmVlOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMkQwNjIx
NDYxREE2MzlFQzAwQTdGQjI2IC8qIGxlZ2FjeSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCkBAIC0yOTk1Miw2ICsyOTk3Myw3IEBACiAJCQkJMUFFMkFBOTgwQTFD
REQyRDAwQjQyQjI1IC8qIEpTSFRNTEltYWdlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTgwRTdFOTcwQTFBODNFMzAwN0ZCOEM1IC8qIEpTSFRNTElucHV0RWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODM2QjA5NTYxRjVGMzREOTAwM0MzNzAyIC8qIEpTSFRNTElucHV0RWxlbWVu
dEVudHJpZXNBUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5MzZCRjVDMjFENjlFNEIwMDRBOEZD
OSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
NjE0OEE3OTEyRTQxRTNCMDA0NEE3ODQgLyogSlNIVE1MS2V5Z2VuRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFFMkFCMjIwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTExhYmVsRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFCMjQwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRN
TExlZ2VuZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzE0MDYsNiArMzE0MjgsNyBAQAog
CQkJCTUxNDA1Qzg5MTkwQjAxNDQwMDc1NEY5NCAvKiBTZWxlY3Rpb25SZWN0R2F0aGVyZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0NEI0QkI0MTQxNjUwRDcwMDJCMUQ4QiAvKiBTZWxlY3RvckNo
ZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQzMkQzRkU4MThBODY1ODQwMEQ3REMwMyAvKiBT
ZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUFFMjEz
NTIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyNkI5OTk5NzE4MDRENTQyMDBEMDExMjEgLyogU2VsZWN0b3JDb21waWxlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDE1MDcxNTgxNjg1MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzEwN0JFMjE4Q0MxOURFMDBDQzE4RTggLyogU2VsZWN0
b3JQc2V1ZG9UeXBlTWFwLmggaW4gSGVhZGVycyAqLywKQEAgLTMyMzQxLDYgKzMyMzY0LDcgQEAK
IAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBNTQxNkZFNjE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVk
U2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0E1NTE1RjUxOTE4MzBBMzAwOTY4
N0QyIC8qIFlvdVR1YmVQbHVnaW5SZXBsYWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlB
RTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5j
cHAJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDggQEAKIAogI2luY2x1
ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKIAorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIK
KyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5
QVJJQUdyaWQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgiCiAjaW5j
bHVkZSAiQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmgiCkBAIC03MjMsNyArNzI1LDEwIEBACiAg
ICAgb2JqZWN0LT5zZXRBWE9iamVjdElEKDApOwogCiAgICAgbV9pZHNJblVzZS5yZW1vdmUoYXhJ
RCk7Ci0KKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIEFYSXNv
bGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9yUGFnZShtX2RvY3VtZW50LnBhZ2UoKSktPnJlbW92ZU5v
ZGUoYXhJRCk7CisjZW5kaWYKKyAgICAKICAgICBBU1NFUlQobV9vYmplY3RzLnNpemUoKSA+PSBt
X2lkc0luVXNlLnNpemUoKSk7CiB9CiAgICAgCkBAIC0yOTA3LDYgKzI5MTIsNDAgQEAKICAgICBt
X2RlZmVycmVkRm9jdXNlZE5vZGVDaGFuZ2UuY2xlYXIoKTsKIH0KICAgICAKKyNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4g
QVhPYmplY3RDYWNoZTo6Y3JlYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWUoQWNjZXNzaWJpbGl0
eU9iamVjdCYgb2JqZWN0LCBBWElEIHBhcmVudElELCBBWElzb2xhdGVkVHJlZUNhY2hlJiBjYWNo
ZSwgVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYgbm9kZXMpCit7CisgICAgUmVm
UHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gaXNvbGF0ZWRUcmVlTm9kZSA9IEFYSXNvbGF0ZWRUcmVl
Tm9kZTo6Y3JlYXRlKG9iamVjdCk7CisgICAgbm9kZXMuYXBwZW5kKGlzb2xhdGVkVHJlZU5vZGUp
OworICAgIAorICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4gcmVsYXRpb25z
aGlwID0gQVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OmNyZWF0ZSgpOworICAgIHJlbGF0aW9u
c2hpcC0+c2V0UGFyZW50KHBhcmVudElEKTsKKyAgICBvYmplY3Quc2V0SW5pdGlhbGl6ZWRJc29s
YXRlZFRyZWVOb2RlKHRydWUpOworICAgIGFzc29jaWF0ZUlzb2xhdGVkVHJlZU5vZGUob2JqZWN0
LCAqaXNvbGF0ZWRUcmVlTm9kZSwgY2FjaGUuY2FjaGVJZGVudGlmaWVyKCkpOworICAgIAorICAg
IGZvciAoYXV0byBjaGlsZCA6IG9iamVjdC5jaGlsZHJlbigpKSB7CisgICAgICAgIGF1dG8gc3Rh
dGljQ2hpbGQgPSBjcmVhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZSgqY2hpbGQsIGlzb2xhdGVk
VHJlZU5vZGUtPmlkZW50aWZpZXIoKSwgY2FjaGUsIG5vZGVzKTsKKyAgICAgICAgcmVsYXRpb25z
aGlwLT5jaGlsZHJlbigpLmFwcGVuZChzdGF0aWNDaGlsZC0+aWRlbnRpZmllcigpKTsKKyAgICB9
CisgICAgCisgICAgaXNvbGF0ZWRUcmVlTm9kZS0+c2V0UmVsYXRpb25zaGlwKHJlbGF0aW9uc2hp
cCk7CisgICAgcmV0dXJuIGlzb2xhdGVkVHJlZU5vZGU7Cit9CisgICAgCit2b2lkIEFYT2JqZWN0
Q2FjaGU6OmdlbmVyYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWVJZk5lZWRlZCgpCit7CisgICAg
aWYgKHJvb3RPYmplY3QoKS0+aW5pdGlhbGl6ZWRJc29sYXRlZFRyZWVOb2RlKCkpCisgICAgICAg
IHJldHVybjsKKyAgICAKKyAgICBSZWZQdHI8QVhJc29sYXRlZFRyZWVDYWNoZT4gY2FjaGUgPSBB
WElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvclBhZ2UobV9kb2N1bWVudC5wYWdlKCkpOworICAg
IFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbm9kZXM7CisgICAgUmVmUHRyPEFY
SXNvbGF0ZWRUcmVlTm9kZT4gcm9vdCA9IGNyZWF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlKCpy
b290T2JqZWN0KCksIDAsICpjYWNoZSwgbm9kZXMpOworICAgIHJvb3QtPnNldElzUm9vdE5vZGUo
dHJ1ZSk7CisgICAgCisgICAgY2FjaGUtPmFwcGVuZE5vZGVDaGFuZ2VzKG5vZGVzKTsKK30KKyNl
bmRpZgorICAgIAogdm9pZCBBWE9iamVjdENhY2hlOjpkZWZlclJlY29tcHV0ZUlzSWdub3JlZElm
TmVlZGVkKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgaWYgKCFub2RlQW5kUmVuZGVyZXJBcmVW
YWxpZChlbGVtZW50KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5oCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOSBAQAog
CiAjcHJhZ21hIG9uY2UKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVDYWNoZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiQVhU
ZXh0U3RhdGVDaGFuZ2VJbnRlbnQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0Lmgi
CiAjaW5jbHVkZSAiUmFuZ2UuaCIKQEAgLTM5LDYgKzQyLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK2NsYXNzIEFY
SXNvbGF0ZWRUcmVlTm9kZTsKKyNlbmRpZgogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MQXJl
YUVsZW1lbnQ7CiBjbGFzcyBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDsKQEAgLTE4MCw2ICsx
ODYsMTMgQEAKICAgICB2b2lkIGRlZmVyQXR0cmlidXRlQ2hhbmdlSWZOZWVkZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIEVsZW1lbnQqKTsKICAgICB2b2lkIHJlY29tcHV0ZUlzSWdub3JlZChSZW5k
ZXJPYmplY3QqIHJlbmRlcmVyKTsKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxp
dHlUcmVlSWZOZWVkZWQoKTsKKworICAgIHZvaWQgYXNzb2NpYXRlSXNvbGF0ZWRUcmVlTm9kZShB
Y2Nlc3NpYmlsaXR5T2JqZWN0JiwgQVhJc29sYXRlZFRyZWVOb2RlJiwgQVhJc29sYXRlZENhY2hl
SUQpOworICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IGNyZWF0ZVN0YXRpY0FjY2Vzc2li
aWxpdHlUcmVlKEFjY2Vzc2liaWxpdHlPYmplY3QmLCBBWElELCBBWElzb2xhdGVkVHJlZUNhY2hl
JiwgVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYpOworI2VuZGlmCisgICAgCiAj
aWYgSEFWRShBQ0NFU1NJQklMSVRZKQogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGVu
YWJsZUFjY2Vzc2liaWxpdHkoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBkaXNh
YmxlQWNjZXNzaWJpbGl0eSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1
ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5o
IgpAQCAtODksMTU3ICs5MCw2IEBACiBjbGFzcyBTY3JvbGxWaWV3OwogY2xhc3MgV2lkZ2V0Owog
Ci10eXBlZGVmIHVuc2lnbmVkIEFYSUQ7Ci0KLWVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUg
ewotICAgIEFubm90YXRpb24gPSAxLAotICAgIEFwcGxpY2F0aW9uLAotICAgIEFwcGxpY2F0aW9u
QWxlcnQsCi0gICAgQXBwbGljYXRpb25BbGVydERpYWxvZywKLSAgICBBcHBsaWNhdGlvbkRpYWxv
ZywKLSAgICBBcHBsaWNhdGlvbkdyb3VwLAotICAgIEFwcGxpY2F0aW9uTG9nLAotICAgIEFwcGxp
Y2F0aW9uTWFycXVlZSwKLSAgICBBcHBsaWNhdGlvblN0YXR1cywKLSAgICBBcHBsaWNhdGlvblRl
eHRHcm91cCwKLSAgICBBcHBsaWNhdGlvblRpbWVyLAotICAgIEF1ZGlvLAotICAgIEJsb2NrcXVv
dGUsCi0gICAgQnJvd3NlciwKLSAgICBCdXN5SW5kaWNhdG9yLAotICAgIEJ1dHRvbiwKLSAgICBD
YW52YXMsCi0gICAgQ2FwdGlvbiwKLSAgICBDZWxsLAotICAgIENoZWNrQm94LAotICAgIENvbG9y
V2VsbCwKLSAgICBDb2x1bW4sCi0gICAgQ29sdW1uSGVhZGVyLAotICAgIENvbWJvQm94LAotICAg
IERlZmluaXRpb24sCi0gICAgRGVzY3JpcHRpb25MaXN0LAotICAgIERlc2NyaXB0aW9uTGlzdFRl
cm0sCi0gICAgRGVzY3JpcHRpb25MaXN0RGV0YWlsLAotICAgIERldGFpbHMsCi0gICAgRGlyZWN0
b3J5LAotICAgIERpc2Nsb3N1cmVUcmlhbmdsZSwKLSAgICBEaXYsCi0gICAgRG9jdW1lbnQsCi0g
ICAgRG9jdW1lbnRBcnRpY2xlLAotICAgIERvY3VtZW50TWF0aCwKLSAgICBEb2N1bWVudE5vdGUs
Ci0gICAgRHJhd2VyLAotICAgIEVkaXRhYmxlVGV4dCwKLSAgICBGZWVkLAotICAgIEZpZ3VyZSwK
LSAgICBGb290ZXIsCi0gICAgRm9vdG5vdGUsCi0gICAgRm9ybSwKLSAgICBHcmFwaGljc0RvY3Vt
ZW50LAotICAgIEdyYXBoaWNzT2JqZWN0LAotICAgIEdyYXBoaWNzU3ltYm9sLAotICAgIEdyaWQs
Ci0gICAgR3JpZENlbGwsCi0gICAgR3JvdXAsCi0gICAgR3Jvd0FyZWEsCi0gICAgSGVhZGluZywK
LSAgICBIZWxwVGFnLAotICAgIEhvcml6b250YWxSdWxlLAotICAgIElnbm9yZWQsCi0gICAgSW5s
aW5lLAotICAgIEltYWdlLAotICAgIEltYWdlTWFwLAotICAgIEltYWdlTWFwTGluaywKLSAgICBJ
bmNyZW1lbnRvciwKLSAgICBMYWJlbCwKLSAgICBMYW5kbWFya0Jhbm5lciwKLSAgICBMYW5kbWFy
a0NvbXBsZW1lbnRhcnksCi0gICAgTGFuZG1hcmtDb250ZW50SW5mbywKLSAgICBMYW5kbWFya0Rv
Y1JlZ2lvbiwKLSAgICBMYW5kbWFya01haW4sCi0gICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAotICAg
IExhbmRtYXJrUmVnaW9uLAotICAgIExhbmRtYXJrU2VhcmNoLAotICAgIExlZ2VuZCwKLSAgICBM
aW5rLAotICAgIExpc3QsCi0gICAgTGlzdEJveCwKLSAgICBMaXN0Qm94T3B0aW9uLAotICAgIExp
c3RJdGVtLAotICAgIExpc3RNYXJrZXIsCi0gICAgTWFyaywKLSAgICBNYXRoRWxlbWVudCwKLSAg
ICBNYXR0ZSwKLSAgICBNZW51LAotICAgIE1lbnVCYXIsCi0gICAgTWVudUJ1dHRvbiwKLSAgICBN
ZW51SXRlbSwKLSAgICBNZW51SXRlbUNoZWNrYm94LAotICAgIE1lbnVJdGVtUmFkaW8sCi0gICAg
TWVudUxpc3RQb3B1cCwKLSAgICBNZW51TGlzdE9wdGlvbiwKLSAgICBPdXRsaW5lLAotICAgIFBh
cmFncmFwaCwKLSAgICBQb3BVcEJ1dHRvbiwKLSAgICBQcmUsCi0gICAgUHJlc2VudGF0aW9uYWws
Ci0gICAgUHJvZ3Jlc3NJbmRpY2F0b3IsCi0gICAgUmFkaW9CdXR0b24sCi0gICAgUmFkaW9Hcm91
cCwKLSAgICBSb3dIZWFkZXIsCi0gICAgUm93LAotICAgIFJvd0dyb3VwLAotICAgIFJ1YnlCYXNl
LAotICAgIFJ1YnlCbG9jaywKLSAgICBSdWJ5SW5saW5lLAotICAgIFJ1YnlSdW4sCi0gICAgUnVi
eVRleHQsCi0gICAgUnVsZXIsCi0gICAgUnVsZXJNYXJrZXIsCi0gICAgU2Nyb2xsQXJlYSwKLSAg
ICBTY3JvbGxCYXIsCi0gICAgU2VhcmNoRmllbGQsCi0gICAgU2hlZXQsCi0gICAgU2xpZGVyLAot
ICAgIFNsaWRlclRodW1iLAotICAgIFNwaW5CdXR0b24sCi0gICAgU3BpbkJ1dHRvblBhcnQsCi0g
ICAgU3BsaXRHcm91cCwKLSAgICBTcGxpdHRlciwKLSAgICBTdGF0aWNUZXh0LAotICAgIFN1bW1h
cnksCi0gICAgU3dpdGNoLAotICAgIFN5c3RlbVdpZGUsCi0gICAgU1ZHUm9vdCwKLSAgICBTVkdU
ZXh0LAotICAgIFNWR1RTcGFuLAotICAgIFNWR1RleHRQYXRoLAotICAgIFRhYkdyb3VwLAotICAg
IFRhYkxpc3QsCi0gICAgVGFiUGFuZWwsCi0gICAgVGFiLAotICAgIFRhYmxlLAotICAgIFRhYmxl
SGVhZGVyQ29udGFpbmVyLAotICAgIFRleHRBcmVhLAotICAgIFRleHRHcm91cCwKLSAgICBUZXJt
LAotICAgIFRpbWUsCi0gICAgVHJlZSwKLSAgICBUcmVlR3JpZCwKLSAgICBUcmVlSXRlbSwKLSAg
ICBUZXh0RmllbGQsCi0gICAgVG9nZ2xlQnV0dG9uLAotICAgIFRvb2xiYXIsCi0gICAgVW5rbm93
biwKLSAgICBVc2VySW50ZXJmYWNlVG9vbHRpcCwKLSAgICBWYWx1ZUluZGljYXRvciwKLSAgICBW
aWRlbywKLSAgICBXZWJBcHBsaWNhdGlvbiwKLSAgICBXZWJBcmVhLAotICAgIFdlYkNvcmVMaW5r
LAotICAgIFdpbmRvdywKLX07Ci0KIGVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVRleHRTb3VyY2Ug
ewogICAgIEFsdGVybmF0aXZlLAogICAgIENoaWxkcmVuLApAQCAtNDkxLDcgKzM0MSw3IEBACiAg
ICAgCiBib29sIG5vZGVIYXNQcmVzZW50YXRpb25Sb2xlKE5vZGUqKTsKICAgICAKLWNsYXNzIEFj
Y2Vzc2liaWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0
PiB7CitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0IDogcHVibGljIFJlZkNvdW50ZWQ8QWNjZXNz
aWJpbGl0eU9iamVjdD4sIHB1YmxpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKIHBy
b3RlY3RlZDoKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KCkgPSBkZWZhdWx0OwogICAgIApAQCAt
MTE1MCw2ICsxMDAwLDExIEBACiAgICAgdm9pZCBjbGVhcklzSWdub3JlZEZyb21QYXJlbnREYXRh
KCkgeyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhID0gQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZy
b21QYXJlbnREYXRhKCk7IH0KICAgICB2b2lkIHNldElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9y
Q2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdCopOwogICAgIAorI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUpCisgICAgdm9pZCBzZXRJbml0aWFsaXplZElzb2xhdGVkVHJlZU5v
ZGUoYm9vbCBpbml0aWFsaXplZCkgeyBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZCA9IGlu
aXRpYWxpemVkOyB9CisgICAgYm9vbCBpbml0aWFsaXplZElzb2xhdGVkVHJlZU5vZGUoKSBjb25z
dCB7IHJldHVybiBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZDsgfQorI2VuZGlmCisgICAg
CiBwcm90ZWN0ZWQ6CiAgICAgQVhJRCBtX2lkIHsgMCB9OwogICAgIEFjY2Vzc2liaWxpdHlDaGls
ZHJlblZlY3RvciBtX2NoaWxkcmVuOwpAQCAtMTE1OSw3ICsxMDE0LDEwIEBACiAgICAgQWNjZXNz
aWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhIG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEg
eyB9OwogICAgIGJvb2wgbV9jaGlsZHJlbkRpcnR5IHsgZmFsc2UgfTsKICAgICBib29sIG1fc3Vi
dHJlZURpcnR5IHsgZmFsc2UgfTsKLQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCisgICAgYm9vbCBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZCB7IGZhbHNlIH07
CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHNldElzSWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vz
c2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSYgZGF0YSkgeyBtX2lzSWdub3JlZEZyb21Q
YXJlbnREYXRhID0gZGF0YTsgfQogCiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVBY2Nlc3NpYmls
aXR5SXNJZ25vcmVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
OTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit0eXBlZGVmIHVuc2lnbmVkIEFYSUQ7CisKK2VudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUg
eworICAgIEFubm90YXRpb24gPSAxLAorICAgIEFwcGxpY2F0aW9uLAorICAgIEFwcGxpY2F0aW9u
QWxlcnQsCisgICAgQXBwbGljYXRpb25BbGVydERpYWxvZywKKyAgICBBcHBsaWNhdGlvbkRpYWxv
ZywKKyAgICBBcHBsaWNhdGlvbkdyb3VwLAorICAgIEFwcGxpY2F0aW9uTG9nLAorICAgIEFwcGxp
Y2F0aW9uTWFycXVlZSwKKyAgICBBcHBsaWNhdGlvblN0YXR1cywKKyAgICBBcHBsaWNhdGlvblRl
eHRHcm91cCwKKyAgICBBcHBsaWNhdGlvblRpbWVyLAorICAgIEF1ZGlvLAorICAgIEJsb2NrcXVv
dGUsCisgICAgQnJvd3NlciwKKyAgICBCdXN5SW5kaWNhdG9yLAorICAgIEJ1dHRvbiwKKyAgICBD
YW52YXMsCisgICAgQ2FwdGlvbiwKKyAgICBDZWxsLAorICAgIENoZWNrQm94LAorICAgIENvbG9y
V2VsbCwKKyAgICBDb2x1bW4sCisgICAgQ29sdW1uSGVhZGVyLAorICAgIENvbWJvQm94LAorICAg
IERlZmluaXRpb24sCisgICAgRGVzY3JpcHRpb25MaXN0LAorICAgIERlc2NyaXB0aW9uTGlzdFRl
cm0sCisgICAgRGVzY3JpcHRpb25MaXN0RGV0YWlsLAorICAgIERldGFpbHMsCisgICAgRGlyZWN0
b3J5LAorICAgIERpc2Nsb3N1cmVUcmlhbmdsZSwKKyAgICBEaXYsCisgICAgRG9jdW1lbnQsCisg
ICAgRG9jdW1lbnRBcnRpY2xlLAorICAgIERvY3VtZW50TWF0aCwKKyAgICBEb2N1bWVudE5vdGUs
CisgICAgRHJhd2VyLAorICAgIEVkaXRhYmxlVGV4dCwKKyAgICBGZWVkLAorICAgIEZpZ3VyZSwK
KyAgICBGb290ZXIsCisgICAgRm9vdG5vdGUsCisgICAgRm9ybSwKKyAgICBHcmFwaGljc0RvY3Vt
ZW50LAorICAgIEdyYXBoaWNzT2JqZWN0LAorICAgIEdyYXBoaWNzU3ltYm9sLAorICAgIEdyaWQs
CisgICAgR3JpZENlbGwsCisgICAgR3JvdXAsCisgICAgR3Jvd0FyZWEsCisgICAgSGVhZGluZywK
KyAgICBIZWxwVGFnLAorICAgIEhvcml6b250YWxSdWxlLAorICAgIElnbm9yZWQsCisgICAgSW5s
aW5lLAorICAgIEltYWdlLAorICAgIEltYWdlTWFwLAorICAgIEltYWdlTWFwTGluaywKKyAgICBJ
bmNyZW1lbnRvciwKKyAgICBMYWJlbCwKKyAgICBMYW5kbWFya0Jhbm5lciwKKyAgICBMYW5kbWFy
a0NvbXBsZW1lbnRhcnksCisgICAgTGFuZG1hcmtDb250ZW50SW5mbywKKyAgICBMYW5kbWFya0Rv
Y1JlZ2lvbiwKKyAgICBMYW5kbWFya01haW4sCisgICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAorICAg
IExhbmRtYXJrUmVnaW9uLAorICAgIExhbmRtYXJrU2VhcmNoLAorICAgIExlZ2VuZCwKKyAgICBM
aW5rLAorICAgIExpc3QsCisgICAgTGlzdEJveCwKKyAgICBMaXN0Qm94T3B0aW9uLAorICAgIExp
c3RJdGVtLAorICAgIExpc3RNYXJrZXIsCisgICAgTWFyaywKKyAgICBNYXRoRWxlbWVudCwKKyAg
ICBNYXR0ZSwKKyAgICBNZW51LAorICAgIE1lbnVCYXIsCisgICAgTWVudUJ1dHRvbiwKKyAgICBN
ZW51SXRlbSwKKyAgICBNZW51SXRlbUNoZWNrYm94LAorICAgIE1lbnVJdGVtUmFkaW8sCisgICAg
TWVudUxpc3RQb3B1cCwKKyAgICBNZW51TGlzdE9wdGlvbiwKKyAgICBPdXRsaW5lLAorICAgIFBh
cmFncmFwaCwKKyAgICBQb3BVcEJ1dHRvbiwKKyAgICBQcmUsCisgICAgUHJlc2VudGF0aW9uYWws
CisgICAgUHJvZ3Jlc3NJbmRpY2F0b3IsCisgICAgUmFkaW9CdXR0b24sCisgICAgUmFkaW9Hcm91
cCwKKyAgICBSb3dIZWFkZXIsCisgICAgUm93LAorICAgIFJvd0dyb3VwLAorICAgIFJ1YnlCYXNl
LAorICAgIFJ1YnlCbG9jaywKKyAgICBSdWJ5SW5saW5lLAorICAgIFJ1YnlSdW4sCisgICAgUnVi
eVRleHQsCisgICAgUnVsZXIsCisgICAgUnVsZXJNYXJrZXIsCisgICAgU2Nyb2xsQXJlYSwKKyAg
ICBTY3JvbGxCYXIsCisgICAgU2VhcmNoRmllbGQsCisgICAgU2hlZXQsCisgICAgU2xpZGVyLAor
ICAgIFNsaWRlclRodW1iLAorICAgIFNwaW5CdXR0b24sCisgICAgU3BpbkJ1dHRvblBhcnQsCisg
ICAgU3BsaXRHcm91cCwKKyAgICBTcGxpdHRlciwKKyAgICBTdGF0aWNUZXh0LAorICAgIFN1bW1h
cnksCisgICAgU3dpdGNoLAorICAgIFN5c3RlbVdpZGUsCisgICAgU1ZHUm9vdCwKKyAgICBTVkdU
ZXh0LAorICAgIFNWR1RTcGFuLAorICAgIFNWR1RleHRQYXRoLAorICAgIFRhYkdyb3VwLAorICAg
IFRhYkxpc3QsCisgICAgVGFiUGFuZWwsCisgICAgVGFiLAorICAgIFRhYmxlLAorICAgIFRhYmxl
SGVhZGVyQ29udGFpbmVyLAorICAgIFRleHRBcmVhLAorICAgIFRleHRHcm91cCwKKyAgICBUZXJt
LAorICAgIFRpbWUsCisgICAgVHJlZSwKKyAgICBUcmVlR3JpZCwKKyAgICBUcmVlSXRlbSwKKyAg
ICBUZXh0RmllbGQsCisgICAgVG9nZ2xlQnV0dG9uLAorICAgIFRvb2xiYXIsCisgICAgVW5rbm93
biwKKyAgICBVc2VySW50ZXJmYWNlVG9vbHRpcCwKKyAgICBWYWx1ZUluZGljYXRvciwKKyAgICBW
aWRlbywKKyAgICBXZWJBcHBsaWNhdGlvbiwKKyAgICBXZWJBcmVhLAorICAgIFdlYkNvcmVMaW5r
LAorICAgIFdpbmRvdywKK307CisKK2NsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2Ug
eworcHVibGljOgorICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UoKSA9
IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNNZWRpYUNvbnRyb2xMYWJlbCgpIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdHRhY2htZW50KCkgY29uc3QgPSAwOworfTsKKworfQpJ
bmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRl
ZFRyZWVDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVDYWNoZS5jcHAJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVD
YWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIKKworI2luY2x1ZGUgIkFYSXNv
bGF0ZWRUcmVlTm9kZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlIDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorc3RhdGljIHVuc2lnbmVk
IHNfY2FjaGVJRENvdW50ID0gMDsKK0hhc2hNYXA8UGFnZSosIFJlZlB0cjxBWElzb2xhdGVkVHJl
ZUNhY2hlPj4mIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnBhZ2VSb290TWFwKCkKK3sKKyAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxQYWdlKiwgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2Fj
aGU+Pj4gbWFwOworICAgIHJldHVybiBtYXA7Cit9CisKK0hhc2hNYXA8QVhJc29sYXRlZENhY2hl
SUQsIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4mIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnRy
ZWVDYWNoZSgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8QVhJc29sYXRl
ZENhY2hlSUQsIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4+IG1hcDsKKyAgICByZXR1cm4g
bWFwOworfQorCitBWElzb2xhdGVkVHJlZUNhY2hlOjpBWElzb2xhdGVkVHJlZUNhY2hlKCkKKyAg
ICA6IG1fY2FjaGVJRCgrK3NfY2FjaGVJRENvdW50KQoreworfQorCitBWElzb2xhdGVkVHJlZUNh
Y2hlOjp+QVhJc29sYXRlZFRyZWVDYWNoZSgpID0gZGVmYXVsdDsKKworUmVmPEFYSXNvbGF0ZWRU
cmVlQ2FjaGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgQVhJc29sYXRlZFRyZWVDYWNoZSgpKTsKK30KKyAgICAKK1JlZlB0cjxBWElz
b2xhdGVkVHJlZUNhY2hlPiBBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvcklEKEFYSXNvbGF0
ZWRDYWNoZUlEIGNhY2hlSUQpCit7CisgICAgcmV0dXJuIHRyZWVDYWNoZSgpLmdldChjYWNoZUlE
KTsKK30KKworUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6
OmNhY2hlRm9yUGFnZShQYWdlKiBwYWdlKQoreworICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNh
Y2hlPiBjYWNoZSA9IHBhZ2VSb290TWFwKCkuZ2V0KHBhZ2UpOworICAgIGlmICghY2FjaGUpIHsK
KyAgICAgICAgY2FjaGUgPSBBWElzb2xhdGVkVHJlZUNhY2hlOjpjcmVhdGUoKTsKKyAgICAgICAg
cGFnZVJvb3RNYXAoKS5zZXQocGFnZSwgY2FjaGUpOworICAgICAgICB0cmVlQ2FjaGUoKS5zZXQo
Y2FjaGUtPmNhY2hlSWRlbnRpZmllcigpLCBjYWNoZSk7CisgICAgfQorICAgIHJldHVybiBjYWNo
ZTsKK30KKyAgICAKK1JlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlQ2Fj
aGU6Om5vZGVGb3JJRChBWElEIGF4SUQpIGNvbnN0Cit7CisgICAgaWYgKCFheElEKQorICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gbV9jYWNoZS5nZXQoYXhJRCk7Cit9CisKK1Jl
ZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnJvb3ROb2RlKCkK
K3sKKyAgICByZXR1cm4gbm9kZUZvcklEKG1fcm9vdE5vZGVJRCk7Cit9CisKK3ZvaWQgQVhJc29s
YXRlZFRyZWVDYWNoZTo6cmVtb3ZlTm9kZShBWElEIGF4SUQpCit7CisgICAgbV9jaGFuZ2VMb2dM
b2NrLmxvY2soKTsKKyAgICBtX3JlbW92ZUNoYW5nZUxvZy5hcHBlbmQoYXhJRCk7CisgICAgbV9j
aGFuZ2VMb2dMb2NrLnVubG9jaygpOworfQorCit2b2lkIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFw
cGVuZE5vZGVDaGFuZ2VzKFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4mIGxvZykK
K3sKKyAgICBtX2NoYW5nZUxvZ0xvY2subG9jaygpOworICAgIG1fYXBwZW5kQ2hhbmdlTG9nLmFw
cGVuZFZlY3Rvcihsb2cpOworICAgIG1fY2hhbmdlTG9nTG9jay51bmxvY2soKTsKK30KKyAgICAK
K3ZvaWQgQVhJc29sYXRlZFRyZWVDYWNoZTo6YXBwbHlDaGFuZ2VMb2coKQoreworICAgIFZlY3Rv
cjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gYXBwZW5kQ29weTsKKyAgICBWZWN0b3I8QVhJ
RD4gcmVtb3ZlQ29weTsKKworICAgIG1fY2hhbmdlTG9nTG9jay5sb2NrKCk7CisgICAgYXBwZW5k
Q29weSA9IG1fYXBwZW5kQ2hhbmdlTG9nOworICAgIHJlbW92ZUNvcHkgPSBtX3JlbW92ZUNoYW5n
ZUxvZzsKKyAgICAKKyAgICBtX2FwcGVuZENoYW5nZUxvZy5jbGVhcigpOworICAgIG1fcmVtb3Zl
Q2hhbmdlTG9nLmNsZWFyKCk7CisgICAgbV9jaGFuZ2VMb2dMb2NrLnVubG9jaygpOworCisgICAg
Zm9yIChhdXRvIGl0ZW0gOiBhcHBlbmRDb3B5KSB7CisgICAgICAgIG1fY2FjaGUuc2V0KGl0ZW0t
PmlkZW50aWZpZXIoKSwgaXRlbSk7CisgICAgICAgIGlmIChpdGVtLT5pc1Jvb3ROb2RlKCkpCisg
ICAgICAgICAgICBtX3Jvb3ROb2RlSUQgPSBpdGVtLT5pZGVudGlmaWVyKCk7CisgICAgfQorCisg
ICAgZm9yIChhdXRvIGl0ZW0gOiByZW1vdmVDb3B5KQorICAgICAgICBtX2NhY2hlLnJlbW92ZShp
dGVtKTsKK30KKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVDYWNoZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQor
CisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZD
b3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGFnZTsKKwordHlwZWRl
ZiB1bnNpZ25lZCBBWElzb2xhdGVkQ2FjaGVJRDsKKyAgICAKK2NsYXNzIEFYSXNvbGF0ZWRUcmVl
Q2FjaGUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QVhJc29sYXRlZFRyZWVDYWNoZT4g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFYSXNvbGF0ZWRUcmVlQ2FjaGUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKKworcHVibGljOgorICAgIHN0YXRpYyBSZWY8QVhJc29sYXRlZFRy
ZWVDYWNoZT4gY3JlYXRlKCk7CisgICAgdmlydHVhbCB+QVhJc29sYXRlZFRyZWVDYWNoZSgpOwor
CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPiBj
YWNoZUZvclBhZ2UoUGFnZSopOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8QVhJ
c29sYXRlZFRyZWVDYWNoZT4gY2FjaGVGb3JJRChBWElzb2xhdGVkQ2FjaGVJRCk7CisKKyAgICBX
RUJDT1JFX0VYUE9SVCBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiByb290Tm9kZSgpOworICAg
IFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IG5vZGVGb3JJRChBWElEKSBjb25zdDsKKworICAg
IC8vIENhbGwgb24gbWFpbiB0aHJlYWQKKyAgICB2b2lkIGFwcGVuZE5vZGVDaGFuZ2VzKFZlY3Rv
cjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4mKTsKKyAgICB2b2lkIHJlbW92ZU5vZGUoQVhJ
RCk7CisKKyAgICAvLyBDYWxsIG9uIEFYIHRocmVhZAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
YXBwbHlDaGFuZ2VMb2coKTsKKyAgICAKKyAgICBBWElzb2xhdGVkQ2FjaGVJRCBjYWNoZUlkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlSUQ7IH0KKyAgICAKK3ByaXZhdGU6CisgICAg
QVhJc29sYXRlZFRyZWVDYWNoZSgpOworCisgICAgc3RhdGljIEhhc2hNYXA8UGFnZSosIFJlZlB0
cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4mIHBhZ2VSb290TWFwKCk7CisgICAgc3RhdGljIEhhc2hN
YXA8QVhJc29sYXRlZENhY2hlSUQsIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4mIHRyZWVD
YWNoZSgpOworICAgIAorICAgIC8vIE9ubHkgYWNjZXNzIG9uIEFYIHRocmVhZCByZXF1ZXN0aW5n
IGRhdGEuCisgICAgSGFzaE1hcDxBWElELCBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbV9j
YWNoZTsKKyAgICAKKyAgICAvLyBXcml0dGVuIHRvIGJ5IG1haW4gdGhyZWFkIHVuZGVyIGxvY2ss
IGFjY2Vzc2VkIGFuZCBhcHBsaWVkIGJ5IEFYIHRocmVhZC4KKyAgICBWZWN0b3I8UmVmUHRyPEFY
SXNvbGF0ZWRUcmVlTm9kZT4+IG1fYXBwZW5kQ2hhbmdlTG9nOworICAgIFZlY3RvcjxBWElEPiBt
X3JlbW92ZUNoYW5nZUxvZzsKKyAgICBMb2NrIG1fY2hhbmdlTG9nTG9jazsKKworICAgIEFYSXNv
bGF0ZWRDYWNoZUlEIG1fY2FjaGVJRDsKKyAgICBBWElEIG1fcm9vdE5vZGVJRDsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRU
cmVlTm9kZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDExOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFKQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZFRy
ZWVOb2RlLmgiCisKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworQVhJc29sYXRlZFRyZWVOb2RlOjpBWElzb2xhdGVkVHJlZU5vZGUoY29u
c3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQorICAgIDogbV9pZGVudGlmaWVyKG9iamVj
dC5heE9iamVjdElEKCkpCisgICAgLCBtX3JlbGF0aW9uc2hpcChudWxscHRyKQoreworICAgIGlu
aXRpYWxpemVBdHRyaWJ1dGVEYXRhKG9iamVjdCk7Cit9CisKK1JlZjxBWElzb2xhdGVkVHJlZU5v
ZGU+IEFYSXNvbGF0ZWRUcmVlTm9kZTo6Y3JlYXRlKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3Qm
IG9iamVjdCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZU5vZGUo
b2JqZWN0KSk7Cit9CisgICAgCitBWElzb2xhdGVkVHJlZU5vZGU6On5BWElzb2xhdGVkVHJlZU5v
ZGUoKSA9IGRlZmF1bHQ7CisKK3ZvaWQgQVhJc29sYXRlZFRyZWVOb2RlOjppbml0aWFsaXplQXR0
cmlidXRlRGF0YShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCit7CisgICAgc2V0
UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlJvbGVWYWx1ZSwgc3RhdGljX2Nhc3Q8aW50PihvYmpl
Y3Qucm9sZVZhbHVlKCkpKTsKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNBdHRh
Y2htZW50LCBvYmplY3QuaXNBdHRhY2htZW50KCkpOworICAgIHNldFByb3BlcnR5KEFYUHJvcGVy
dHlOYW1lOjpJc01lZGlhQ29udHJvbExhYmVsLCBvYmplY3QuaXNNZWRpYUNvbnRyb2xMYWJlbCgp
KTsKK30KKyAgICAKK3ZvaWQgQVhJc29sYXRlZFRyZWVOb2RlOjpzZXRQcm9wZXJ0eShBWFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCYmIHZhbHVlLCBib29s
IHNob3VsZFJlbW92ZSkKK3sKKyAgICBpZiAoc2hvdWxkUmVtb3ZlKQorICAgICAgICBtX2F0dHJp
YnV0ZU1hcC5yZW1vdmUocHJvcGVydHlOYW1lKTsKKyAgICBlbHNlCisgICAgICAgIG1fYXR0cmli
dXRlTWFwLnNldChwcm9wZXJ0eU5hbWUsIHZhbHVlKTsKK30KKyAgICAKK2RvdWJsZSBBWElzb2xh
dGVkVHJlZU5vZGU6OmRvdWJsZUF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3Bl
cnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAoZG91YmxlJiB0
eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0
byYpIHsKKyAgICAgICAgcmV0dXJuIDAuMDsKKyAgICB9KTsKK30KKwordW5zaWduZWQgQVhJc29s
YXRlZFRyZWVOb2RlOjp1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3Bl
cnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHBy
b3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAodW5zaWdu
ZWQmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZd
IChhdXRvJikgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKworYm9vbCBBWElzb2xh
dGVkVHJlZU5vZGU6OmJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0
eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGJvb2wmIHR5cGVk
VmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikg
eworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSk7Cit9CisKK2NvbnN0IFN0cmluZyYgQVhJ
c29sYXRlZFRyZWVOb2RlOjpzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChw
cm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKFN0cmlu
ZyYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0g
KGF1dG8mKSB7CisgICAgICAgIHJldHVybiBudWxsQXRvbSgpOworICAgIH0pOworfQorCitpbnQg
QVhJc29sYXRlZFRyZWVOb2RlOjppbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChw
cm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGludCYg
dHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1
dG8mKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0pOworfQorCisjcHJhZ21hIG1hcmsgLSBP
dmVycmlkZXMKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RSgoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVOb2RlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxNTQgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQor
CisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgorI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRT
YWZlUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKKyNpZiBQTEFURk9STShDT0NP
QSkKK09CSkNfQ0xBU1MgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI7CisjZW5kaWYKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworCitjbGFz
cyBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXAoKSk7IH0KKyAgICB2aXJ0dWFsIH5BWElzb2xh
dGVkVHJlZVJlbGF0aW9uc2hpcCgpID0gZGVmYXVsdDsKKworICAgIEFYSXNvbGF0ZWRUcmVlUmVs
YXRpb25zaGlwKGNvbnN0IEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwJiByZWxhdGlvbnNoaXAp
CisgICAgICAgIDogbV9wYXJlbnQocmVsYXRpb25zaGlwLm1fcGFyZW50KQorICAgICAgICAsIG1f
Y2hpbGRyZW4ocmVsYXRpb25zaGlwLm1fY2hpbGRyZW4pCisgICAgeworICAgIH0KKyAgICAKKyAg
ICBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCYgb3BlcmF0b3I9KGNvbnN0IEFYSXNvbGF0ZWRU
cmVlUmVsYXRpb25zaGlwJiByZWxhdGlvbnNoaXApCisgICAgeworICAgICAgICBtX3BhcmVudCA9
IHJlbGF0aW9uc2hpcC5tX3BhcmVudDsKKyAgICAgICAgbV9jaGlsZHJlbiA9IHJlbGF0aW9uc2hp
cC5tX2NoaWxkcmVuOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgdm9pZCBz
ZXRQYXJlbnQoQVhJRCBwYXJlbnQpIHsgbV9wYXJlbnQgPSBwYXJlbnQ7IH0KKyAgICBBWElEIHBh
cmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50OyB9CisKKyAgICBWZWN0b3I8QVhJRD4mIGNo
aWxkcmVuKCkgeyByZXR1cm4gbV9jaGlsZHJlbjsgfTsKKworcHJpdmF0ZToKKyAgICBBWElzb2xh
dGVkVHJlZVJlbGF0aW9uc2hpcCgpIHsgfQorCisgICAgQVhJRCBtX3BhcmVudDsKKyAgICBWZWN0
b3I8QVhJRD4gbV9jaGlsZHJlbjsKK307CisKKyAgICAKK2NsYXNzIEFYSXNvbGF0ZWRUcmVlTm9k
ZSBmaW5hbCA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLCBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8QVhJc29sYXRlZFRyZWVOb2RlPiwgcHVibGljIENhbk1ha2VXZWFr
UHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4geworICAgIAorZW51bSBjbGFzcyBBWFByb3BlcnR5TmFt
ZSA6IHVpbnQxNl90IHsKKyAgICBOb25lID0gMCwKKyAgICBSb2xlVmFsdWUgPSAxLAorICAgIElz
QXR0YWNobWVudCwKKyAgICBJc01lZGlhQ29udHJvbExhYmVsLAorfTsKKworc3RydWN0IEFYUHJv
cGVydHlIYXNoVHJhaXRzIDogV1RGOjpTdHJvbmdFbnVtSGFzaFRyYWl0czxBWFByb3BlcnR5TmFt
ZT4geworICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKKyAg
ICBzdGF0aWMgQVhQcm9wZXJ0eU5hbWUgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIEFYUHJvcGVydHlO
YW1lOjpOb25lOyB9OworICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShBWFBy
b3BlcnR5TmFtZSYgc2xvdCkKKyAgICB7CisgICAgICAgIHNsb3QgPSBzdGF0aWNfY2FzdDxBWFBy
b3BlcnR5TmFtZT4oc3RhdGljX2Nhc3Q8aW50PihBWFByb3BlcnR5TmFtZTo6Tm9uZSkgLSAxKTsK
KyAgICB9CisgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoQVhQcm9wZXJ0eU5hbWUgdmFs
dWUpCisgICAgeworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSkgPT0gc3Rh
dGljX2Nhc3Q8aW50PihBWFByb3BlcnR5TmFtZTo6Tm9uZSkgLSAxOworICAgIH0KK307CisKK3By
b3RlY3RlZDoKKyAgICBBWElzb2xhdGVkVHJlZU5vZGUoKSA9IGRlZmF1bHQ7CisKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gY3JlYXRlKGNvbnN0IEFjY2Vzc2li
aWxpdHlPYmplY3QmKTsKKyAgICB2aXJ0dWFsIH5BWElzb2xhdGVkVHJlZU5vZGUoKTsKKworICAg
IEFYSUQgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQorICAgIAor
ICAgIHZvaWQgc2V0UmVsYXRpb25zaGlwKFJlZlB0cjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cD4gcmVsYXRpb25zaGlwKSB7IG1fcmVsYXRpb25zaGlwID0gcmVsYXRpb25zaGlwOyB9CisgICAg
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwPiYgcmVsYXRpb25zaGlwKCkgeyByZXR1
cm4gbV9yZWxhdGlvbnNoaXA7IH0KKyAgICAKKyAgICBib29sIGlzUm9vdE5vZGUoKSBjb25zdCB7
IHJldHVybiBtX2lzUm9vdE5vZGU7IH0KKyAgICB2b2lkIHNldElzUm9vdE5vZGUoYm9vbCB2YWx1
ZSkgeyBtX2lzUm9vdE5vZGUgPSB2YWx1ZTsgfQorICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQor
ICAgIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKCkgY29uc3QgeyByZXR1
cm4gbV93cmFwcGVyLmdldCgpOyB9CisgICAgdm9pZCBzZXRXcmFwcGVyKFdlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKQorICAgIHsKKyAgICAgICAgbV93cmFwcGVyID0gd3Jh
cHBlcjsKKyAgICB9CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBBWElzb2xhdGVkVHJlZU5vZGUo
Y29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYpOworICAgIHZvaWQgaW5pdGlhbGl6ZUF0dHJpYnV0
ZURhdGEoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYpOworICAgIAorICAgIGJvb2wgaXNNZWRp
YUNvbnRyb2xMYWJlbCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZTo6SXNNZWRpYUNvbnRyb2xMYWJlbCk7IH0KKyAgICBib29sIGlzQXR0
YWNobWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6SXNBdHRhY2htZW50KTsgfQorICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVW
YWx1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlS
b2xlPihpbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6Um9sZVZhbHVlKSk7IH0KKyAg
ICAKKyAgICB1c2luZyBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQgPSBWYXJpYW50PHN0ZDo6bnVsbHB0
cl90LCBTdHJpbmcsIGJvb2wsIGludCwgdW5zaWduZWQsIGRvdWJsZT47CisgICAgdm9pZCBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZSwgQXR0cmlidXRlVmFsdWVWYXJpYW50JiYsIGJvb2wgc2hv
dWxkUmVtb3ZlID0gZmFsc2UpOworICAgIAorICAgIGJvb2wgYm9vbEF0dHJpYnV0ZVZhbHVlKEFY
UHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBjb25zdCBTdHJpbmcmIHN0cmluZ0F0dHJpYnV0ZVZh
bHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBpbnQgaW50QXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIHVuc2lnbmVkIHVuc2lnbmVkQXR0cmlidXRlVmFsdWUo
QVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGRvdWJsZSBkb3VibGVBdHRyaWJ1dGVWYWx1ZShB
WFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgCisgICAgQVhJRCBtX2lkZW50aWZpZXI7CisgICAg
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwPiBtX3JlbGF0aW9uc2hpcDsKKyAgICBi
b29sIG1faXNSb290Tm9kZTsKKyAgICAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXRhaW5Q
dHI8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI+IG1fd3JhcHBlcjsKKyNlbmRpZgorICAg
IAorICAgIEhhc2hNYXA8QVhQcm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCwgV1RG
OjpJbnRIYXNoPEFYUHJvcGVydHlOYW1lPiwgQVhQcm9wZXJ0eUhhc2hUcmFpdHM+IG1fYXR0cmli
dXRlTWFwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KChBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCShyZXZpc2lvbiAy
NDAyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hl
TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFkpICYmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWVOb2Rl
LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmls
aXR5VGFibGUuaCIKICNpbXBvcnQgIlJlbmRlck9iamVjdC5oIgpAQCAtMjM3LDYgKzIzOCwxNCBA
QAogICAgIG9iai0+c2V0V3JhcHBlcihudWxscHRyKTsKIH0KIAorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlzb2xh
dGVkVHJlZU5vZGUoQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0LCBBWElzb2xhdGVkVHJlZU5v
ZGUmIG5vZGUsIEFYSXNvbGF0ZWRDYWNoZUlEIGNhY2hlSUQpCit7CisgICAgb2JqZWN0LndyYXBw
ZXIoKS5pc29sYXRlZENhY2hlSWRlbnRpZmllciA9IGNhY2hlSUQ7CisgICAgbm9kZS5zZXRXcmFw
cGVyKG9iamVjdC53cmFwcGVyKCkpOworfQorI2VuZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmF0dGFjaFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogewogICAgIFJldGFp
blB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gd3JhcHBlciA9IGFkb3B0TlMoW1tX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhbGxvY10gaW5pdFdpdGhBY2Nlc3NpYmlsaXR5
T2JqZWN0Om9ial0pOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNl
LmgJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSwxMSArMjksMTggQEAKICNpZm5kZWYgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNl
X2gKICNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlX2gKIAorI2luY2x1
ZGUgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmgiCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFr
UHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3Q7
CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK2NsYXNzIEFYSXNvbGF0
ZWRUcmVlTm9kZTsKKyNlbmRpZgogc3RydWN0IEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYTsK
IGNsYXNzIEludFJlY3Q7CiBjbGFzcyBGbG9hdFBvaW50OwpAQCAtNDcsMTAgKzU0LDIyIEBACiB9
CiAgCiAtIChpZClpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6KFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlPYmplY3QqKWF4T2JqZWN0OworCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgUmVmUHRyPFdlYkNvcmU6
OkFYSXNvbGF0ZWRUcmVlTm9kZT4gaXNvbGF0ZWRUcmVlTm9kZTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBhc3NpZ24pIFdlYkNvcmU6OkFYSXNvbGF0ZWRDYWNoZUlEIGlzb2xhdGVkQ2FjaGVJZGVu
dGlmaWVyOworI2VuZGlmCisKIC0gKHZvaWQpZGV0YWNoOworCitAcHJvcGVydHkgKG5vbmF0b21p
YywgYXNzaWduKSBXZWJDb3JlOjpBWElEIGlkZW50aWZpZXI7CisKIC0gKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3QqKWFjY2Vzc2liaWxpdHlPYmplY3Q7CiAtIChCT09MKXVwZGF0ZU9iamVj
dEJhY2tpbmdTdG9yZTsKIAorLy8gVGhpcyBjYW4gYmUgZWl0aGVyIGFuIEFjY2Vzc2liaWxpdHlP
YmplY3Qgb3IgYW4gQVhJc29sYXRlZFRyZWVOb2RlCistIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlKilheEJhY2tpbmdPYmplY3Q7CisKIC8vIFRoZXNlIGFyZSBwcmUtZml4
ZWQgd2l0aCBiYXNlIHNvIHRoYXQgQXBwS2l0IGRvZXMgbm90IGVuZCB1cCBjYWxsaW5nIGludG8g
dGhlc2UgZGlyZWN0bHkgKGJ5cGFzc2luZyBzYWZldHkgY2hlY2tzKS4KIC0gKE5TU3RyaW5nICop
YmFzZUFjY2Vzc2liaWxpdHlUaXRsZTsKIC0gKE5TU3RyaW5nICopYmFzZUFjY2Vzc2liaWxpdHlE
ZXNjcmlwdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2Uu
bW0JKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAt
MzEsMTAgKzMxLDEzIEBACiAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAKKyNpbXBvcnQgIkFY
SXNvbGF0ZWRUcmVlQ2FjaGUuaCIKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2lt
cG9ydCAiQVhPYmplY3RDYWNoZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93
LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5TGlzdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eUxpc3RCb3guaCIKKyNpbXBvcnQgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKICNp
bXBvcnQgIkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxp
dHlTY3JvbGxWaWV3LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIgpAQCAt
MjcxLDE2ICsyNzQsMzAgQEAKICAgICAgICAgcmV0dXJuIG5pbDsKIAogICAgIG1fb2JqZWN0ID0g
YXhPYmplY3Q7CisgICAgX2lkZW50aWZpZXIgPSBtX29iamVjdC0+YXhPYmplY3RJRCgpOwogICAg
IHJldHVybiBzZWxmOwogfQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJF
RSkKKy0gKFJlZlB0cjxXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU+KWlzb2xhdGVkVHJlZU5v
ZGUKK3sKKyAgICByZXR1cm4gQVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVGb3JJRChfaXNvbGF0
ZWRDYWNoZUlkZW50aWZpZXIpLT5ub2RlRm9ySUQoX2lkZW50aWZpZXIpOworfQorCisjZW5kaWYK
KwogLSAodm9pZClkZXRhY2gKIHsKICAgICBtX29iamVjdCA9IG51bGxwdHI7CisgICAgX2lkZW50
aWZpZXIgPSAwOwogfQogCiAtIChCT09MKXVwZGF0ZU9iamVjdEJhY2tpbmdTdG9yZQogeworI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgQVhJc29sYXRlZFRyZWVD
YWNoZTo6Y2FjaGVGb3JJRChzZWxmLmlzb2xhdGVkQ2FjaGVJZGVudGlmaWVyKS0+YXBwbHlDaGFu
Z2VMb2coKTsKKyAgICByZXR1cm4gX2lkZW50aWZpZXI7CisjZWxzZQogICAgIC8vIENhbGxpbmcg
dXBkYXRlQmFja2luZ1N0b3JlKCkgY2FuIGludmFsaWRhdGUgdGhpcyBlbGVtZW50IHNvIHNlbGYg
bXVzdCBiZSByZXRhaW5lZC4KICAgICAvLyBJZiBpdCBkb2VzIGJlY29tZSBpbnZhbGlkYXRlZCwg
bV9vYmplY3Qgd2lsbCBiZSBuaWwuCiAgICAgQ0ZSZXRhaW4oKF9fYnJpZGdlIENGVHlwZVJlZilz
ZWxmKTsKQEAgLTI5NCw2ICszMTEsNyBAQAogICAgICAgICByZXR1cm4gTk87CiAgICAgCiAgICAg
cmV0dXJuIFlFUzsKKyNlbmRpZgogfQogCiAtIChpZClhdHRhY2htZW50VmlldwpAQCAtMzU1LDEx
ICszNzMsMjEgQEAKICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ107CiB9CiAKKyNkZWZpbmUg
X2F4QmFja2luZ09iamVjdCBzZWxmLmF4QmFja2luZ09iamVjdAorLSAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eU9iamVjdEludGVyZmFjZSopYXhCYWNraW5nT2JqZWN0Cit7CisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICByZXR1cm4gc2VsZi5pc29sYXRlZFRyZWVO
b2RlLmdldCgpOworI2Vsc2UKKyAgICByZXR1cm4gbV9vYmplY3Q7CisjZW5kaWYKK30KKwogLSAo
TlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uCiB7CiAgICAgLy8gU3RhdGlj
IHRleHQgb2JqZWN0cyBzaG91bGQgbm90IGhhdmUgYSBkZXNjcmlwdGlvbi4gSXRzIGNvbnRlbnQg
aXMgY29tbXVuaWNhdGVkIGluIGl0cyBBWFZhbHVlLgogICAgIC8vIE9uZSBleGNlcHRpb24gaXMg
dGhlIG1lZGlhIGNvbnRyb2wgbGFiZWxzIHRoYXQgaGF2ZSBhIHZhbHVlIGFuZCBhIGRlc2NyaXB0
aW9uLiBUaG9zZSBhcmUgc2V0IHByb2dyYW1hdGljYWxseS4KLSAgICBpZiAobV9vYmplY3QtPnJv
bGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNUZXh0ICYmICFtX29iamVjdC0+
aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQorICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5yb2xlVmFs
dWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dCAmJiAhX2F4QmFja2luZ09iamVj
dC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQogICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmlu
Z107CiAgICAgCiAgICAgVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiB0ZXh0T3JkZXI7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQkocmV2aXNpb24gMjQwMjA2
KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQxMiw2ICs0MTIsOCBAQAogI2Rl
ZmluZSBOU0FjY2Vzc2liaWxpdHlMaW5rUmVsYXRpb25zaGlwVHlwZUF0dHJpYnV0ZSBAIkFYTGlu
a1JlbGF0aW9uc2hpcFR5cGUiCiAjZW5kaWYKIAorI2RlZmluZSBfYXhCYWNraW5nT2JqZWN0IHNl
bGYuYXhCYWNraW5nT2JqZWN0CisKIGV4dGVybiAiQyIgQVhVSUVsZW1lbnRSZWYgTlNBY2Nlc3Np
YmlsaXR5Q3JlYXRlQVhVSUVsZW1lbnRSZWYoaWQgZWxlbWVudCk7CiAKIEBpbXBsZW1lbnRhdGlv
biBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcgpAQCAtMjAwOSwxMCArMjAxMSwxMCBAQAog
LSAoTlNTdHJpbmcqKXJvbGUKIHsKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19C
RUdJTgotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpCisgICAgaWYgKF9heEJhY2tp
bmdPYmplY3QtPmlzQXR0YWNobWVudCgpKQogICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1l
bnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5Um9sZUF0
dHJpYnV0ZV07CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECi0gICAgQWNj
ZXNzaWJpbGl0eVJvbGUgcm9sZSA9IG1fb2JqZWN0LT5yb2xlVmFsdWUoKTsKKyAgICBBY2Nlc3Np
YmlsaXR5Um9sZSByb2xlID0gX2F4QmFja2luZ09iamVjdC0+cm9sZVZhbHVlKCk7CiAKICAgICBp
ZiAocm9sZSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGFiZWwgJiYgaXM8QWNjZXNzaWJpbGl0eUxh
YmVsPigqbV9vYmplY3QpICYmIGRvd25jYXN0PEFjY2Vzc2liaWxpdHlMYWJlbD4oKm1fb2JqZWN0
KS5jb250YWluc09ubHlTdGF0aWNUZXh0KCkpCiAgICAgICAgIHJvbGUgPSBBY2Nlc3NpYmlsaXR5
Um9sZTo6U3RhdGljVGV4dDsKQEAgLTIwMzksNyArMjA0MSw3IEBACiAgICAgaWYgKG1fb2JqZWN0
LT5pc1NlYXJjaEZpZWxkKCkpCiAgICAgICAgIHJldHVybiBOU0FjY2Vzc2liaWxpdHlTZWFyY2hG
aWVsZFN1YnJvbGU7CiAgICAgCi0gICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewor
ICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICBOU1Zp
ZXcqIGF0dGFjaFZpZXcgPSBbc2VsZiBhdHRhY2htZW50Vmlld107CiAgICAgICAgIGlmIChbW2F0
dGFjaFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09iamVjdDpOU0Fj
Y2Vzc2liaWxpdHlTdWJyb2xlQXR0cmlidXRlXSkKICAgICAgICAgICAgIHJldHVybiBbYXR0YWNo
VmlldyBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5U3Vicm9sZUF0
dHJpYnV0ZV07CkBAIC0yMjUwLDcgKzIyNTIsNyBAQAogCiAgICAgQUxMT1dfREVQUkVDQVRFRF9E
RUNMQVJBVElPTlNfQkVHSU4KICAgICAvLyBhdHRhY2htZW50cyBoYXZlIHRoZSBBWEltYWdlIHJv
bGUsIGJ1dCBhIGRpZmZlcmVudCBzdWJyb2xlCi0gICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1l
bnQoKSkKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpCiAgICAgICAg
IHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1
ZTpOU0FjY2Vzc2liaWxpdHlSb2xlRGVzY3JpcHRpb25BdHRyaWJ1dGVdOwogICAgIEFMTE9XX0RF
UFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogCkBAIC0yNjA3LDcgKzI2MDksNyBAQAogICAgICAg
ICByZXR1cm4gW05TTnVtYmVyIG51bWJlcldpdGhCb29sOiBtX29iamVjdC0+aXNWaXNpdGVkKCld
OwogICAgIAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNz
aWJpbGl0eVRpdGxlQXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNo
bWVudCgpKSB7CisgICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkg
ewogICAgICAgICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlB
dHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1
dGVdKQogICAgICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vz
c2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV07CiAg
ICAgICAgIH0KQEAgLTI2MjQsNyArMjYyNiw3IEBACiAgICAgfQogICAgIAogICAgIGlmIChbYXR0
cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0
cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAg
ICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICAgICAg
aWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10g
Y29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdKQogICAg
ICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlB
dHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV07CiAgICAg
ICAgIH0KQEAgLTI2MzIsNyArMjYzNCw3IEBACiAgICAgfQogICAgIAogICAgIGlmIChbYXR0cmli
dXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkg
ewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgICAgIGlmIChf
YXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICAgICAgaWYgKFtbW3Nl
bGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNP
YmplY3Q6TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdKQogICAgICAgICAgICAgICAgIHJl
dHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpO
U0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV07CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE1IEBACisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmls
aXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dL
QWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tOgorICAgICAgICAoLVtXS0FjY2Vzc2li
aWxpdHlXZWJQYWdlT2JqZWN0QmFzZSBhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXJdKToK
KwogMjAxOS0wMS0xOSAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIEZvbGxvdy11cDogaU9TOiBVcGRhdGluZyBpbnB1dCBtb2RlIHNob3VsZCB1cGRhdGUgdGhl
IHNvZnR3YXJlIGtleWJvYXJkCkluZGV4OiBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNv
dXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtp
bmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19D
T0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2Nv
YXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQo
RU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11
bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBACiAKIEVOQUJMRV9Y
U0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5T
Rk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVf
QVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFE
SUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBF
UklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklU
KSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZ
X0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9D
T0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVP
X1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElB
X1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElT
VElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19Q
UkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VT
RVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xU
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExF
X1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNI
TUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JP
TExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19H
UkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
WFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
SklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRf
S0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFC
TEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJP
VE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
TEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJ
REVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChF
TkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
RElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMp
ICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJD
RV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9I
QU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05U
UykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4p
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRD
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQ
SSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVO
QUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0Fj
Y2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJh
c2UubW0JKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQkod29ya2luZyBjb3B5
KQpAQCAtMzQsNiArMzQsNyBAQAogI2ltcG9ydCAiV0tTaGFyZWRBUElDYXN0LmgiCiAjaW1wb3J0
ICJXS1N0cmluZy5oIgogI2ltcG9ydCAiV0tTdHJpbmdDRi5oIgorI2ltcG9ydCA8V2ViQ29yZS9B
WElzb2xhdGVkVHJlZUNhY2hlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvRG9jdW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWUuaD4K
QEAgLTQ3LDYgKzQ4LDE4IEBACiAKIEBpbXBsZW1lbnRhdGlvbiBXS0FjY2Vzc2liaWxpdHlXZWJQ
YWdlT2JqZWN0QmFzZQogCistIChXZWJDb3JlOjpBWE9iamVjdENhY2hlKilheE9iamVjdENhY2hl
Cit7CisgICAgV2ViQ29yZTo6UGFnZSogcGFnZSA9IG1fcGFnZS0+Y29yZVBhZ2UoKTsKKyAgICBp
ZiAoIXBhZ2UpCisgICAgICAgIHJldHVybiBuaWw7CisgICAgV2ViQ29yZTo6RnJhbWUmIGNvcmUg
PSBwYWdlLT5tYWluRnJhbWUoKTsKKyAgICBpZiAoIWNvcmUuZG9jdW1lbnQoKSkKKyAgICAgICAg
cmV0dXJuIG5pbDsKKyAgICAKKyAgICByZXR1cm4gY29yZS5kb2N1bWVudCgpLT5heE9iamVjdENh
Y2hlKCk7Cit9CisKIC0gKGlkKWFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcgogewogICAg
IGlmICghV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKQEAg
LTYyLDE4ICs3NSw0NiBAQAogICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBtX3BhZ2UtPmNvcmVQ
YWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gbmlsOwotICAgIAotICAgIFdl
YkNvcmU6OkZyYW1lJiBjb3JlID0gcGFnZS0+bWFpbkZyYW1lKCk7Ci0gICAgaWYgKCFjb3JlLmRv
Y3VtZW50KCkpCi0gICAgICAgIHJldHVybiBuaWw7Ci0gICAgCi0gICAgV2ViQ29yZTo6QVhPYmpl
Y3RDYWNoZSogY2FjaGUgPSBjb3JlLmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKTsKKworICAg
IEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gW3NlbGYgYXhPYmplY3RDYWNoZV07CiAgICAgaWYgKCFj
YWNoZSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKQorICAgIGF1dG8gZ2VuZXJhdGVCbG9jayA9IFsmXSB7CisgICAgICAg
IGF1dG8gZGlzcGF0Y2hCbG9jayA9IFsmY2FjaGVdIHsKKyAgICAgICAgICAgIGNhY2hlLT5nZW5l
cmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlSWZOZWVkZWQoKTsKKyAgICAgICAgfTsKKyAgICAg
ICAgCisgICAgICAgIGlmIChSdW5Mb29wOjppc01haW4oKSkKKyAgICAgICAgICAgIGRpc3BhdGNo
QmxvY2soKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZGlzcGF0Y2hfc3luYyhkaXNwYXRj
aF9nZXRfbWFpbl9xdWV1ZSgpLCBkaXNwYXRjaEJsb2NrKTsKKyAgICB9OworCisgICAgYXV0byBp
c29sYXRlZENhY2hlID0gQVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVGb3JQYWdlKHBhZ2UpOwor
ICAgIGlmICghaXNvbGF0ZWRDYWNoZSkgeworICAgICAgICBnZW5lcmF0ZUJsb2NrKCk7CisgICAg
ICAgIGlzb2xhdGVkQ2FjaGUgPSBBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvclBhZ2UocGFn
ZSk7CisgICAgICAgIEFTU0VSVChpc29sYXRlZENhY2hlKTsKKyAgICAgICAgaWYgKCFpc29sYXRl
ZENhY2hlKQorICAgICAgICAgICAgcmV0dXJuIG5pbDsKKworICAgICAgICBpc29sYXRlZENhY2hl
LT5hcHBseUNoYW5nZUxvZygpOworICAgIH0KKyAgICAKKyAgICBhdXRvIHJvb3ROb2RlID0gaXNv
bGF0ZWRDYWNoZS0+cm9vdE5vZGUoKTsKKyAgICBpZiAoIXJvb3ROb2RlKSB7CisgICAgICAgIGdl
bmVyYXRlQmxvY2soKTsKKyAgICAgICAgaXNvbGF0ZWRDYWNoZS0+YXBwbHlDaGFuZ2VMb2coKTsK
KyAgICB9CisKKyAgICBpZiAoKHJvb3ROb2RlID0gaXNvbGF0ZWRDYWNoZS0+cm9vdE5vZGUoKSkp
CisgICAgICAgIHJldHVybiByb290Tm9kZS0+d3JhcHBlcigpOworI2Vsc2UKICAgICBpZiAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogcm9vdCA9IGNhY2hlLT5yb290T2JqZWN0KCkpCiAg
ICAgICAgIHJldHVybiByb290LT53cmFwcGVyKCk7Ci0gICAgCisjZW5kaWYKICAgICByZXR1cm4g
bmlsOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDAy
MDYpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0xMSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hA
YXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0
eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMDEtMTkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRz
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBQT0lOVEVSX0VWRU5UUyBmZWF0dXJlIGZsYWcK
SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyNDAyMDYpCisrKyBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
OwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQ
TEVfUEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxF
X0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZ
X2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAK
IAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NT
X0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lP
TlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9L
RVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhU
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NV
U1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBU
VVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJ
T04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVf
UFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0Vf
TE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09S
S0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFC
TEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElT
VElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dF
Ql9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1J
TkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUp
ICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChF
TkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
Q1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlT
U0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJM
RV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNF
Ul9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFS
SUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRf
RlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5B
QkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9T
VFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9X
RUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNt
YWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQkocmV2
aXNpb24gMjQwMjA2KQorKysgU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xODcsNiArMTg3LDcgQEAKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfU01PT1RIX1NDUk9MTElORyAiVG9nZ2xlIHNtb290aCBzY3JvbGxpbmciIFBSSVZBVEUg
T04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMgIlRv
Z2dsZSBTcGVlY2ggU3ludGhlc2lzIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1BFTExDSEVDSyAiVG9nZ2xlIFNwZWxsY2hlY2tpbmcg
c3VwcG9ydCAocmVxdWlyZXMgRW5jaGFudCkiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFICJUb2dnbGUgc3RhdGlj
IGFjY2Vzc2liaWxpdHkgdHJlZSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfU1RSRUFNU19BUEkgIlRvZ2dsZSBTdHJlYW1zIEFQSSBzdXBwb3J0
IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TVkdfRk9OVFMg
IlRvZ2dsZSBTVkcgRm9udHMgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04gIlRvZ2dsZSB0ZWxlcGhv
bmUgbnVtYmVyIGRldGVjdGlvbiBzdXBwb3J0IiBQUklWQVRFIE9GRikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359634</attachid>
            <date>2019-01-19 23:27:01 -0800</date>
            <delta_ts>2019-01-19 23:33:42 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>104072</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0xOSAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3RhcnQu
b3JnPgogCiAgICAgICAgIFtKU0NdIFJlb3JkZXIgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCBt
ZW1iZXIgZm9yIHByZXBhcmF0aW9uIG9mIEpTR2xvYmFsT2JqZWN0IG1lbW9yeSByZWR1Y3Rpb24K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
d29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18k
KFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
X2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitF
TkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZ
ID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExF
X1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9u
ZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAKIAogRU5B
QkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FS
RF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9Q
Uk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNf
VklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
V0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5B
QkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVf
QVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NP
TklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlC
T0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RP
TV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JF
U09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNT
QUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9O
X0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFND
UkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dF
Ql9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1J
TkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUp
ICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI0MDIwNikK
KysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01OCw2
ICs1OCw3IEBACiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvd2Vic29ja2V0cyIKICAgICAi
JHtXRUJDT1JFX0RJUn0vTW9kdWxlcy93ZWJ2ciIKICAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNz
aWJpbGl0eSIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUi
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L2FuaW1hdGlvbiIKICAgICAiJHtXRUJDT1JFX0RJUn0vYmlu
ZGluZ3MiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2JpbmRpbmdzL2pzIgpJbmRleDogU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwko
cmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsNzggQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2li
aWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBpbXByb3Zl
IHBlcmZvcm1hbmNlIHdoZW4gcmVxdWVzdGluZyB0aGUgYWNjZXNzaWJpbGl0eSBoaWVyYXJjaHks
IHdlIGludHJvZHVjZSB0aGUgaWRlYSBvZiBhICJzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlIiB3
aGljaCBjb3VsZCBiZSBhY2Nlc3NlZCBvbiBhIGRpZmZlcmVudCB0aHJlYWQgYnkgYXNzaXN0aXZl
IHRlY2hub2xvZ2llcy4KKyAgICAgICAgVGhhdCBpcyBhY2NvbXBsaXNoZWQgYnkgc3RvcmluZyBh
bGwgdGhlIGRhdGEgbmVlZGVkIHRvIGFuc3dlciBhY2Nlc3NpYmlsaXR5IGF0dHJpYnV0ZSBxdWVy
aWVzIGluIGEgc3RhdGljIG9iamVjdCB0aGF0IG1pcnJvcnMgdGhlICJsaXZlIiBBY2Nlc3NpYmls
aXR5T2JqZWN0cyAod2hpY2ggaW50ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVz
KS4KKyAgICAgICAgVGhlc2Ugc3RhdGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFm
dGVyIGxheW91dCBpcyBkb25lIGFuZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBU
aGV5IGFyZSB0aGVuIHN0b3JlZCBpbiB0aGUgc3RhdGljIHRyZWUgcmVwcmVzZW50YXRpb24gYW5k
IGFibGUgdG8gYmUgcmVhZCBmcm9tIGFueXdoZXJlLgorICAgICAgICBUYWN0aWNhbGx5IHRoaXMg
aXMgZG9uZSB3aXRoIEFYSXNvbGF0ZWRUcmVlTm9kZXMgaW5zaWRlIG9mIGFuIEFYSXNvbGF0ZWRU
cmVlQ2FjaGUuIFRoZSBUcmVlTm9kZXMgaW1wbGVtZW50IGFuIEFjY2Vzc2liaWxpdHlPYmplY3RJ
bnRlcmZhY2Ugc2hhcmVkIHdpdGggQWNjZXNzaWJpbGl0eU9iamVjdAorICAgICAgICBUaGlzIGFs
bG93cyB0aGUgd3JhcHBlcnMgdG8gYWNjZXNzIGVpdGhlciBvbmUgZGVwZW5kaW5nIG9uIGNvbmRp
dGlvbnMgYW5kIHBsYXRmb3JtcyB3aXRob3V0IHNpZ25pZmljYW50IGNvZGUgZHVwbGljYXRpb24g
b3IgcmUtb3JnYW5pemF0aW9uLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogU291
cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6Y3JlYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3Q6OnNldEluaXRpYWxpemVkSXNvbGF0ZWRUcmVlTm9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppbml0aWFsaXplZElzb2xhdGVkVHJlZU5v
ZGUgY29uc3QpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdElu
dGVyZmFjZS5oOiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZTog
QWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVDYWNoZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNo
ZTo6cGFnZVJvb3RNYXApOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6
dHJlZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OkFYSXNv
bGF0ZWRUcmVlQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9y
SUQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVGb3JQYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6Om5vZGVGb3JJRCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjpyb290Tm9kZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjpyZW1vdmVOb2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFwcGVuZE5vZGVDaGFuZ2VzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFwcGx5Q2hhbmdlTG9nKToKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVJZGVu
dGlmaWVyIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZU5vZGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlTm9kZTo6QVhJc29sYXRlZFRyZWVOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9k
ZTo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRl
ZFRyZWVOb2RlOjpzZXRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJl
ZU5vZGU6OmRvdWJsZUF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFY
SXNvbGF0ZWRUcmVlTm9kZTo6dW5zaWduZWRBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmJvb2xBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OnN0cmluZ0F0dHJpYnV0ZVZh
bHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6aW50QXR0
cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlTm9kZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlUmVsYXRpb25zaGlwOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRl
ZFRyZWVSZWxhdGlvbnNoaXA6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwKToKKyAgICAgICAg
KFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpvcGVyYXRvcj0pOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OnNldFBhcmVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6cGFyZW50IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpjaGlsZHJlbik6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlzb2xhdGVkVHJlZU5vZGUpOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QmFzZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQmFzZS5tbToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlIGluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDpdKToKKyAgICAgICAgKC1bV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGlzb2xhdGVkVHJlZU5vZGVdKToKKyAgICAgICAg
KC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGRldGFjaF0pOgorICAgICAgICAo
LVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgdXBkYXRlT2JqZWN0QmFja2luZ1N0
b3JlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBheEJh
Y2tpbmdPYmplY3RdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJC
YXNlIGJhc2VBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25dKToKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbToKKyAgICAgICAgKC1b
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgcm9sZV0pOgorICAgICAgICAoLVtXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlciBzdWJyb2xlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyIHJvbGVEZXNjcmlwdGlvbl0pOgorICAgICAgICAoLVtXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6XSk6CisK
IDIwMTktMDEtMTkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IGdldFVzZXJNZWRpYSB3aXRoIGEgZGV2aWNlSWQgZXhhY3QgY29uc3RyYWludCB3aXRoIGFuIGVt
cHR5IHN0cmluZyB2YWx1ZSBzaG91bGQgc3VjY2VlZApJbmRleDogU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9u
IDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJM
RV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBF
TkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBM
RV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgs
NCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJN
SVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9J
TlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5B
QkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFC
TEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NU
UkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dF
QkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1Qp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9Q
RVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJM
RV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQo
RU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VN
QkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHJldmlzaW9u
IDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0xOSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hA
YXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0
eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMDEtMTkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRz
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBQT0lOVEVSX0VWRU5UUyBmZWF0dXJlIGZsYWcK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJD
b3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBj
b3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09B
X1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91
Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUND
RVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFC
TEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhv
bmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRv
ciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAKIAogRU5BQkxFX1hTTFQg
PSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JN
UykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBM
SUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5U
UykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQo
RU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRU
UklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9N
QU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9P
TEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RS
RUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19F
TEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1F
VEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwor
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJ
RU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVS
SU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQp
ICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlf
QVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NP
TF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9f
VE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VT
QUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRM
RVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zOTksNiArMzk5LDggQEAKIGFjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVRyZWUuY3BwCiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlUcmVlSXRlbS5jcHAKIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVNldFZhbHVlRXZlbnQuY3Bw
CithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmNwcAorYWNj
ZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAogCiBhbmltYXRp
b24vQW5pbWF0aW9uRWZmZWN0LmNwcAogYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQu
Y3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTY5NCw2ICs2OTQsNyBA
QAogCQkyNkY5QTgzODE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2RjlBODM2
MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwICovOyB9OwogCQky
NkY5QTgzOTE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkY5QTgzNzE4QTA0NkFD
MDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkxNEUzMDgxQ0FCNUE0NDAwNDk5NjZGIC8q
IEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyOTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0
eUF0dGFjaG1lbnQuaCAqLzsgfTsKKwkJMjkzNkJGNUMyMUQ2OUU0QjAwNEE4RkM5IC8qIEFjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5MzZCRjVBMjFENjk5OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMjkzRUFFMUYxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MjkzRUFFMUUxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5NDg5RkM3
MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk0ODlGQzUxMkMwMEYwMzAwRDgz
RjBGIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmggKi87IH07CiAJCTI5N0JFM0Q1MTZDMDND
MDgwMDMzMTZCRCAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjUyN0NDOTExNkJGOEJBMTAw
OUREQUMwIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggKi87IH07CkBAIC03
MTUsNiArNzE2LDggQEAKIAkJMjlBODEyNDMwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxp
dHlMaXN0Qm94LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOUE4MTIyNTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3guaCAqLzsg
fTsKIAkJMjlBODEyNDkwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjlBODEyNDUwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTI5QUNCMjEyMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBQ0IyMTEx
NDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmggKi87IH07CisJCTI5
QUUyMTJEMjFBQjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEyQjIxQUI5RUVCMDA4
NjkyODMgLyogQVhJc29sYXRlZFRyZWVDYWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElz
b2xhdGVkVHJlZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOUQ3QkNG
QTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RDdCQ0Y5MTQ0NEFGN0QwMDcw
NjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovOyB9OwogCQkyOUZBRjRCNjE5NUFC
MDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RkFGNEI1MTk1QUIwODkwMEE1MjJE
QyAvKiBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJCMzY1Qzg0MTUyNTExOUUwMDkxRDI3QiAvKiBS
ZW5kZXJTVkdFbGxpcHNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyQjQyMzVBMDE1MjUwRjYwMDBEQkJDRDggLyogUmVuZGVyU1ZHRWxsaXBzZS5oICov
OyB9OwpAQCAtNjU2OSw2ICs2NTcyLDcgQEAKIAkJMjhEQjlCQzcyMDIwRUEwNDAwRTU0QTA3IC8q
IFBlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJm
b3JtYW5jZVNlcnZlclRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5
MTRFMzA1MUNBQjVBNDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNobWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5MTRFMzA2MUNBQjVBNDQwMDQ5
OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVj
dEludGVyZmFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5M0VBRTFFMTM1NkIyRkUwMDY3QUNG
OSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI5NDg5RkM1MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xs
Vmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U2Ny
b2xsVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ5ODY4MTE5NTM0MTk0
MDA3MkQyQkQgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY2MTYsNiArNjYyMCwxMCBAQAogCQkyOUE4
MTI0NzBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZU1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFYT2JqZWN0Q2FjaGVNYWMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QUNCMjExMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3Np
YmlsaXR5TW9ja09iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nl
c3NpYmlsaXR5TW9ja09iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFD
QjIxMzE0M0U3NDk4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUFFMjEyQjIxQUI5RUVCMDA4Njky
ODMgLyogQVhJc29sYXRlZFRyZWVDYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBWElzb2xhdGVkVHJl
ZUNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJDMjFBQjlFRUIw
MDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFY
SXNvbGF0ZWRUcmVlQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUFF
MjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFYSXNvbGF0ZWRUcmVlTm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
OUFFMjEzNDIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEFYSXNvbGF0ZWRUcmVlTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI5RDdCQ0Y1MTQ0NEFGNTgwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RDdCQ0Y5
MTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyOUUwNEEyN0JFRDJGODFGOThFOTAyMkIgLyogSlNCZWZv
cmVVbmxvYWRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JlZm9y
ZVVubG9hZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzIyMiw2ICsx
NzIzMCw3IEBACiAJCTI5QTgxMjA0MEZCQjlCNDEwMDUxMDI5MyAvKiBhY2Nlc3NpYmlsaXR5ICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkyOUFFMjEyOTIx
QUI5RUNCMDA4NjkyODMgLyogaXNvbGF0ZWR0cmVlICovLAogCQkJCUFBQTcyOEVGMTZEMUQ4QkMw
MEQzQkJDNiAvKiBpb3MgKi8sCiAJCQkJMjlBODEyMDUwRkJCOUI1MjAwNTEwMjkzIC8qIG1hYyAq
LywKIAkJCQkyOTgxQ0E5RDEzMTgyMkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlk
LmNwcCAqLywKQEAgLTE3MjYwLDYgKzE3MjY5LDcgQEAKIAkJCQkyOTg1NzA5MzE1Q0M1MzJEMDA2
MzU1Q0QgLyogQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaCAqLywKIAkJCQkyOTgxQ0FBNTEzMTgy
MkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgKi8sCiAJCQkJMjlBODEyMTgw
RkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3QuaCAqLywKKwkJCQkyOTM2QkY1
QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oICovLAog
CQkJCUE0MDlDOTgyMTE2RDBEREQwMDcxOTdCRCAvKiBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRp
Y2F0b3IuY3BwICovLAogCQkJCUE0MDlDOTgzMTE2RDBEREQwMDcxOTdCRCAvKiBBY2Nlc3NpYmls
aXR5UHJvZ3Jlc3NJbmRpY2F0b3IuaCAqLywKIAkJCQkyOTgxQ0FBNjEzMTgyMkVDMDBEMTJGMkEg
LyogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgKi8sCkBAIC0xNzMxNSw2ICsxNzMyNSwx
NyBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJ
CTI5QUUyMTI5MjFBQjlFQ0IwMDg2OTI4MyAvKiBpc29sYXRlZHRyZWUgKi8gPSB7CisJCQlpc2Eg
PSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTI5QUUyMTJCMjFBQjlFRUIwMDg2OTI4
MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmggKi8sCisJCQkJMjlBRTIxMkMyMUFCOUVFQjAwODY5
MjgzIC8qIEFYSXNvbGF0ZWRUcmVlQ2FjaGUuY3BwICovLAorCQkJCTI5QUUyMTMzMjFBQkE0OEEw
MDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAqLywKKwkJCQkyOUFFMjEzNDIxQUJBNDhB
MDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmNwcCAqLywKKwkJCSk7CisJCQlwYXRoID0g
aXNvbGF0ZWR0cmVlOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMkQwNjIx
NDYxREE2MzlFQzAwQTdGQjI2IC8qIGxlZ2FjeSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCkBAIC0yOTk1Miw2ICsyOTk3Myw3IEBACiAJCQkJMUFFMkFBOTgwQTFD
REQyRDAwQjQyQjI1IC8qIEpTSFRNTEltYWdlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTgwRTdFOTcwQTFBODNFMzAwN0ZCOEM1IC8qIEpTSFRNTElucHV0RWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODM2QjA5NTYxRjVGMzREOTAwM0MzNzAyIC8qIEpTSFRNTElucHV0RWxlbWVu
dEVudHJpZXNBUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5MzZCRjVDMjFENjlFNEIwMDRBOEZD
OSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
NjE0OEE3OTEyRTQxRTNCMDA0NEE3ODQgLyogSlNIVE1MS2V5Z2VuRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFFMkFCMjIwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTExhYmVsRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFCMjQwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRN
TExlZ2VuZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzE0MDYsNiArMzE0MjgsNyBAQAog
CQkJCTUxNDA1Qzg5MTkwQjAxNDQwMDc1NEY5NCAvKiBTZWxlY3Rpb25SZWN0R2F0aGVyZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0NEI0QkI0MTQxNjUwRDcwMDJCMUQ4QiAvKiBTZWxlY3RvckNo
ZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQzMkQzRkU4MThBODY1ODQwMEQ3REMwMyAvKiBT
ZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUFFMjEz
NTIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyNkI5OTk5NzE4MDRENTQyMDBEMDExMjEgLyogU2VsZWN0b3JDb21waWxlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDE1MDcxNTgxNjg1MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzEwN0JFMjE4Q0MxOURFMDBDQzE4RTggLyogU2VsZWN0
b3JQc2V1ZG9UeXBlTWFwLmggaW4gSGVhZGVycyAqLywKQEAgLTMyMzQxLDYgKzMyMzY0LDcgQEAK
IAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBNTQxNkZFNjE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVk
U2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0E1NTE1RjUxOTE4MzBBMzAwOTY4
N0QyIC8qIFlvdVR1YmVQbHVnaW5SZXBsYWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlB
RTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5j
cHAJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDggQEAKIAogI2luY2x1
ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKIAorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIK
KyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5
QVJJQUdyaWQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgiCiAjaW5j
bHVkZSAiQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmgiCkBAIC03MjMsNyArNzI1LDEwIEBACiAg
ICAgb2JqZWN0LT5zZXRBWE9iamVjdElEKDApOwogCiAgICAgbV9pZHNJblVzZS5yZW1vdmUoYXhJ
RCk7Ci0KKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIEFYSXNv
bGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9yUGFnZShtX2RvY3VtZW50LnBhZ2UoKSktPnJlbW92ZU5v
ZGUoYXhJRCk7CisjZW5kaWYKKyAgICAKICAgICBBU1NFUlQobV9vYmplY3RzLnNpemUoKSA+PSBt
X2lkc0luVXNlLnNpemUoKSk7CiB9CiAgICAgCkBAIC0yOTA3LDYgKzI5MTIsNDAgQEAKICAgICBt
X2RlZmVycmVkRm9jdXNlZE5vZGVDaGFuZ2UuY2xlYXIoKTsKIH0KICAgICAKKyNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4g
QVhPYmplY3RDYWNoZTo6Y3JlYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWUoQWNjZXNzaWJpbGl0
eU9iamVjdCYgb2JqZWN0LCBBWElEIHBhcmVudElELCBBWElzb2xhdGVkVHJlZUNhY2hlJiBjYWNo
ZSwgVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYgbm9kZXMpCit7CisgICAgUmVm
UHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gaXNvbGF0ZWRUcmVlTm9kZSA9IEFYSXNvbGF0ZWRUcmVl
Tm9kZTo6Y3JlYXRlKG9iamVjdCk7CisgICAgbm9kZXMuYXBwZW5kKGlzb2xhdGVkVHJlZU5vZGUp
OworICAgIAorICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4gcmVsYXRpb25z
aGlwID0gQVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OmNyZWF0ZSgpOworICAgIHJlbGF0aW9u
c2hpcC0+c2V0UGFyZW50KHBhcmVudElEKTsKKyAgICBvYmplY3Quc2V0SW5pdGlhbGl6ZWRJc29s
YXRlZFRyZWVOb2RlKHRydWUpOworICAgIGFzc29jaWF0ZUlzb2xhdGVkVHJlZU5vZGUob2JqZWN0
LCAqaXNvbGF0ZWRUcmVlTm9kZSwgY2FjaGUuY2FjaGVJZGVudGlmaWVyKCkpOworICAgIAorICAg
IGZvciAoYXV0byBjaGlsZCA6IG9iamVjdC5jaGlsZHJlbigpKSB7CisgICAgICAgIGF1dG8gc3Rh
dGljQ2hpbGQgPSBjcmVhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZSgqY2hpbGQsIGlzb2xhdGVk
VHJlZU5vZGUtPmlkZW50aWZpZXIoKSwgY2FjaGUsIG5vZGVzKTsKKyAgICAgICAgcmVsYXRpb25z
aGlwLT5jaGlsZHJlbigpLmFwcGVuZChzdGF0aWNDaGlsZC0+aWRlbnRpZmllcigpKTsKKyAgICB9
CisgICAgCisgICAgaXNvbGF0ZWRUcmVlTm9kZS0+c2V0UmVsYXRpb25zaGlwKHJlbGF0aW9uc2hp
cCk7CisgICAgcmV0dXJuIGlzb2xhdGVkVHJlZU5vZGU7Cit9CisgICAgCit2b2lkIEFYT2JqZWN0
Q2FjaGU6OmdlbmVyYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWVJZk5lZWRlZCgpCit7CisgICAg
aWYgKHJvb3RPYmplY3QoKS0+aW5pdGlhbGl6ZWRJc29sYXRlZFRyZWVOb2RlKCkpCisgICAgICAg
IHJldHVybjsKKyAgICAKKyAgICBSZWZQdHI8QVhJc29sYXRlZFRyZWVDYWNoZT4gY2FjaGUgPSBB
WElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvclBhZ2UobV9kb2N1bWVudC5wYWdlKCkpOworICAg
IFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbm9kZXM7CisgICAgUmVmUHRyPEFY
SXNvbGF0ZWRUcmVlTm9kZT4gcm9vdCA9IGNyZWF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlKCpy
b290T2JqZWN0KCksIDAsICpjYWNoZSwgbm9kZXMpOworICAgIHJvb3QtPnNldElzUm9vdE5vZGUo
dHJ1ZSk7CisgICAgCisgICAgY2FjaGUtPmFwcGVuZE5vZGVDaGFuZ2VzKG5vZGVzKTsKK30KKyNl
bmRpZgorICAgIAogdm9pZCBBWE9iamVjdENhY2hlOjpkZWZlclJlY29tcHV0ZUlzSWdub3JlZElm
TmVlZGVkKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgaWYgKCFub2RlQW5kUmVuZGVyZXJBcmVW
YWxpZChlbGVtZW50KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5oCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOSBAQAog
CiAjcHJhZ21hIG9uY2UKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVDYWNoZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiQVhU
ZXh0U3RhdGVDaGFuZ2VJbnRlbnQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0Lmgi
CiAjaW5jbHVkZSAiUmFuZ2UuaCIKQEAgLTM5LDYgKzQyLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK2NsYXNzIEFY
SXNvbGF0ZWRUcmVlTm9kZTsKKyNlbmRpZgogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MQXJl
YUVsZW1lbnQ7CiBjbGFzcyBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDsKQEAgLTE4MCw2ICsx
ODYsMTMgQEAKICAgICB2b2lkIGRlZmVyQXR0cmlidXRlQ2hhbmdlSWZOZWVkZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIEVsZW1lbnQqKTsKICAgICB2b2lkIHJlY29tcHV0ZUlzSWdub3JlZChSZW5k
ZXJPYmplY3QqIHJlbmRlcmVyKTsKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxp
dHlUcmVlSWZOZWVkZWQoKTsKKworICAgIHZvaWQgYXNzb2NpYXRlSXNvbGF0ZWRUcmVlTm9kZShB
Y2Nlc3NpYmlsaXR5T2JqZWN0JiwgQVhJc29sYXRlZFRyZWVOb2RlJiwgQVhJc29sYXRlZENhY2hl
SUQpOworICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IGNyZWF0ZVN0YXRpY0FjY2Vzc2li
aWxpdHlUcmVlKEFjY2Vzc2liaWxpdHlPYmplY3QmLCBBWElELCBBWElzb2xhdGVkVHJlZUNhY2hl
JiwgVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYpOworI2VuZGlmCisgICAgCiAj
aWYgSEFWRShBQ0NFU1NJQklMSVRZKQogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGVu
YWJsZUFjY2Vzc2liaWxpdHkoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBkaXNh
YmxlQWNjZXNzaWJpbGl0eSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1
ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5o
IgpAQCAtODksMTU3ICs5MCw2IEBACiBjbGFzcyBTY3JvbGxWaWV3OwogY2xhc3MgV2lkZ2V0Owog
Ci10eXBlZGVmIHVuc2lnbmVkIEFYSUQ7Ci0KLWVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUg
ewotICAgIEFubm90YXRpb24gPSAxLAotICAgIEFwcGxpY2F0aW9uLAotICAgIEFwcGxpY2F0aW9u
QWxlcnQsCi0gICAgQXBwbGljYXRpb25BbGVydERpYWxvZywKLSAgICBBcHBsaWNhdGlvbkRpYWxv
ZywKLSAgICBBcHBsaWNhdGlvbkdyb3VwLAotICAgIEFwcGxpY2F0aW9uTG9nLAotICAgIEFwcGxp
Y2F0aW9uTWFycXVlZSwKLSAgICBBcHBsaWNhdGlvblN0YXR1cywKLSAgICBBcHBsaWNhdGlvblRl
eHRHcm91cCwKLSAgICBBcHBsaWNhdGlvblRpbWVyLAotICAgIEF1ZGlvLAotICAgIEJsb2NrcXVv
dGUsCi0gICAgQnJvd3NlciwKLSAgICBCdXN5SW5kaWNhdG9yLAotICAgIEJ1dHRvbiwKLSAgICBD
YW52YXMsCi0gICAgQ2FwdGlvbiwKLSAgICBDZWxsLAotICAgIENoZWNrQm94LAotICAgIENvbG9y
V2VsbCwKLSAgICBDb2x1bW4sCi0gICAgQ29sdW1uSGVhZGVyLAotICAgIENvbWJvQm94LAotICAg
IERlZmluaXRpb24sCi0gICAgRGVzY3JpcHRpb25MaXN0LAotICAgIERlc2NyaXB0aW9uTGlzdFRl
cm0sCi0gICAgRGVzY3JpcHRpb25MaXN0RGV0YWlsLAotICAgIERldGFpbHMsCi0gICAgRGlyZWN0
b3J5LAotICAgIERpc2Nsb3N1cmVUcmlhbmdsZSwKLSAgICBEaXYsCi0gICAgRG9jdW1lbnQsCi0g
ICAgRG9jdW1lbnRBcnRpY2xlLAotICAgIERvY3VtZW50TWF0aCwKLSAgICBEb2N1bWVudE5vdGUs
Ci0gICAgRHJhd2VyLAotICAgIEVkaXRhYmxlVGV4dCwKLSAgICBGZWVkLAotICAgIEZpZ3VyZSwK
LSAgICBGb290ZXIsCi0gICAgRm9vdG5vdGUsCi0gICAgRm9ybSwKLSAgICBHcmFwaGljc0RvY3Vt
ZW50LAotICAgIEdyYXBoaWNzT2JqZWN0LAotICAgIEdyYXBoaWNzU3ltYm9sLAotICAgIEdyaWQs
Ci0gICAgR3JpZENlbGwsCi0gICAgR3JvdXAsCi0gICAgR3Jvd0FyZWEsCi0gICAgSGVhZGluZywK
LSAgICBIZWxwVGFnLAotICAgIEhvcml6b250YWxSdWxlLAotICAgIElnbm9yZWQsCi0gICAgSW5s
aW5lLAotICAgIEltYWdlLAotICAgIEltYWdlTWFwLAotICAgIEltYWdlTWFwTGluaywKLSAgICBJ
bmNyZW1lbnRvciwKLSAgICBMYWJlbCwKLSAgICBMYW5kbWFya0Jhbm5lciwKLSAgICBMYW5kbWFy
a0NvbXBsZW1lbnRhcnksCi0gICAgTGFuZG1hcmtDb250ZW50SW5mbywKLSAgICBMYW5kbWFya0Rv
Y1JlZ2lvbiwKLSAgICBMYW5kbWFya01haW4sCi0gICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAotICAg
IExhbmRtYXJrUmVnaW9uLAotICAgIExhbmRtYXJrU2VhcmNoLAotICAgIExlZ2VuZCwKLSAgICBM
aW5rLAotICAgIExpc3QsCi0gICAgTGlzdEJveCwKLSAgICBMaXN0Qm94T3B0aW9uLAotICAgIExp
c3RJdGVtLAotICAgIExpc3RNYXJrZXIsCi0gICAgTWFyaywKLSAgICBNYXRoRWxlbWVudCwKLSAg
ICBNYXR0ZSwKLSAgICBNZW51LAotICAgIE1lbnVCYXIsCi0gICAgTWVudUJ1dHRvbiwKLSAgICBN
ZW51SXRlbSwKLSAgICBNZW51SXRlbUNoZWNrYm94LAotICAgIE1lbnVJdGVtUmFkaW8sCi0gICAg
TWVudUxpc3RQb3B1cCwKLSAgICBNZW51TGlzdE9wdGlvbiwKLSAgICBPdXRsaW5lLAotICAgIFBh
cmFncmFwaCwKLSAgICBQb3BVcEJ1dHRvbiwKLSAgICBQcmUsCi0gICAgUHJlc2VudGF0aW9uYWws
Ci0gICAgUHJvZ3Jlc3NJbmRpY2F0b3IsCi0gICAgUmFkaW9CdXR0b24sCi0gICAgUmFkaW9Hcm91
cCwKLSAgICBSb3dIZWFkZXIsCi0gICAgUm93LAotICAgIFJvd0dyb3VwLAotICAgIFJ1YnlCYXNl
LAotICAgIFJ1YnlCbG9jaywKLSAgICBSdWJ5SW5saW5lLAotICAgIFJ1YnlSdW4sCi0gICAgUnVi
eVRleHQsCi0gICAgUnVsZXIsCi0gICAgUnVsZXJNYXJrZXIsCi0gICAgU2Nyb2xsQXJlYSwKLSAg
ICBTY3JvbGxCYXIsCi0gICAgU2VhcmNoRmllbGQsCi0gICAgU2hlZXQsCi0gICAgU2xpZGVyLAot
ICAgIFNsaWRlclRodW1iLAotICAgIFNwaW5CdXR0b24sCi0gICAgU3BpbkJ1dHRvblBhcnQsCi0g
ICAgU3BsaXRHcm91cCwKLSAgICBTcGxpdHRlciwKLSAgICBTdGF0aWNUZXh0LAotICAgIFN1bW1h
cnksCi0gICAgU3dpdGNoLAotICAgIFN5c3RlbVdpZGUsCi0gICAgU1ZHUm9vdCwKLSAgICBTVkdU
ZXh0LAotICAgIFNWR1RTcGFuLAotICAgIFNWR1RleHRQYXRoLAotICAgIFRhYkdyb3VwLAotICAg
IFRhYkxpc3QsCi0gICAgVGFiUGFuZWwsCi0gICAgVGFiLAotICAgIFRhYmxlLAotICAgIFRhYmxl
SGVhZGVyQ29udGFpbmVyLAotICAgIFRleHRBcmVhLAotICAgIFRleHRHcm91cCwKLSAgICBUZXJt
LAotICAgIFRpbWUsCi0gICAgVHJlZSwKLSAgICBUcmVlR3JpZCwKLSAgICBUcmVlSXRlbSwKLSAg
ICBUZXh0RmllbGQsCi0gICAgVG9nZ2xlQnV0dG9uLAotICAgIFRvb2xiYXIsCi0gICAgVW5rbm93
biwKLSAgICBVc2VySW50ZXJmYWNlVG9vbHRpcCwKLSAgICBWYWx1ZUluZGljYXRvciwKLSAgICBW
aWRlbywKLSAgICBXZWJBcHBsaWNhdGlvbiwKLSAgICBXZWJBcmVhLAotICAgIFdlYkNvcmVMaW5r
LAotICAgIFdpbmRvdywKLX07Ci0KIGVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVRleHRTb3VyY2Ug
ewogICAgIEFsdGVybmF0aXZlLAogICAgIENoaWxkcmVuLApAQCAtNDkxLDcgKzM0MSw3IEBACiAg
ICAgCiBib29sIG5vZGVIYXNQcmVzZW50YXRpb25Sb2xlKE5vZGUqKTsKICAgICAKLWNsYXNzIEFj
Y2Vzc2liaWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0
PiB7CitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0IDogcHVibGljIFJlZkNvdW50ZWQ8QWNjZXNz
aWJpbGl0eU9iamVjdD4sIHB1YmxpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKIHBy
b3RlY3RlZDoKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KCkgPSBkZWZhdWx0OwogICAgIApAQCAt
MTE1MCw2ICsxMDAwLDExIEBACiAgICAgdm9pZCBjbGVhcklzSWdub3JlZEZyb21QYXJlbnREYXRh
KCkgeyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhID0gQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZy
b21QYXJlbnREYXRhKCk7IH0KICAgICB2b2lkIHNldElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9y
Q2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdCopOwogICAgIAorI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUpCisgICAgdm9pZCBzZXRJbml0aWFsaXplZElzb2xhdGVkVHJlZU5v
ZGUoYm9vbCBpbml0aWFsaXplZCkgeyBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZCA9IGlu
aXRpYWxpemVkOyB9CisgICAgYm9vbCBpbml0aWFsaXplZElzb2xhdGVkVHJlZU5vZGUoKSBjb25z
dCB7IHJldHVybiBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZDsgfQorI2VuZGlmCisgICAg
CiBwcm90ZWN0ZWQ6CiAgICAgQVhJRCBtX2lkIHsgMCB9OwogICAgIEFjY2Vzc2liaWxpdHlDaGls
ZHJlblZlY3RvciBtX2NoaWxkcmVuOwpAQCAtMTE1OSw3ICsxMDE0LDEwIEBACiAgICAgQWNjZXNz
aWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhIG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEg
eyB9OwogICAgIGJvb2wgbV9jaGlsZHJlbkRpcnR5IHsgZmFsc2UgfTsKICAgICBib29sIG1fc3Vi
dHJlZURpcnR5IHsgZmFsc2UgfTsKLQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCisgICAgYm9vbCBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZCB7IGZhbHNlIH07
CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHNldElzSWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vz
c2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSYgZGF0YSkgeyBtX2lzSWdub3JlZEZyb21Q
YXJlbnREYXRhID0gZGF0YTsgfQogCiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVBY2Nlc3NpYmls
aXR5SXNJZ25vcmVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
OTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit0eXBlZGVmIHVuc2lnbmVkIEFYSUQ7CisKK2VudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUg
eworICAgIEFubm90YXRpb24gPSAxLAorICAgIEFwcGxpY2F0aW9uLAorICAgIEFwcGxpY2F0aW9u
QWxlcnQsCisgICAgQXBwbGljYXRpb25BbGVydERpYWxvZywKKyAgICBBcHBsaWNhdGlvbkRpYWxv
ZywKKyAgICBBcHBsaWNhdGlvbkdyb3VwLAorICAgIEFwcGxpY2F0aW9uTG9nLAorICAgIEFwcGxp
Y2F0aW9uTWFycXVlZSwKKyAgICBBcHBsaWNhdGlvblN0YXR1cywKKyAgICBBcHBsaWNhdGlvblRl
eHRHcm91cCwKKyAgICBBcHBsaWNhdGlvblRpbWVyLAorICAgIEF1ZGlvLAorICAgIEJsb2NrcXVv
dGUsCisgICAgQnJvd3NlciwKKyAgICBCdXN5SW5kaWNhdG9yLAorICAgIEJ1dHRvbiwKKyAgICBD
YW52YXMsCisgICAgQ2FwdGlvbiwKKyAgICBDZWxsLAorICAgIENoZWNrQm94LAorICAgIENvbG9y
V2VsbCwKKyAgICBDb2x1bW4sCisgICAgQ29sdW1uSGVhZGVyLAorICAgIENvbWJvQm94LAorICAg
IERlZmluaXRpb24sCisgICAgRGVzY3JpcHRpb25MaXN0LAorICAgIERlc2NyaXB0aW9uTGlzdFRl
cm0sCisgICAgRGVzY3JpcHRpb25MaXN0RGV0YWlsLAorICAgIERldGFpbHMsCisgICAgRGlyZWN0
b3J5LAorICAgIERpc2Nsb3N1cmVUcmlhbmdsZSwKKyAgICBEaXYsCisgICAgRG9jdW1lbnQsCisg
ICAgRG9jdW1lbnRBcnRpY2xlLAorICAgIERvY3VtZW50TWF0aCwKKyAgICBEb2N1bWVudE5vdGUs
CisgICAgRHJhd2VyLAorICAgIEVkaXRhYmxlVGV4dCwKKyAgICBGZWVkLAorICAgIEZpZ3VyZSwK
KyAgICBGb290ZXIsCisgICAgRm9vdG5vdGUsCisgICAgRm9ybSwKKyAgICBHcmFwaGljc0RvY3Vt
ZW50LAorICAgIEdyYXBoaWNzT2JqZWN0LAorICAgIEdyYXBoaWNzU3ltYm9sLAorICAgIEdyaWQs
CisgICAgR3JpZENlbGwsCisgICAgR3JvdXAsCisgICAgR3Jvd0FyZWEsCisgICAgSGVhZGluZywK
KyAgICBIZWxwVGFnLAorICAgIEhvcml6b250YWxSdWxlLAorICAgIElnbm9yZWQsCisgICAgSW5s
aW5lLAorICAgIEltYWdlLAorICAgIEltYWdlTWFwLAorICAgIEltYWdlTWFwTGluaywKKyAgICBJ
bmNyZW1lbnRvciwKKyAgICBMYWJlbCwKKyAgICBMYW5kbWFya0Jhbm5lciwKKyAgICBMYW5kbWFy
a0NvbXBsZW1lbnRhcnksCisgICAgTGFuZG1hcmtDb250ZW50SW5mbywKKyAgICBMYW5kbWFya0Rv
Y1JlZ2lvbiwKKyAgICBMYW5kbWFya01haW4sCisgICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAorICAg
IExhbmRtYXJrUmVnaW9uLAorICAgIExhbmRtYXJrU2VhcmNoLAorICAgIExlZ2VuZCwKKyAgICBM
aW5rLAorICAgIExpc3QsCisgICAgTGlzdEJveCwKKyAgICBMaXN0Qm94T3B0aW9uLAorICAgIExp
c3RJdGVtLAorICAgIExpc3RNYXJrZXIsCisgICAgTWFyaywKKyAgICBNYXRoRWxlbWVudCwKKyAg
ICBNYXR0ZSwKKyAgICBNZW51LAorICAgIE1lbnVCYXIsCisgICAgTWVudUJ1dHRvbiwKKyAgICBN
ZW51SXRlbSwKKyAgICBNZW51SXRlbUNoZWNrYm94LAorICAgIE1lbnVJdGVtUmFkaW8sCisgICAg
TWVudUxpc3RQb3B1cCwKKyAgICBNZW51TGlzdE9wdGlvbiwKKyAgICBPdXRsaW5lLAorICAgIFBh
cmFncmFwaCwKKyAgICBQb3BVcEJ1dHRvbiwKKyAgICBQcmUsCisgICAgUHJlc2VudGF0aW9uYWws
CisgICAgUHJvZ3Jlc3NJbmRpY2F0b3IsCisgICAgUmFkaW9CdXR0b24sCisgICAgUmFkaW9Hcm91
cCwKKyAgICBSb3dIZWFkZXIsCisgICAgUm93LAorICAgIFJvd0dyb3VwLAorICAgIFJ1YnlCYXNl
LAorICAgIFJ1YnlCbG9jaywKKyAgICBSdWJ5SW5saW5lLAorICAgIFJ1YnlSdW4sCisgICAgUnVi
eVRleHQsCisgICAgUnVsZXIsCisgICAgUnVsZXJNYXJrZXIsCisgICAgU2Nyb2xsQXJlYSwKKyAg
ICBTY3JvbGxCYXIsCisgICAgU2VhcmNoRmllbGQsCisgICAgU2hlZXQsCisgICAgU2xpZGVyLAor
ICAgIFNsaWRlclRodW1iLAorICAgIFNwaW5CdXR0b24sCisgICAgU3BpbkJ1dHRvblBhcnQsCisg
ICAgU3BsaXRHcm91cCwKKyAgICBTcGxpdHRlciwKKyAgICBTdGF0aWNUZXh0LAorICAgIFN1bW1h
cnksCisgICAgU3dpdGNoLAorICAgIFN5c3RlbVdpZGUsCisgICAgU1ZHUm9vdCwKKyAgICBTVkdU
ZXh0LAorICAgIFNWR1RTcGFuLAorICAgIFNWR1RleHRQYXRoLAorICAgIFRhYkdyb3VwLAorICAg
IFRhYkxpc3QsCisgICAgVGFiUGFuZWwsCisgICAgVGFiLAorICAgIFRhYmxlLAorICAgIFRhYmxl
SGVhZGVyQ29udGFpbmVyLAorICAgIFRleHRBcmVhLAorICAgIFRleHRHcm91cCwKKyAgICBUZXJt
LAorICAgIFRpbWUsCisgICAgVHJlZSwKKyAgICBUcmVlR3JpZCwKKyAgICBUcmVlSXRlbSwKKyAg
ICBUZXh0RmllbGQsCisgICAgVG9nZ2xlQnV0dG9uLAorICAgIFRvb2xiYXIsCisgICAgVW5rbm93
biwKKyAgICBVc2VySW50ZXJmYWNlVG9vbHRpcCwKKyAgICBWYWx1ZUluZGljYXRvciwKKyAgICBW
aWRlbywKKyAgICBXZWJBcHBsaWNhdGlvbiwKKyAgICBXZWJBcmVhLAorICAgIFdlYkNvcmVMaW5r
LAorICAgIFdpbmRvdywKK307CisKK2NsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2Ug
eworcHVibGljOgorICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UoKSA9
IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNNZWRpYUNvbnRyb2xMYWJlbCgpIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdHRhY2htZW50KCkgY29uc3QgPSAwOworfTsKKworfQpJ
bmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRl
ZFRyZWVDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVDYWNoZS5jcHAJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVD
YWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIKKworI2luY2x1ZGUgIkFYSXNv
bGF0ZWRUcmVlTm9kZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlIDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorc3RhdGljIHVuc2lnbmVk
IHNfY2FjaGVJRENvdW50ID0gMDsKK0hhc2hNYXA8UGFnZSosIFJlZlB0cjxBWElzb2xhdGVkVHJl
ZUNhY2hlPj4mIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnBhZ2VSb290TWFwKCkKK3sKKyAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxQYWdlKiwgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2Fj
aGU+Pj4gbWFwOworICAgIHJldHVybiBtYXA7Cit9CisKK0hhc2hNYXA8QVhJc29sYXRlZENhY2hl
SUQsIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4mIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnRy
ZWVDYWNoZSgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8QVhJc29sYXRl
ZENhY2hlSUQsIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4+IG1hcDsKKyAgICByZXR1cm4g
bWFwOworfQorCitBWElzb2xhdGVkVHJlZUNhY2hlOjpBWElzb2xhdGVkVHJlZUNhY2hlKCkKKyAg
ICA6IG1fY2FjaGVJRCgrK3NfY2FjaGVJRENvdW50KQoreworfQorCitBWElzb2xhdGVkVHJlZUNh
Y2hlOjp+QVhJc29sYXRlZFRyZWVDYWNoZSgpID0gZGVmYXVsdDsKKworUmVmPEFYSXNvbGF0ZWRU
cmVlQ2FjaGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgQVhJc29sYXRlZFRyZWVDYWNoZSgpKTsKK30KKyAgICAKK1JlZlB0cjxBWElz
b2xhdGVkVHJlZUNhY2hlPiBBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvcklEKEFYSXNvbGF0
ZWRDYWNoZUlEIGNhY2hlSUQpCit7CisgICAgcmV0dXJuIHRyZWVDYWNoZSgpLmdldChjYWNoZUlE
KTsKK30KKworUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6
OmNhY2hlRm9yUGFnZShQYWdlKiBwYWdlKQoreworICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNh
Y2hlPiBjYWNoZSA9IHBhZ2VSb290TWFwKCkuZ2V0KHBhZ2UpOworICAgIGlmICghY2FjaGUpIHsK
KyAgICAgICAgY2FjaGUgPSBBWElzb2xhdGVkVHJlZUNhY2hlOjpjcmVhdGUoKTsKKyAgICAgICAg
cGFnZVJvb3RNYXAoKS5zZXQocGFnZSwgY2FjaGUpOworICAgICAgICB0cmVlQ2FjaGUoKS5zZXQo
Y2FjaGUtPmNhY2hlSWRlbnRpZmllcigpLCBjYWNoZSk7CisgICAgfQorICAgIHJldHVybiBjYWNo
ZTsKK30KKyAgICAKK1JlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlQ2Fj
aGU6Om5vZGVGb3JJRChBWElEIGF4SUQpIGNvbnN0Cit7CisgICAgaWYgKCFheElEKQorICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gbV9jYWNoZS5nZXQoYXhJRCk7Cit9CisKK1Jl
ZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnJvb3ROb2RlKCkK
K3sKKyAgICByZXR1cm4gbm9kZUZvcklEKG1fcm9vdE5vZGVJRCk7Cit9CisKK3ZvaWQgQVhJc29s
YXRlZFRyZWVDYWNoZTo6cmVtb3ZlTm9kZShBWElEIGF4SUQpCit7CisgICAgbV9jaGFuZ2VMb2dM
b2NrLmxvY2soKTsKKyAgICBtX3JlbW92ZUNoYW5nZUxvZy5hcHBlbmQoYXhJRCk7CisgICAgbV9j
aGFuZ2VMb2dMb2NrLnVubG9jaygpOworfQorCit2b2lkIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFw
cGVuZE5vZGVDaGFuZ2VzKFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4mIGxvZykK
K3sKKyAgICBtX2NoYW5nZUxvZ0xvY2subG9jaygpOworICAgIG1fYXBwZW5kQ2hhbmdlTG9nLmFw
cGVuZFZlY3Rvcihsb2cpOworICAgIG1fY2hhbmdlTG9nTG9jay51bmxvY2soKTsKK30KKyAgICAK
K3ZvaWQgQVhJc29sYXRlZFRyZWVDYWNoZTo6YXBwbHlDaGFuZ2VMb2coKQoreworICAgIFZlY3Rv
cjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gYXBwZW5kQ29weTsKKyAgICBWZWN0b3I8QVhJ
RD4gcmVtb3ZlQ29weTsKKworICAgIG1fY2hhbmdlTG9nTG9jay5sb2NrKCk7CisgICAgYXBwZW5k
Q29weSA9IG1fYXBwZW5kQ2hhbmdlTG9nOworICAgIHJlbW92ZUNvcHkgPSBtX3JlbW92ZUNoYW5n
ZUxvZzsKKyAgICAKKyAgICBtX2FwcGVuZENoYW5nZUxvZy5jbGVhcigpOworICAgIG1fcmVtb3Zl
Q2hhbmdlTG9nLmNsZWFyKCk7CisgICAgbV9jaGFuZ2VMb2dMb2NrLnVubG9jaygpOworCisgICAg
Zm9yIChhdXRvIGl0ZW0gOiBhcHBlbmRDb3B5KSB7CisgICAgICAgIG1fY2FjaGUuc2V0KGl0ZW0t
PmlkZW50aWZpZXIoKSwgaXRlbSk7CisgICAgICAgIGlmIChpdGVtLT5pc1Jvb3ROb2RlKCkpCisg
ICAgICAgICAgICBtX3Jvb3ROb2RlSUQgPSBpdGVtLT5pZGVudGlmaWVyKCk7CisgICAgfQorCisg
ICAgZm9yIChhdXRvIGl0ZW0gOiByZW1vdmVDb3B5KQorICAgICAgICBtX2NhY2hlLnJlbW92ZShp
dGVtKTsKK30KKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVDYWNoZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQor
CisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZD
b3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGFnZTsKKwordHlwZWRl
ZiB1bnNpZ25lZCBBWElzb2xhdGVkQ2FjaGVJRDsKKyAgICAKK2NsYXNzIEFYSXNvbGF0ZWRUcmVl
Q2FjaGUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QVhJc29sYXRlZFRyZWVDYWNoZT4g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFYSXNvbGF0ZWRUcmVlQ2FjaGUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKKworcHVibGljOgorICAgIHN0YXRpYyBSZWY8QVhJc29sYXRlZFRy
ZWVDYWNoZT4gY3JlYXRlKCk7CisgICAgdmlydHVhbCB+QVhJc29sYXRlZFRyZWVDYWNoZSgpOwor
CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPiBj
YWNoZUZvclBhZ2UoUGFnZSopOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8QVhJ
c29sYXRlZFRyZWVDYWNoZT4gY2FjaGVGb3JJRChBWElzb2xhdGVkQ2FjaGVJRCk7CisKKyAgICBX
RUJDT1JFX0VYUE9SVCBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiByb290Tm9kZSgpOworICAg
IFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IG5vZGVGb3JJRChBWElEKSBjb25zdDsKKworICAg
IC8vIENhbGwgb24gbWFpbiB0aHJlYWQKKyAgICB2b2lkIGFwcGVuZE5vZGVDaGFuZ2VzKFZlY3Rv
cjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4mKTsKKyAgICB2b2lkIHJlbW92ZU5vZGUoQVhJ
RCk7CisKKyAgICAvLyBDYWxsIG9uIEFYIHRocmVhZAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
YXBwbHlDaGFuZ2VMb2coKTsKKyAgICAKKyAgICBBWElzb2xhdGVkQ2FjaGVJRCBjYWNoZUlkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlSUQ7IH0KKyAgICAKK3ByaXZhdGU6CisgICAg
QVhJc29sYXRlZFRyZWVDYWNoZSgpOworCisgICAgc3RhdGljIEhhc2hNYXA8UGFnZSosIFJlZlB0
cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4mIHBhZ2VSb290TWFwKCk7CisgICAgc3RhdGljIEhhc2hN
YXA8QVhJc29sYXRlZENhY2hlSUQsIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4mIHRyZWVD
YWNoZSgpOworICAgIAorICAgIC8vIE9ubHkgYWNjZXNzIG9uIEFYIHRocmVhZCByZXF1ZXN0aW5n
IGRhdGEuCisgICAgSGFzaE1hcDxBWElELCBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbV9j
YWNoZTsKKyAgICAKKyAgICAvLyBXcml0dGVuIHRvIGJ5IG1haW4gdGhyZWFkIHVuZGVyIGxvY2ss
IGFjY2Vzc2VkIGFuZCBhcHBsaWVkIGJ5IEFYIHRocmVhZC4KKyAgICBWZWN0b3I8UmVmUHRyPEFY
SXNvbGF0ZWRUcmVlTm9kZT4+IG1fYXBwZW5kQ2hhbmdlTG9nOworICAgIFZlY3RvcjxBWElEPiBt
X3JlbW92ZUNoYW5nZUxvZzsKKyAgICBMb2NrIG1fY2hhbmdlTG9nTG9jazsKKworICAgIEFYSXNv
bGF0ZWRDYWNoZUlEIG1fY2FjaGVJRDsKKyAgICBBWElEIG1fcm9vdE5vZGVJRDsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRU
cmVlTm9kZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDExOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFKQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZFRy
ZWVOb2RlLmgiCisKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworQVhJc29sYXRlZFRyZWVOb2RlOjpBWElzb2xhdGVkVHJlZU5vZGUoY29u
c3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQorICAgIDogbV9pZGVudGlmaWVyKG9iamVj
dC5heE9iamVjdElEKCkpCisgICAgLCBtX3JlbGF0aW9uc2hpcChudWxscHRyKQoreworICAgIGlu
aXRpYWxpemVBdHRyaWJ1dGVEYXRhKG9iamVjdCk7Cit9CisKK1JlZjxBWElzb2xhdGVkVHJlZU5v
ZGU+IEFYSXNvbGF0ZWRUcmVlTm9kZTo6Y3JlYXRlKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3Qm
IG9iamVjdCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZU5vZGUo
b2JqZWN0KSk7Cit9CisgICAgCitBWElzb2xhdGVkVHJlZU5vZGU6On5BWElzb2xhdGVkVHJlZU5v
ZGUoKSA9IGRlZmF1bHQ7CisKK3ZvaWQgQVhJc29sYXRlZFRyZWVOb2RlOjppbml0aWFsaXplQXR0
cmlidXRlRGF0YShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCit7CisgICAgc2V0
UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlJvbGVWYWx1ZSwgc3RhdGljX2Nhc3Q8aW50PihvYmpl
Y3Qucm9sZVZhbHVlKCkpKTsKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNBdHRh
Y2htZW50LCBvYmplY3QuaXNBdHRhY2htZW50KCkpOworICAgIHNldFByb3BlcnR5KEFYUHJvcGVy
dHlOYW1lOjpJc01lZGlhQ29udHJvbExhYmVsLCBvYmplY3QuaXNNZWRpYUNvbnRyb2xMYWJlbCgp
KTsKK30KKyAgICAKK3ZvaWQgQVhJc29sYXRlZFRyZWVOb2RlOjpzZXRQcm9wZXJ0eShBWFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCYmIHZhbHVlLCBib29s
IHNob3VsZFJlbW92ZSkKK3sKKyAgICBpZiAoc2hvdWxkUmVtb3ZlKQorICAgICAgICBtX2F0dHJp
YnV0ZU1hcC5yZW1vdmUocHJvcGVydHlOYW1lKTsKKyAgICBlbHNlCisgICAgICAgIG1fYXR0cmli
dXRlTWFwLnNldChwcm9wZXJ0eU5hbWUsIHZhbHVlKTsKK30KKyAgICAKK2RvdWJsZSBBWElzb2xh
dGVkVHJlZU5vZGU6OmRvdWJsZUF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3Bl
cnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAoZG91YmxlJiB0
eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0
byYpIHsKKyAgICAgICAgcmV0dXJuIDAuMDsKKyAgICB9KTsKK30KKwordW5zaWduZWQgQVhJc29s
YXRlZFRyZWVOb2RlOjp1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3Bl
cnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHBy
b3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAodW5zaWdu
ZWQmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZd
IChhdXRvJikgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKworYm9vbCBBWElzb2xh
dGVkVHJlZU5vZGU6OmJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0
eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGJvb2wmIHR5cGVk
VmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikg
eworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSk7Cit9CisKK2NvbnN0IFN0cmluZyYgQVhJ
c29sYXRlZFRyZWVOb2RlOjpzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChw
cm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKFN0cmlu
ZyYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0g
KGF1dG8mKSB7CisgICAgICAgIHJldHVybiBudWxsQXRvbSgpOworICAgIH0pOworfQorCitpbnQg
QVhJc29sYXRlZFRyZWVOb2RlOjppbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChw
cm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGludCYg
dHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1
dG8mKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0pOworfQorCisjcHJhZ21hIG1hcmsgLSBP
dmVycmlkZXMKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RSgoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVOb2RlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxNTQgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQor
CisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgorI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRT
YWZlUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKKyNpZiBQTEFURk9STShDT0NP
QSkKK09CSkNfQ0xBU1MgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI7CisjZW5kaWYKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworCitjbGFz
cyBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXAoKSk7IH0KKyAgICB2aXJ0dWFsIH5BWElzb2xh
dGVkVHJlZVJlbGF0aW9uc2hpcCgpID0gZGVmYXVsdDsKKworICAgIEFYSXNvbGF0ZWRUcmVlUmVs
YXRpb25zaGlwKGNvbnN0IEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwJiByZWxhdGlvbnNoaXAp
CisgICAgICAgIDogbV9wYXJlbnQocmVsYXRpb25zaGlwLm1fcGFyZW50KQorICAgICAgICAsIG1f
Y2hpbGRyZW4ocmVsYXRpb25zaGlwLm1fY2hpbGRyZW4pCisgICAgeworICAgIH0KKyAgICAKKyAg
ICBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCYgb3BlcmF0b3I9KGNvbnN0IEFYSXNvbGF0ZWRU
cmVlUmVsYXRpb25zaGlwJiByZWxhdGlvbnNoaXApCisgICAgeworICAgICAgICBtX3BhcmVudCA9
IHJlbGF0aW9uc2hpcC5tX3BhcmVudDsKKyAgICAgICAgbV9jaGlsZHJlbiA9IHJlbGF0aW9uc2hp
cC5tX2NoaWxkcmVuOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgdm9pZCBz
ZXRQYXJlbnQoQVhJRCBwYXJlbnQpIHsgbV9wYXJlbnQgPSBwYXJlbnQ7IH0KKyAgICBBWElEIHBh
cmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50OyB9CisKKyAgICBWZWN0b3I8QVhJRD4mIGNo
aWxkcmVuKCkgeyByZXR1cm4gbV9jaGlsZHJlbjsgfTsKKworcHJpdmF0ZToKKyAgICBBWElzb2xh
dGVkVHJlZVJlbGF0aW9uc2hpcCgpIHsgfQorCisgICAgQVhJRCBtX3BhcmVudDsKKyAgICBWZWN0
b3I8QVhJRD4gbV9jaGlsZHJlbjsKK307CisKKyAgICAKK2NsYXNzIEFYSXNvbGF0ZWRUcmVlTm9k
ZSBmaW5hbCA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLCBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8QVhJc29sYXRlZFRyZWVOb2RlPiwgcHVibGljIENhbk1ha2VXZWFr
UHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4geworICAgIAorZW51bSBjbGFzcyBBWFByb3BlcnR5TmFt
ZSA6IHVpbnQxNl90IHsKKyAgICBOb25lID0gMCwKKyAgICBSb2xlVmFsdWUgPSAxLAorICAgIElz
QXR0YWNobWVudCwKKyAgICBJc01lZGlhQ29udHJvbExhYmVsLAorfTsKKworc3RydWN0IEFYUHJv
cGVydHlIYXNoVHJhaXRzIDogV1RGOjpTdHJvbmdFbnVtSGFzaFRyYWl0czxBWFByb3BlcnR5TmFt
ZT4geworICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKKyAg
ICBzdGF0aWMgQVhQcm9wZXJ0eU5hbWUgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIEFYUHJvcGVydHlO
YW1lOjpOb25lOyB9OworICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShBWFBy
b3BlcnR5TmFtZSYgc2xvdCkKKyAgICB7CisgICAgICAgIHNsb3QgPSBzdGF0aWNfY2FzdDxBWFBy
b3BlcnR5TmFtZT4oc3RhdGljX2Nhc3Q8aW50PihBWFByb3BlcnR5TmFtZTo6Tm9uZSkgLSAxKTsK
KyAgICB9CisgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoQVhQcm9wZXJ0eU5hbWUgdmFs
dWUpCisgICAgeworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSkgPT0gc3Rh
dGljX2Nhc3Q8aW50PihBWFByb3BlcnR5TmFtZTo6Tm9uZSkgLSAxOworICAgIH0KK307CisKK3By
b3RlY3RlZDoKKyAgICBBWElzb2xhdGVkVHJlZU5vZGUoKSA9IGRlZmF1bHQ7CisKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gY3JlYXRlKGNvbnN0IEFjY2Vzc2li
aWxpdHlPYmplY3QmKTsKKyAgICB2aXJ0dWFsIH5BWElzb2xhdGVkVHJlZU5vZGUoKTsKKworICAg
IEFYSUQgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQorICAgIAor
ICAgIHZvaWQgc2V0UmVsYXRpb25zaGlwKFJlZlB0cjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cD4gcmVsYXRpb25zaGlwKSB7IG1fcmVsYXRpb25zaGlwID0gcmVsYXRpb25zaGlwOyB9CisgICAg
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwPiYgcmVsYXRpb25zaGlwKCkgeyByZXR1
cm4gbV9yZWxhdGlvbnNoaXA7IH0KKyAgICAKKyAgICBib29sIGlzUm9vdE5vZGUoKSBjb25zdCB7
IHJldHVybiBtX2lzUm9vdE5vZGU7IH0KKyAgICB2b2lkIHNldElzUm9vdE5vZGUoYm9vbCB2YWx1
ZSkgeyBtX2lzUm9vdE5vZGUgPSB2YWx1ZTsgfQorICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQor
ICAgIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKCkgY29uc3QgeyByZXR1
cm4gbV93cmFwcGVyLmdldCgpOyB9CisgICAgdm9pZCBzZXRXcmFwcGVyKFdlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKQorICAgIHsKKyAgICAgICAgbV93cmFwcGVyID0gd3Jh
cHBlcjsKKyAgICB9CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBBWElzb2xhdGVkVHJlZU5vZGUo
Y29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYpOworICAgIHZvaWQgaW5pdGlhbGl6ZUF0dHJpYnV0
ZURhdGEoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYpOworICAgIAorICAgIGJvb2wgaXNNZWRp
YUNvbnRyb2xMYWJlbCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZTo6SXNNZWRpYUNvbnRyb2xMYWJlbCk7IH0KKyAgICBib29sIGlzQXR0
YWNobWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6SXNBdHRhY2htZW50KTsgfQorICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVW
YWx1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlS
b2xlPihpbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6Um9sZVZhbHVlKSk7IH0KKyAg
ICAKKyAgICB1c2luZyBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQgPSBWYXJpYW50PHN0ZDo6bnVsbHB0
cl90LCBTdHJpbmcsIGJvb2wsIGludCwgdW5zaWduZWQsIGRvdWJsZT47CisgICAgdm9pZCBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZSwgQXR0cmlidXRlVmFsdWVWYXJpYW50JiYsIGJvb2wgc2hv
dWxkUmVtb3ZlID0gZmFsc2UpOworICAgIAorICAgIGJvb2wgYm9vbEF0dHJpYnV0ZVZhbHVlKEFY
UHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBjb25zdCBTdHJpbmcmIHN0cmluZ0F0dHJpYnV0ZVZh
bHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBpbnQgaW50QXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIHVuc2lnbmVkIHVuc2lnbmVkQXR0cmlidXRlVmFsdWUo
QVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGRvdWJsZSBkb3VibGVBdHRyaWJ1dGVWYWx1ZShB
WFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgCisgICAgQVhJRCBtX2lkZW50aWZpZXI7CisgICAg
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwPiBtX3JlbGF0aW9uc2hpcDsKKyAgICBi
b29sIG1faXNSb290Tm9kZTsKKyAgICAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXRhaW5Q
dHI8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI+IG1fd3JhcHBlcjsKKyNlbmRpZgorICAg
IAorICAgIEhhc2hNYXA8QVhQcm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCwgV1RG
OjpJbnRIYXNoPEFYUHJvcGVydHlOYW1lPiwgQVhQcm9wZXJ0eUhhc2hUcmFpdHM+IG1fYXR0cmli
dXRlTWFwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KChBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCShyZXZpc2lvbiAy
NDAyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hl
TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFkpICYmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWVOb2Rl
LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmls
aXR5VGFibGUuaCIKICNpbXBvcnQgIlJlbmRlck9iamVjdC5oIgpAQCAtMjM3LDYgKzIzOCwxNCBA
QAogICAgIG9iai0+c2V0V3JhcHBlcihudWxscHRyKTsKIH0KIAorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlzb2xh
dGVkVHJlZU5vZGUoQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0LCBBWElzb2xhdGVkVHJlZU5v
ZGUmIG5vZGUsIEFYSXNvbGF0ZWRDYWNoZUlEIGNhY2hlSUQpCit7CisgICAgb2JqZWN0LndyYXBw
ZXIoKS5pc29sYXRlZENhY2hlSWRlbnRpZmllciA9IGNhY2hlSUQ7CisgICAgbm9kZS5zZXRXcmFw
cGVyKG9iamVjdC53cmFwcGVyKCkpOworfQorI2VuZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmF0dGFjaFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogewogICAgIFJldGFp
blB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gd3JhcHBlciA9IGFkb3B0TlMoW1tX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhbGxvY10gaW5pdFdpdGhBY2Nlc3NpYmlsaXR5
T2JqZWN0Om9ial0pOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNl
LmgJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSwxMSArMjksMTggQEAKICNpZm5kZWYgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNl
X2gKICNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlX2gKIAorI2luY2x1
ZGUgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmgiCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFr
UHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3Q7
CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK2NsYXNzIEFYSXNvbGF0
ZWRUcmVlTm9kZTsKKyNlbmRpZgogc3RydWN0IEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYTsK
IGNsYXNzIEludFJlY3Q7CiBjbGFzcyBGbG9hdFBvaW50OwpAQCAtNDcsMTAgKzU0LDIyIEBACiB9
CiAgCiAtIChpZClpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6KFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlPYmplY3QqKWF4T2JqZWN0OworCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgUmVmUHRyPFdlYkNvcmU6
OkFYSXNvbGF0ZWRUcmVlTm9kZT4gaXNvbGF0ZWRUcmVlTm9kZTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBhc3NpZ24pIFdlYkNvcmU6OkFYSXNvbGF0ZWRDYWNoZUlEIGlzb2xhdGVkQ2FjaGVJZGVu
dGlmaWVyOworI2VuZGlmCisKIC0gKHZvaWQpZGV0YWNoOworCitAcHJvcGVydHkgKG5vbmF0b21p
YywgYXNzaWduKSBXZWJDb3JlOjpBWElEIGlkZW50aWZpZXI7CisKIC0gKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3QqKWFjY2Vzc2liaWxpdHlPYmplY3Q7CiAtIChCT09MKXVwZGF0ZU9iamVj
dEJhY2tpbmdTdG9yZTsKIAorLy8gVGhpcyBjYW4gYmUgZWl0aGVyIGFuIEFjY2Vzc2liaWxpdHlP
YmplY3Qgb3IgYW4gQVhJc29sYXRlZFRyZWVOb2RlCistIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlKilheEJhY2tpbmdPYmplY3Q7CisKIC8vIFRoZXNlIGFyZSBwcmUtZml4
ZWQgd2l0aCBiYXNlIHNvIHRoYXQgQXBwS2l0IGRvZXMgbm90IGVuZCB1cCBjYWxsaW5nIGludG8g
dGhlc2UgZGlyZWN0bHkgKGJ5cGFzc2luZyBzYWZldHkgY2hlY2tzKS4KIC0gKE5TU3RyaW5nICop
YmFzZUFjY2Vzc2liaWxpdHlUaXRsZTsKIC0gKE5TU3RyaW5nICopYmFzZUFjY2Vzc2liaWxpdHlE
ZXNjcmlwdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2Uu
bW0JKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAt
MzEsMTAgKzMxLDEzIEBACiAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAKKyNpbXBvcnQgIkFY
SXNvbGF0ZWRUcmVlQ2FjaGUuaCIKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2lt
cG9ydCAiQVhPYmplY3RDYWNoZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93
LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5TGlzdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eUxpc3RCb3guaCIKKyNpbXBvcnQgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKICNp
bXBvcnQgIkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxp
dHlTY3JvbGxWaWV3LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIgpAQCAt
MjY1LDYgKzI2OCw4IEBACiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlckJhc2UKIAorQHN5bnRoZXNpemUgaWRlbnRpZmllciA9IF9pZGVudGlmaWVyOworCiAt
IChpZClpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6KEFjY2Vzc2liaWxpdHlPYmplY3QqKWF4
T2JqZWN0CiB7CiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCkBAIC0yNzEsMTYgKzI3
NiwzMCBAQAogICAgICAgICByZXR1cm4gbmlsOwogCiAgICAgbV9vYmplY3QgPSBheE9iamVjdDsK
KyAgICBfaWRlbnRpZmllciA9IG1fb2JqZWN0LT5heE9iamVjdElEKCk7CiAgICAgcmV0dXJuIHNl
bGY7CiB9CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorLSAoUmVm
UHRyPFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZT4paXNvbGF0ZWRUcmVlTm9kZQoreworICAg
IHJldHVybiBBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvcklEKF9pc29sYXRlZENhY2hlSWRl
bnRpZmllciktPm5vZGVGb3JJRChfaWRlbnRpZmllcik7Cit9CisKKyNlbmRpZgorCiAtICh2b2lk
KWRldGFjaAogewogICAgIG1fb2JqZWN0ID0gbnVsbHB0cjsKKyAgICBfaWRlbnRpZmllciA9IDA7
CiB9CiAKIC0gKEJPT0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3JlCiB7CisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNo
ZUZvcklEKHNlbGYuaXNvbGF0ZWRDYWNoZUlkZW50aWZpZXIpLT5hcHBseUNoYW5nZUxvZygpOwor
ICAgIHJldHVybiBfaWRlbnRpZmllcjsKKyNlbHNlCiAgICAgLy8gQ2FsbGluZyB1cGRhdGVCYWNr
aW5nU3RvcmUoKSBjYW4gaW52YWxpZGF0ZSB0aGlzIGVsZW1lbnQgc28gc2VsZiBtdXN0IGJlIHJl
dGFpbmVkLgogICAgIC8vIElmIGl0IGRvZXMgYmVjb21lIGludmFsaWRhdGVkLCBtX29iamVjdCB3
aWxsIGJlIG5pbC4KICAgICBDRlJldGFpbigoX19icmlkZ2UgQ0ZUeXBlUmVmKXNlbGYpOwpAQCAt
Mjk0LDYgKzMxMyw3IEBACiAgICAgICAgIHJldHVybiBOTzsKICAgICAKICAgICByZXR1cm4gWUVT
OworI2VuZGlmCiB9CiAKIC0gKGlkKWF0dGFjaG1lbnRWaWV3CkBAIC0zNTUsMTEgKzM3NSwyMSBA
QAogICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nXTsKIH0KIAorI2RlZmluZSBfYXhCYWNraW5n
T2JqZWN0IHNlbGYuYXhCYWNraW5nT2JqZWN0CistIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0SW50ZXJmYWNlKilheEJhY2tpbmdPYmplY3QKK3sKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKQorICAgIHJldHVybiBzZWxmLmlzb2xhdGVkVHJlZU5vZGUuZ2V0KCk7
CisjZWxzZQorICAgIHJldHVybiBtX29iamVjdDsKKyNlbmRpZgorfQorCiAtIChOU1N0cmluZyAq
KWJhc2VBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24KIHsKICAgICAvLyBTdGF0aWMgdGV4dCBvYmpl
Y3RzIHNob3VsZCBub3QgaGF2ZSBhIGRlc2NyaXB0aW9uLiBJdHMgY29udGVudCBpcyBjb21tdW5p
Y2F0ZWQgaW4gaXRzIEFYVmFsdWUuCiAgICAgLy8gT25lIGV4Y2VwdGlvbiBpcyB0aGUgbWVkaWEg
Y29udHJvbCBsYWJlbHMgdGhhdCBoYXZlIGEgdmFsdWUgYW5kIGEgZGVzY3JpcHRpb24uIFRob3Nl
IGFyZSBzZXQgcHJvZ3JhbWF0aWNhbGx5LgotICAgIGlmIChtX29iamVjdC0+cm9sZVZhbHVlKCkg
PT0gQWNjZXNzaWJpbGl0eVJvbGU6OlN0YXRpY1RleHQgJiYgIW1fb2JqZWN0LT5pc01lZGlhQ29u
dHJvbExhYmVsKCkpCisgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpID09IEFj
Y2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNUZXh0ICYmICFfYXhCYWNraW5nT2JqZWN0LT5pc01lZGlh
Q29udHJvbExhYmVsKCkpCiAgICAgICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nXTsKICAgICAK
ICAgICBWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+IHRleHRPcmRlcjsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFj
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNDEyLDYgKzQxMiw4IEBACiAjZGVmaW5lIE5TQWNj
ZXNzaWJpbGl0eUxpbmtSZWxhdGlvbnNoaXBUeXBlQXR0cmlidXRlIEAiQVhMaW5rUmVsYXRpb25z
aGlwVHlwZSIKICNlbmRpZgogCisjZGVmaW5lIF9heEJhY2tpbmdPYmplY3Qgc2VsZi5heEJhY2tp
bmdPYmplY3QKKwogZXh0ZXJuICJDIiBBWFVJRWxlbWVudFJlZiBOU0FjY2Vzc2liaWxpdHlDcmVh
dGVBWFVJRWxlbWVudFJlZihpZCBlbGVtZW50KTsKIAogQGltcGxlbWVudGF0aW9uIFdlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyCkBAIC0yMDA5LDEwICsyMDExLDEwIEBACiAtIChOU1N0cmlu
Zyopcm9sZQogewogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCi0gICAg
aWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+
aXNBdHRhY2htZW50KCkpCiAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFj
Y2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlSb2xlQXR0cmlidXRlXTsK
ICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKLSAgICBBY2Nlc3NpYmlsaXR5
Um9sZSByb2xlID0gbV9vYmplY3QtPnJvbGVWYWx1ZSgpOworICAgIEFjY2Vzc2liaWxpdHlSb2xl
IHJvbGUgPSBfYXhCYWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKTsKIAogICAgIGlmIChyb2xlID09
IEFjY2Vzc2liaWxpdHlSb2xlOjpMYWJlbCAmJiBpczxBY2Nlc3NpYmlsaXR5TGFiZWw+KCptX29i
amVjdCkgJiYgZG93bmNhc3Q8QWNjZXNzaWJpbGl0eUxhYmVsPigqbV9vYmplY3QpLmNvbnRhaW5z
T25seVN0YXRpY1RleHQoKSkKICAgICAgICAgcm9sZSA9IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0
aWNUZXh0OwpAQCAtMjAzOSw3ICsyMDQxLDcgQEAKICAgICBpZiAobV9vYmplY3QtPmlzU2VhcmNo
RmllbGQoKSkKICAgICAgICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkU3Vicm9s
ZTsKICAgICAKLSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgaWYgKF9h
eEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAgIE5TVmlldyogYXR0YWNo
VmlldyA9IFtzZWxmIGF0dGFjaG1lbnRWaWV3XTsKICAgICAgICAgaWYgKFtbYXR0YWNoVmlldyBh
Y2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0
eVN1YnJvbGVBdHRyaWJ1dGVdKQogICAgICAgICAgICAgcmV0dXJuIFthdHRhY2hWaWV3IGFjY2Vz
c2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlTdWJyb2xlQXR0cmlidXRlXTsK
QEAgLTIyNTAsNyArMjI1Miw3IEBACiAKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9O
U19CRUdJTgogICAgIC8vIGF0dGFjaG1lbnRzIGhhdmUgdGhlIEFYSW1hZ2Ugcm9sZSwgYnV0IGEg
ZGlmZmVyZW50IHN1YnJvbGUKLSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKQorICAg
IGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKICAgICAgICAgcmV0dXJuIFtb
c2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNz
aWJpbGl0eVJvbGVEZXNjcmlwdGlvbkF0dHJpYnV0ZV07CiAgICAgQUxMT1dfREVQUkVDQVRFRF9E
RUNMQVJBVElPTlNfRU5ECiAKQEAgLTI2MDcsNyArMjYwOSw3IEBACiAgICAgICAgIHJldHVybiBb
TlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6IG1fb2JqZWN0LT5pc1Zpc2l0ZWQoKV07CiAgICAgCiAg
ICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5VGl0
bGVBdHRyaWJ1dGVdKSB7Ci0gICAgICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsK
KyAgICAgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAg
ICAgICBpZiAoW1tbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5h
bWVzXSBjb250YWluc09iamVjdDpOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV0pCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0
dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0cmlidXRlXTsKICAgICAgICAgfQpA
QCAtMjYyNCw3ICsyNjI2LDcgQEAKICAgICB9CiAgICAgCiAgICAgaWYgKFthdHRyaWJ1dGVOYW1l
IGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdKSB7
Ci0gICAgICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICAgICAgaWYgKF9h
eEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAgICAgICBpZiAoW1tbc2Vs
ZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09i
amVjdDpOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV0pCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZh
bHVlOk5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXTsKICAgICAgICAgfQpAQCAt
MjYzMiw3ICsyNjM0LDcgQEAKICAgICB9CiAgICAgCiAgICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlz
RXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdKSB7Ci0gICAgICAg
IGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICAgICAgaWYgKF9heEJhY2tpbmdP
YmplY3QtPmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAgICAgICBpZiAoW1tbc2VsZiBhdHRhY2ht
ZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09iamVjdDpOU0Fj
Y2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIFtbc2Vs
ZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJp
bGl0eVZhbHVlQXR0cmlidXRlXTsKICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0
MDIwNikKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNv
bT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdEJhc2UubW06CisgICAgICAgICgtW1dLQWNjZXNzaWJpbGl0eVdlYlBh
Z2VPYmplY3RCYXNlIGFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcl0pOgorCiAyMDE5LTAx
LTE5ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgRm9sbG93
LXVwOiBpT1M6IFVwZGF0aW5nIGlucHV0IG1vZGUgc2hvdWxkIHVwZGF0ZSB0aGUgc29mdHdhcmUg
a2V5Ym9hcmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dlYktp
dC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpA
QCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNI
KSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJ
TElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFCTEVfQVBQ
TEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9
IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9IEVO
QUJMRV9BUFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAKIAogRU5BQkxFX1hTTFQgPSBFTkFC
TEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElP
Tl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQ
VElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJM
RV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChF
TkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19T
VVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9G
RUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5f
V09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lO
VEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxF
X0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRF
KSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VS
KSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NP
VVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAk
KEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VS
U09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFW
SUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1F
TlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVO
VFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xV
VElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VT
RVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZB
UklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5U
X0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFT
U0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5B
QkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQp
ICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykg
JChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJB
R19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklC
VVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5B
R0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1F
VEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJ
bmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0
eVdlYlBhZ2VPYmplY3RCYXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQkocmV2
aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dL
QWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2
ICszNCw3IEBACiAjaW1wb3J0ICJXS1NoYXJlZEFQSUNhc3QuaCIKICNpbXBvcnQgIldLU3RyaW5n
LmgiCiAjaW1wb3J0ICJXS1N0cmluZ0NGLmgiCisjaW1wb3J0IDxXZWJDb3JlL0FYSXNvbGF0ZWRU
cmVlQ2FjaGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQVhPYmplY3RDYWNoZS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9Eb2N1bWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZS5oPgpAQCAtNDcsNiAr
NDgsMTggQEAKIAogQGltcGxlbWVudGF0aW9uIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RC
YXNlCiAKKy0gKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqKWF4T2JqZWN0Q2FjaGUKK3sKKyAgICBX
ZWJDb3JlOjpQYWdlKiBwYWdlID0gbV9wYWdlLT5jb3JlUGFnZSgpOworICAgIGlmICghcGFnZSkK
KyAgICAgICAgcmV0dXJuIG5pbDsKKyAgICBXZWJDb3JlOjpGcmFtZSYgY29yZSA9IHBhZ2UtPm1h
aW5GcmFtZSgpOworICAgIGlmICghY29yZS5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4gbmls
OworICAgIAorICAgIHJldHVybiBjb3JlLmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKTsKK30K
KwogLSAoaWQpYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyCiB7CiAgICAgaWYgKCFXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQpAQCAtNjIsMTggKzc1
LDQ2IEBACiAgICAgV2ViQ29yZTo6UGFnZSogcGFnZSA9IG1fcGFnZS0+Y29yZVBhZ2UoKTsKICAg
ICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBuaWw7Ci0gICAgCi0gICAgV2ViQ29yZTo6RnJh
bWUmIGNvcmUgPSBwYWdlLT5tYWluRnJhbWUoKTsKLSAgICBpZiAoIWNvcmUuZG9jdW1lbnQoKSkK
LSAgICAgICAgcmV0dXJuIG5pbDsKLSAgICAKLSAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlKiBj
YWNoZSA9IGNvcmUuZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpOworCisgICAgQVhPYmplY3RD
YWNoZSogY2FjaGUgPSBbc2VsZiBheE9iamVjdENhY2hlXTsKICAgICBpZiAoIWNhY2hlKQogICAg
ICAgICByZXR1cm4gbmlsOwogICAgIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCisgICAgYXV0byBnZW5lcmF0ZUJsb2NrID0gWyZdIHsKKyAgICAgICAgYXV0byBkaXNw
YXRjaEJsb2NrID0gWyZjYWNoZV0geworICAgICAgICAgICAgY2FjaGUtPmdlbmVyYXRlU3RhdGlj
QWNjZXNzaWJpbGl0eVRyZWVJZk5lZWRlZCgpOworICAgICAgICB9OworICAgICAgICAKKyAgICAg
ICAgaWYgKFJ1bkxvb3A6OmlzTWFpbigpKQorICAgICAgICAgICAgZGlzcGF0Y2hCbG9jaygpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBkaXNwYXRjaF9zeW5jKGRpc3BhdGNoX2dldF9tYWlu
X3F1ZXVlKCksIGRpc3BhdGNoQmxvY2spOworICAgIH07CisKKyAgICBhdXRvIGlzb2xhdGVkQ2Fj
aGUgPSBBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvclBhZ2UocGFnZSk7CisgICAgaWYgKCFp
c29sYXRlZENhY2hlKSB7CisgICAgICAgIGdlbmVyYXRlQmxvY2soKTsKKyAgICAgICAgaXNvbGF0
ZWRDYWNoZSA9IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9yUGFnZShwYWdlKTsKKyAgICAg
ICAgQVNTRVJUKGlzb2xhdGVkQ2FjaGUpOworICAgICAgICBpZiAoIWlzb2xhdGVkQ2FjaGUpCisg
ICAgICAgICAgICByZXR1cm4gbmlsOworCisgICAgICAgIGlzb2xhdGVkQ2FjaGUtPmFwcGx5Q2hh
bmdlTG9nKCk7CisgICAgfQorICAgIAorICAgIGF1dG8gcm9vdE5vZGUgPSBpc29sYXRlZENhY2hl
LT5yb290Tm9kZSgpOworICAgIGlmICghcm9vdE5vZGUpIHsKKyAgICAgICAgZ2VuZXJhdGVCbG9j
aygpOworICAgICAgICBpc29sYXRlZENhY2hlLT5hcHBseUNoYW5nZUxvZygpOworICAgIH0KKwor
ICAgIGlmICgocm9vdE5vZGUgPSBpc29sYXRlZENhY2hlLT5yb290Tm9kZSgpKSkKKyAgICAgICAg
cmV0dXJuIHJvb3ROb2RlLT53cmFwcGVyKCk7CisjZWxzZQogICAgIGlmIChXZWJDb3JlOjpBY2Nl
c3NpYmlsaXR5T2JqZWN0KiByb290ID0gY2FjaGUtPnJvb3RPYmplY3QoKSkKICAgICAgICAgcmV0
dXJuIHJvb3QtPndyYXBwZXIoKTsKLSAgICAKKyNlbmRpZgogICAgIHJldHVybiBuaWw7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDIwNikKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEzIEBACisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+
CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZzoKKwogMjAxOS0wMS0xOSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29t
PgogCiAgICAgICAgIEFkZCBhIFBPSU5URVJfRVZFTlRTIGZlYXR1cmUgZmxhZwpJbmRleDogU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQoV0tf
Q09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfY29j
b2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VOQUJM
RV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAk
KEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZ
X2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2lt
dWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBAQAogCiBFTkFCTEVf
WFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJ
TkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JB
RElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQ
RVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lD
T05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJ
VCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tF
WV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RP
Q09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURF
T19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJ
QV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9Q
T0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19V
U0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChF
TkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVf
V0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNM
VCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBM
RV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlf
U0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNf
R1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJE
X0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BS
T1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19W
SURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxT
KSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VS
Q0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0Vf
SEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JU
QykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19B
UEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChF
TkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCShyZXZpc2lvbiAyNDAy
MDYpCisrKyBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UJKHdvcmtpbmcgY29weSkK
QEAgLTE4Nyw2ICsxODcsNyBAQAogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TTU9P
VEhfU0NST0xMSU5HICJUb2dnbGUgc21vb3RoIHNjcm9sbGluZyIgUFJJVkFURSBPTikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUyAiVG9nZ2xlIFNwZWVj
aCBTeW50aGVzaXMgQVBJIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9TUEVMTENIRUNLICJUb2dnbGUgU3BlbGxjaGVja2luZyBzdXBwb3J0IChy
ZXF1aXJlcyBFbmNoYW50KSIgUFJJVkFURSBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUgIlRvZ2dsZSBzdGF0aWMgYWNjZXNzaWJp
bGl0eSB0cmVlIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5F
KEVOQUJMRV9TVFJFQU1TX0FQSSAiVG9nZ2xlIFN0cmVhbXMgQVBJIHN1cHBvcnQiIFBSSVZBVEUg
T04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NWR19GT05UUyAiVG9nZ2xlIFNW
RyBGb250cyBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTiAiVG9nZ2xlIHRlbGVwaG9uZSBudW1iZXIg
ZGV0ZWN0aW9uIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjA2KQorKysgVG9vbHMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDEtMTEgIENo
cmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9k
dWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80
NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisKIDIwMTktMDEtMTkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgYSBQT0lOVEVSX0VWRU5UUyBmZWF0dXJlIGZsYWcKSW5kZXg6IFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwkocmV2aXNpb24gMjQwMjA2KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiAr
NDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQo
V0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9B
UFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBM
RV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsK
IAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVT
VCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1Nf
U0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NT
U19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFS
S19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5U
RVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykg
JChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElP
Tl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJE
X0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJM
RV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJM
RV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NU
QU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVT
VCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FH
RV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JF
RU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAk
KEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFf
SU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JU
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJF
UykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VN
QkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359635</attachid>
            <date>2019-01-19 23:33:42 -0800</date>
            <delta_ts>2019-01-20 00:14:01 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>104070</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0xOSAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3RhcnQu
b3JnPgogCiAgICAgICAgIFtKU0NdIFJlb3JkZXIgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCBt
ZW1iZXIgZm9yIHByZXBhcmF0aW9uIG9mIEpTR2xvYmFsT2JqZWN0IG1lbW9yeSByZWR1Y3Rpb24K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
d29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18k
KFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
X2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitF
TkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZ
ID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExF
X1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9u
ZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAKIAogRU5B
QkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FS
RF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9Q
Uk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNf
VklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
V0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5B
QkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVf
QVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NP
TklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlC
T0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RP
TV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JF
U09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNT
QUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9O
X0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFND
UkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dF
Ql9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1J
TkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUp
ICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI0MDIwNikK
KysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01OCw2
ICs1OCw3IEBACiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvd2Vic29ja2V0cyIKICAgICAi
JHtXRUJDT1JFX0RJUn0vTW9kdWxlcy93ZWJ2ciIKICAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNz
aWJpbGl0eSIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUi
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L2FuaW1hdGlvbiIKICAgICAiJHtXRUJDT1JFX0RJUn0vYmlu
ZGluZ3MiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2JpbmRpbmdzL2pzIgpJbmRleDogU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwko
cmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsNzggQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2li
aWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBpbXByb3Zl
IHBlcmZvcm1hbmNlIHdoZW4gcmVxdWVzdGluZyB0aGUgYWNjZXNzaWJpbGl0eSBoaWVyYXJjaHks
IHdlIGludHJvZHVjZSB0aGUgaWRlYSBvZiBhICJzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlIiB3
aGljaCBjb3VsZCBiZSBhY2Nlc3NlZCBvbiBhIGRpZmZlcmVudCB0aHJlYWQgYnkgYXNzaXN0aXZl
IHRlY2hub2xvZ2llcy4KKyAgICAgICAgVGhhdCBpcyBhY2NvbXBsaXNoZWQgYnkgc3RvcmluZyBh
bGwgdGhlIGRhdGEgbmVlZGVkIHRvIGFuc3dlciBhY2Nlc3NpYmlsaXR5IGF0dHJpYnV0ZSBxdWVy
aWVzIGluIGEgc3RhdGljIG9iamVjdCB0aGF0IG1pcnJvcnMgdGhlICJsaXZlIiBBY2Nlc3NpYmls
aXR5T2JqZWN0cyAod2hpY2ggaW50ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVz
KS4KKyAgICAgICAgVGhlc2Ugc3RhdGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFm
dGVyIGxheW91dCBpcyBkb25lIGFuZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBU
aGV5IGFyZSB0aGVuIHN0b3JlZCBpbiB0aGUgc3RhdGljIHRyZWUgcmVwcmVzZW50YXRpb24gYW5k
IGFibGUgdG8gYmUgcmVhZCBmcm9tIGFueXdoZXJlLgorICAgICAgICBUYWN0aWNhbGx5IHRoaXMg
aXMgZG9uZSB3aXRoIEFYSXNvbGF0ZWRUcmVlTm9kZXMgaW5zaWRlIG9mIGFuIEFYSXNvbGF0ZWRU
cmVlQ2FjaGUuIFRoZSBUcmVlTm9kZXMgaW1wbGVtZW50IGFuIEFjY2Vzc2liaWxpdHlPYmplY3RJ
bnRlcmZhY2Ugc2hhcmVkIHdpdGggQWNjZXNzaWJpbGl0eU9iamVjdAorICAgICAgICBUaGlzIGFs
bG93cyB0aGUgd3JhcHBlcnMgdG8gYWNjZXNzIGVpdGhlciBvbmUgZGVwZW5kaW5nIG9uIGNvbmRp
dGlvbnMgYW5kIHBsYXRmb3JtcyB3aXRob3V0IHNpZ25pZmljYW50IGNvZGUgZHVwbGljYXRpb24g
b3IgcmUtb3JnYW5pemF0aW9uLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogU291
cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6Y3JlYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3Q6OnNldEluaXRpYWxpemVkSXNvbGF0ZWRUcmVlTm9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppbml0aWFsaXplZElzb2xhdGVkVHJlZU5v
ZGUgY29uc3QpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdElu
dGVyZmFjZS5oOiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZTog
QWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVDYWNoZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNo
ZTo6cGFnZVJvb3RNYXApOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6
dHJlZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OkFYSXNv
bGF0ZWRUcmVlQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9y
SUQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVGb3JQYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6Om5vZGVGb3JJRCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjpyb290Tm9kZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjpyZW1vdmVOb2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFwcGVuZE5vZGVDaGFuZ2VzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFwcGx5Q2hhbmdlTG9nKToKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVJZGVu
dGlmaWVyIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZU5vZGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlTm9kZTo6QVhJc29sYXRlZFRyZWVOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9k
ZTo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRl
ZFRyZWVOb2RlOjpzZXRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJl
ZU5vZGU6OmRvdWJsZUF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFY
SXNvbGF0ZWRUcmVlTm9kZTo6dW5zaWduZWRBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmJvb2xBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OnN0cmluZ0F0dHJpYnV0ZVZh
bHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6aW50QXR0
cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlTm9kZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlUmVsYXRpb25zaGlwOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRl
ZFRyZWVSZWxhdGlvbnNoaXA6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwKToKKyAgICAgICAg
KFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpvcGVyYXRvcj0pOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OnNldFBhcmVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6cGFyZW50IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpjaGlsZHJlbik6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlzb2xhdGVkVHJlZU5vZGUpOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QmFzZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQmFzZS5tbToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlIGluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDpdKToKKyAgICAgICAgKC1bV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGlzb2xhdGVkVHJlZU5vZGVdKToKKyAgICAgICAg
KC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGRldGFjaF0pOgorICAgICAgICAo
LVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgdXBkYXRlT2JqZWN0QmFja2luZ1N0
b3JlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBheEJh
Y2tpbmdPYmplY3RdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJC
YXNlIGJhc2VBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25dKToKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbToKKyAgICAgICAgKC1b
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgcm9sZV0pOgorICAgICAgICAoLVtXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlciBzdWJyb2xlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyIHJvbGVEZXNjcmlwdGlvbl0pOgorICAgICAgICAoLVtXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6XSk6CisK
IDIwMTktMDEtMTkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IGdldFVzZXJNZWRpYSB3aXRoIGEgZGV2aWNlSWQgZXhhY3QgY29uc3RyYWludCB3aXRoIGFuIGVt
cHR5IHN0cmluZyB2YWx1ZSBzaG91bGQgc3VjY2VlZApJbmRleDogU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9u
IDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJM
RV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBF
TkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBM
RV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgs
NCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJN
SVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9J
TlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5B
QkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFC
TEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NU
UkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dF
QkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1Qp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9Q
RVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJM
RV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQo
RU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VN
QkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHJldmlzaW9u
IDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0xOSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hA
YXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0
eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMDEtMTkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRz
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBQT0lOVEVSX0VWRU5UUyBmZWF0dXJlIGZsYWcK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJD
b3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBj
b3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09B
X1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91
Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUND
RVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFC
TEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhv
bmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRv
ciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAKIAogRU5BQkxFX1hTTFQg
PSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JN
UykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBM
SUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5U
UykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQo
RU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRU
UklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9N
QU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9P
TEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RS
RUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19F
TEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1F
VEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwor
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJ
RU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVS
SU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQp
ICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlf
QVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NP
TF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9f
VE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VT
QUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRM
RVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zOTksNiArMzk5LDggQEAKIGFjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVRyZWUuY3BwCiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlUcmVlSXRlbS5jcHAKIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVNldFZhbHVlRXZlbnQuY3Bw
CithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmNwcAorYWNj
ZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAogCiBhbmltYXRp
b24vQW5pbWF0aW9uRWZmZWN0LmNwcAogYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQu
Y3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTY5NCw2ICs2OTQsNyBA
QAogCQkyNkY5QTgzODE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2RjlBODM2
MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwICovOyB9OwogCQky
NkY5QTgzOTE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkY5QTgzNzE4QTA0NkFD
MDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkxNEUzMDgxQ0FCNUE0NDAwNDk5NjZGIC8q
IEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyOTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0
eUF0dGFjaG1lbnQuaCAqLzsgfTsKKwkJMjkzNkJGNUMyMUQ2OUU0QjAwNEE4RkM5IC8qIEFjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5MzZCRjVBMjFENjk5OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMjkzRUFFMUYxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MjkzRUFFMUUxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5NDg5RkM3
MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk0ODlGQzUxMkMwMEYwMzAwRDgz
RjBGIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmggKi87IH07CiAJCTI5N0JFM0Q1MTZDMDND
MDgwMDMzMTZCRCAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjUyN0NDOTExNkJGOEJBMTAw
OUREQUMwIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggKi87IH07CkBAIC03
MTUsNiArNzE2LDggQEAKIAkJMjlBODEyNDMwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxp
dHlMaXN0Qm94LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOUE4MTIyNTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3guaCAqLzsg
fTsKIAkJMjlBODEyNDkwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjlBODEyNDUwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTI5QUNCMjEyMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBQ0IyMTEx
NDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmggKi87IH07CisJCTI5
QUUyMTJEMjFBQjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEyQjIxQUI5RUVCMDA4
NjkyODMgLyogQVhJc29sYXRlZFRyZWVDYWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElz
b2xhdGVkVHJlZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOUQ3QkNG
QTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RDdCQ0Y5MTQ0NEFGN0QwMDcw
NjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovOyB9OwogCQkyOUZBRjRCNjE5NUFC
MDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RkFGNEI1MTk1QUIwODkwMEE1MjJE
QyAvKiBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJCMzY1Qzg0MTUyNTExOUUwMDkxRDI3QiAvKiBS
ZW5kZXJTVkdFbGxpcHNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyQjQyMzVBMDE1MjUwRjYwMDBEQkJDRDggLyogUmVuZGVyU1ZHRWxsaXBzZS5oICov
OyB9OwpAQCAtNjU2OSw2ICs2NTcyLDcgQEAKIAkJMjhEQjlCQzcyMDIwRUEwNDAwRTU0QTA3IC8q
IFBlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJm
b3JtYW5jZVNlcnZlclRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5
MTRFMzA1MUNBQjVBNDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNobWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5MTRFMzA2MUNBQjVBNDQwMDQ5
OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVj
dEludGVyZmFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5M0VBRTFFMTM1NkIyRkUwMDY3QUNG
OSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI5NDg5RkM1MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xs
Vmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U2Ny
b2xsVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ5ODY4MTE5NTM0MTk0
MDA3MkQyQkQgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY2MTYsNiArNjYyMCwxMCBAQAogCQkyOUE4
MTI0NzBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZU1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFYT2JqZWN0Q2FjaGVNYWMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QUNCMjExMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3Np
YmlsaXR5TW9ja09iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nl
c3NpYmlsaXR5TW9ja09iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFD
QjIxMzE0M0U3NDk4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUFFMjEyQjIxQUI5RUVCMDA4Njky
ODMgLyogQVhJc29sYXRlZFRyZWVDYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBWElzb2xhdGVkVHJl
ZUNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJDMjFBQjlFRUIw
MDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFY
SXNvbGF0ZWRUcmVlQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUFF
MjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFYSXNvbGF0ZWRUcmVlTm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
OUFFMjEzNDIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEFYSXNvbGF0ZWRUcmVlTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI5RDdCQ0Y1MTQ0NEFGNTgwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RDdCQ0Y5
MTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyOUUwNEEyN0JFRDJGODFGOThFOTAyMkIgLyogSlNCZWZv
cmVVbmxvYWRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JlZm9y
ZVVubG9hZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzIyMiw2ICsx
NzIzMCw3IEBACiAJCTI5QTgxMjA0MEZCQjlCNDEwMDUxMDI5MyAvKiBhY2Nlc3NpYmlsaXR5ICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkyOUFFMjEyOTIx
QUI5RUNCMDA4NjkyODMgLyogaXNvbGF0ZWR0cmVlICovLAogCQkJCUFBQTcyOEVGMTZEMUQ4QkMw
MEQzQkJDNiAvKiBpb3MgKi8sCiAJCQkJMjlBODEyMDUwRkJCOUI1MjAwNTEwMjkzIC8qIG1hYyAq
LywKIAkJCQkyOTgxQ0E5RDEzMTgyMkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlk
LmNwcCAqLywKQEAgLTE3MjYwLDYgKzE3MjY5LDcgQEAKIAkJCQkyOTg1NzA5MzE1Q0M1MzJEMDA2
MzU1Q0QgLyogQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaCAqLywKIAkJCQkyOTgxQ0FBNTEzMTgy
MkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgKi8sCiAJCQkJMjlBODEyMTgw
RkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3QuaCAqLywKKwkJCQkyOTM2QkY1
QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oICovLAog
CQkJCUE0MDlDOTgyMTE2RDBEREQwMDcxOTdCRCAvKiBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRp
Y2F0b3IuY3BwICovLAogCQkJCUE0MDlDOTgzMTE2RDBEREQwMDcxOTdCRCAvKiBBY2Nlc3NpYmls
aXR5UHJvZ3Jlc3NJbmRpY2F0b3IuaCAqLywKIAkJCQkyOTgxQ0FBNjEzMTgyMkVDMDBEMTJGMkEg
LyogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgKi8sCkBAIC0xNzMxNSw2ICsxNzMyNSwx
NyBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJ
CTI5QUUyMTI5MjFBQjlFQ0IwMDg2OTI4MyAvKiBpc29sYXRlZHRyZWUgKi8gPSB7CisJCQlpc2Eg
PSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTI5QUUyMTJCMjFBQjlFRUIwMDg2OTI4
MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmggKi8sCisJCQkJMjlBRTIxMkMyMUFCOUVFQjAwODY5
MjgzIC8qIEFYSXNvbGF0ZWRUcmVlQ2FjaGUuY3BwICovLAorCQkJCTI5QUUyMTMzMjFBQkE0OEEw
MDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAqLywKKwkJCQkyOUFFMjEzNDIxQUJBNDhB
MDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmNwcCAqLywKKwkJCSk7CisJCQlwYXRoID0g
aXNvbGF0ZWR0cmVlOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMkQwNjIx
NDYxREE2MzlFQzAwQTdGQjI2IC8qIGxlZ2FjeSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCkBAIC0yOTk1Miw2ICsyOTk3Myw3IEBACiAJCQkJMUFFMkFBOTgwQTFD
REQyRDAwQjQyQjI1IC8qIEpTSFRNTEltYWdlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTgwRTdFOTcwQTFBODNFMzAwN0ZCOEM1IC8qIEpTSFRNTElucHV0RWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODM2QjA5NTYxRjVGMzREOTAwM0MzNzAyIC8qIEpTSFRNTElucHV0RWxlbWVu
dEVudHJpZXNBUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5MzZCRjVDMjFENjlFNEIwMDRBOEZD
OSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
NjE0OEE3OTEyRTQxRTNCMDA0NEE3ODQgLyogSlNIVE1MS2V5Z2VuRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFFMkFCMjIwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTExhYmVsRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFCMjQwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRN
TExlZ2VuZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzE0MDYsNiArMzE0MjgsNyBAQAog
CQkJCTUxNDA1Qzg5MTkwQjAxNDQwMDc1NEY5NCAvKiBTZWxlY3Rpb25SZWN0R2F0aGVyZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0NEI0QkI0MTQxNjUwRDcwMDJCMUQ4QiAvKiBTZWxlY3RvckNo
ZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQzMkQzRkU4MThBODY1ODQwMEQ3REMwMyAvKiBT
ZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUFFMjEz
NTIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyNkI5OTk5NzE4MDRENTQyMDBEMDExMjEgLyogU2VsZWN0b3JDb21waWxlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDE1MDcxNTgxNjg1MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzEwN0JFMjE4Q0MxOURFMDBDQzE4RTggLyogU2VsZWN0
b3JQc2V1ZG9UeXBlTWFwLmggaW4gSGVhZGVycyAqLywKQEAgLTMyMzQxLDYgKzMyMzY0LDcgQEAK
IAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBNTQxNkZFNjE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVk
U2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0E1NTE1RjUxOTE4MzBBMzAwOTY4
N0QyIC8qIFlvdVR1YmVQbHVnaW5SZXBsYWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlB
RTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5j
cHAJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDggQEAKIAogI2luY2x1
ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKIAorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIK
KyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5
QVJJQUdyaWQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgiCiAjaW5j
bHVkZSAiQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmgiCkBAIC03MjMsNyArNzI1LDEwIEBACiAg
ICAgb2JqZWN0LT5zZXRBWE9iamVjdElEKDApOwogCiAgICAgbV9pZHNJblVzZS5yZW1vdmUoYXhJ
RCk7Ci0KKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIEFYSXNv
bGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9yUGFnZShtX2RvY3VtZW50LnBhZ2UoKSktPnJlbW92ZU5v
ZGUoYXhJRCk7CisjZW5kaWYKKyAgICAKICAgICBBU1NFUlQobV9vYmplY3RzLnNpemUoKSA+PSBt
X2lkc0luVXNlLnNpemUoKSk7CiB9CiAgICAgCkBAIC0yOTA3LDYgKzI5MTIsNDAgQEAKICAgICBt
X2RlZmVycmVkRm9jdXNlZE5vZGVDaGFuZ2UuY2xlYXIoKTsKIH0KICAgICAKKyNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4g
QVhPYmplY3RDYWNoZTo6Y3JlYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWUoQWNjZXNzaWJpbGl0
eU9iamVjdCYgb2JqZWN0LCBBWElEIHBhcmVudElELCBBWElzb2xhdGVkVHJlZUNhY2hlJiBjYWNo
ZSwgVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYgbm9kZXMpCit7CisgICAgUmVm
UHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gaXNvbGF0ZWRUcmVlTm9kZSA9IEFYSXNvbGF0ZWRUcmVl
Tm9kZTo6Y3JlYXRlKG9iamVjdCk7CisgICAgbm9kZXMuYXBwZW5kKGlzb2xhdGVkVHJlZU5vZGUp
OworICAgIAorICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4gcmVsYXRpb25z
aGlwID0gQVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OmNyZWF0ZSgpOworICAgIHJlbGF0aW9u
c2hpcC0+c2V0UGFyZW50KHBhcmVudElEKTsKKyAgICBvYmplY3Quc2V0SW5pdGlhbGl6ZWRJc29s
YXRlZFRyZWVOb2RlKHRydWUpOworICAgIGFzc29jaWF0ZUlzb2xhdGVkVHJlZU5vZGUob2JqZWN0
LCAqaXNvbGF0ZWRUcmVlTm9kZSwgY2FjaGUuY2FjaGVJZGVudGlmaWVyKCkpOworICAgIAorICAg
IGZvciAoYXV0byBjaGlsZCA6IG9iamVjdC5jaGlsZHJlbigpKSB7CisgICAgICAgIGF1dG8gc3Rh
dGljQ2hpbGQgPSBjcmVhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZSgqY2hpbGQsIGlzb2xhdGVk
VHJlZU5vZGUtPmlkZW50aWZpZXIoKSwgY2FjaGUsIG5vZGVzKTsKKyAgICAgICAgcmVsYXRpb25z
aGlwLT5jaGlsZHJlbigpLmFwcGVuZChzdGF0aWNDaGlsZC0+aWRlbnRpZmllcigpKTsKKyAgICB9
CisgICAgCisgICAgaXNvbGF0ZWRUcmVlTm9kZS0+c2V0UmVsYXRpb25zaGlwKHJlbGF0aW9uc2hp
cCk7CisgICAgcmV0dXJuIGlzb2xhdGVkVHJlZU5vZGU7Cit9CisgICAgCit2b2lkIEFYT2JqZWN0
Q2FjaGU6OmdlbmVyYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWVJZk5lZWRlZCgpCit7CisgICAg
aWYgKHJvb3RPYmplY3QoKS0+aW5pdGlhbGl6ZWRJc29sYXRlZFRyZWVOb2RlKCkpCisgICAgICAg
IHJldHVybjsKKyAgICAKKyAgICBSZWZQdHI8QVhJc29sYXRlZFRyZWVDYWNoZT4gY2FjaGUgPSBB
WElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvclBhZ2UobV9kb2N1bWVudC5wYWdlKCkpOworICAg
IFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbm9kZXM7CisgICAgUmVmUHRyPEFY
SXNvbGF0ZWRUcmVlTm9kZT4gcm9vdCA9IGNyZWF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlKCpy
b290T2JqZWN0KCksIDAsICpjYWNoZSwgbm9kZXMpOworICAgIHJvb3QtPnNldElzUm9vdE5vZGUo
dHJ1ZSk7CisgICAgCisgICAgY2FjaGUtPmFwcGVuZE5vZGVDaGFuZ2VzKG5vZGVzKTsKK30KKyNl
bmRpZgorICAgIAogdm9pZCBBWE9iamVjdENhY2hlOjpkZWZlclJlY29tcHV0ZUlzSWdub3JlZElm
TmVlZGVkKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgaWYgKCFub2RlQW5kUmVuZGVyZXJBcmVW
YWxpZChlbGVtZW50KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5oCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOSBAQAog
CiAjcHJhZ21hIG9uY2UKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVDYWNoZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiQVhU
ZXh0U3RhdGVDaGFuZ2VJbnRlbnQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0Lmgi
CiAjaW5jbHVkZSAiUmFuZ2UuaCIKQEAgLTM5LDYgKzQyLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK2NsYXNzIEFY
SXNvbGF0ZWRUcmVlTm9kZTsKKyNlbmRpZgogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MQXJl
YUVsZW1lbnQ7CiBjbGFzcyBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDsKQEAgLTE4MCw2ICsx
ODYsMTMgQEAKICAgICB2b2lkIGRlZmVyQXR0cmlidXRlQ2hhbmdlSWZOZWVkZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIEVsZW1lbnQqKTsKICAgICB2b2lkIHJlY29tcHV0ZUlzSWdub3JlZChSZW5k
ZXJPYmplY3QqIHJlbmRlcmVyKTsKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxp
dHlUcmVlSWZOZWVkZWQoKTsKKworICAgIHZvaWQgYXNzb2NpYXRlSXNvbGF0ZWRUcmVlTm9kZShB
Y2Nlc3NpYmlsaXR5T2JqZWN0JiwgQVhJc29sYXRlZFRyZWVOb2RlJiwgQVhJc29sYXRlZENhY2hl
SUQpOworICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IGNyZWF0ZVN0YXRpY0FjY2Vzc2li
aWxpdHlUcmVlKEFjY2Vzc2liaWxpdHlPYmplY3QmLCBBWElELCBBWElzb2xhdGVkVHJlZUNhY2hl
JiwgVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYpOworI2VuZGlmCisgICAgCiAj
aWYgSEFWRShBQ0NFU1NJQklMSVRZKQogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGVu
YWJsZUFjY2Vzc2liaWxpdHkoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBkaXNh
YmxlQWNjZXNzaWJpbGl0eSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1
ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5o
IgpAQCAtODksMTU3ICs5MCw2IEBACiBjbGFzcyBTY3JvbGxWaWV3OwogY2xhc3MgV2lkZ2V0Owog
Ci10eXBlZGVmIHVuc2lnbmVkIEFYSUQ7Ci0KLWVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUg
ewotICAgIEFubm90YXRpb24gPSAxLAotICAgIEFwcGxpY2F0aW9uLAotICAgIEFwcGxpY2F0aW9u
QWxlcnQsCi0gICAgQXBwbGljYXRpb25BbGVydERpYWxvZywKLSAgICBBcHBsaWNhdGlvbkRpYWxv
ZywKLSAgICBBcHBsaWNhdGlvbkdyb3VwLAotICAgIEFwcGxpY2F0aW9uTG9nLAotICAgIEFwcGxp
Y2F0aW9uTWFycXVlZSwKLSAgICBBcHBsaWNhdGlvblN0YXR1cywKLSAgICBBcHBsaWNhdGlvblRl
eHRHcm91cCwKLSAgICBBcHBsaWNhdGlvblRpbWVyLAotICAgIEF1ZGlvLAotICAgIEJsb2NrcXVv
dGUsCi0gICAgQnJvd3NlciwKLSAgICBCdXN5SW5kaWNhdG9yLAotICAgIEJ1dHRvbiwKLSAgICBD
YW52YXMsCi0gICAgQ2FwdGlvbiwKLSAgICBDZWxsLAotICAgIENoZWNrQm94LAotICAgIENvbG9y
V2VsbCwKLSAgICBDb2x1bW4sCi0gICAgQ29sdW1uSGVhZGVyLAotICAgIENvbWJvQm94LAotICAg
IERlZmluaXRpb24sCi0gICAgRGVzY3JpcHRpb25MaXN0LAotICAgIERlc2NyaXB0aW9uTGlzdFRl
cm0sCi0gICAgRGVzY3JpcHRpb25MaXN0RGV0YWlsLAotICAgIERldGFpbHMsCi0gICAgRGlyZWN0
b3J5LAotICAgIERpc2Nsb3N1cmVUcmlhbmdsZSwKLSAgICBEaXYsCi0gICAgRG9jdW1lbnQsCi0g
ICAgRG9jdW1lbnRBcnRpY2xlLAotICAgIERvY3VtZW50TWF0aCwKLSAgICBEb2N1bWVudE5vdGUs
Ci0gICAgRHJhd2VyLAotICAgIEVkaXRhYmxlVGV4dCwKLSAgICBGZWVkLAotICAgIEZpZ3VyZSwK
LSAgICBGb290ZXIsCi0gICAgRm9vdG5vdGUsCi0gICAgRm9ybSwKLSAgICBHcmFwaGljc0RvY3Vt
ZW50LAotICAgIEdyYXBoaWNzT2JqZWN0LAotICAgIEdyYXBoaWNzU3ltYm9sLAotICAgIEdyaWQs
Ci0gICAgR3JpZENlbGwsCi0gICAgR3JvdXAsCi0gICAgR3Jvd0FyZWEsCi0gICAgSGVhZGluZywK
LSAgICBIZWxwVGFnLAotICAgIEhvcml6b250YWxSdWxlLAotICAgIElnbm9yZWQsCi0gICAgSW5s
aW5lLAotICAgIEltYWdlLAotICAgIEltYWdlTWFwLAotICAgIEltYWdlTWFwTGluaywKLSAgICBJ
bmNyZW1lbnRvciwKLSAgICBMYWJlbCwKLSAgICBMYW5kbWFya0Jhbm5lciwKLSAgICBMYW5kbWFy
a0NvbXBsZW1lbnRhcnksCi0gICAgTGFuZG1hcmtDb250ZW50SW5mbywKLSAgICBMYW5kbWFya0Rv
Y1JlZ2lvbiwKLSAgICBMYW5kbWFya01haW4sCi0gICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAotICAg
IExhbmRtYXJrUmVnaW9uLAotICAgIExhbmRtYXJrU2VhcmNoLAotICAgIExlZ2VuZCwKLSAgICBM
aW5rLAotICAgIExpc3QsCi0gICAgTGlzdEJveCwKLSAgICBMaXN0Qm94T3B0aW9uLAotICAgIExp
c3RJdGVtLAotICAgIExpc3RNYXJrZXIsCi0gICAgTWFyaywKLSAgICBNYXRoRWxlbWVudCwKLSAg
ICBNYXR0ZSwKLSAgICBNZW51LAotICAgIE1lbnVCYXIsCi0gICAgTWVudUJ1dHRvbiwKLSAgICBN
ZW51SXRlbSwKLSAgICBNZW51SXRlbUNoZWNrYm94LAotICAgIE1lbnVJdGVtUmFkaW8sCi0gICAg
TWVudUxpc3RQb3B1cCwKLSAgICBNZW51TGlzdE9wdGlvbiwKLSAgICBPdXRsaW5lLAotICAgIFBh
cmFncmFwaCwKLSAgICBQb3BVcEJ1dHRvbiwKLSAgICBQcmUsCi0gICAgUHJlc2VudGF0aW9uYWws
Ci0gICAgUHJvZ3Jlc3NJbmRpY2F0b3IsCi0gICAgUmFkaW9CdXR0b24sCi0gICAgUmFkaW9Hcm91
cCwKLSAgICBSb3dIZWFkZXIsCi0gICAgUm93LAotICAgIFJvd0dyb3VwLAotICAgIFJ1YnlCYXNl
LAotICAgIFJ1YnlCbG9jaywKLSAgICBSdWJ5SW5saW5lLAotICAgIFJ1YnlSdW4sCi0gICAgUnVi
eVRleHQsCi0gICAgUnVsZXIsCi0gICAgUnVsZXJNYXJrZXIsCi0gICAgU2Nyb2xsQXJlYSwKLSAg
ICBTY3JvbGxCYXIsCi0gICAgU2VhcmNoRmllbGQsCi0gICAgU2hlZXQsCi0gICAgU2xpZGVyLAot
ICAgIFNsaWRlclRodW1iLAotICAgIFNwaW5CdXR0b24sCi0gICAgU3BpbkJ1dHRvblBhcnQsCi0g
ICAgU3BsaXRHcm91cCwKLSAgICBTcGxpdHRlciwKLSAgICBTdGF0aWNUZXh0LAotICAgIFN1bW1h
cnksCi0gICAgU3dpdGNoLAotICAgIFN5c3RlbVdpZGUsCi0gICAgU1ZHUm9vdCwKLSAgICBTVkdU
ZXh0LAotICAgIFNWR1RTcGFuLAotICAgIFNWR1RleHRQYXRoLAotICAgIFRhYkdyb3VwLAotICAg
IFRhYkxpc3QsCi0gICAgVGFiUGFuZWwsCi0gICAgVGFiLAotICAgIFRhYmxlLAotICAgIFRhYmxl
SGVhZGVyQ29udGFpbmVyLAotICAgIFRleHRBcmVhLAotICAgIFRleHRHcm91cCwKLSAgICBUZXJt
LAotICAgIFRpbWUsCi0gICAgVHJlZSwKLSAgICBUcmVlR3JpZCwKLSAgICBUcmVlSXRlbSwKLSAg
ICBUZXh0RmllbGQsCi0gICAgVG9nZ2xlQnV0dG9uLAotICAgIFRvb2xiYXIsCi0gICAgVW5rbm93
biwKLSAgICBVc2VySW50ZXJmYWNlVG9vbHRpcCwKLSAgICBWYWx1ZUluZGljYXRvciwKLSAgICBW
aWRlbywKLSAgICBXZWJBcHBsaWNhdGlvbiwKLSAgICBXZWJBcmVhLAotICAgIFdlYkNvcmVMaW5r
LAotICAgIFdpbmRvdywKLX07Ci0KIGVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVRleHRTb3VyY2Ug
ewogICAgIEFsdGVybmF0aXZlLAogICAgIENoaWxkcmVuLApAQCAtNDkxLDcgKzM0MSw3IEBACiAg
ICAgCiBib29sIG5vZGVIYXNQcmVzZW50YXRpb25Sb2xlKE5vZGUqKTsKICAgICAKLWNsYXNzIEFj
Y2Vzc2liaWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0
PiB7CitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0IDogcHVibGljIFJlZkNvdW50ZWQ8QWNjZXNz
aWJpbGl0eU9iamVjdD4sIHB1YmxpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKIHBy
b3RlY3RlZDoKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KCkgPSBkZWZhdWx0OwogICAgIApAQCAt
MTE1MCw2ICsxMDAwLDExIEBACiAgICAgdm9pZCBjbGVhcklzSWdub3JlZEZyb21QYXJlbnREYXRh
KCkgeyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhID0gQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZy
b21QYXJlbnREYXRhKCk7IH0KICAgICB2b2lkIHNldElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9y
Q2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdCopOwogICAgIAorI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUpCisgICAgdm9pZCBzZXRJbml0aWFsaXplZElzb2xhdGVkVHJlZU5v
ZGUoYm9vbCBpbml0aWFsaXplZCkgeyBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZCA9IGlu
aXRpYWxpemVkOyB9CisgICAgYm9vbCBpbml0aWFsaXplZElzb2xhdGVkVHJlZU5vZGUoKSBjb25z
dCB7IHJldHVybiBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZDsgfQorI2VuZGlmCisgICAg
CiBwcm90ZWN0ZWQ6CiAgICAgQVhJRCBtX2lkIHsgMCB9OwogICAgIEFjY2Vzc2liaWxpdHlDaGls
ZHJlblZlY3RvciBtX2NoaWxkcmVuOwpAQCAtMTE1OSw3ICsxMDE0LDEwIEBACiAgICAgQWNjZXNz
aWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhIG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEg
eyB9OwogICAgIGJvb2wgbV9jaGlsZHJlbkRpcnR5IHsgZmFsc2UgfTsKICAgICBib29sIG1fc3Vi
dHJlZURpcnR5IHsgZmFsc2UgfTsKLQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCisgICAgYm9vbCBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZCB7IGZhbHNlIH07
CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHNldElzSWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vz
c2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSYgZGF0YSkgeyBtX2lzSWdub3JlZEZyb21Q
YXJlbnREYXRhID0gZGF0YTsgfQogCiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVBY2Nlc3NpYmls
aXR5SXNJZ25vcmVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
OTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit0eXBlZGVmIHVuc2lnbmVkIEFYSUQ7CisKK2VudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUg
eworICAgIEFubm90YXRpb24gPSAxLAorICAgIEFwcGxpY2F0aW9uLAorICAgIEFwcGxpY2F0aW9u
QWxlcnQsCisgICAgQXBwbGljYXRpb25BbGVydERpYWxvZywKKyAgICBBcHBsaWNhdGlvbkRpYWxv
ZywKKyAgICBBcHBsaWNhdGlvbkdyb3VwLAorICAgIEFwcGxpY2F0aW9uTG9nLAorICAgIEFwcGxp
Y2F0aW9uTWFycXVlZSwKKyAgICBBcHBsaWNhdGlvblN0YXR1cywKKyAgICBBcHBsaWNhdGlvblRl
eHRHcm91cCwKKyAgICBBcHBsaWNhdGlvblRpbWVyLAorICAgIEF1ZGlvLAorICAgIEJsb2NrcXVv
dGUsCisgICAgQnJvd3NlciwKKyAgICBCdXN5SW5kaWNhdG9yLAorICAgIEJ1dHRvbiwKKyAgICBD
YW52YXMsCisgICAgQ2FwdGlvbiwKKyAgICBDZWxsLAorICAgIENoZWNrQm94LAorICAgIENvbG9y
V2VsbCwKKyAgICBDb2x1bW4sCisgICAgQ29sdW1uSGVhZGVyLAorICAgIENvbWJvQm94LAorICAg
IERlZmluaXRpb24sCisgICAgRGVzY3JpcHRpb25MaXN0LAorICAgIERlc2NyaXB0aW9uTGlzdFRl
cm0sCisgICAgRGVzY3JpcHRpb25MaXN0RGV0YWlsLAorICAgIERldGFpbHMsCisgICAgRGlyZWN0
b3J5LAorICAgIERpc2Nsb3N1cmVUcmlhbmdsZSwKKyAgICBEaXYsCisgICAgRG9jdW1lbnQsCisg
ICAgRG9jdW1lbnRBcnRpY2xlLAorICAgIERvY3VtZW50TWF0aCwKKyAgICBEb2N1bWVudE5vdGUs
CisgICAgRHJhd2VyLAorICAgIEVkaXRhYmxlVGV4dCwKKyAgICBGZWVkLAorICAgIEZpZ3VyZSwK
KyAgICBGb290ZXIsCisgICAgRm9vdG5vdGUsCisgICAgRm9ybSwKKyAgICBHcmFwaGljc0RvY3Vt
ZW50LAorICAgIEdyYXBoaWNzT2JqZWN0LAorICAgIEdyYXBoaWNzU3ltYm9sLAorICAgIEdyaWQs
CisgICAgR3JpZENlbGwsCisgICAgR3JvdXAsCisgICAgR3Jvd0FyZWEsCisgICAgSGVhZGluZywK
KyAgICBIZWxwVGFnLAorICAgIEhvcml6b250YWxSdWxlLAorICAgIElnbm9yZWQsCisgICAgSW5s
aW5lLAorICAgIEltYWdlLAorICAgIEltYWdlTWFwLAorICAgIEltYWdlTWFwTGluaywKKyAgICBJ
bmNyZW1lbnRvciwKKyAgICBMYWJlbCwKKyAgICBMYW5kbWFya0Jhbm5lciwKKyAgICBMYW5kbWFy
a0NvbXBsZW1lbnRhcnksCisgICAgTGFuZG1hcmtDb250ZW50SW5mbywKKyAgICBMYW5kbWFya0Rv
Y1JlZ2lvbiwKKyAgICBMYW5kbWFya01haW4sCisgICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAorICAg
IExhbmRtYXJrUmVnaW9uLAorICAgIExhbmRtYXJrU2VhcmNoLAorICAgIExlZ2VuZCwKKyAgICBM
aW5rLAorICAgIExpc3QsCisgICAgTGlzdEJveCwKKyAgICBMaXN0Qm94T3B0aW9uLAorICAgIExp
c3RJdGVtLAorICAgIExpc3RNYXJrZXIsCisgICAgTWFyaywKKyAgICBNYXRoRWxlbWVudCwKKyAg
ICBNYXR0ZSwKKyAgICBNZW51LAorICAgIE1lbnVCYXIsCisgICAgTWVudUJ1dHRvbiwKKyAgICBN
ZW51SXRlbSwKKyAgICBNZW51SXRlbUNoZWNrYm94LAorICAgIE1lbnVJdGVtUmFkaW8sCisgICAg
TWVudUxpc3RQb3B1cCwKKyAgICBNZW51TGlzdE9wdGlvbiwKKyAgICBPdXRsaW5lLAorICAgIFBh
cmFncmFwaCwKKyAgICBQb3BVcEJ1dHRvbiwKKyAgICBQcmUsCisgICAgUHJlc2VudGF0aW9uYWws
CisgICAgUHJvZ3Jlc3NJbmRpY2F0b3IsCisgICAgUmFkaW9CdXR0b24sCisgICAgUmFkaW9Hcm91
cCwKKyAgICBSb3dIZWFkZXIsCisgICAgUm93LAorICAgIFJvd0dyb3VwLAorICAgIFJ1YnlCYXNl
LAorICAgIFJ1YnlCbG9jaywKKyAgICBSdWJ5SW5saW5lLAorICAgIFJ1YnlSdW4sCisgICAgUnVi
eVRleHQsCisgICAgUnVsZXIsCisgICAgUnVsZXJNYXJrZXIsCisgICAgU2Nyb2xsQXJlYSwKKyAg
ICBTY3JvbGxCYXIsCisgICAgU2VhcmNoRmllbGQsCisgICAgU2hlZXQsCisgICAgU2xpZGVyLAor
ICAgIFNsaWRlclRodW1iLAorICAgIFNwaW5CdXR0b24sCisgICAgU3BpbkJ1dHRvblBhcnQsCisg
ICAgU3BsaXRHcm91cCwKKyAgICBTcGxpdHRlciwKKyAgICBTdGF0aWNUZXh0LAorICAgIFN1bW1h
cnksCisgICAgU3dpdGNoLAorICAgIFN5c3RlbVdpZGUsCisgICAgU1ZHUm9vdCwKKyAgICBTVkdU
ZXh0LAorICAgIFNWR1RTcGFuLAorICAgIFNWR1RleHRQYXRoLAorICAgIFRhYkdyb3VwLAorICAg
IFRhYkxpc3QsCisgICAgVGFiUGFuZWwsCisgICAgVGFiLAorICAgIFRhYmxlLAorICAgIFRhYmxl
SGVhZGVyQ29udGFpbmVyLAorICAgIFRleHRBcmVhLAorICAgIFRleHRHcm91cCwKKyAgICBUZXJt
LAorICAgIFRpbWUsCisgICAgVHJlZSwKKyAgICBUcmVlR3JpZCwKKyAgICBUcmVlSXRlbSwKKyAg
ICBUZXh0RmllbGQsCisgICAgVG9nZ2xlQnV0dG9uLAorICAgIFRvb2xiYXIsCisgICAgVW5rbm93
biwKKyAgICBVc2VySW50ZXJmYWNlVG9vbHRpcCwKKyAgICBWYWx1ZUluZGljYXRvciwKKyAgICBW
aWRlbywKKyAgICBXZWJBcHBsaWNhdGlvbiwKKyAgICBXZWJBcmVhLAorICAgIFdlYkNvcmVMaW5r
LAorICAgIFdpbmRvdywKK307CisKK2NsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2Ug
eworcHVibGljOgorICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UoKSA9
IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNNZWRpYUNvbnRyb2xMYWJlbCgpIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdHRhY2htZW50KCkgY29uc3QgPSAwOworfTsKKworfQpJ
bmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRl
ZFRyZWVDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVDYWNoZS5jcHAJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVD
YWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIKKworI2luY2x1ZGUgIkFYSXNv
bGF0ZWRUcmVlTm9kZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlIDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorc3RhdGljIHVuc2lnbmVk
IHNfY2FjaGVJRENvdW50ID0gMDsKK0hhc2hNYXA8UGFnZSosIFJlZlB0cjxBWElzb2xhdGVkVHJl
ZUNhY2hlPj4mIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnBhZ2VSb290TWFwKCkKK3sKKyAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxQYWdlKiwgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2Fj
aGU+Pj4gbWFwOworICAgIHJldHVybiBtYXA7Cit9CisKK0hhc2hNYXA8QVhJc29sYXRlZENhY2hl
SUQsIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4mIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnRy
ZWVDYWNoZSgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8QVhJc29sYXRl
ZENhY2hlSUQsIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4+IG1hcDsKKyAgICByZXR1cm4g
bWFwOworfQorCitBWElzb2xhdGVkVHJlZUNhY2hlOjpBWElzb2xhdGVkVHJlZUNhY2hlKCkKKyAg
ICA6IG1fY2FjaGVJRCgrK3NfY2FjaGVJRENvdW50KQoreworfQorCitBWElzb2xhdGVkVHJlZUNh
Y2hlOjp+QVhJc29sYXRlZFRyZWVDYWNoZSgpID0gZGVmYXVsdDsKKworUmVmPEFYSXNvbGF0ZWRU
cmVlQ2FjaGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgQVhJc29sYXRlZFRyZWVDYWNoZSgpKTsKK30KKyAgICAKK1JlZlB0cjxBWElz
b2xhdGVkVHJlZUNhY2hlPiBBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvcklEKEFYSXNvbGF0
ZWRDYWNoZUlEIGNhY2hlSUQpCit7CisgICAgcmV0dXJuIHRyZWVDYWNoZSgpLmdldChjYWNoZUlE
KTsKK30KKworUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6
OmNhY2hlRm9yUGFnZShQYWdlKiBwYWdlKQoreworICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNh
Y2hlPiBjYWNoZSA9IHBhZ2VSb290TWFwKCkuZ2V0KHBhZ2UpOworICAgIGlmICghY2FjaGUpIHsK
KyAgICAgICAgY2FjaGUgPSBBWElzb2xhdGVkVHJlZUNhY2hlOjpjcmVhdGUoKTsKKyAgICAgICAg
cGFnZVJvb3RNYXAoKS5zZXQocGFnZSwgY2FjaGUpOworICAgICAgICB0cmVlQ2FjaGUoKS5zZXQo
Y2FjaGUtPmNhY2hlSWRlbnRpZmllcigpLCBjYWNoZSk7CisgICAgfQorICAgIHJldHVybiBjYWNo
ZTsKK30KKyAgICAKK1JlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlQ2Fj
aGU6Om5vZGVGb3JJRChBWElEIGF4SUQpIGNvbnN0Cit7CisgICAgaWYgKCFheElEKQorICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gbV9jYWNoZS5nZXQoYXhJRCk7Cit9CisKK1Jl
ZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnJvb3ROb2RlKCkK
K3sKKyAgICByZXR1cm4gbm9kZUZvcklEKG1fcm9vdE5vZGVJRCk7Cit9CisKK3ZvaWQgQVhJc29s
YXRlZFRyZWVDYWNoZTo6cmVtb3ZlTm9kZShBWElEIGF4SUQpCit7CisgICAgbV9jaGFuZ2VMb2dM
b2NrLmxvY2soKTsKKyAgICBtX3JlbW92ZUNoYW5nZUxvZy5hcHBlbmQoYXhJRCk7CisgICAgbV9j
aGFuZ2VMb2dMb2NrLnVubG9jaygpOworfQorCit2b2lkIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFw
cGVuZE5vZGVDaGFuZ2VzKFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4mIGxvZykK
K3sKKyAgICBtX2NoYW5nZUxvZ0xvY2subG9jaygpOworICAgIG1fYXBwZW5kQ2hhbmdlTG9nLmFw
cGVuZFZlY3Rvcihsb2cpOworICAgIG1fY2hhbmdlTG9nTG9jay51bmxvY2soKTsKK30KKyAgICAK
K3ZvaWQgQVhJc29sYXRlZFRyZWVDYWNoZTo6YXBwbHlDaGFuZ2VMb2coKQoreworICAgIFZlY3Rv
cjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gYXBwZW5kQ29weTsKKyAgICBWZWN0b3I8QVhJ
RD4gcmVtb3ZlQ29weTsKKworICAgIG1fY2hhbmdlTG9nTG9jay5sb2NrKCk7CisgICAgYXBwZW5k
Q29weSA9IG1fYXBwZW5kQ2hhbmdlTG9nOworICAgIHJlbW92ZUNvcHkgPSBtX3JlbW92ZUNoYW5n
ZUxvZzsKKyAgICAKKyAgICBtX2FwcGVuZENoYW5nZUxvZy5jbGVhcigpOworICAgIG1fcmVtb3Zl
Q2hhbmdlTG9nLmNsZWFyKCk7CisgICAgbV9jaGFuZ2VMb2dMb2NrLnVubG9jaygpOworCisgICAg
Zm9yIChhdXRvIGl0ZW0gOiBhcHBlbmRDb3B5KSB7CisgICAgICAgIG1fY2FjaGUuc2V0KGl0ZW0t
PmlkZW50aWZpZXIoKSwgaXRlbSk7CisgICAgICAgIGlmIChpdGVtLT5pc1Jvb3ROb2RlKCkpCisg
ICAgICAgICAgICBtX3Jvb3ROb2RlSUQgPSBpdGVtLT5pZGVudGlmaWVyKCk7CisgICAgfQorCisg
ICAgZm9yIChhdXRvIGl0ZW0gOiByZW1vdmVDb3B5KQorICAgICAgICBtX2NhY2hlLnJlbW92ZShp
dGVtKTsKK30KKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVDYWNoZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQor
CisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZD
b3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGFnZTsKKwordHlwZWRl
ZiB1bnNpZ25lZCBBWElzb2xhdGVkQ2FjaGVJRDsKKyAgICAKK2NsYXNzIEFYSXNvbGF0ZWRUcmVl
Q2FjaGUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QVhJc29sYXRlZFRyZWVDYWNoZT4g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFYSXNvbGF0ZWRUcmVlQ2FjaGUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKKworcHVibGljOgorICAgIHN0YXRpYyBSZWY8QVhJc29sYXRlZFRy
ZWVDYWNoZT4gY3JlYXRlKCk7CisgICAgdmlydHVhbCB+QVhJc29sYXRlZFRyZWVDYWNoZSgpOwor
CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPiBj
YWNoZUZvclBhZ2UoUGFnZSopOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8QVhJ
c29sYXRlZFRyZWVDYWNoZT4gY2FjaGVGb3JJRChBWElzb2xhdGVkQ2FjaGVJRCk7CisKKyAgICBX
RUJDT1JFX0VYUE9SVCBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiByb290Tm9kZSgpOworICAg
IFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IG5vZGVGb3JJRChBWElEKSBjb25zdDsKKworICAg
IC8vIENhbGwgb24gbWFpbiB0aHJlYWQKKyAgICB2b2lkIGFwcGVuZE5vZGVDaGFuZ2VzKFZlY3Rv
cjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4mKTsKKyAgICB2b2lkIHJlbW92ZU5vZGUoQVhJ
RCk7CisKKyAgICAvLyBDYWxsIG9uIEFYIHRocmVhZAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
YXBwbHlDaGFuZ2VMb2coKTsKKyAgICAKKyAgICBBWElzb2xhdGVkQ2FjaGVJRCBjYWNoZUlkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlSUQ7IH0KKyAgICAKK3ByaXZhdGU6CisgICAg
QVhJc29sYXRlZFRyZWVDYWNoZSgpOworCisgICAgc3RhdGljIEhhc2hNYXA8UGFnZSosIFJlZlB0
cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4mIHBhZ2VSb290TWFwKCk7CisgICAgc3RhdGljIEhhc2hN
YXA8QVhJc29sYXRlZENhY2hlSUQsIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4mIHRyZWVD
YWNoZSgpOworICAgIAorICAgIC8vIE9ubHkgYWNjZXNzIG9uIEFYIHRocmVhZCByZXF1ZXN0aW5n
IGRhdGEuCisgICAgSGFzaE1hcDxBWElELCBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbV9j
YWNoZTsKKyAgICAKKyAgICAvLyBXcml0dGVuIHRvIGJ5IG1haW4gdGhyZWFkIHVuZGVyIGxvY2ss
IGFjY2Vzc2VkIGFuZCBhcHBsaWVkIGJ5IEFYIHRocmVhZC4KKyAgICBWZWN0b3I8UmVmUHRyPEFY
SXNvbGF0ZWRUcmVlTm9kZT4+IG1fYXBwZW5kQ2hhbmdlTG9nOworICAgIFZlY3RvcjxBWElEPiBt
X3JlbW92ZUNoYW5nZUxvZzsKKyAgICBMb2NrIG1fY2hhbmdlTG9nTG9jazsKKworICAgIEFYSXNv
bGF0ZWRDYWNoZUlEIG1fY2FjaGVJRDsKKyAgICBBWElEIG1fcm9vdE5vZGVJRDsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRU
cmVlTm9kZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDExOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFKQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZFRy
ZWVOb2RlLmgiCisKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworQVhJc29sYXRlZFRyZWVOb2RlOjpBWElzb2xhdGVkVHJlZU5vZGUoY29u
c3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQorICAgIDogbV9pZGVudGlmaWVyKG9iamVj
dC5heE9iamVjdElEKCkpCisgICAgLCBtX3JlbGF0aW9uc2hpcChudWxscHRyKQoreworICAgIGlu
aXRpYWxpemVBdHRyaWJ1dGVEYXRhKG9iamVjdCk7Cit9CisKK1JlZjxBWElzb2xhdGVkVHJlZU5v
ZGU+IEFYSXNvbGF0ZWRUcmVlTm9kZTo6Y3JlYXRlKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3Qm
IG9iamVjdCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZU5vZGUo
b2JqZWN0KSk7Cit9CisgICAgCitBWElzb2xhdGVkVHJlZU5vZGU6On5BWElzb2xhdGVkVHJlZU5v
ZGUoKSA9IGRlZmF1bHQ7CisKK3ZvaWQgQVhJc29sYXRlZFRyZWVOb2RlOjppbml0aWFsaXplQXR0
cmlidXRlRGF0YShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCit7CisgICAgc2V0
UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlJvbGVWYWx1ZSwgc3RhdGljX2Nhc3Q8aW50PihvYmpl
Y3Qucm9sZVZhbHVlKCkpKTsKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNBdHRh
Y2htZW50LCBvYmplY3QuaXNBdHRhY2htZW50KCkpOworICAgIHNldFByb3BlcnR5KEFYUHJvcGVy
dHlOYW1lOjpJc01lZGlhQ29udHJvbExhYmVsLCBvYmplY3QuaXNNZWRpYUNvbnRyb2xMYWJlbCgp
KTsKK30KKyAgICAKK3ZvaWQgQVhJc29sYXRlZFRyZWVOb2RlOjpzZXRQcm9wZXJ0eShBWFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCYmIHZhbHVlLCBib29s
IHNob3VsZFJlbW92ZSkKK3sKKyAgICBpZiAoc2hvdWxkUmVtb3ZlKQorICAgICAgICBtX2F0dHJp
YnV0ZU1hcC5yZW1vdmUocHJvcGVydHlOYW1lKTsKKyAgICBlbHNlCisgICAgICAgIG1fYXR0cmli
dXRlTWFwLnNldChwcm9wZXJ0eU5hbWUsIHZhbHVlKTsKK30KKyAgICAKK2RvdWJsZSBBWElzb2xh
dGVkVHJlZU5vZGU6OmRvdWJsZUF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3Bl
cnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAoZG91YmxlJiB0
eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0
byYpIHsKKyAgICAgICAgcmV0dXJuIDAuMDsKKyAgICB9KTsKK30KKwordW5zaWduZWQgQVhJc29s
YXRlZFRyZWVOb2RlOjp1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3Bl
cnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHBy
b3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAodW5zaWdu
ZWQmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZd
IChhdXRvJikgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKworYm9vbCBBWElzb2xh
dGVkVHJlZU5vZGU6OmJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0
eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGJvb2wmIHR5cGVk
VmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikg
eworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSk7Cit9CisKK2NvbnN0IFN0cmluZyYgQVhJ
c29sYXRlZFRyZWVOb2RlOjpzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChw
cm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKFN0cmlu
ZyYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0g
KGF1dG8mKSB7CisgICAgICAgIHJldHVybiBudWxsQXRvbSgpOworICAgIH0pOworfQorCitpbnQg
QVhJc29sYXRlZFRyZWVOb2RlOjppbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChw
cm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGludCYg
dHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1
dG8mKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0pOworfQorCisjcHJhZ21hIG1hcmsgLSBP
dmVycmlkZXMKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RSgoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVOb2RlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxNTQgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQor
CisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgorI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRT
YWZlUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKKyNpZiBQTEFURk9STShDT0NP
QSkKK09CSkNfQ0xBU1MgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI7CisjZW5kaWYKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworCitjbGFz
cyBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXAoKSk7IH0KKyAgICB2aXJ0dWFsIH5BWElzb2xh
dGVkVHJlZVJlbGF0aW9uc2hpcCgpID0gZGVmYXVsdDsKKworICAgIEFYSXNvbGF0ZWRUcmVlUmVs
YXRpb25zaGlwKGNvbnN0IEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwJiByZWxhdGlvbnNoaXAp
CisgICAgICAgIDogbV9wYXJlbnQocmVsYXRpb25zaGlwLm1fcGFyZW50KQorICAgICAgICAsIG1f
Y2hpbGRyZW4ocmVsYXRpb25zaGlwLm1fY2hpbGRyZW4pCisgICAgeworICAgIH0KKyAgICAKKyAg
ICBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCYgb3BlcmF0b3I9KGNvbnN0IEFYSXNvbGF0ZWRU
cmVlUmVsYXRpb25zaGlwJiByZWxhdGlvbnNoaXApCisgICAgeworICAgICAgICBtX3BhcmVudCA9
IHJlbGF0aW9uc2hpcC5tX3BhcmVudDsKKyAgICAgICAgbV9jaGlsZHJlbiA9IHJlbGF0aW9uc2hp
cC5tX2NoaWxkcmVuOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgdm9pZCBz
ZXRQYXJlbnQoQVhJRCBwYXJlbnQpIHsgbV9wYXJlbnQgPSBwYXJlbnQ7IH0KKyAgICBBWElEIHBh
cmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50OyB9CisKKyAgICBWZWN0b3I8QVhJRD4mIGNo
aWxkcmVuKCkgeyByZXR1cm4gbV9jaGlsZHJlbjsgfTsKKworcHJpdmF0ZToKKyAgICBBWElzb2xh
dGVkVHJlZVJlbGF0aW9uc2hpcCgpIHsgfQorCisgICAgQVhJRCBtX3BhcmVudDsKKyAgICBWZWN0
b3I8QVhJRD4gbV9jaGlsZHJlbjsKK307CisKKyAgICAKK2NsYXNzIEFYSXNvbGF0ZWRUcmVlTm9k
ZSBmaW5hbCA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLCBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8QVhJc29sYXRlZFRyZWVOb2RlPiwgcHVibGljIENhbk1ha2VXZWFr
UHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4geworICAgIAorZW51bSBjbGFzcyBBWFByb3BlcnR5TmFt
ZSA6IHVpbnQxNl90IHsKKyAgICBOb25lID0gMCwKKyAgICBSb2xlVmFsdWUgPSAxLAorICAgIElz
QXR0YWNobWVudCwKKyAgICBJc01lZGlhQ29udHJvbExhYmVsLAorfTsKKworc3RydWN0IEFYUHJv
cGVydHlIYXNoVHJhaXRzIDogV1RGOjpTdHJvbmdFbnVtSGFzaFRyYWl0czxBWFByb3BlcnR5TmFt
ZT4geworICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKKyAg
ICBzdGF0aWMgQVhQcm9wZXJ0eU5hbWUgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIEFYUHJvcGVydHlO
YW1lOjpOb25lOyB9OworICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShBWFBy
b3BlcnR5TmFtZSYgc2xvdCkKKyAgICB7CisgICAgICAgIHNsb3QgPSBzdGF0aWNfY2FzdDxBWFBy
b3BlcnR5TmFtZT4oc3RhdGljX2Nhc3Q8aW50PihBWFByb3BlcnR5TmFtZTo6Tm9uZSkgLSAxKTsK
KyAgICB9CisgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoQVhQcm9wZXJ0eU5hbWUgdmFs
dWUpCisgICAgeworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSkgPT0gc3Rh
dGljX2Nhc3Q8aW50PihBWFByb3BlcnR5TmFtZTo6Tm9uZSkgLSAxOworICAgIH0KK307CisKK3By
b3RlY3RlZDoKKyAgICBBWElzb2xhdGVkVHJlZU5vZGUoKSA9IGRlZmF1bHQ7CisKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gY3JlYXRlKGNvbnN0IEFjY2Vzc2li
aWxpdHlPYmplY3QmKTsKKyAgICB2aXJ0dWFsIH5BWElzb2xhdGVkVHJlZU5vZGUoKTsKKworICAg
IEFYSUQgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQorICAgIAor
ICAgIHZvaWQgc2V0UmVsYXRpb25zaGlwKFJlZlB0cjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cD4gcmVsYXRpb25zaGlwKSB7IG1fcmVsYXRpb25zaGlwID0gcmVsYXRpb25zaGlwOyB9CisgICAg
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwPiYgcmVsYXRpb25zaGlwKCkgeyByZXR1
cm4gbV9yZWxhdGlvbnNoaXA7IH0KKyAgICAKKyAgICBib29sIGlzUm9vdE5vZGUoKSBjb25zdCB7
IHJldHVybiBtX2lzUm9vdE5vZGU7IH0KKyAgICB2b2lkIHNldElzUm9vdE5vZGUoYm9vbCB2YWx1
ZSkgeyBtX2lzUm9vdE5vZGUgPSB2YWx1ZTsgfQorICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQor
ICAgIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKCkgY29uc3QgeyByZXR1
cm4gbV93cmFwcGVyLmdldCgpOyB9CisgICAgdm9pZCBzZXRXcmFwcGVyKFdlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKQorICAgIHsKKyAgICAgICAgbV93cmFwcGVyID0gd3Jh
cHBlcjsKKyAgICB9CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBBWElzb2xhdGVkVHJlZU5vZGUo
Y29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYpOworICAgIHZvaWQgaW5pdGlhbGl6ZUF0dHJpYnV0
ZURhdGEoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYpOworICAgIAorICAgIGJvb2wgaXNNZWRp
YUNvbnRyb2xMYWJlbCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZTo6SXNNZWRpYUNvbnRyb2xMYWJlbCk7IH0KKyAgICBib29sIGlzQXR0
YWNobWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6SXNBdHRhY2htZW50KTsgfQorICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVW
YWx1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlS
b2xlPihpbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6Um9sZVZhbHVlKSk7IH0KKyAg
ICAKKyAgICB1c2luZyBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQgPSBWYXJpYW50PHN0ZDo6bnVsbHB0
cl90LCBTdHJpbmcsIGJvb2wsIGludCwgdW5zaWduZWQsIGRvdWJsZT47CisgICAgdm9pZCBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZSwgQXR0cmlidXRlVmFsdWVWYXJpYW50JiYsIGJvb2wgc2hv
dWxkUmVtb3ZlID0gZmFsc2UpOworICAgIAorICAgIGJvb2wgYm9vbEF0dHJpYnV0ZVZhbHVlKEFY
UHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBjb25zdCBTdHJpbmcmIHN0cmluZ0F0dHJpYnV0ZVZh
bHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBpbnQgaW50QXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIHVuc2lnbmVkIHVuc2lnbmVkQXR0cmlidXRlVmFsdWUo
QVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGRvdWJsZSBkb3VibGVBdHRyaWJ1dGVWYWx1ZShB
WFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgCisgICAgQVhJRCBtX2lkZW50aWZpZXI7CisgICAg
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwPiBtX3JlbGF0aW9uc2hpcDsKKyAgICBi
b29sIG1faXNSb290Tm9kZTsKKyAgICAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXRhaW5Q
dHI8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI+IG1fd3JhcHBlcjsKKyNlbmRpZgorICAg
IAorICAgIEhhc2hNYXA8QVhQcm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCwgV1RG
OjpJbnRIYXNoPEFYUHJvcGVydHlOYW1lPiwgQVhQcm9wZXJ0eUhhc2hUcmFpdHM+IG1fYXR0cmli
dXRlTWFwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KChBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCShyZXZpc2lvbiAy
NDAyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hl
TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFkpICYmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWVOb2Rl
LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmls
aXR5VGFibGUuaCIKICNpbXBvcnQgIlJlbmRlck9iamVjdC5oIgpAQCAtMjM3LDYgKzIzOCwxNCBA
QAogICAgIG9iai0+c2V0V3JhcHBlcihudWxscHRyKTsKIH0KIAorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlzb2xh
dGVkVHJlZU5vZGUoQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0LCBBWElzb2xhdGVkVHJlZU5v
ZGUmIG5vZGUsIEFYSXNvbGF0ZWRDYWNoZUlEIGNhY2hlSUQpCit7CisgICAgb2JqZWN0LndyYXBw
ZXIoKS5pc29sYXRlZENhY2hlSWRlbnRpZmllciA9IGNhY2hlSUQ7CisgICAgbm9kZS5zZXRXcmFw
cGVyKG9iamVjdC53cmFwcGVyKCkpOworfQorI2VuZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmF0dGFjaFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogewogICAgIFJldGFp
blB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gd3JhcHBlciA9IGFkb3B0TlMoW1tX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhbGxvY10gaW5pdFdpdGhBY2Nlc3NpYmlsaXR5
T2JqZWN0Om9ial0pOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNl
LmgJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSwxMSArMjksMTggQEAKICNpZm5kZWYgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNl
X2gKICNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlX2gKIAorI2luY2x1
ZGUgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmgiCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFr
UHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3Q7
CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK2NsYXNzIEFYSXNvbGF0
ZWRUcmVlTm9kZTsKKyNlbmRpZgogc3RydWN0IEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYTsK
IGNsYXNzIEludFJlY3Q7CiBjbGFzcyBGbG9hdFBvaW50OwpAQCAtNDcsMTAgKzU0LDIyIEBACiB9
CiAgCiAtIChpZClpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6KFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlPYmplY3QqKWF4T2JqZWN0OworCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgUmVmUHRyPFdlYkNvcmU6
OkFYSXNvbGF0ZWRUcmVlTm9kZT4gaXNvbGF0ZWRUcmVlTm9kZTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBhc3NpZ24pIFdlYkNvcmU6OkFYSXNvbGF0ZWRDYWNoZUlEIGlzb2xhdGVkQ2FjaGVJZGVu
dGlmaWVyOworI2VuZGlmCisKIC0gKHZvaWQpZGV0YWNoOworCitAcHJvcGVydHkgKG5vbmF0b21p
YywgYXNzaWduKSBXZWJDb3JlOjpBWElEIGlkZW50aWZpZXI7CisKIC0gKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3QqKWFjY2Vzc2liaWxpdHlPYmplY3Q7CiAtIChCT09MKXVwZGF0ZU9iamVj
dEJhY2tpbmdTdG9yZTsKIAorLy8gVGhpcyBjYW4gYmUgZWl0aGVyIGFuIEFjY2Vzc2liaWxpdHlP
YmplY3Qgb3IgYW4gQVhJc29sYXRlZFRyZWVOb2RlCistIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlKilheEJhY2tpbmdPYmplY3Q7CisKIC8vIFRoZXNlIGFyZSBwcmUtZml4
ZWQgd2l0aCBiYXNlIHNvIHRoYXQgQXBwS2l0IGRvZXMgbm90IGVuZCB1cCBjYWxsaW5nIGludG8g
dGhlc2UgZGlyZWN0bHkgKGJ5cGFzc2luZyBzYWZldHkgY2hlY2tzKS4KIC0gKE5TU3RyaW5nICop
YmFzZUFjY2Vzc2liaWxpdHlUaXRsZTsKIC0gKE5TU3RyaW5nICopYmFzZUFjY2Vzc2liaWxpdHlE
ZXNjcmlwdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2Uu
bW0JKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAt
MzEsMTAgKzMxLDEzIEBACiAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAKKyNpbXBvcnQgIkFY
SXNvbGF0ZWRUcmVlQ2FjaGUuaCIKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2lt
cG9ydCAiQVhPYmplY3RDYWNoZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93
LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5TGlzdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eUxpc3RCb3guaCIKKyNpbXBvcnQgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKICNp
bXBvcnQgIkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxp
dHlTY3JvbGxWaWV3LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIgpAQCAt
MjY1LDYgKzI2OCw4IEBACiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlckJhc2UKIAorQHN5bnRoZXNpemUgaWRlbnRpZmllcj1faWRlbnRpZmllcjsKKwogLSAo
aWQpaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0OihBY2Nlc3NpYmlsaXR5T2JqZWN0KilheE9i
amVjdAogewogICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQpAQCAtMjcxLDE2ICsyNzYs
MzAgQEAKICAgICAgICAgcmV0dXJuIG5pbDsKIAogICAgIG1fb2JqZWN0ID0gYXhPYmplY3Q7Cisg
ICAgX2lkZW50aWZpZXIgPSBtX29iamVjdC0+YXhPYmplY3RJRCgpOwogICAgIHJldHVybiBzZWxm
OwogfQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKy0gKFJlZlB0
cjxXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU+KWlzb2xhdGVkVHJlZU5vZGUKK3sKKyAgICBy
ZXR1cm4gQVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVGb3JJRChfaXNvbGF0ZWRDYWNoZUlkZW50
aWZpZXIpLT5ub2RlRm9ySUQoX2lkZW50aWZpZXIpOworfQorCisjZW5kaWYKKwogLSAodm9pZClk
ZXRhY2gKIHsKICAgICBtX29iamVjdCA9IG51bGxwdHI7CisgICAgX2lkZW50aWZpZXIgPSAwOwog
fQogCiAtIChCT09MKXVwZGF0ZU9iamVjdEJhY2tpbmdTdG9yZQogeworI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgQVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVG
b3JJRChzZWxmLmlzb2xhdGVkQ2FjaGVJZGVudGlmaWVyKS0+YXBwbHlDaGFuZ2VMb2coKTsKKyAg
ICByZXR1cm4gX2lkZW50aWZpZXI7CisjZWxzZQogICAgIC8vIENhbGxpbmcgdXBkYXRlQmFja2lu
Z1N0b3JlKCkgY2FuIGludmFsaWRhdGUgdGhpcyBlbGVtZW50IHNvIHNlbGYgbXVzdCBiZSByZXRh
aW5lZC4KICAgICAvLyBJZiBpdCBkb2VzIGJlY29tZSBpbnZhbGlkYXRlZCwgbV9vYmplY3Qgd2ls
bCBiZSBuaWwuCiAgICAgQ0ZSZXRhaW4oKF9fYnJpZGdlIENGVHlwZVJlZilzZWxmKTsKQEAgLTI5
NCw2ICszMTMsNyBAQAogICAgICAgICByZXR1cm4gTk87CiAgICAgCiAgICAgcmV0dXJuIFlFUzsK
KyNlbmRpZgogfQogCiAtIChpZClhdHRhY2htZW50VmlldwpAQCAtMzU1LDExICszNzUsMjEgQEAK
ICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ107CiB9CiAKKyNkZWZpbmUgX2F4QmFja2luZ09i
amVjdCBzZWxmLmF4QmFja2luZ09iamVjdAorLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dEludGVyZmFjZSopYXhCYWNraW5nT2JqZWN0Cit7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlf
SVNPTEFURURfVFJFRSkKKyAgICByZXR1cm4gc2VsZi5pc29sYXRlZFRyZWVOb2RlLmdldCgpOwor
I2Vsc2UKKyAgICByZXR1cm4gbV9vYmplY3Q7CisjZW5kaWYKK30KKwogLSAoTlNTdHJpbmcgKili
YXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uCiB7CiAgICAgLy8gU3RhdGljIHRleHQgb2JqZWN0
cyBzaG91bGQgbm90IGhhdmUgYSBkZXNjcmlwdGlvbi4gSXRzIGNvbnRlbnQgaXMgY29tbXVuaWNh
dGVkIGluIGl0cyBBWFZhbHVlLgogICAgIC8vIE9uZSBleGNlcHRpb24gaXMgdGhlIG1lZGlhIGNv
bnRyb2wgbGFiZWxzIHRoYXQgaGF2ZSBhIHZhbHVlIGFuZCBhIGRlc2NyaXB0aW9uLiBUaG9zZSBh
cmUgc2V0IHByb2dyYW1hdGljYWxseS4KLSAgICBpZiAobV9vYmplY3QtPnJvbGVWYWx1ZSgpID09
IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNUZXh0ICYmICFtX29iamVjdC0+aXNNZWRpYUNvbnRy
b2xMYWJlbCgpKQorICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBBY2Nl
c3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dCAmJiAhX2F4QmFja2luZ09iamVjdC0+aXNNZWRpYUNv
bnRyb2xMYWJlbCgpKQogICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ107CiAgICAgCiAg
ICAgVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiB0ZXh0T3JkZXI7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJN
YWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQxMiw2ICs0MTIsOCBAQAogI2RlZmluZSBOU0FjY2Vz
c2liaWxpdHlMaW5rUmVsYXRpb25zaGlwVHlwZUF0dHJpYnV0ZSBAIkFYTGlua1JlbGF0aW9uc2hp
cFR5cGUiCiAjZW5kaWYKIAorI2RlZmluZSBfYXhCYWNraW5nT2JqZWN0IHNlbGYuYXhCYWNraW5n
T2JqZWN0CisKIGV4dGVybiAiQyIgQVhVSUVsZW1lbnRSZWYgTlNBY2Nlc3NpYmlsaXR5Q3JlYXRl
QVhVSUVsZW1lbnRSZWYoaWQgZWxlbWVudCk7CiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlcgpAQCAtMjAwOSwxMCArMjAxMSwxMCBAQAogLSAoTlNTdHJpbmcq
KXJvbGUKIHsKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgotICAgIGlm
IChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpCisgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlz
QXR0YWNobWVudCgpKQogICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nl
c3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5Um9sZUF0dHJpYnV0ZV07CiAg
ICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECi0gICAgQWNjZXNzaWJpbGl0eVJv
bGUgcm9sZSA9IG1fb2JqZWN0LT5yb2xlVmFsdWUoKTsKKyAgICBBY2Nlc3NpYmlsaXR5Um9sZSBy
b2xlID0gX2F4QmFja2luZ09iamVjdC0+cm9sZVZhbHVlKCk7CiAKICAgICBpZiAocm9sZSA9PSBB
Y2Nlc3NpYmlsaXR5Um9sZTo6TGFiZWwgJiYgaXM8QWNjZXNzaWJpbGl0eUxhYmVsPigqbV9vYmpl
Y3QpICYmIGRvd25jYXN0PEFjY2Vzc2liaWxpdHlMYWJlbD4oKm1fb2JqZWN0KS5jb250YWluc09u
bHlTdGF0aWNUZXh0KCkpCiAgICAgICAgIHJvbGUgPSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGlj
VGV4dDsKQEAgLTIwMzksNyArMjA0MSw3IEBACiAgICAgaWYgKG1fb2JqZWN0LT5pc1NlYXJjaEZp
ZWxkKCkpCiAgICAgICAgIHJldHVybiBOU0FjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZFN1YnJvbGU7
CiAgICAgCi0gICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgIGlmIChfYXhC
YWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICBOU1ZpZXcqIGF0dGFjaFZp
ZXcgPSBbc2VsZiBhdHRhY2htZW50Vmlld107CiAgICAgICAgIGlmIChbW2F0dGFjaFZpZXcgYWNj
ZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09iamVjdDpOU0FjY2Vzc2liaWxpdHlT
dWJyb2xlQXR0cmlidXRlXSkKICAgICAgICAgICAgIHJldHVybiBbYXR0YWNoVmlldyBhY2Nlc3Np
YmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5U3Vicm9sZUF0dHJpYnV0ZV07CkBA
IC0yMjUwLDcgKzIyNTIsNyBAQAogCiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNf
QkVHSU4KICAgICAvLyBhdHRhY2htZW50cyBoYXZlIHRoZSBBWEltYWdlIHJvbGUsIGJ1dCBhIGRp
ZmZlcmVudCBzdWJyb2xlCi0gICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKKyAgICBp
ZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpCiAgICAgICAgIHJldHVybiBbW3Nl
bGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2li
aWxpdHlSb2xlRGVzY3JpcHRpb25BdHRyaWJ1dGVdOwogICAgIEFMTE9XX0RFUFJFQ0FURURfREVD
TEFSQVRJT05TX0VORAogCkBAIC0yNjA3LDcgKzI2MDksNyBAQAogICAgICAgICByZXR1cm4gW05T
TnVtYmVyIG51bWJlcldpdGhCb29sOiBtX29iamVjdC0+aXNWaXNpdGVkKCldOwogICAgIAogICAg
IGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eVRpdGxl
QXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7Cisg
ICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICAg
ICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1l
c10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1dGVdKQogICAgICAg
ICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRy
aWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV07CiAgICAgICAgIH0KQEAg
LTI2MjQsNyArMjYyNiw3IEBACiAgICAgfQogICAgIAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBp
c0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXSkgewot
ICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgICAgIGlmIChfYXhC
YWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICAgICAgaWYgKFtbW3NlbGYg
YXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmpl
Y3Q6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdKQogICAgICAgICAgICAgICAg
IHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1
ZTpOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV07CiAgICAgICAgIH0KQEAgLTI2
MzIsNyArMjYzNCw3IEBACiAgICAgfQogICAgIAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0Vx
dWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkgewotICAgICAgICBp
ZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgICAgIGlmIChfYXhCYWNraW5nT2Jq
ZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVu
dFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nl
c3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdKQogICAgICAgICAgICAgICAgIHJldHVybiBbW3NlbGYg
YXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxp
dHlWYWx1ZUF0dHJpYnV0ZV07CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDAy
MDYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE1IEBACisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+
CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0
eVdlYlBhZ2VPYmplY3RCYXNlLm1tOgorICAgICAgICAoLVtXS0FjY2Vzc2liaWxpdHlXZWJQYWdl
T2JqZWN0QmFzZSBhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXJdKToKKwogMjAxOS0wMS0x
OSAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZvbGxvdy11
cDogaU9TOiBVcGRhdGluZyBpbnB1dCBtb2RlIHNob3VsZCB1cGRhdGUgdGhlIHNvZnR3YXJlIGtl
eWJvYXJkCkluZGV4OiBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJLaXQv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAg
LTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkp
OwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJ
VFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5BQkxFX0FQUExF
X1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lb3MgPSBF
TkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFC
TEVfQVBQTEVfUEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBACiAKIEVOQUJMRV9YU0xUID0gRU5BQkxF
X1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05f
TUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5B
QkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQ
UE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVB
VFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRF
UlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9L
RVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkg
JChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikg
JChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQo
RU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklH
QVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5U
X1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRT
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFC
TEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZ
TlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5B
QkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VS
X01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJ
QVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05f
TU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9G
VUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NF
TUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQo
RU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVU
RSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdF
UikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlN
RU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChF
TkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRB
TCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlX
ZWJQYWdlT2JqZWN0QmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0JKHJldmlz
aW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0Fj
Y2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzQsNiAr
MzQsNyBAQAogI2ltcG9ydCAiV0tTaGFyZWRBUElDYXN0LmgiCiAjaW1wb3J0ICJXS1N0cmluZy5o
IgogI2ltcG9ydCAiV0tTdHJpbmdDRi5oIgorI2ltcG9ydCA8V2ViQ29yZS9BWElzb2xhdGVkVHJl
ZUNhY2hlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4KICNpbXBvcnQgPFdl
YkNvcmUvRG9jdW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWUuaD4KQEAgLTQ3LDYgKzQ4
LDE4IEBACiAKIEBpbXBsZW1lbnRhdGlvbiBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFz
ZQogCistIChXZWJDb3JlOjpBWE9iamVjdENhY2hlKilheE9iamVjdENhY2hlCit7CisgICAgV2Vi
Q29yZTo6UGFnZSogcGFnZSA9IG1fcGFnZS0+Y29yZVBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisg
ICAgICAgIHJldHVybiBuaWw7CisgICAgV2ViQ29yZTo6RnJhbWUmIGNvcmUgPSBwYWdlLT5tYWlu
RnJhbWUoKTsKKyAgICBpZiAoIWNvcmUuZG9jdW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIG5pbDsK
KyAgICAKKyAgICByZXR1cm4gY29yZS5kb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCk7Cit9CisK
IC0gKGlkKWFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcgogewogICAgIGlmICghV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKQEAgLTYyLDE4ICs3NSw0
NiBAQAogICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBtX3BhZ2UtPmNvcmVQYWdlKCk7CiAgICAg
aWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gbmlsOwotICAgIAotICAgIFdlYkNvcmU6OkZyYW1l
JiBjb3JlID0gcGFnZS0+bWFpbkZyYW1lKCk7Ci0gICAgaWYgKCFjb3JlLmRvY3VtZW50KCkpCi0g
ICAgICAgIHJldHVybiBuaWw7Ci0gICAgCi0gICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogY2Fj
aGUgPSBjb3JlLmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKTsKKworICAgIEFYT2JqZWN0Q2Fj
aGUqIGNhY2hlID0gW3NlbGYgYXhPYmplY3RDYWNoZV07CiAgICAgaWYgKCFjYWNoZSkKICAgICAg
ICAgcmV0dXJuIG5pbDsKICAgICAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKQorICAgIGF1dG8gZ2VuZXJhdGVCbG9jayA9IFsmXSB7CisgICAgICAgIGF1dG8gZGlzcGF0
Y2hCbG9jayA9IFsmY2FjaGVdIHsKKyAgICAgICAgICAgIGNhY2hlLT5nZW5lcmF0ZVN0YXRpY0Fj
Y2Vzc2liaWxpdHlUcmVlSWZOZWVkZWQoKTsKKyAgICAgICAgfTsKKyAgICAgICAgCisgICAgICAg
IGlmIChSdW5Mb29wOjppc01haW4oKSkKKyAgICAgICAgICAgIGRpc3BhdGNoQmxvY2soKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgZGlzcGF0Y2hfc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9x
dWV1ZSgpLCBkaXNwYXRjaEJsb2NrKTsKKyAgICB9OworCisgICAgYXV0byBpc29sYXRlZENhY2hl
ID0gQVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVGb3JQYWdlKHBhZ2UpOworICAgIGlmICghaXNv
bGF0ZWRDYWNoZSkgeworICAgICAgICBnZW5lcmF0ZUJsb2NrKCk7CisgICAgICAgIGlzb2xhdGVk
Q2FjaGUgPSBBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvclBhZ2UocGFnZSk7CisgICAgICAg
IEFTU0VSVChpc29sYXRlZENhY2hlKTsKKyAgICAgICAgaWYgKCFpc29sYXRlZENhY2hlKQorICAg
ICAgICAgICAgcmV0dXJuIG5pbDsKKworICAgICAgICBpc29sYXRlZENhY2hlLT5hcHBseUNoYW5n
ZUxvZygpOworICAgIH0KKyAgICAKKyAgICBhdXRvIHJvb3ROb2RlID0gaXNvbGF0ZWRDYWNoZS0+
cm9vdE5vZGUoKTsKKyAgICBpZiAoIXJvb3ROb2RlKSB7CisgICAgICAgIGdlbmVyYXRlQmxvY2so
KTsKKyAgICAgICAgaXNvbGF0ZWRDYWNoZS0+YXBwbHlDaGFuZ2VMb2coKTsKKyAgICB9CisKKyAg
ICBpZiAoKHJvb3ROb2RlID0gaXNvbGF0ZWRDYWNoZS0+cm9vdE5vZGUoKSkpCisgICAgICAgIHJl
dHVybiByb290Tm9kZS0+d3JhcHBlcigpOworI2Vsc2UKICAgICBpZiAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eU9iamVjdCogcm9vdCA9IGNhY2hlLT5yb290T2JqZWN0KCkpCiAgICAgICAgIHJldHVy
biByb290LT53cmFwcGVyKCk7Ci0gICAgCisjZW5kaWYKICAgICByZXR1cm4gbmlsOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
MyBAQAorMjAxOS0wMS0xMSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgor
CisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWc6CisKIDIwMTktMDEtMTkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4K
IAogICAgICAgICBBZGQgYSBQT0lOVEVSX0VWRU5UUyBmZWF0dXJlIGZsYWcKSW5kZXg6IFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2lu
ZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NP
Q09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29h
dG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVf
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChF
TkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9p
cGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVs
YXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAKIAogRU5BQkxFX1hT
TFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNG
T1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9B
UFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJ
RU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVS
SU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQp
ICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlf
QVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NP
TF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9f
VE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQo
RU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNF
U19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5B
QkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dF
Qk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQp
OworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dS
QURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VY
UEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9L
RVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9U
T0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklE
RU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNF
X1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9M
UykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hB
TkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRT
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5B
QkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOwpJbmRleDogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQkocmV2aXNpb24gMjQwMjA2
KQorKysgU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBA
IC0xODcsNiArMTg3LDcgQEAKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU01PT1RI
X1NDUk9MTElORyAiVG9nZ2xlIHNtb290aCBzY3JvbGxpbmciIFBSSVZBVEUgT04pCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMgIlRvZ2dsZSBTcGVlY2gg
U3ludGhlc2lzIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfU1BFTExDSEVDSyAiVG9nZ2xlIFNwZWxsY2hlY2tpbmcgc3VwcG9ydCAocmVx
dWlyZXMgRW5jaGFudCkiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFICJUb2dnbGUgc3RhdGljIGFjY2Vzc2liaWxp
dHkgdHJlZSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfU1RSRUFNU19BUEkgIlRvZ2dsZSBTdHJlYW1zIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9O
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TVkdfRk9OVFMgIlRvZ2dsZSBTVkcg
Rm9udHMgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04gIlRvZ2dsZSB0ZWxlcGhvbmUgbnVtYmVyIGRl
dGVjdGlvbiBzdXBwb3J0IiBQUklWQVRFIE9GRikKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDIwNikKKysrIFRvb2xzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTExICBDaHJp
cyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVj
ZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcy
MDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgor
CiAyMDE5LTAxLTE5ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAg
ICAgQWRkIGEgUE9JTlRFUl9FVkVOVFMgZmVhdHVyZSBmbGFnCkluZGV4OiBUb29scy9UZXN0V2Vi
S2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQw
LDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdL
X1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQ
TEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVf
UEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBACiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1Qp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBP
U0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1Nf
VFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktf
TU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVS
QUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQo
RU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05f
T0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9D
T0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVf
TEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVf
TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01B
Q19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFO
REFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Qp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VS
Q0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0Vf
SEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChF
TkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9B
UFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxF
X0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9D
U1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RB
UktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lO
VEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMp
ICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJ
T05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FS
RF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFC
TEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFC
TEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9T
VEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVF
U1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VS
Q0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0Vf
V09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359637</attachid>
            <date>2019-01-20 00:14:01 -0800</date>
            <delta_ts>2019-01-22 13:23:24 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>104208</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0xOSAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3RhcnQu
b3JnPgogCiAgICAgICAgIFtKU0NdIFJlb3JkZXIgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCBt
ZW1iZXIgZm9yIHByZXBhcmF0aW9uIG9mIEpTR2xvYmFsT2JqZWN0IG1lbW9yeSByZWR1Y3Rpb24K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
d29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18k
KFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
X2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitF
TkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZ
ID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExF
X1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9u
ZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAKIAogRU5B
QkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FS
RF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9Q
Uk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNf
VklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
V0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5B
QkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVf
QVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NP
TklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlC
T0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RP
TV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JF
U09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNT
QUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9O
X0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFND
UkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dF
Ql9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1J
TkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUp
ICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI0MDIwNikK
KysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01OCw2
ICs1OCw3IEBACiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvd2Vic29ja2V0cyIKICAgICAi
JHtXRUJDT1JFX0RJUn0vTW9kdWxlcy93ZWJ2ciIKICAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNz
aWJpbGl0eSIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUi
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L2FuaW1hdGlvbiIKICAgICAiJHtXRUJDT1JFX0RJUn0vYmlu
ZGluZ3MiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2JpbmRpbmdzL2pzIgpJbmRleDogU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwko
cmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsNzggQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2li
aWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBpbXByb3Zl
IHBlcmZvcm1hbmNlIHdoZW4gcmVxdWVzdGluZyB0aGUgYWNjZXNzaWJpbGl0eSBoaWVyYXJjaHks
IHdlIGludHJvZHVjZSB0aGUgaWRlYSBvZiBhICJzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlIiB3
aGljaCBjb3VsZCBiZSBhY2Nlc3NlZCBvbiBhIGRpZmZlcmVudCB0aHJlYWQgYnkgYXNzaXN0aXZl
IHRlY2hub2xvZ2llcy4KKyAgICAgICAgVGhhdCBpcyBhY2NvbXBsaXNoZWQgYnkgc3RvcmluZyBh
bGwgdGhlIGRhdGEgbmVlZGVkIHRvIGFuc3dlciBhY2Nlc3NpYmlsaXR5IGF0dHJpYnV0ZSBxdWVy
aWVzIGluIGEgc3RhdGljIG9iamVjdCB0aGF0IG1pcnJvcnMgdGhlICJsaXZlIiBBY2Nlc3NpYmls
aXR5T2JqZWN0cyAod2hpY2ggaW50ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVz
KS4KKyAgICAgICAgVGhlc2Ugc3RhdGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFm
dGVyIGxheW91dCBpcyBkb25lIGFuZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBU
aGV5IGFyZSB0aGVuIHN0b3JlZCBpbiB0aGUgc3RhdGljIHRyZWUgcmVwcmVzZW50YXRpb24gYW5k
IGFibGUgdG8gYmUgcmVhZCBmcm9tIGFueXdoZXJlLgorICAgICAgICBUYWN0aWNhbGx5IHRoaXMg
aXMgZG9uZSB3aXRoIEFYSXNvbGF0ZWRUcmVlTm9kZXMgaW5zaWRlIG9mIGFuIEFYSXNvbGF0ZWRU
cmVlQ2FjaGUuIFRoZSBUcmVlTm9kZXMgaW1wbGVtZW50IGFuIEFjY2Vzc2liaWxpdHlPYmplY3RJ
bnRlcmZhY2Ugc2hhcmVkIHdpdGggQWNjZXNzaWJpbGl0eU9iamVjdAorICAgICAgICBUaGlzIGFs
bG93cyB0aGUgd3JhcHBlcnMgdG8gYWNjZXNzIGVpdGhlciBvbmUgZGVwZW5kaW5nIG9uIGNvbmRp
dGlvbnMgYW5kIHBsYXRmb3JtcyB3aXRob3V0IHNpZ25pZmljYW50IGNvZGUgZHVwbGljYXRpb24g
b3IgcmUtb3JnYW5pemF0aW9uLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogU291
cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6Y3JlYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3Q6OnNldEluaXRpYWxpemVkSXNvbGF0ZWRUcmVlTm9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppbml0aWFsaXplZElzb2xhdGVkVHJlZU5v
ZGUgY29uc3QpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdElu
dGVyZmFjZS5oOiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZTog
QWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVDYWNoZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNo
ZTo6cGFnZVJvb3RNYXApOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6
dHJlZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OkFYSXNv
bGF0ZWRUcmVlQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9y
SUQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVGb3JQYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6Om5vZGVGb3JJRCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjpyb290Tm9kZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjpyZW1vdmVOb2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFwcGVuZE5vZGVDaGFuZ2VzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFwcGx5Q2hhbmdlTG9nKToKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVJZGVu
dGlmaWVyIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZU5vZGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlTm9kZTo6QVhJc29sYXRlZFRyZWVOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9k
ZTo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRl
ZFRyZWVOb2RlOjpzZXRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJl
ZU5vZGU6OmRvdWJsZUF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFY
SXNvbGF0ZWRUcmVlTm9kZTo6dW5zaWduZWRBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmJvb2xBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OnN0cmluZ0F0dHJpYnV0ZVZh
bHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6aW50QXR0
cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlTm9kZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlUmVsYXRpb25zaGlwOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRl
ZFRyZWVSZWxhdGlvbnNoaXA6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwKToKKyAgICAgICAg
KFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpvcGVyYXRvcj0pOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OnNldFBhcmVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6cGFyZW50IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpjaGlsZHJlbik6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlzb2xhdGVkVHJlZU5vZGUpOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QmFzZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQmFzZS5tbToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlIGluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDpdKToKKyAgICAgICAgKC1bV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGlzb2xhdGVkVHJlZU5vZGVdKToKKyAgICAgICAg
KC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGRldGFjaF0pOgorICAgICAgICAo
LVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgdXBkYXRlT2JqZWN0QmFja2luZ1N0
b3JlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBheEJh
Y2tpbmdPYmplY3RdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJC
YXNlIGJhc2VBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25dKToKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbToKKyAgICAgICAgKC1b
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgcm9sZV0pOgorICAgICAgICAoLVtXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlciBzdWJyb2xlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyIHJvbGVEZXNjcmlwdGlvbl0pOgorICAgICAgICAoLVtXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6XSk6CisK
IDIwMTktMDEtMTkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IGdldFVzZXJNZWRpYSB3aXRoIGEgZGV2aWNlSWQgZXhhY3QgY29uc3RyYWludCB3aXRoIGFuIGVt
cHR5IHN0cmluZyB2YWx1ZSBzaG91bGQgc3VjY2VlZApJbmRleDogU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9u
IDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJM
RV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBF
TkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBM
RV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgs
NCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJN
SVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9J
TlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5B
QkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFC
TEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NU
UkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dF
QkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1Qp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9Q
RVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJM
RV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQo
RU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VN
QkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHJldmlzaW9u
IDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0xOSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hA
YXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0
eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMDEtMTkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRz
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBQT0lOVEVSX0VWRU5UUyBmZWF0dXJlIGZsYWcK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJD
b3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBj
b3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09B
X1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91
Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUND
RVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFC
TEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhv
bmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRv
ciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAKIAogRU5BQkxFX1hTTFQg
PSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JN
UykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBM
SUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5U
UykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQo
RU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRU
UklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9N
QU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9P
TEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RS
RUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19F
TEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1F
VEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwor
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJ
RU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVS
SU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQp
ICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlf
QVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NP
TF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9f
VE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VT
QUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRM
RVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zOTksNiArMzk5LDggQEAKIGFjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVRyZWUuY3BwCiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlUcmVlSXRlbS5jcHAKIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVNldFZhbHVlRXZlbnQuY3Bw
CithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmNwcAorYWNj
ZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAogCiBhbmltYXRp
b24vQW5pbWF0aW9uRWZmZWN0LmNwcAogYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQu
Y3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTY5NCw2ICs2OTQsNyBA
QAogCQkyNkY5QTgzODE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2RjlBODM2
MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwICovOyB9OwogCQky
NkY5QTgzOTE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkY5QTgzNzE4QTA0NkFD
MDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkxNEUzMDgxQ0FCNUE0NDAwNDk5NjZGIC8q
IEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyOTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0
eUF0dGFjaG1lbnQuaCAqLzsgfTsKKwkJMjkzNkJGNUMyMUQ2OUU0QjAwNEE4RkM5IC8qIEFjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5MzZCRjVBMjFENjk5OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMjkzRUFFMUYxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MjkzRUFFMUUxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5NDg5RkM3
MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk0ODlGQzUxMkMwMEYwMzAwRDgz
RjBGIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmggKi87IH07CiAJCTI5N0JFM0Q1MTZDMDND
MDgwMDMzMTZCRCAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjUyN0NDOTExNkJGOEJBMTAw
OUREQUMwIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggKi87IH07CkBAIC03
MTUsNiArNzE2LDggQEAKIAkJMjlBODEyNDMwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxp
dHlMaXN0Qm94LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOUE4MTIyNTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3guaCAqLzsg
fTsKIAkJMjlBODEyNDkwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjlBODEyNDUwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTI5QUNCMjEyMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBQ0IyMTEx
NDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmggKi87IH07CisJCTI5
QUUyMTJEMjFBQjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEyQjIxQUI5RUVCMDA4
NjkyODMgLyogQVhJc29sYXRlZFRyZWVDYWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElz
b2xhdGVkVHJlZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOUQ3QkNG
QTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RDdCQ0Y5MTQ0NEFGN0QwMDcw
NjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovOyB9OwogCQkyOUZBRjRCNjE5NUFC
MDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RkFGNEI1MTk1QUIwODkwMEE1MjJE
QyAvKiBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJCMzY1Qzg0MTUyNTExOUUwMDkxRDI3QiAvKiBS
ZW5kZXJTVkdFbGxpcHNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyQjQyMzVBMDE1MjUwRjYwMDBEQkJDRDggLyogUmVuZGVyU1ZHRWxsaXBzZS5oICov
OyB9OwpAQCAtNjU2OSw2ICs2NTcyLDcgQEAKIAkJMjhEQjlCQzcyMDIwRUEwNDAwRTU0QTA3IC8q
IFBlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJm
b3JtYW5jZVNlcnZlclRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5
MTRFMzA1MUNBQjVBNDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNobWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5MTRFMzA2MUNBQjVBNDQwMDQ5
OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVj
dEludGVyZmFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5M0VBRTFFMTM1NkIyRkUwMDY3QUNG
OSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI5NDg5RkM1MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xs
Vmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U2Ny
b2xsVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ5ODY4MTE5NTM0MTk0
MDA3MkQyQkQgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY2MTYsNiArNjYyMCwxMCBAQAogCQkyOUE4
MTI0NzBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZU1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFYT2JqZWN0Q2FjaGVNYWMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QUNCMjExMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3Np
YmlsaXR5TW9ja09iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nl
c3NpYmlsaXR5TW9ja09iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFD
QjIxMzE0M0U3NDk4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUFFMjEyQjIxQUI5RUVCMDA4Njky
ODMgLyogQVhJc29sYXRlZFRyZWVDYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBWElzb2xhdGVkVHJl
ZUNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJDMjFBQjlFRUIw
MDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFY
SXNvbGF0ZWRUcmVlQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUFF
MjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFYSXNvbGF0ZWRUcmVlTm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
OUFFMjEzNDIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEFYSXNvbGF0ZWRUcmVlTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI5RDdCQ0Y1MTQ0NEFGNTgwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RDdCQ0Y5
MTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyOUUwNEEyN0JFRDJGODFGOThFOTAyMkIgLyogSlNCZWZv
cmVVbmxvYWRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JlZm9y
ZVVubG9hZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzIyMiw2ICsx
NzIzMCw3IEBACiAJCTI5QTgxMjA0MEZCQjlCNDEwMDUxMDI5MyAvKiBhY2Nlc3NpYmlsaXR5ICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkyOUFFMjEyOTIx
QUI5RUNCMDA4NjkyODMgLyogaXNvbGF0ZWR0cmVlICovLAogCQkJCUFBQTcyOEVGMTZEMUQ4QkMw
MEQzQkJDNiAvKiBpb3MgKi8sCiAJCQkJMjlBODEyMDUwRkJCOUI1MjAwNTEwMjkzIC8qIG1hYyAq
LywKIAkJCQkyOTgxQ0E5RDEzMTgyMkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlk
LmNwcCAqLywKQEAgLTE3MjYwLDYgKzE3MjY5LDcgQEAKIAkJCQkyOTg1NzA5MzE1Q0M1MzJEMDA2
MzU1Q0QgLyogQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaCAqLywKIAkJCQkyOTgxQ0FBNTEzMTgy
MkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgKi8sCiAJCQkJMjlBODEyMTgw
RkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3QuaCAqLywKKwkJCQkyOTM2QkY1
QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oICovLAog
CQkJCUE0MDlDOTgyMTE2RDBEREQwMDcxOTdCRCAvKiBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRp
Y2F0b3IuY3BwICovLAogCQkJCUE0MDlDOTgzMTE2RDBEREQwMDcxOTdCRCAvKiBBY2Nlc3NpYmls
aXR5UHJvZ3Jlc3NJbmRpY2F0b3IuaCAqLywKIAkJCQkyOTgxQ0FBNjEzMTgyMkVDMDBEMTJGMkEg
LyogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgKi8sCkBAIC0xNzMxNSw2ICsxNzMyNSwx
NyBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJ
CTI5QUUyMTI5MjFBQjlFQ0IwMDg2OTI4MyAvKiBpc29sYXRlZHRyZWUgKi8gPSB7CisJCQlpc2Eg
PSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTI5QUUyMTJCMjFBQjlFRUIwMDg2OTI4
MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmggKi8sCisJCQkJMjlBRTIxMkMyMUFCOUVFQjAwODY5
MjgzIC8qIEFYSXNvbGF0ZWRUcmVlQ2FjaGUuY3BwICovLAorCQkJCTI5QUUyMTMzMjFBQkE0OEEw
MDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAqLywKKwkJCQkyOUFFMjEzNDIxQUJBNDhB
MDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmNwcCAqLywKKwkJCSk7CisJCQlwYXRoID0g
aXNvbGF0ZWR0cmVlOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMkQwNjIx
NDYxREE2MzlFQzAwQTdGQjI2IC8qIGxlZ2FjeSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCkBAIC0yOTk1Miw2ICsyOTk3Myw3IEBACiAJCQkJMUFFMkFBOTgwQTFD
REQyRDAwQjQyQjI1IC8qIEpTSFRNTEltYWdlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTgwRTdFOTcwQTFBODNFMzAwN0ZCOEM1IC8qIEpTSFRNTElucHV0RWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODM2QjA5NTYxRjVGMzREOTAwM0MzNzAyIC8qIEpTSFRNTElucHV0RWxlbWVu
dEVudHJpZXNBUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5MzZCRjVDMjFENjlFNEIwMDRBOEZD
OSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
NjE0OEE3OTEyRTQxRTNCMDA0NEE3ODQgLyogSlNIVE1MS2V5Z2VuRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFFMkFCMjIwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTExhYmVsRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFCMjQwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRN
TExlZ2VuZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzE0MDYsNiArMzE0MjgsNyBAQAog
CQkJCTUxNDA1Qzg5MTkwQjAxNDQwMDc1NEY5NCAvKiBTZWxlY3Rpb25SZWN0R2F0aGVyZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0NEI0QkI0MTQxNjUwRDcwMDJCMUQ4QiAvKiBTZWxlY3RvckNo
ZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQzMkQzRkU4MThBODY1ODQwMEQ3REMwMyAvKiBT
ZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUFFMjEz
NTIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyNkI5OTk5NzE4MDRENTQyMDBEMDExMjEgLyogU2VsZWN0b3JDb21waWxlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDE1MDcxNTgxNjg1MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzEwN0JFMjE4Q0MxOURFMDBDQzE4RTggLyogU2VsZWN0
b3JQc2V1ZG9UeXBlTWFwLmggaW4gSGVhZGVycyAqLywKQEAgLTMyMzQxLDYgKzMyMzY0LDcgQEAK
IAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBNTQxNkZFNjE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVk
U2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0E1NTE1RjUxOTE4MzBBMzAwOTY4
N0QyIC8qIFlvdVR1YmVQbHVnaW5SZXBsYWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlB
RTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5j
cHAJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDggQEAKIAogI2luY2x1
ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKIAorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIK
KyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5
QVJJQUdyaWQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgiCiAjaW5j
bHVkZSAiQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmgiCkBAIC03MjMsNyArNzI1LDEwIEBACiAg
ICAgb2JqZWN0LT5zZXRBWE9iamVjdElEKDApOwogCiAgICAgbV9pZHNJblVzZS5yZW1vdmUoYXhJ
RCk7Ci0KKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIEFYSXNv
bGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9yUGFnZShtX2RvY3VtZW50LnBhZ2UoKSktPnJlbW92ZU5v
ZGUoYXhJRCk7CisjZW5kaWYKKyAgICAKICAgICBBU1NFUlQobV9vYmplY3RzLnNpemUoKSA+PSBt
X2lkc0luVXNlLnNpemUoKSk7CiB9CiAgICAgCkBAIC0yOTA3LDYgKzI5MTIsNDAgQEAKICAgICBt
X2RlZmVycmVkRm9jdXNlZE5vZGVDaGFuZ2UuY2xlYXIoKTsKIH0KICAgICAKKyNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4g
QVhPYmplY3RDYWNoZTo6Y3JlYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWUoQWNjZXNzaWJpbGl0
eU9iamVjdCYgb2JqZWN0LCBBWElEIHBhcmVudElELCBBWElzb2xhdGVkVHJlZUNhY2hlJiBjYWNo
ZSwgVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYgbm9kZXMpCit7CisgICAgUmVm
UHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gaXNvbGF0ZWRUcmVlTm9kZSA9IEFYSXNvbGF0ZWRUcmVl
Tm9kZTo6Y3JlYXRlKG9iamVjdCk7CisgICAgbm9kZXMuYXBwZW5kKGlzb2xhdGVkVHJlZU5vZGUp
OworICAgIAorICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4gcmVsYXRpb25z
aGlwID0gQVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OmNyZWF0ZSgpOworICAgIHJlbGF0aW9u
c2hpcC0+c2V0UGFyZW50KHBhcmVudElEKTsKKyAgICBvYmplY3Quc2V0SW5pdGlhbGl6ZWRJc29s
YXRlZFRyZWVOb2RlKHRydWUpOworICAgIGFzc29jaWF0ZUlzb2xhdGVkVHJlZU5vZGUob2JqZWN0
LCAqaXNvbGF0ZWRUcmVlTm9kZSwgY2FjaGUuY2FjaGVJZGVudGlmaWVyKCkpOworICAgIAorICAg
IGZvciAoYXV0byBjaGlsZCA6IG9iamVjdC5jaGlsZHJlbigpKSB7CisgICAgICAgIGF1dG8gc3Rh
dGljQ2hpbGQgPSBjcmVhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZSgqY2hpbGQsIGlzb2xhdGVk
VHJlZU5vZGUtPmlkZW50aWZpZXIoKSwgY2FjaGUsIG5vZGVzKTsKKyAgICAgICAgcmVsYXRpb25z
aGlwLT5jaGlsZHJlbigpLmFwcGVuZChzdGF0aWNDaGlsZC0+aWRlbnRpZmllcigpKTsKKyAgICB9
CisgICAgCisgICAgaXNvbGF0ZWRUcmVlTm9kZS0+c2V0UmVsYXRpb25zaGlwKHJlbGF0aW9uc2hp
cCk7CisgICAgcmV0dXJuIGlzb2xhdGVkVHJlZU5vZGU7Cit9CisgICAgCit2b2lkIEFYT2JqZWN0
Q2FjaGU6OmdlbmVyYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWVJZk5lZWRlZCgpCit7CisgICAg
aWYgKHJvb3RPYmplY3QoKS0+aW5pdGlhbGl6ZWRJc29sYXRlZFRyZWVOb2RlKCkpCisgICAgICAg
IHJldHVybjsKKyAgICAKKyAgICBSZWZQdHI8QVhJc29sYXRlZFRyZWVDYWNoZT4gY2FjaGUgPSBB
WElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvclBhZ2UobV9kb2N1bWVudC5wYWdlKCkpOworICAg
IFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbm9kZXM7CisgICAgUmVmUHRyPEFY
SXNvbGF0ZWRUcmVlTm9kZT4gcm9vdCA9IGNyZWF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlKCpy
b290T2JqZWN0KCksIDAsICpjYWNoZSwgbm9kZXMpOworICAgIHJvb3QtPnNldElzUm9vdE5vZGUo
dHJ1ZSk7CisgICAgCisgICAgY2FjaGUtPmFwcGVuZE5vZGVDaGFuZ2VzKG5vZGVzKTsKK30KKyNl
bmRpZgorICAgIAogdm9pZCBBWE9iamVjdENhY2hlOjpkZWZlclJlY29tcHV0ZUlzSWdub3JlZElm
TmVlZGVkKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgaWYgKCFub2RlQW5kUmVuZGVyZXJBcmVW
YWxpZChlbGVtZW50KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5oCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOSBAQAog
CiAjcHJhZ21hIG9uY2UKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVDYWNoZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiQVhU
ZXh0U3RhdGVDaGFuZ2VJbnRlbnQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0Lmgi
CiAjaW5jbHVkZSAiUmFuZ2UuaCIKQEAgLTM5LDYgKzQyLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK2NsYXNzIEFY
SXNvbGF0ZWRUcmVlTm9kZTsKKyNlbmRpZgogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MQXJl
YUVsZW1lbnQ7CiBjbGFzcyBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDsKQEAgLTE4MCw2ICsx
ODYsMTMgQEAKICAgICB2b2lkIGRlZmVyQXR0cmlidXRlQ2hhbmdlSWZOZWVkZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIEVsZW1lbnQqKTsKICAgICB2b2lkIHJlY29tcHV0ZUlzSWdub3JlZChSZW5k
ZXJPYmplY3QqIHJlbmRlcmVyKTsKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxp
dHlUcmVlSWZOZWVkZWQoKTsKKworICAgIHZvaWQgYXNzb2NpYXRlSXNvbGF0ZWRUcmVlTm9kZShB
Y2Nlc3NpYmlsaXR5T2JqZWN0JiwgQVhJc29sYXRlZFRyZWVOb2RlJiwgQVhJc29sYXRlZENhY2hl
SUQpOworICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IGNyZWF0ZVN0YXRpY0FjY2Vzc2li
aWxpdHlUcmVlKEFjY2Vzc2liaWxpdHlPYmplY3QmLCBBWElELCBBWElzb2xhdGVkVHJlZUNhY2hl
JiwgVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYpOworI2VuZGlmCisgICAgCiAj
aWYgSEFWRShBQ0NFU1NJQklMSVRZKQogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGVu
YWJsZUFjY2Vzc2liaWxpdHkoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBkaXNh
YmxlQWNjZXNzaWJpbGl0eSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1
ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5o
IgpAQCAtODksMTU3ICs5MCw2IEBACiBjbGFzcyBTY3JvbGxWaWV3OwogY2xhc3MgV2lkZ2V0Owog
Ci10eXBlZGVmIHVuc2lnbmVkIEFYSUQ7Ci0KLWVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUg
ewotICAgIEFubm90YXRpb24gPSAxLAotICAgIEFwcGxpY2F0aW9uLAotICAgIEFwcGxpY2F0aW9u
QWxlcnQsCi0gICAgQXBwbGljYXRpb25BbGVydERpYWxvZywKLSAgICBBcHBsaWNhdGlvbkRpYWxv
ZywKLSAgICBBcHBsaWNhdGlvbkdyb3VwLAotICAgIEFwcGxpY2F0aW9uTG9nLAotICAgIEFwcGxp
Y2F0aW9uTWFycXVlZSwKLSAgICBBcHBsaWNhdGlvblN0YXR1cywKLSAgICBBcHBsaWNhdGlvblRl
eHRHcm91cCwKLSAgICBBcHBsaWNhdGlvblRpbWVyLAotICAgIEF1ZGlvLAotICAgIEJsb2NrcXVv
dGUsCi0gICAgQnJvd3NlciwKLSAgICBCdXN5SW5kaWNhdG9yLAotICAgIEJ1dHRvbiwKLSAgICBD
YW52YXMsCi0gICAgQ2FwdGlvbiwKLSAgICBDZWxsLAotICAgIENoZWNrQm94LAotICAgIENvbG9y
V2VsbCwKLSAgICBDb2x1bW4sCi0gICAgQ29sdW1uSGVhZGVyLAotICAgIENvbWJvQm94LAotICAg
IERlZmluaXRpb24sCi0gICAgRGVzY3JpcHRpb25MaXN0LAotICAgIERlc2NyaXB0aW9uTGlzdFRl
cm0sCi0gICAgRGVzY3JpcHRpb25MaXN0RGV0YWlsLAotICAgIERldGFpbHMsCi0gICAgRGlyZWN0
b3J5LAotICAgIERpc2Nsb3N1cmVUcmlhbmdsZSwKLSAgICBEaXYsCi0gICAgRG9jdW1lbnQsCi0g
ICAgRG9jdW1lbnRBcnRpY2xlLAotICAgIERvY3VtZW50TWF0aCwKLSAgICBEb2N1bWVudE5vdGUs
Ci0gICAgRHJhd2VyLAotICAgIEVkaXRhYmxlVGV4dCwKLSAgICBGZWVkLAotICAgIEZpZ3VyZSwK
LSAgICBGb290ZXIsCi0gICAgRm9vdG5vdGUsCi0gICAgRm9ybSwKLSAgICBHcmFwaGljc0RvY3Vt
ZW50LAotICAgIEdyYXBoaWNzT2JqZWN0LAotICAgIEdyYXBoaWNzU3ltYm9sLAotICAgIEdyaWQs
Ci0gICAgR3JpZENlbGwsCi0gICAgR3JvdXAsCi0gICAgR3Jvd0FyZWEsCi0gICAgSGVhZGluZywK
LSAgICBIZWxwVGFnLAotICAgIEhvcml6b250YWxSdWxlLAotICAgIElnbm9yZWQsCi0gICAgSW5s
aW5lLAotICAgIEltYWdlLAotICAgIEltYWdlTWFwLAotICAgIEltYWdlTWFwTGluaywKLSAgICBJ
bmNyZW1lbnRvciwKLSAgICBMYWJlbCwKLSAgICBMYW5kbWFya0Jhbm5lciwKLSAgICBMYW5kbWFy
a0NvbXBsZW1lbnRhcnksCi0gICAgTGFuZG1hcmtDb250ZW50SW5mbywKLSAgICBMYW5kbWFya0Rv
Y1JlZ2lvbiwKLSAgICBMYW5kbWFya01haW4sCi0gICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAotICAg
IExhbmRtYXJrUmVnaW9uLAotICAgIExhbmRtYXJrU2VhcmNoLAotICAgIExlZ2VuZCwKLSAgICBM
aW5rLAotICAgIExpc3QsCi0gICAgTGlzdEJveCwKLSAgICBMaXN0Qm94T3B0aW9uLAotICAgIExp
c3RJdGVtLAotICAgIExpc3RNYXJrZXIsCi0gICAgTWFyaywKLSAgICBNYXRoRWxlbWVudCwKLSAg
ICBNYXR0ZSwKLSAgICBNZW51LAotICAgIE1lbnVCYXIsCi0gICAgTWVudUJ1dHRvbiwKLSAgICBN
ZW51SXRlbSwKLSAgICBNZW51SXRlbUNoZWNrYm94LAotICAgIE1lbnVJdGVtUmFkaW8sCi0gICAg
TWVudUxpc3RQb3B1cCwKLSAgICBNZW51TGlzdE9wdGlvbiwKLSAgICBPdXRsaW5lLAotICAgIFBh
cmFncmFwaCwKLSAgICBQb3BVcEJ1dHRvbiwKLSAgICBQcmUsCi0gICAgUHJlc2VudGF0aW9uYWws
Ci0gICAgUHJvZ3Jlc3NJbmRpY2F0b3IsCi0gICAgUmFkaW9CdXR0b24sCi0gICAgUmFkaW9Hcm91
cCwKLSAgICBSb3dIZWFkZXIsCi0gICAgUm93LAotICAgIFJvd0dyb3VwLAotICAgIFJ1YnlCYXNl
LAotICAgIFJ1YnlCbG9jaywKLSAgICBSdWJ5SW5saW5lLAotICAgIFJ1YnlSdW4sCi0gICAgUnVi
eVRleHQsCi0gICAgUnVsZXIsCi0gICAgUnVsZXJNYXJrZXIsCi0gICAgU2Nyb2xsQXJlYSwKLSAg
ICBTY3JvbGxCYXIsCi0gICAgU2VhcmNoRmllbGQsCi0gICAgU2hlZXQsCi0gICAgU2xpZGVyLAot
ICAgIFNsaWRlclRodW1iLAotICAgIFNwaW5CdXR0b24sCi0gICAgU3BpbkJ1dHRvblBhcnQsCi0g
ICAgU3BsaXRHcm91cCwKLSAgICBTcGxpdHRlciwKLSAgICBTdGF0aWNUZXh0LAotICAgIFN1bW1h
cnksCi0gICAgU3dpdGNoLAotICAgIFN5c3RlbVdpZGUsCi0gICAgU1ZHUm9vdCwKLSAgICBTVkdU
ZXh0LAotICAgIFNWR1RTcGFuLAotICAgIFNWR1RleHRQYXRoLAotICAgIFRhYkdyb3VwLAotICAg
IFRhYkxpc3QsCi0gICAgVGFiUGFuZWwsCi0gICAgVGFiLAotICAgIFRhYmxlLAotICAgIFRhYmxl
SGVhZGVyQ29udGFpbmVyLAotICAgIFRleHRBcmVhLAotICAgIFRleHRHcm91cCwKLSAgICBUZXJt
LAotICAgIFRpbWUsCi0gICAgVHJlZSwKLSAgICBUcmVlR3JpZCwKLSAgICBUcmVlSXRlbSwKLSAg
ICBUZXh0RmllbGQsCi0gICAgVG9nZ2xlQnV0dG9uLAotICAgIFRvb2xiYXIsCi0gICAgVW5rbm93
biwKLSAgICBVc2VySW50ZXJmYWNlVG9vbHRpcCwKLSAgICBWYWx1ZUluZGljYXRvciwKLSAgICBW
aWRlbywKLSAgICBXZWJBcHBsaWNhdGlvbiwKLSAgICBXZWJBcmVhLAotICAgIFdlYkNvcmVMaW5r
LAotICAgIFdpbmRvdywKLX07Ci0KIGVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVRleHRTb3VyY2Ug
ewogICAgIEFsdGVybmF0aXZlLAogICAgIENoaWxkcmVuLApAQCAtNDkxLDcgKzM0MSw3IEBACiAg
ICAgCiBib29sIG5vZGVIYXNQcmVzZW50YXRpb25Sb2xlKE5vZGUqKTsKICAgICAKLWNsYXNzIEFj
Y2Vzc2liaWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0
PiB7CitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0IDogcHVibGljIFJlZkNvdW50ZWQ8QWNjZXNz
aWJpbGl0eU9iamVjdD4sIHB1YmxpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKIHBy
b3RlY3RlZDoKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KCkgPSBkZWZhdWx0OwogICAgIApAQCAt
MTE1MCw2ICsxMDAwLDExIEBACiAgICAgdm9pZCBjbGVhcklzSWdub3JlZEZyb21QYXJlbnREYXRh
KCkgeyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhID0gQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZy
b21QYXJlbnREYXRhKCk7IH0KICAgICB2b2lkIHNldElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9y
Q2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdCopOwogICAgIAorI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUpCisgICAgdm9pZCBzZXRJbml0aWFsaXplZElzb2xhdGVkVHJlZU5v
ZGUoYm9vbCBpbml0aWFsaXplZCkgeyBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZCA9IGlu
aXRpYWxpemVkOyB9CisgICAgYm9vbCBpbml0aWFsaXplZElzb2xhdGVkVHJlZU5vZGUoKSBjb25z
dCB7IHJldHVybiBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZDsgfQorI2VuZGlmCisgICAg
CiBwcm90ZWN0ZWQ6CiAgICAgQVhJRCBtX2lkIHsgMCB9OwogICAgIEFjY2Vzc2liaWxpdHlDaGls
ZHJlblZlY3RvciBtX2NoaWxkcmVuOwpAQCAtMTE1OSw3ICsxMDE0LDEwIEBACiAgICAgQWNjZXNz
aWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhIG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEg
eyB9OwogICAgIGJvb2wgbV9jaGlsZHJlbkRpcnR5IHsgZmFsc2UgfTsKICAgICBib29sIG1fc3Vi
dHJlZURpcnR5IHsgZmFsc2UgfTsKLQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCisgICAgYm9vbCBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZCB7IGZhbHNlIH07
CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHNldElzSWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vz
c2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSYgZGF0YSkgeyBtX2lzSWdub3JlZEZyb21Q
YXJlbnREYXRhID0gZGF0YTsgfQogCiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVBY2Nlc3NpYmls
aXR5SXNJZ25vcmVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
OTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit0eXBlZGVmIHVuc2lnbmVkIEFYSUQ7CisKK2VudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUg
eworICAgIEFubm90YXRpb24gPSAxLAorICAgIEFwcGxpY2F0aW9uLAorICAgIEFwcGxpY2F0aW9u
QWxlcnQsCisgICAgQXBwbGljYXRpb25BbGVydERpYWxvZywKKyAgICBBcHBsaWNhdGlvbkRpYWxv
ZywKKyAgICBBcHBsaWNhdGlvbkdyb3VwLAorICAgIEFwcGxpY2F0aW9uTG9nLAorICAgIEFwcGxp
Y2F0aW9uTWFycXVlZSwKKyAgICBBcHBsaWNhdGlvblN0YXR1cywKKyAgICBBcHBsaWNhdGlvblRl
eHRHcm91cCwKKyAgICBBcHBsaWNhdGlvblRpbWVyLAorICAgIEF1ZGlvLAorICAgIEJsb2NrcXVv
dGUsCisgICAgQnJvd3NlciwKKyAgICBCdXN5SW5kaWNhdG9yLAorICAgIEJ1dHRvbiwKKyAgICBD
YW52YXMsCisgICAgQ2FwdGlvbiwKKyAgICBDZWxsLAorICAgIENoZWNrQm94LAorICAgIENvbG9y
V2VsbCwKKyAgICBDb2x1bW4sCisgICAgQ29sdW1uSGVhZGVyLAorICAgIENvbWJvQm94LAorICAg
IERlZmluaXRpb24sCisgICAgRGVzY3JpcHRpb25MaXN0LAorICAgIERlc2NyaXB0aW9uTGlzdFRl
cm0sCisgICAgRGVzY3JpcHRpb25MaXN0RGV0YWlsLAorICAgIERldGFpbHMsCisgICAgRGlyZWN0
b3J5LAorICAgIERpc2Nsb3N1cmVUcmlhbmdsZSwKKyAgICBEaXYsCisgICAgRG9jdW1lbnQsCisg
ICAgRG9jdW1lbnRBcnRpY2xlLAorICAgIERvY3VtZW50TWF0aCwKKyAgICBEb2N1bWVudE5vdGUs
CisgICAgRHJhd2VyLAorICAgIEVkaXRhYmxlVGV4dCwKKyAgICBGZWVkLAorICAgIEZpZ3VyZSwK
KyAgICBGb290ZXIsCisgICAgRm9vdG5vdGUsCisgICAgRm9ybSwKKyAgICBHcmFwaGljc0RvY3Vt
ZW50LAorICAgIEdyYXBoaWNzT2JqZWN0LAorICAgIEdyYXBoaWNzU3ltYm9sLAorICAgIEdyaWQs
CisgICAgR3JpZENlbGwsCisgICAgR3JvdXAsCisgICAgR3Jvd0FyZWEsCisgICAgSGVhZGluZywK
KyAgICBIZWxwVGFnLAorICAgIEhvcml6b250YWxSdWxlLAorICAgIElnbm9yZWQsCisgICAgSW5s
aW5lLAorICAgIEltYWdlLAorICAgIEltYWdlTWFwLAorICAgIEltYWdlTWFwTGluaywKKyAgICBJ
bmNyZW1lbnRvciwKKyAgICBMYWJlbCwKKyAgICBMYW5kbWFya0Jhbm5lciwKKyAgICBMYW5kbWFy
a0NvbXBsZW1lbnRhcnksCisgICAgTGFuZG1hcmtDb250ZW50SW5mbywKKyAgICBMYW5kbWFya0Rv
Y1JlZ2lvbiwKKyAgICBMYW5kbWFya01haW4sCisgICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAorICAg
IExhbmRtYXJrUmVnaW9uLAorICAgIExhbmRtYXJrU2VhcmNoLAorICAgIExlZ2VuZCwKKyAgICBM
aW5rLAorICAgIExpc3QsCisgICAgTGlzdEJveCwKKyAgICBMaXN0Qm94T3B0aW9uLAorICAgIExp
c3RJdGVtLAorICAgIExpc3RNYXJrZXIsCisgICAgTWFyaywKKyAgICBNYXRoRWxlbWVudCwKKyAg
ICBNYXR0ZSwKKyAgICBNZW51LAorICAgIE1lbnVCYXIsCisgICAgTWVudUJ1dHRvbiwKKyAgICBN
ZW51SXRlbSwKKyAgICBNZW51SXRlbUNoZWNrYm94LAorICAgIE1lbnVJdGVtUmFkaW8sCisgICAg
TWVudUxpc3RQb3B1cCwKKyAgICBNZW51TGlzdE9wdGlvbiwKKyAgICBPdXRsaW5lLAorICAgIFBh
cmFncmFwaCwKKyAgICBQb3BVcEJ1dHRvbiwKKyAgICBQcmUsCisgICAgUHJlc2VudGF0aW9uYWws
CisgICAgUHJvZ3Jlc3NJbmRpY2F0b3IsCisgICAgUmFkaW9CdXR0b24sCisgICAgUmFkaW9Hcm91
cCwKKyAgICBSb3dIZWFkZXIsCisgICAgUm93LAorICAgIFJvd0dyb3VwLAorICAgIFJ1YnlCYXNl
LAorICAgIFJ1YnlCbG9jaywKKyAgICBSdWJ5SW5saW5lLAorICAgIFJ1YnlSdW4sCisgICAgUnVi
eVRleHQsCisgICAgUnVsZXIsCisgICAgUnVsZXJNYXJrZXIsCisgICAgU2Nyb2xsQXJlYSwKKyAg
ICBTY3JvbGxCYXIsCisgICAgU2VhcmNoRmllbGQsCisgICAgU2hlZXQsCisgICAgU2xpZGVyLAor
ICAgIFNsaWRlclRodW1iLAorICAgIFNwaW5CdXR0b24sCisgICAgU3BpbkJ1dHRvblBhcnQsCisg
ICAgU3BsaXRHcm91cCwKKyAgICBTcGxpdHRlciwKKyAgICBTdGF0aWNUZXh0LAorICAgIFN1bW1h
cnksCisgICAgU3dpdGNoLAorICAgIFN5c3RlbVdpZGUsCisgICAgU1ZHUm9vdCwKKyAgICBTVkdU
ZXh0LAorICAgIFNWR1RTcGFuLAorICAgIFNWR1RleHRQYXRoLAorICAgIFRhYkdyb3VwLAorICAg
IFRhYkxpc3QsCisgICAgVGFiUGFuZWwsCisgICAgVGFiLAorICAgIFRhYmxlLAorICAgIFRhYmxl
SGVhZGVyQ29udGFpbmVyLAorICAgIFRleHRBcmVhLAorICAgIFRleHRHcm91cCwKKyAgICBUZXJt
LAorICAgIFRpbWUsCisgICAgVHJlZSwKKyAgICBUcmVlR3JpZCwKKyAgICBUcmVlSXRlbSwKKyAg
ICBUZXh0RmllbGQsCisgICAgVG9nZ2xlQnV0dG9uLAorICAgIFRvb2xiYXIsCisgICAgVW5rbm93
biwKKyAgICBVc2VySW50ZXJmYWNlVG9vbHRpcCwKKyAgICBWYWx1ZUluZGljYXRvciwKKyAgICBW
aWRlbywKKyAgICBXZWJBcHBsaWNhdGlvbiwKKyAgICBXZWJBcmVhLAorICAgIFdlYkNvcmVMaW5r
LAorICAgIFdpbmRvdywKK307CisKK2NsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2Ug
eworcHVibGljOgorICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UoKSA9
IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNNZWRpYUNvbnRyb2xMYWJlbCgpIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNBdHRhY2htZW50KCkgY29uc3QgPSAwOworfTsKKworfQpJ
bmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRl
ZFRyZWVDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVDYWNoZS5jcHAJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVD
YWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIKKworI2luY2x1ZGUgIkFYSXNv
bGF0ZWRUcmVlTm9kZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlIDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorc3RhdGljIHVuc2lnbmVk
IHNfY2FjaGVJRENvdW50ID0gMDsKK0hhc2hNYXA8UGFnZSosIFJlZlB0cjxBWElzb2xhdGVkVHJl
ZUNhY2hlPj4mIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnBhZ2VSb290TWFwKCkKK3sKKyAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxQYWdlKiwgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2Fj
aGU+Pj4gbWFwOworICAgIHJldHVybiBtYXA7Cit9CisKK0hhc2hNYXA8QVhJc29sYXRlZENhY2hl
SUQsIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4mIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnRy
ZWVDYWNoZSgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8QVhJc29sYXRl
ZENhY2hlSUQsIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4+IG1hcDsKKyAgICByZXR1cm4g
bWFwOworfQorCitBWElzb2xhdGVkVHJlZUNhY2hlOjpBWElzb2xhdGVkVHJlZUNhY2hlKCkKKyAg
ICA6IG1fY2FjaGVJRCgrK3NfY2FjaGVJRENvdW50KQoreworfQorCitBWElzb2xhdGVkVHJlZUNh
Y2hlOjp+QVhJc29sYXRlZFRyZWVDYWNoZSgpID0gZGVmYXVsdDsKKworUmVmPEFYSXNvbGF0ZWRU
cmVlQ2FjaGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgQVhJc29sYXRlZFRyZWVDYWNoZSgpKTsKK30KKyAgICAKK1JlZlB0cjxBWElz
b2xhdGVkVHJlZUNhY2hlPiBBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvcklEKEFYSXNvbGF0
ZWRDYWNoZUlEIGNhY2hlSUQpCit7CisgICAgcmV0dXJuIHRyZWVDYWNoZSgpLmdldChjYWNoZUlE
KTsKK30KKworUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6
OmNhY2hlRm9yUGFnZShQYWdlKiBwYWdlKQoreworICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNh
Y2hlPiBjYWNoZSA9IHBhZ2VSb290TWFwKCkuZ2V0KHBhZ2UpOworICAgIGlmICghY2FjaGUpIHsK
KyAgICAgICAgY2FjaGUgPSBBWElzb2xhdGVkVHJlZUNhY2hlOjpjcmVhdGUoKTsKKyAgICAgICAg
cGFnZVJvb3RNYXAoKS5zZXQocGFnZSwgY2FjaGUpOworICAgICAgICB0cmVlQ2FjaGUoKS5zZXQo
Y2FjaGUtPmNhY2hlSWRlbnRpZmllcigpLCBjYWNoZSk7CisgICAgfQorICAgIHJldHVybiBjYWNo
ZTsKK30KKyAgICAKK1JlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlQ2Fj
aGU6Om5vZGVGb3JJRChBWElEIGF4SUQpIGNvbnN0Cit7CisgICAgaWYgKCFheElEKQorICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gbV9jYWNoZS5nZXQoYXhJRCk7Cit9CisKK1Jl
ZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnJvb3ROb2RlKCkK
K3sKKyAgICByZXR1cm4gbm9kZUZvcklEKG1fcm9vdE5vZGVJRCk7Cit9CisKK3ZvaWQgQVhJc29s
YXRlZFRyZWVDYWNoZTo6cmVtb3ZlTm9kZShBWElEIGF4SUQpCit7CisgICAgbV9jaGFuZ2VMb2dM
b2NrLmxvY2soKTsKKyAgICBtX3JlbW92ZUNoYW5nZUxvZy5hcHBlbmQoYXhJRCk7CisgICAgbV9j
aGFuZ2VMb2dMb2NrLnVubG9jaygpOworfQorCit2b2lkIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFw
cGVuZE5vZGVDaGFuZ2VzKFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4mIGxvZykK
K3sKKyAgICBtX2NoYW5nZUxvZ0xvY2subG9jaygpOworICAgIG1fYXBwZW5kQ2hhbmdlTG9nLmFw
cGVuZFZlY3Rvcihsb2cpOworICAgIG1fY2hhbmdlTG9nTG9jay51bmxvY2soKTsKK30KKyAgICAK
K3ZvaWQgQVhJc29sYXRlZFRyZWVDYWNoZTo6YXBwbHlDaGFuZ2VMb2coKQoreworICAgIFZlY3Rv
cjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gYXBwZW5kQ29weTsKKyAgICBWZWN0b3I8QVhJ
RD4gcmVtb3ZlQ29weTsKKworICAgIG1fY2hhbmdlTG9nTG9jay5sb2NrKCk7CisgICAgYXBwZW5k
Q29weSA9IG1fYXBwZW5kQ2hhbmdlTG9nOworICAgIHJlbW92ZUNvcHkgPSBtX3JlbW92ZUNoYW5n
ZUxvZzsKKyAgICAKKyAgICBtX2FwcGVuZENoYW5nZUxvZy5jbGVhcigpOworICAgIG1fcmVtb3Zl
Q2hhbmdlTG9nLmNsZWFyKCk7CisgICAgbV9jaGFuZ2VMb2dMb2NrLnVubG9jaygpOworCisgICAg
Zm9yIChhdXRvIGl0ZW0gOiBhcHBlbmRDb3B5KSB7CisgICAgICAgIG1fY2FjaGUuc2V0KGl0ZW0t
PmlkZW50aWZpZXIoKSwgaXRlbSk7CisgICAgICAgIGlmIChpdGVtLT5pc1Jvb3ROb2RlKCkpCisg
ICAgICAgICAgICBtX3Jvb3ROb2RlSUQgPSBpdGVtLT5pZGVudGlmaWVyKCk7CisgICAgfQorCisg
ICAgZm9yIChhdXRvIGl0ZW0gOiByZW1vdmVDb3B5KQorICAgICAgICBtX2NhY2hlLnJlbW92ZShp
dGVtKTsKK30KKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVDYWNoZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQor
CisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZD
b3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGFnZTsKKwordHlwZWRl
ZiB1bnNpZ25lZCBBWElzb2xhdGVkQ2FjaGVJRDsKKyAgICAKK2NsYXNzIEFYSXNvbGF0ZWRUcmVl
Q2FjaGUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QVhJc29sYXRlZFRyZWVDYWNoZT4g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFYSXNvbGF0ZWRUcmVlQ2FjaGUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKKworcHVibGljOgorICAgIHN0YXRpYyBSZWY8QVhJc29sYXRlZFRy
ZWVDYWNoZT4gY3JlYXRlKCk7CisgICAgdmlydHVhbCB+QVhJc29sYXRlZFRyZWVDYWNoZSgpOwor
CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPiBj
YWNoZUZvclBhZ2UoUGFnZSopOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8QVhJ
c29sYXRlZFRyZWVDYWNoZT4gY2FjaGVGb3JJRChBWElzb2xhdGVkQ2FjaGVJRCk7CisKKyAgICBX
RUJDT1JFX0VYUE9SVCBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiByb290Tm9kZSgpOworICAg
IFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IG5vZGVGb3JJRChBWElEKSBjb25zdDsKKworICAg
IC8vIENhbGwgb24gbWFpbiB0aHJlYWQKKyAgICB2b2lkIGFwcGVuZE5vZGVDaGFuZ2VzKFZlY3Rv
cjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4mKTsKKyAgICB2b2lkIHJlbW92ZU5vZGUoQVhJ
RCk7CisKKyAgICAvLyBDYWxsIG9uIEFYIHRocmVhZAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
YXBwbHlDaGFuZ2VMb2coKTsKKyAgICAKKyAgICBBWElzb2xhdGVkQ2FjaGVJRCBjYWNoZUlkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlSUQ7IH0KKyAgICAKK3ByaXZhdGU6CisgICAg
QVhJc29sYXRlZFRyZWVDYWNoZSgpOworCisgICAgc3RhdGljIEhhc2hNYXA8UGFnZSosIFJlZlB0
cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4mIHBhZ2VSb290TWFwKCk7CisgICAgc3RhdGljIEhhc2hN
YXA8QVhJc29sYXRlZENhY2hlSUQsIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4mIHRyZWVD
YWNoZSgpOworICAgIAorICAgIC8vIE9ubHkgYWNjZXNzIG9uIEFYIHRocmVhZCByZXF1ZXN0aW5n
IGRhdGEuCisgICAgSGFzaE1hcDxBWElELCBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbV9j
YWNoZTsKKyAgICAKKyAgICAvLyBXcml0dGVuIHRvIGJ5IG1haW4gdGhyZWFkIHVuZGVyIGxvY2ss
IGFjY2Vzc2VkIGFuZCBhcHBsaWVkIGJ5IEFYIHRocmVhZC4KKyAgICBWZWN0b3I8UmVmUHRyPEFY
SXNvbGF0ZWRUcmVlTm9kZT4+IG1fYXBwZW5kQ2hhbmdlTG9nOworICAgIFZlY3RvcjxBWElEPiBt
X3JlbW92ZUNoYW5nZUxvZzsKKyAgICBMb2NrIG1fY2hhbmdlTG9nTG9jazsKKworICAgIEFYSXNv
bGF0ZWRDYWNoZUlEIG1fY2FjaGVJRDsKKyAgICBBWElEIG1fcm9vdE5vZGVJRDsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRU
cmVlTm9kZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDExOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFKQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZFRy
ZWVOb2RlLmgiCisKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworQVhJc29sYXRlZFRyZWVOb2RlOjpBWElzb2xhdGVkVHJlZU5vZGUoY29u
c3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQorICAgIDogbV9pZGVudGlmaWVyKG9iamVj
dC5heE9iamVjdElEKCkpCisgICAgLCBtX3JlbGF0aW9uc2hpcChudWxscHRyKQoreworICAgIGlu
aXRpYWxpemVBdHRyaWJ1dGVEYXRhKG9iamVjdCk7Cit9CisKK1JlZjxBWElzb2xhdGVkVHJlZU5v
ZGU+IEFYSXNvbGF0ZWRUcmVlTm9kZTo6Y3JlYXRlKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3Qm
IG9iamVjdCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZU5vZGUo
b2JqZWN0KSk7Cit9CisgICAgCitBWElzb2xhdGVkVHJlZU5vZGU6On5BWElzb2xhdGVkVHJlZU5v
ZGUoKSA9IGRlZmF1bHQ7CisKK3ZvaWQgQVhJc29sYXRlZFRyZWVOb2RlOjppbml0aWFsaXplQXR0
cmlidXRlRGF0YShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCit7CisgICAgc2V0
UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlJvbGVWYWx1ZSwgc3RhdGljX2Nhc3Q8aW50PihvYmpl
Y3Qucm9sZVZhbHVlKCkpKTsKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNBdHRh
Y2htZW50LCBvYmplY3QuaXNBdHRhY2htZW50KCkpOworICAgIHNldFByb3BlcnR5KEFYUHJvcGVy
dHlOYW1lOjpJc01lZGlhQ29udHJvbExhYmVsLCBvYmplY3QuaXNNZWRpYUNvbnRyb2xMYWJlbCgp
KTsKK30KKyAgICAKK3ZvaWQgQVhJc29sYXRlZFRyZWVOb2RlOjpzZXRQcm9wZXJ0eShBWFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCYmIHZhbHVlLCBib29s
IHNob3VsZFJlbW92ZSkKK3sKKyAgICBpZiAoc2hvdWxkUmVtb3ZlKQorICAgICAgICBtX2F0dHJp
YnV0ZU1hcC5yZW1vdmUocHJvcGVydHlOYW1lKTsKKyAgICBlbHNlCisgICAgICAgIG1fYXR0cmli
dXRlTWFwLnNldChwcm9wZXJ0eU5hbWUsIHZhbHVlKTsKK30KKyAgICAKK2RvdWJsZSBBWElzb2xh
dGVkVHJlZU5vZGU6OmRvdWJsZUF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3Bl
cnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAoZG91YmxlJiB0
eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0
byYpIHsKKyAgICAgICAgcmV0dXJuIDAuMDsKKyAgICB9KTsKK30KKwordW5zaWduZWQgQVhJc29s
YXRlZFRyZWVOb2RlOjp1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3Bl
cnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHBy
b3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAodW5zaWdu
ZWQmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZd
IChhdXRvJikgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKworYm9vbCBBWElzb2xh
dGVkVHJlZU5vZGU6OmJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0
eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGJvb2wmIHR5cGVk
VmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikg
eworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSk7Cit9CisKK2NvbnN0IFN0cmluZyYgQVhJ
c29sYXRlZFRyZWVOb2RlOjpzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChw
cm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKFN0cmlu
ZyYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0g
KGF1dG8mKSB7CisgICAgICAgIHJldHVybiBudWxsQXRvbSgpOworICAgIH0pOworfQorCitpbnQg
QVhJc29sYXRlZFRyZWVOb2RlOjppbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChw
cm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGludCYg
dHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1
dG8mKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0pOworfQorCisjcHJhZ21hIG1hcmsgLSBP
dmVycmlkZXMKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RSgoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVOb2RlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxNTQgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQor
CisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgorI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRT
YWZlUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKKyNpZiBQTEFURk9STShDT0NP
QSkKK09CSkNfQ0xBU1MgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI7CisjZW5kaWYKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworCitjbGFz
cyBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXAoKSk7IH0KKyAgICB2aXJ0dWFsIH5BWElzb2xh
dGVkVHJlZVJlbGF0aW9uc2hpcCgpID0gZGVmYXVsdDsKKworICAgIEFYSXNvbGF0ZWRUcmVlUmVs
YXRpb25zaGlwKGNvbnN0IEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwJiByZWxhdGlvbnNoaXAp
CisgICAgICAgIDogbV9wYXJlbnQocmVsYXRpb25zaGlwLm1fcGFyZW50KQorICAgICAgICAsIG1f
Y2hpbGRyZW4ocmVsYXRpb25zaGlwLm1fY2hpbGRyZW4pCisgICAgeworICAgIH0KKyAgICAKKyAg
ICBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCYgb3BlcmF0b3I9KGNvbnN0IEFYSXNvbGF0ZWRU
cmVlUmVsYXRpb25zaGlwJiByZWxhdGlvbnNoaXApCisgICAgeworICAgICAgICBtX3BhcmVudCA9
IHJlbGF0aW9uc2hpcC5tX3BhcmVudDsKKyAgICAgICAgbV9jaGlsZHJlbiA9IHJlbGF0aW9uc2hp
cC5tX2NoaWxkcmVuOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgdm9pZCBz
ZXRQYXJlbnQoQVhJRCBwYXJlbnQpIHsgbV9wYXJlbnQgPSBwYXJlbnQ7IH0KKyAgICBBWElEIHBh
cmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50OyB9CisKKyAgICBWZWN0b3I8QVhJRD4mIGNo
aWxkcmVuKCkgeyByZXR1cm4gbV9jaGlsZHJlbjsgfTsKKworcHJpdmF0ZToKKyAgICBBWElzb2xh
dGVkVHJlZVJlbGF0aW9uc2hpcCgpIHsgfQorCisgICAgQVhJRCBtX3BhcmVudDsKKyAgICBWZWN0
b3I8QVhJRD4gbV9jaGlsZHJlbjsKK307CisKKyAgICAKK2NsYXNzIEFYSXNvbGF0ZWRUcmVlTm9k
ZSBmaW5hbCA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLCBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8QVhJc29sYXRlZFRyZWVOb2RlPiwgcHVibGljIENhbk1ha2VXZWFr
UHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4geworICAgIAorZW51bSBjbGFzcyBBWFByb3BlcnR5TmFt
ZSA6IHVpbnQxNl90IHsKKyAgICBOb25lID0gMCwKKyAgICBSb2xlVmFsdWUgPSAxLAorICAgIElz
QXR0YWNobWVudCwKKyAgICBJc01lZGlhQ29udHJvbExhYmVsLAorfTsKKworc3RydWN0IEFYUHJv
cGVydHlIYXNoVHJhaXRzIDogV1RGOjpTdHJvbmdFbnVtSGFzaFRyYWl0czxBWFByb3BlcnR5TmFt
ZT4geworICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKKyAg
ICBzdGF0aWMgQVhQcm9wZXJ0eU5hbWUgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIEFYUHJvcGVydHlO
YW1lOjpOb25lOyB9OworICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShBWFBy
b3BlcnR5TmFtZSYgc2xvdCkKKyAgICB7CisgICAgICAgIHNsb3QgPSBzdGF0aWNfY2FzdDxBWFBy
b3BlcnR5TmFtZT4oc3RhdGljX2Nhc3Q8aW50PihBWFByb3BlcnR5TmFtZTo6Tm9uZSkgLSAxKTsK
KyAgICB9CisgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoQVhQcm9wZXJ0eU5hbWUgdmFs
dWUpCisgICAgeworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSkgPT0gc3Rh
dGljX2Nhc3Q8aW50PihBWFByb3BlcnR5TmFtZTo6Tm9uZSkgLSAxOworICAgIH0KK307CisKK3By
b3RlY3RlZDoKKyAgICBBWElzb2xhdGVkVHJlZU5vZGUoKSA9IGRlZmF1bHQ7CisKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gY3JlYXRlKGNvbnN0IEFjY2Vzc2li
aWxpdHlPYmplY3QmKTsKKyAgICB2aXJ0dWFsIH5BWElzb2xhdGVkVHJlZU5vZGUoKTsKKworICAg
IEFYSUQgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQorICAgIAor
ICAgIHZvaWQgc2V0UmVsYXRpb25zaGlwKFJlZlB0cjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cD4gcmVsYXRpb25zaGlwKSB7IG1fcmVsYXRpb25zaGlwID0gcmVsYXRpb25zaGlwOyB9CisgICAg
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwPiYgcmVsYXRpb25zaGlwKCkgeyByZXR1
cm4gbV9yZWxhdGlvbnNoaXA7IH0KKyAgICAKKyAgICBib29sIGlzUm9vdE5vZGUoKSBjb25zdCB7
IHJldHVybiBtX2lzUm9vdE5vZGU7IH0KKyAgICB2b2lkIHNldElzUm9vdE5vZGUoYm9vbCB2YWx1
ZSkgeyBtX2lzUm9vdE5vZGUgPSB2YWx1ZTsgfQorICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQor
ICAgIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKCkgY29uc3QgeyByZXR1
cm4gbV93cmFwcGVyLmdldCgpOyB9CisgICAgdm9pZCBzZXRXcmFwcGVyKFdlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKQorICAgIHsKKyAgICAgICAgbV93cmFwcGVyID0gd3Jh
cHBlcjsKKyAgICB9CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBBWElzb2xhdGVkVHJlZU5vZGUo
Y29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYpOworICAgIHZvaWQgaW5pdGlhbGl6ZUF0dHJpYnV0
ZURhdGEoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYpOworICAgIAorICAgIGJvb2wgaXNNZWRp
YUNvbnRyb2xMYWJlbCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZTo6SXNNZWRpYUNvbnRyb2xMYWJlbCk7IH0KKyAgICBib29sIGlzQXR0
YWNobWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6SXNBdHRhY2htZW50KTsgfQorICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVW
YWx1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlS
b2xlPihpbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6Um9sZVZhbHVlKSk7IH0KKyAg
ICAKKyAgICB1c2luZyBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQgPSBWYXJpYW50PHN0ZDo6bnVsbHB0
cl90LCBTdHJpbmcsIGJvb2wsIGludCwgdW5zaWduZWQsIGRvdWJsZT47CisgICAgdm9pZCBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZSwgQXR0cmlidXRlVmFsdWVWYXJpYW50JiYsIGJvb2wgc2hv
dWxkUmVtb3ZlID0gZmFsc2UpOworICAgIAorICAgIGJvb2wgYm9vbEF0dHJpYnV0ZVZhbHVlKEFY
UHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBjb25zdCBTdHJpbmcmIHN0cmluZ0F0dHJpYnV0ZVZh
bHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBpbnQgaW50QXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIHVuc2lnbmVkIHVuc2lnbmVkQXR0cmlidXRlVmFsdWUo
QVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGRvdWJsZSBkb3VibGVBdHRyaWJ1dGVWYWx1ZShB
WFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgCisgICAgQVhJRCBtX2lkZW50aWZpZXI7CisgICAg
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwPiBtX3JlbGF0aW9uc2hpcDsKKyAgICBi
b29sIG1faXNSb290Tm9kZTsKKyAgICAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXRhaW5Q
dHI8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI+IG1fd3JhcHBlcjsKKyNlbmRpZgorICAg
IAorICAgIEhhc2hNYXA8QVhQcm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCwgV1RG
OjpJbnRIYXNoPEFYUHJvcGVydHlOYW1lPiwgQVhQcm9wZXJ0eUhhc2hUcmFpdHM+IG1fYXR0cmli
dXRlTWFwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KChBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCShyZXZpc2lvbiAy
NDAyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hl
TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFkpICYmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWVOb2Rl
LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmls
aXR5VGFibGUuaCIKICNpbXBvcnQgIlJlbmRlck9iamVjdC5oIgpAQCAtMjM3LDYgKzIzOCwxNCBA
QAogICAgIG9iai0+c2V0V3JhcHBlcihudWxscHRyKTsKIH0KIAorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlzb2xh
dGVkVHJlZU5vZGUoQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0LCBBWElzb2xhdGVkVHJlZU5v
ZGUmIG5vZGUsIEFYSXNvbGF0ZWRDYWNoZUlEIGNhY2hlSUQpCit7CisgICAgb2JqZWN0LndyYXBw
ZXIoKS5pc29sYXRlZENhY2hlSWRlbnRpZmllciA9IGNhY2hlSUQ7CisgICAgbm9kZS5zZXRXcmFw
cGVyKG9iamVjdC53cmFwcGVyKCkpOworfQorI2VuZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmF0dGFjaFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogewogICAgIFJldGFp
blB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gd3JhcHBlciA9IGFkb3B0TlMoW1tX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhbGxvY10gaW5pdFdpdGhBY2Nlc3NpYmlsaXR5
T2JqZWN0Om9ial0pOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNl
LmgJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSwxMSArMjksMTggQEAKICNpZm5kZWYgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNl
X2gKICNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlX2gKIAorI2luY2x1
ZGUgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmgiCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFr
UHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3Q7
CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK2NsYXNzIEFYSXNvbGF0
ZWRUcmVlTm9kZTsKKyNlbmRpZgogc3RydWN0IEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYTsK
IGNsYXNzIEludFJlY3Q7CiBjbGFzcyBGbG9hdFBvaW50OwpAQCAtNDQsMTMgKzUxLDI2IEBACiAK
IEBpbnRlcmZhY2UgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIDogTlNPYmplY3Qg
ewogICAgIFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG1fb2JqZWN0OworICAgIFdlYkNv
cmU6OkFYSUQgX2lkZW50aWZpZXI7CiB9CiAgCiAtIChpZClpbml0V2l0aEFjY2Vzc2liaWxpdHlP
YmplY3Q6KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqKWF4T2JqZWN0OworCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSkgUmVmUHRyPFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZT4gaXNvbGF0ZWRUcmVl
Tm9kZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFdlYkNvcmU6OkFYSXNvbGF0ZWRD
YWNoZUlEIGlzb2xhdGVkQ2FjaGVJZGVudGlmaWVyOworI2VuZGlmCisKIC0gKHZvaWQpZGV0YWNo
OworCitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBXZWJDb3JlOjpBWElEIGlkZW50aWZp
ZXI7CisKIC0gKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqKWFjY2Vzc2liaWxpdHlPYmpl
Y3Q7CiAtIChCT09MKXVwZGF0ZU9iamVjdEJhY2tpbmdTdG9yZTsKIAorLy8gVGhpcyBjYW4gYmUg
ZWl0aGVyIGFuIEFjY2Vzc2liaWxpdHlPYmplY3Qgb3IgYW4gQVhJc29sYXRlZFRyZWVOb2RlCist
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlKilheEJhY2tpbmdPYmplY3Q7
CisKIC8vIFRoZXNlIGFyZSBwcmUtZml4ZWQgd2l0aCBiYXNlIHNvIHRoYXQgQXBwS2l0IGRvZXMg
bm90IGVuZCB1cCBjYWxsaW5nIGludG8gdGhlc2UgZGlyZWN0bHkgKGJ5cGFzc2luZyBzYWZldHkg
Y2hlY2tzKS4KIC0gKE5TU3RyaW5nICopYmFzZUFjY2Vzc2liaWxpdHlUaXRsZTsKIC0gKE5TU3Ry
aW5nICopYmFzZUFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0JKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFz
ZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzEsMTAgKzMxLDEzIEBACiAKICNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFkpCiAKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIKKyNpbXBvcnQgIkFY
SXNvbGF0ZWRUcmVlTm9kZS5oIgogI2ltcG9ydCAiQVhPYmplY3RDYWNoZS5oIgogI2ltcG9ydCAi
QWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5TGlzdC5o
IgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIKKyNpbXBvcnQgIkFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Qu
aCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmgiCiAjaW1wb3J0ICJBY2Nlc3Np
YmlsaXR5U3BpbkJ1dHRvbi5oIgpAQCAtMjY1LDYgKzI2OCw4IEBACiAKIEBpbXBsZW1lbnRhdGlv
biBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UKIAorQHN5bnRoZXNpemUgaWRlbnRp
Zmllcj1faWRlbnRpZmllcjsKKwogLSAoaWQpaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0OihB
Y2Nlc3NpYmlsaXR5T2JqZWN0KilheE9iamVjdAogewogICAgIGlmICghKHNlbGYgPSBbc3VwZXIg
aW5pdF0pKQpAQCAtMjcxLDE2ICsyNzYsMzAgQEAKICAgICAgICAgcmV0dXJuIG5pbDsKIAogICAg
IG1fb2JqZWN0ID0gYXhPYmplY3Q7CisgICAgX2lkZW50aWZpZXIgPSBtX29iamVjdC0+YXhPYmpl
Y3RJRCgpOwogICAgIHJldHVybiBzZWxmOwogfQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlf
SVNPTEFURURfVFJFRSkKKy0gKFJlZlB0cjxXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU+KWlz
b2xhdGVkVHJlZU5vZGUKK3sKKyAgICByZXR1cm4gQVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVG
b3JJRChfaXNvbGF0ZWRDYWNoZUlkZW50aWZpZXIpLT5ub2RlRm9ySUQoX2lkZW50aWZpZXIpOwor
fQorCisjZW5kaWYKKwogLSAodm9pZClkZXRhY2gKIHsKICAgICBtX29iamVjdCA9IG51bGxwdHI7
CisgICAgX2lkZW50aWZpZXIgPSAwOwogfQogCiAtIChCT09MKXVwZGF0ZU9iamVjdEJhY2tpbmdT
dG9yZQogeworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgQVhJ
c29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVGb3JJRChzZWxmLmlzb2xhdGVkQ2FjaGVJZGVudGlmaWVy
KS0+YXBwbHlDaGFuZ2VMb2coKTsKKyAgICByZXR1cm4gX2lkZW50aWZpZXI7CisjZWxzZQogICAg
IC8vIENhbGxpbmcgdXBkYXRlQmFja2luZ1N0b3JlKCkgY2FuIGludmFsaWRhdGUgdGhpcyBlbGVt
ZW50IHNvIHNlbGYgbXVzdCBiZSByZXRhaW5lZC4KICAgICAvLyBJZiBpdCBkb2VzIGJlY29tZSBp
bnZhbGlkYXRlZCwgbV9vYmplY3Qgd2lsbCBiZSBuaWwuCiAgICAgQ0ZSZXRhaW4oKF9fYnJpZGdl
IENGVHlwZVJlZilzZWxmKTsKQEAgLTI5NCw2ICszMTMsNyBAQAogICAgICAgICByZXR1cm4gTk87
CiAgICAgCiAgICAgcmV0dXJuIFlFUzsKKyNlbmRpZgogfQogCiAtIChpZClhdHRhY2htZW50Vmll
dwpAQCAtMzU1LDExICszNzUsMjEgQEAKICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ107CiB9
CiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVjdCBzZWxmLmF4QmFja2luZ09iamVjdAorLSAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSopYXhCYWNraW5nT2JqZWN0Cit7Cisj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICByZXR1cm4gc2VsZi5p
c29sYXRlZFRyZWVOb2RlLmdldCgpOworI2Vsc2UKKyAgICByZXR1cm4gbV9vYmplY3Q7CisjZW5k
aWYKK30KKwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uCiB7CiAg
ICAgLy8gU3RhdGljIHRleHQgb2JqZWN0cyBzaG91bGQgbm90IGhhdmUgYSBkZXNjcmlwdGlvbi4g
SXRzIGNvbnRlbnQgaXMgY29tbXVuaWNhdGVkIGluIGl0cyBBWFZhbHVlLgogICAgIC8vIE9uZSBl
eGNlcHRpb24gaXMgdGhlIG1lZGlhIGNvbnRyb2wgbGFiZWxzIHRoYXQgaGF2ZSBhIHZhbHVlIGFu
ZCBhIGRlc2NyaXB0aW9uLiBUaG9zZSBhcmUgc2V0IHByb2dyYW1hdGljYWxseS4KLSAgICBpZiAo
bV9vYmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNUZXh0ICYm
ICFtX29iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQorICAgIGlmIChfYXhCYWNraW5nT2Jq
ZWN0LT5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dCAmJiAhX2F4
QmFja2luZ09iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQogICAgICAgICByZXR1cm4gW05T
U3RyaW5nIHN0cmluZ107CiAgICAgCiAgICAgVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiB0ZXh0
T3JkZXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQkocmV2
aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQxMiw2ICs0
MTIsOCBAQAogI2RlZmluZSBOU0FjY2Vzc2liaWxpdHlMaW5rUmVsYXRpb25zaGlwVHlwZUF0dHJp
YnV0ZSBAIkFYTGlua1JlbGF0aW9uc2hpcFR5cGUiCiAjZW5kaWYKIAorI2RlZmluZSBfYXhCYWNr
aW5nT2JqZWN0IHNlbGYuYXhCYWNraW5nT2JqZWN0CisKIGV4dGVybiAiQyIgQVhVSUVsZW1lbnRS
ZWYgTlNBY2Nlc3NpYmlsaXR5Q3JlYXRlQVhVSUVsZW1lbnRSZWYoaWQgZWxlbWVudCk7CiAKIEBp
bXBsZW1lbnRhdGlvbiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcgpAQCAtMjAwOSwxMCAr
MjAxMSwxMCBAQAogLSAoTlNTdHJpbmcqKXJvbGUKIHsKICAgICBBTExPV19ERVBSRUNBVEVEX0RF
Q0xBUkFUSU9OU19CRUdJTgotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpCisgICAg
aWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKQogICAgICAgICByZXR1cm4gW1tz
ZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3Np
YmlsaXR5Um9sZUF0dHJpYnV0ZV07CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNf
RU5ECi0gICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSA9IG1fb2JqZWN0LT5yb2xlVmFsdWUoKTsK
KyAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlID0gX2F4QmFja2luZ09iamVjdC0+cm9sZVZhbHVl
KCk7CiAKICAgICBpZiAocm9sZSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGFiZWwgJiYgaXM8QWNj
ZXNzaWJpbGl0eUxhYmVsPigqbV9vYmplY3QpICYmIGRvd25jYXN0PEFjY2Vzc2liaWxpdHlMYWJl
bD4oKm1fb2JqZWN0KS5jb250YWluc09ubHlTdGF0aWNUZXh0KCkpCiAgICAgICAgIHJvbGUgPSBB
Y2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dDsKQEAgLTIwMzksNyArMjA0MSw3IEBACiAgICAg
aWYgKG1fb2JqZWN0LT5pc1NlYXJjaEZpZWxkKCkpCiAgICAgICAgIHJldHVybiBOU0FjY2Vzc2li
aWxpdHlTZWFyY2hGaWVsZFN1YnJvbGU7CiAgICAgCi0gICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFj
aG1lbnQoKSkgeworICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewog
ICAgICAgICBOU1ZpZXcqIGF0dGFjaFZpZXcgPSBbc2VsZiBhdHRhY2htZW50Vmlld107CiAgICAg
ICAgIGlmIChbW2F0dGFjaFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWlu
c09iamVjdDpOU0FjY2Vzc2liaWxpdHlTdWJyb2xlQXR0cmlidXRlXSkKICAgICAgICAgICAgIHJl
dHVybiBbYXR0YWNoVmlldyBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmls
aXR5U3Vicm9sZUF0dHJpYnV0ZV07CkBAIC0yMjUwLDcgKzIyNTIsNyBAQAogCiAgICAgQUxMT1df
REVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KICAgICAvLyBhdHRhY2htZW50cyBoYXZlIHRo
ZSBBWEltYWdlIHJvbGUsIGJ1dCBhIGRpZmZlcmVudCBzdWJyb2xlCi0gICAgaWYgKG1fb2JqZWN0
LT5pc0F0dGFjaG1lbnQoKSkKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50
KCkpCiAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlB
dHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlSb2xlRGVzY3JpcHRpb25BdHRyaWJ1dGVdOwog
ICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogCkBAIC0yNjA3LDcgKzI2MDks
NyBAQAogICAgICAgICByZXR1cm4gW05TTnVtYmVyIG51bWJlcldpdGhCb29sOiBtX29iamVjdC0+
aXNWaXNpdGVkKCldOwogICAgIAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJp
bmc6IE5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmpl
Y3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0
dGFjaG1lbnQoKSkgewogICAgICAgICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFj
Y2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5
VGl0bGVBdHRyaWJ1dGVdKQogICAgICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVu
dFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlUaXRsZUF0
dHJpYnV0ZV07CiAgICAgICAgIH0KQEAgLTI2MjQsNyArMjYyNiw3IEBACiAgICAgfQogICAgIAog
ICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eURl
c2NyaXB0aW9uQXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVu
dCgpKSB7CisgICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewog
ICAgICAgICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRy
aWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRy
aWJ1dGVdKQogICAgICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFj
Y2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbkF0dHJp
YnV0ZV07CiAgICAgICAgIH0KQEAgLTI2MzIsNyArMjYzNCw3IEBACiAgICAgfQogICAgIAogICAg
IGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eVZhbHVl
QXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7Cisg
ICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICAg
ICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1l
c10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdKQogICAgICAg
ICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRy
aWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV07CiAgICAgICAgIH0KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFj
aCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRp
YyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tOgorICAgICAgICAo
LVtXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZSBhY2Nlc3NpYmlsaXR5Um9vdE9iamVj
dFdyYXBwZXJdKToKKwogMjAxOS0wMS0xOSAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIEZvbGxvdy11cDogaU9TOiBVcGRhdGluZyBpbnB1dCBtb2RlIHNob3Vs
ZCB1cGRhdGUgdGhlIHNvZnR3YXJlIGtleWJvYXJkCkluZGV4OiBTb3VyY2UvV2ViS2l0L0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0
MDIwNikKKysrIFNvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQ
UExFX1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJM
RV9BUFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BB
WV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBA
CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
NCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NT
U19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJ
T05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVf
S0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9D
VVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNF
X0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dP
UktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9X
RUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFN
SU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BV
KSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQo
RU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxF
X0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1J
U1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lO
VEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFC
TEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09O
VEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9T
RVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xV
VElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VT
RVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZB
UklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5U
X0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVO
QUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlf
U1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVf
V0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2Vi
UGFnZU9iamVjdEJhc2UubW0JKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQko
d29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQAogI2ltcG9ydCAiV0tTaGFyZWRBUElDYXN0
LmgiCiAjaW1wb3J0ICJXS1N0cmluZy5oIgogI2ltcG9ydCAiV0tTdHJpbmdDRi5oIgorI2ltcG9y
dCA8V2ViQ29yZS9BWElzb2xhdGVkVHJlZUNhY2hlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0FYT2Jq
ZWN0Q2FjaGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRG9jdW1lbnQuaD4KICNpbXBvcnQgPFdlYkNv
cmUvRnJhbWUuaD4KQEAgLTQ3LDYgKzQ4LDE4IEBACiAKIEBpbXBsZW1lbnRhdGlvbiBXS0FjY2Vz
c2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZQogCistIChXZWJDb3JlOjpBWE9iamVjdENhY2hlKilh
eE9iamVjdENhY2hlCit7CisgICAgV2ViQ29yZTo6UGFnZSogcGFnZSA9IG1fcGFnZS0+Y29yZVBh
Z2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybiBuaWw7CisgICAgV2ViQ29yZTo6
RnJhbWUmIGNvcmUgPSBwYWdlLT5tYWluRnJhbWUoKTsKKyAgICBpZiAoIWNvcmUuZG9jdW1lbnQo
KSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKyAgICAKKyAgICByZXR1cm4gY29yZS5kb2N1bWVudCgp
LT5heE9iamVjdENhY2hlKCk7Cit9CisKIC0gKGlkKWFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3Jh
cHBlcgogewogICAgIGlmICghV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVu
YWJsZWQoKSkKQEAgLTYyLDE4ICs3NSw0NiBAQAogICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBt
X3BhZ2UtPmNvcmVQYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gbmlsOwot
ICAgIAotICAgIFdlYkNvcmU6OkZyYW1lJiBjb3JlID0gcGFnZS0+bWFpbkZyYW1lKCk7Ci0gICAg
aWYgKCFjb3JlLmRvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiBuaWw7Ci0gICAgCi0gICAgV2Vi
Q29yZTo6QVhPYmplY3RDYWNoZSogY2FjaGUgPSBjb3JlLmRvY3VtZW50KCktPmF4T2JqZWN0Q2Fj
aGUoKTsKKworICAgIEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gW3NlbGYgYXhPYmplY3RDYWNoZV07
CiAgICAgaWYgKCFjYWNoZSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKKyNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIGF1dG8gZ2VuZXJhdGVCbG9jayA9IFsm
XSB7CisgICAgICAgIGF1dG8gZGlzcGF0Y2hCbG9jayA9IFsmY2FjaGVdIHsKKyAgICAgICAgICAg
IGNhY2hlLT5nZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlSWZOZWVkZWQoKTsKKyAgICAg
ICAgfTsKKyAgICAgICAgCisgICAgICAgIGlmIChSdW5Mb29wOjppc01haW4oKSkKKyAgICAgICAg
ICAgIGRpc3BhdGNoQmxvY2soKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZGlzcGF0Y2hf
c3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBkaXNwYXRjaEJsb2NrKTsKKyAgICB9Owor
CisgICAgYXV0byBpc29sYXRlZENhY2hlID0gQVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVGb3JQ
YWdlKHBhZ2UpOworICAgIGlmICghaXNvbGF0ZWRDYWNoZSkgeworICAgICAgICBnZW5lcmF0ZUJs
b2NrKCk7CisgICAgICAgIGlzb2xhdGVkQ2FjaGUgPSBBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNo
ZUZvclBhZ2UocGFnZSk7CisgICAgICAgIEFTU0VSVChpc29sYXRlZENhY2hlKTsKKyAgICAgICAg
aWYgKCFpc29sYXRlZENhY2hlKQorICAgICAgICAgICAgcmV0dXJuIG5pbDsKKworICAgICAgICBp
c29sYXRlZENhY2hlLT5hcHBseUNoYW5nZUxvZygpOworICAgIH0KKyAgICAKKyAgICBhdXRvIHJv
b3ROb2RlID0gaXNvbGF0ZWRDYWNoZS0+cm9vdE5vZGUoKTsKKyAgICBpZiAoIXJvb3ROb2RlKSB7
CisgICAgICAgIGdlbmVyYXRlQmxvY2soKTsKKyAgICAgICAgaXNvbGF0ZWRDYWNoZS0+YXBwbHlD
aGFuZ2VMb2coKTsKKyAgICB9CisKKyAgICBpZiAoKHJvb3ROb2RlID0gaXNvbGF0ZWRDYWNoZS0+
cm9vdE5vZGUoKSkpCisgICAgICAgIHJldHVybiByb290Tm9kZS0+d3JhcHBlcigpOworI2Vsc2UK
ICAgICBpZiAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogcm9vdCA9IGNhY2hlLT5yb290
T2JqZWN0KCkpCiAgICAgICAgIHJldHVybiByb290LT53cmFwcGVyKCk7Ci0gICAgCisjZW5kaWYK
ICAgICByZXR1cm4gbmlsOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0xMSAgQ2hyaXMgRmxlaXphY2gg
IDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMg
YWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMDEtMTkgIEFudG9pbmUgUXVp
bnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBQT0lOVEVSX0VWRU5UUyBm
ZWF0dXJlIGZsYWcKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAy
NDAyMDYpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOwor
CiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFN
RSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFC
TEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDYs
NCArNDA4LDQgQEAKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQ
UExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BB
WV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQ
SSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9K
SVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJ
VCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChF
TkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRF
KSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFU
VElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERG
S0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChF
TkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dF
Ql9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4p
ICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NF
TUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
MykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01B
TklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5H
X0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFT
VF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19V
U0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
QVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL2NtYWtlL1dlYktp
dEZlYXR1cmVzLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJl
cy5jbWFrZQkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVz
LmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xODcsNiArMTg3LDcgQEAKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfU01PT1RIX1NDUk9MTElORyAiVG9nZ2xlIHNtb290aCBzY3JvbGxp
bmciIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMgIlRvZ2dsZSBTcGVlY2ggU3ludGhlc2lzIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9G
RikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1BFTExDSEVDSyAiVG9nZ2xlIFNw
ZWxsY2hlY2tpbmcgc3VwcG9ydCAocmVxdWlyZXMgRW5jaGFudCkiIFBSSVZBVEUgT0ZGKQorICAg
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFICJU
b2dnbGUgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1RSRUFNU19BUEkgIlRvZ2dsZSBTdHJlYW1z
IEFQSSBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9TVkdfRk9OVFMgIlRvZ2dsZSBTVkcgRm9udHMgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04gIlRv
Z2dsZSB0ZWxlcGhvbmUgbnVtYmVyIGRldGVjdGlvbiBzdXBwb3J0IiBQUklWQVRFIE9GRikKSW5k
ZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI0MDIwNikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEzIEBACisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+
CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTE5ICBBbnRvaW5lIFF1aW50ICA8Z3Jh
b3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgUE9JTlRFUl9FVkVOVFMgZmVhdHVyZSBm
bGFnCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChX
S19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19j
b2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5B
QkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9
ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9Q
QVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVz
aW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBACiAKIEVOQUJM
RV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RS
QU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFC
TEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JP
TExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19H
UkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
WFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
SklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRf
S0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFC
TEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJP
VE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
TEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJ
REVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChF
TkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
RElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMp
ICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RB
VElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dF
Ql9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVP
X1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAk
KEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkg
JChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJM
RV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9Y
U0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQ
UExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BB
WV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FE
QVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJ
QklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05J
Q19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9B
UkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01f
UFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFD
X1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FH
RV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JF
RU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJf
UlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5H
X0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAk
KEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9YU0xUKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359768</attachid>
            <date>2019-01-22 13:23:24 -0800</date>
            <delta_ts>2019-01-23 02:15:57 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>104199</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtKU0NdIFN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbiBpcyBubyBsb25nZXIgdXNl
ZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
XyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAK
K0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9Q
QVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQ
TEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBo
b25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBAQAogCiBF
TkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09O
SUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJP
QVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
Q19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FE
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JU
QykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19B
UEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChF
TkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1Nf
Q09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9O
UykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tF
WUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VT
VE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVf
UkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01F
U1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJ
T05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxM
U0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVf
V0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVB
TUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQ
VSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjQwMjQ2
KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTU4
LDYgKzU4LDcgQEAKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy93ZWJzb2NrZXRzIgogICAg
ICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3dlYnZyIgogICAgICIke1dFQkNPUkVfRElSfS9hY2Nl
c3NpYmlsaXR5IgorICAgICIke1dFQkNPUkVfRElSfS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZSIKICAgICAiJHtXRUJDT1JFX0RJUn0vYW5pbWF0aW9uIgogICAgICIke1dFQkNPUkVfRElSfS9i
aW5kaW5ncyIKICAgICAiJHtXRUJDT1JFX0RJUn0vYmluZGluZ3MvanMiCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSw3OCBAQAorMjAxOS0wMS0xMSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxl
aXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNz
aWJpbGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIG9yZGVyIHRvIGltcHJv
dmUgcGVyZm9ybWFuY2Ugd2hlbiByZXF1ZXN0aW5nIHRoZSBhY2Nlc3NpYmlsaXR5IGhpZXJhcmNo
eSwgd2UgaW50cm9kdWNlIHRoZSBpZGVhIG9mIGEgInN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUi
IHdoaWNoIGNvdWxkIGJlIGFjY2Vzc2VkIG9uIGEgZGlmZmVyZW50IHRocmVhZCBieSBhc3Npc3Rp
dmUgdGVjaG5vbG9naWVzLgorICAgICAgICBUaGF0IGlzIGFjY29tcGxpc2hlZCBieSBzdG9yaW5n
IGFsbCB0aGUgZGF0YSBuZWVkZWQgdG8gYW5zd2VyIGFjY2Vzc2liaWxpdHkgYXR0cmlidXRlIHF1
ZXJpZXMgaW4gYSBzdGF0aWMgb2JqZWN0IHRoYXQgbWlycm9ycyB0aGUgImxpdmUiIEFjY2Vzc2li
aWxpdHlPYmplY3RzICh3aGljaCBpbnRlcmFjdCB3aXRoIGJvdGggRE9NIGFuZCBSZW5kZXIgdHJl
ZXMpLgorICAgICAgICBUaGVzZSBzdGF0aWMgb2JqZWN0cyBhcmUgZ2VuZXJhbGx5IGNyZWF0ZWQg
YWZ0ZXIgbGF5b3V0IGlzIGRvbmUgYW5kIGZpbmFsIHRhc2tzIGFyZSBiZWluZyBwZXJmb3JtZWQu
IFRoZXkgYXJlIHRoZW4gc3RvcmVkIGluIHRoZSBzdGF0aWMgdHJlZSByZXByZXNlbnRhdGlvbiBh
bmQgYWJsZSB0byBiZSByZWFkIGZyb20gYW55d2hlcmUuCisgICAgICAgIFRhY3RpY2FsbHkgdGhp
cyBpcyBkb25lIHdpdGggQVhJc29sYXRlZFRyZWVOb2RlcyBpbnNpZGUgb2YgYW4gQVhJc29sYXRl
ZFRyZWVDYWNoZS4gVGhlIFRyZWVOb2RlcyBpbXBsZW1lbnQgYW4gQWNjZXNzaWJpbGl0eU9iamVj
dEludGVyZmFjZSBzaGFyZWQgd2l0aCBBY2Nlc3NpYmlsaXR5T2JqZWN0CisgICAgICAgIFRoaXMg
YWxsb3dzIHRoZSB3cmFwcGVycyB0byBhY2Nlc3MgZWl0aGVyIG9uZSBkZXBlbmRpbmcgb24gY29u
ZGl0aW9ucyBhbmQgcGxhdGZvcm1zIHdpdGhvdXQgc2lnbmlmaWNhbnQgY29kZSBkdXBsaWNhdGlv
biBvciByZS1vcmdhbml6YXRpb24uCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVj
dENhY2hlOjpjcmVhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZSk6CisgICAgICAgIChXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjpnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlSWZOZWVkZWQp
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU9iamVjdDo6c2V0SW5pdGlhbGl6ZWRJc29sYXRlZFRyZWVOb2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmluaXRpYWxpemVkSXNvbGF0ZWRUcmVl
Tm9kZSBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
SW50ZXJmYWNlLmg6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
VHJlZUNhY2hlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNh
Y2hlOjpwYWdlUm9vdE1hcCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hl
Ojp0cmVlQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6QVhJ
c29sYXRlZFRyZWVDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hl
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVG
b3JJRCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvclBh
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6bm9kZUZvcklEIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnJvb3ROb2RlKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnJlbW92ZU5vZGUpOgorICAg
ICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6YXBwZW5kTm9kZUNoYW5nZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVDYWNoZTo6YXBwbHlDaGFuZ2VMb2cpOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlQ2FjaGUu
aDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUlk
ZW50aWZpZXIgY29uc3QpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FY
SXNvbGF0ZWRUcmVlTm9kZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRl
ZFRyZWVOb2RlOjpBWElzb2xhdGVkVHJlZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29s
YXRlZFRyZWVOb2RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVO
b2RlOjppbml0aWFsaXplQXR0cmlidXRlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xh
dGVkVHJlZU5vZGU6OnNldFByb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlTm9kZTo6ZG91YmxlQXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
QVhJc29sYXRlZFRyZWVOb2RlOjp1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6Ym9vbEF0dHJpYnV0ZVZhbHVlIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6c3RyaW5nQXR0cmlidXRl
VmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjppbnRB
dHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRy
ZWUvQVhJc29sYXRlZFRyZWVOb2RlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29s
YXRlZFRyZWVSZWxhdGlvbnNoaXA6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xh
dGVkVHJlZVJlbGF0aW9uc2hpcDo6QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXApOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6Om9wZXJhdG9yPSk6CisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6c2V0UGFyZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpwYXJlbnQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OmNoaWxkcmVu
KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6YXNzb2NpYXRlSXNvbGF0ZWRUcmVlTm9kZSk6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJCYXNlLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlckJhc2UgaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0Ol0pOgorICAgICAgICAoLVtXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgaXNvbGF0ZWRUcmVlTm9kZV0pOgorICAgICAg
ICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgZGV0YWNoXSk6CisgICAgICAg
ICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSB1cGRhdGVPYmplY3RCYWNraW5n
U3RvcmVdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGF4
QmFja2luZ09iamVjdF0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ckJhc2UgYmFzZUFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbl0pOgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tOgorICAgICAgICAo
LVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByb2xlXSk6CisgICAgICAgICgtW1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHN1YnJvbGVdKToKKyAgICAgICAgKC1bV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXIgcm9sZURlc2NyaXB0aW9uXSk6CisgICAgICAgICgtW1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpdKToK
KwogMjAxOS0wMS0yMSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBJbXBsZW1lbnQgbWVzc2FnZSBoYW5kbGVycyBmb3IgTmV0d29ya1Byb2Nlc3MtYmFzZWQg
UmVzb3VyY2VMb2FkU3RhdGlzdGljcwpJbmRleDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikK
KysrIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
XyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAK
K0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9Q
QVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQ
TEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBo
b25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBAQAogCiBF
TkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09O
SUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJP
QVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
Q19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FE
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JU
QykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19B
UEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChF
TkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1Nf
Q09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9O
UykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tF
WUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VT
VE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVf
UkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01F
U1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJ
T05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxM
U0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVf
V0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVB
TUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQ
VSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDI0NikK
KysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxMyBAQAorMjAxOS0wMS0xOSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29t
PgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWc6CisKIDIwMTktMDEtMjEgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNv
bT4KIAogICAgICAgICBTb3J0IFBBTCBYY29kZSBwcm9qZWN0IGZpbGUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiAr
NDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQo
V0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9B
UFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBM
RV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsK
IAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVT
VCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1Nf
U0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NT
U19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFS
S19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5U
RVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykg
JChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElP
Tl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJE
X0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJM
RV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJM
RV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NU
QU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVT
VCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FH
RV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JF
RU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAk
KEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFf
SU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JU
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJF
UykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VN
QkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC00MDUsNiArNDA1LDggQEAKIGFjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVRyZWUuY3BwCiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlSXRlbS5jcHAK
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVNldFZhbHVlRXZlbnQuY3BwCithY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmNwcAorYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAogCiBhbmltYXRpb24vQW5pbWF0aW9uRWZm
ZWN0LmNwcAogYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQuY3BwCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTY5NCw2ICs2OTQsNyBAQAogCQkyNkY5QTgzODE4
QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2RjlBODM2MThBMDQ2QUMwMEFFQjg4
QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwICovOyB9OwogCQkyNkY5QTgzOTE4QTA0NkFD
MDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkY5QTgzNzE4QTA0NkFDMDBBRUI4OEEgLyogVmll
d3BvcnRDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMjkxNEUzMDgxQ0FCNUE0NDAwNDk5NjZGIC8qIEFjY2Vzc2liaWxpdHlB
dHRhY2htZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAq
LzsgfTsKKwkJMjkzNkJGNUMyMUQ2OUU0QjAwNEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJ
bnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDI5MzZCRjVBMjFENjk5OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkz
RUFFMUYxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzRUFFMUUxMzU2QjJG
RTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5NDg5RkM3MTJDMDBGMDMwMEQ4M0Yw
RiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjk0ODlGQzUxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2li
aWxpdHlTY3JvbGxWaWV3LmggKi87IH07CiAJCTI5N0JFM0Q1MTZDMDNDMDgwMDMzMTZCRCAvKiBQ
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjUyN0NDOTExNkJGOEJBMTAwOUREQUMwIC8qIFBsYXRm
b3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggKi87IH07CkBAIC03MTUsNiArNzE2LDggQEAK
IAkJMjlBODEyNDMwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTIyNTBGQkI5
QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3guaCAqLzsgfTsKIAkJMjlBODEyNDkw
RkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBODEyNDUwRkJC
OUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5QUNCMjEyMTQz
RTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBQ0IyMTExNDNFNzEyODAwNkJDQTVG
IC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmggKi87IH07CisJCTI5QUUyMTJEMjFBQjlFRUIw
MDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZUNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29s
YXRlZFRyZWVDYWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QUUyMTMz
MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOUQ3QkNGQTE0NDRBRjdEMDA3MDYx
OUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RDdCQ0Y5MTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nlc3Np
YmlsaXR5U3BpbkJ1dHRvbi5oICovOyB9OwogCQkyOUZBRjRCNjE5NUFCMDg5MDBBNTIyREMgLyog
VGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDI5RkFGNEI1MTk1QUIwODkwMEE1MjJEQyAvKiBUZXh0VW5kb0lu
c2VydGlvbk1hcmt1cE1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTJCMzY1Qzg0MTUyNTExOUUwMDkxRDI3QiAvKiBSZW5kZXJTVkdFbGxpcHNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQjQyMzVB
MDE1MjUwRjYwMDBEQkJDRDggLyogUmVuZGVyU1ZHRWxsaXBzZS5oICovOyB9OwpAQCAtNjU4MSw2
ICs2NTg0LDcgQEAKIAkJMjhEQjlCQzcyMDIwRUEwNDAwRTU0QTA3IC8qIFBlcmZvcm1hbmNlU2Vy
dmVyVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZVNlcnZlclRp
bWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5MTRFMzA1MUNBQjVBNDQw
MDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5MTRFMzA2MUNBQjVBNDQwMDQ5OTY2RiAvKiBBY2Nlc3Np
YmlsaXR5QXR0YWNobWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nl
c3NpYmlsaXR5QXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOTM2
QkY1QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTI5M0VBRTFFMTM1NkIyRkUwMDY3QUNGOSAvKiBSdW50aW1lQXBw
bGljYXRpb25DaGVja3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5NDg5
RkM1MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ5ODY4MTE5NTM0MTk0MDA3MkQyQkQgLyogVGV4
dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTY2MjgsNiArNjYzMiwxMCBAQAogCQkyOUE4MTI0NzBGQkI5Q0E5MDA1
MTAyOTMgLyogQVhPYmplY3RDYWNoZU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IEFYT2JqZWN0Q2FjaGVNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTI5QUNCMjExMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVj
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5TW9ja09i
amVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFDQjIxMzE0M0U3NDk4MDA2
QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkyOUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRl
ZFRyZWVDYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBWElzb2xhdGVkVHJlZUNhY2hlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJDMjFBQjlFRUIwMDg2OTI4MyAvKiBBWElz
b2xhdGVkVHJlZUNhY2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFYSXNvbGF0ZWRUcmVlQ2Fj
aGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUFFMjEzMzIxQUJBNDhBMDA4
NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFYSXNvbGF0ZWRU
cmVlTm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUFFMjEzNDIxQUJBNDhB
MDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFY
SXNvbGF0ZWRUcmVlTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RDdC
Q0Y1MTQ0NEFGNTgwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RDdCQ0Y5MTQ0NEFGN0QwMDcwNjE5
QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyOUUwNEEyN0JFRDJGODFGOThFOTAyMkIgLyogSlNCZWZvcmVVbmxvYWRFdmVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JlZm9yZVVubG9hZEV2ZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzI1Myw2ICsxNzI2MSw3IEBACiAJCTI5
QTgxMjA0MEZCQjlCNDEwMDUxMDI5MyAvKiBhY2Nlc3NpYmlsaXR5ICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkyOUFFMjEyOTIxQUI5RUNCMDA4NjkyODMg
LyogaXNvbGF0ZWR0cmVlICovLAogCQkJCUFBQTcyOEVGMTZEMUQ4QkMwMEQzQkJDNiAvKiBpb3Mg
Ki8sCiAJCQkJMjlBODEyMDUwRkJCOUI1MjAwNTEwMjkzIC8qIG1hYyAqLywKIAkJCQkyOTgxQ0E5
RDEzMTgyMkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlkLmNwcCAqLywKQEAgLTE3
MjkxLDYgKzE3MzAwLDcgQEAKIAkJCQkyOTg1NzA5MzE1Q0M1MzJEMDA2MzU1Q0QgLyogQWNjZXNz
aWJpbGl0eU5vZGVPYmplY3QuaCAqLywKIAkJCQkyOTgxQ0FBNTEzMTgyMkVDMDBEMTJGMkEgLyog
QWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgKi8sCiAJCQkJMjlBODEyMTgwRkJCOUMxRDAwNTEwMjkz
IC8qIEFjY2Vzc2liaWxpdHlPYmplY3QuaCAqLywKKwkJCQkyOTM2QkY1QTIxRDY5OTlFMDA0QThG
QzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oICovLAogCQkJCUE0MDlDOTgyMTE2
RDBEREQwMDcxOTdCRCAvKiBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IuY3BwICovLAog
CQkJCUE0MDlDOTgzMTE2RDBEREQwMDcxOTdCRCAvKiBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRp
Y2F0b3IuaCAqLywKIAkJCQkyOTgxQ0FBNjEzMTgyMkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAgKi8sCkBAIC0xNzM0Niw2ICsxNzM1NiwxNyBAQAogCQkJcGF0aCA9
IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTI5QUUyMTI5MjFBQjlF
Q0IwMDg2OTI4MyAvKiBpc29sYXRlZHRyZWUgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJ
CWNoaWxkcmVuID0gKAorCQkJCTI5QUUyMTJCMjFBQjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVk
VHJlZUNhY2hlLmggKi8sCisJCQkJMjlBRTIxMkMyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0
ZWRUcmVlQ2FjaGUuY3BwICovLAorCQkJCTI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElz
b2xhdGVkVHJlZU5vZGUuaCAqLywKKwkJCQkyOUFFMjEzNDIxQUJBNDhBMDA4NjkyODMgLyogQVhJ
c29sYXRlZFRyZWVOb2RlLmNwcCAqLywKKwkJCSk7CisJCQlwYXRoID0gaXNvbGF0ZWR0cmVlOwor
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMkQwNjIxNDYxREE2MzlFQzAwQTdG
QjI2IC8qIGxlZ2FjeSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAo
CkBAIC0yOTk4NCw2ICszMDAwNSw3IEBACiAJCQkJMUFFMkFBOTgwQTFDREQyRDAwQjQyQjI1IC8q
IEpTSFRNTEltYWdlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTdFOTcwQTFBODNF
MzAwN0ZCOEM1IC8qIEpTSFRNTElucHV0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM2
QjA5NTYxRjVGMzREOTAwM0MzNzAyIC8qIEpTSFRNTElucHV0RWxlbWVudEVudHJpZXNBUEkuaCBp
biBIZWFkZXJzICovLAorCQkJCTI5MzZCRjVDMjFENjlFNEIwMDRBOEZDOSAvKiBBY2Nlc3NpYmls
aXR5T2JqZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNjE0OEE3OTEyRTQxRTNC
MDA0NEE3ODQgLyogSlNIVE1MS2V5Z2VuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFF
MkFCMjIwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTExhYmVsRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUFFMkFCMjQwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTExlZ2VuZEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLApAQCAtMzE0MzgsNiArMzE0NjAsNyBAQAogCQkJCTUxNDA1Qzg5MTkw
QjAxNDQwMDc1NEY5NCAvKiBTZWxlY3Rpb25SZWN0R2F0aGVyZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUU0NEI0QkI0MTQxNjUwRDcwMDJCMUQ4QiAvKiBTZWxlY3RvckNoZWNrZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQzMkQzRkU4MThBODY1ODQwMEQ3REMwMyAvKiBTZWxlY3RvckNoZWNrZXJU
ZXN0RnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUFFMjEzNTIxQUJBNDhBMDA4Njky
ODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkI5OTk5NzE4
MDRENTQyMDBEMDExMjEgLyogU2VsZWN0b3JDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDE1MDcxNTgxNjg1MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0MzEwN0JFMjE4Q0MxOURFMDBDQzE4RTggLyogU2VsZWN0b3JQc2V1ZG9UeXBlTWFw
LmggaW4gSGVhZGVycyAqLywKQEAgLTMyMzczLDYgKzMyMzk2LDcgQEAKIAkJCQk5NzdFMkUwRjEy
RjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBNTQxNkZFNjE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0E1NTE1RjUxOTE4MzBBMzAwOTY4N0QyIC8qIFlvdVR1YmVQ
bHVnaW5SZXBsYWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMkQyMUFCOUVFQjAw
ODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENTM3
MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAJKHJldmlzaW9uIDI0
MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDggQEAKIAogI2luY2x1ZGUgIkFYT2JqZWN0Q2Fj
aGUuaCIKIAorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIKKyNpbmNsdWRlICJBWElz
b2xhdGVkVHJlZU5vZGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaCIKICNp
bmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJp
bGl0eUFSSUFHcmlkUm93LmgiCkBAIC03MjMsNyArNzI1LDEwIEBACiAgICAgb2JqZWN0LT5zZXRB
WE9iamVjdElEKDApOwogCiAgICAgbV9pZHNJblVzZS5yZW1vdmUoYXhJRCk7Ci0KKyNpZiBFTkFC
TEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6
OmNhY2hlRm9yUGFnZShtX2RvY3VtZW50LnBhZ2UoKSktPnJlbW92ZU5vZGUoYXhJRCk7CisjZW5k
aWYKKyAgICAKICAgICBBU1NFUlQobV9vYmplY3RzLnNpemUoKSA+PSBtX2lkc0luVXNlLnNpemUo
KSk7CiB9CiAgICAgCkBAIC0yOTA3LDYgKzI5MTIsNDAgQEAKICAgICBtX2RlZmVycmVkRm9jdXNl
ZE5vZGVDaGFuZ2UuY2xlYXIoKTsKIH0KICAgICAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9J
U09MQVRFRF9UUkVFKQorUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gQVhPYmplY3RDYWNoZTo6
Y3JlYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWUoQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0
LCBBWElEIHBhcmVudElELCBBWElzb2xhdGVkVHJlZUNhY2hlJiBjYWNoZSwgVmVjdG9yPFJlZlB0
cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYgbm9kZXMpCit7CisgICAgUmVmUHRyPEFYSXNvbGF0ZWRU
cmVlTm9kZT4gaXNvbGF0ZWRUcmVlTm9kZSA9IEFYSXNvbGF0ZWRUcmVlTm9kZTo6Y3JlYXRlKG9i
amVjdCk7CisgICAgbm9kZXMuYXBwZW5kKGlzb2xhdGVkVHJlZU5vZGUpOworICAgIAorICAgIFJl
ZlB0cjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4gcmVsYXRpb25zaGlwID0gQVhJc29sYXRl
ZFRyZWVSZWxhdGlvbnNoaXA6OmNyZWF0ZSgpOworICAgIHJlbGF0aW9uc2hpcC0+c2V0UGFyZW50
KHBhcmVudElEKTsKKyAgICBvYmplY3Quc2V0SW5pdGlhbGl6ZWRJc29sYXRlZFRyZWVOb2RlKHRy
dWUpOworICAgIGFzc29jaWF0ZUlzb2xhdGVkVHJlZU5vZGUob2JqZWN0LCAqaXNvbGF0ZWRUcmVl
Tm9kZSwgY2FjaGUuY2FjaGVJZGVudGlmaWVyKCkpOworICAgIAorICAgIGZvciAoYXV0byBjaGls
ZCA6IG9iamVjdC5jaGlsZHJlbigpKSB7CisgICAgICAgIGF1dG8gc3RhdGljQ2hpbGQgPSBjcmVh
dGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZSgqY2hpbGQsIGlzb2xhdGVkVHJlZU5vZGUtPmlkZW50
aWZpZXIoKSwgY2FjaGUsIG5vZGVzKTsKKyAgICAgICAgcmVsYXRpb25zaGlwLT5jaGlsZHJlbigp
LmFwcGVuZChzdGF0aWNDaGlsZC0+aWRlbnRpZmllcigpKTsKKyAgICB9CisgICAgCisgICAgaXNv
bGF0ZWRUcmVlTm9kZS0+c2V0UmVsYXRpb25zaGlwKHJlbGF0aW9uc2hpcCk7CisgICAgcmV0dXJu
IGlzb2xhdGVkVHJlZU5vZGU7Cit9CisgICAgCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmdlbmVyYXRl
U3RhdGljQWNjZXNzaWJpbGl0eVRyZWVJZk5lZWRlZCgpCit7CisgICAgaWYgKHJvb3RPYmplY3Qo
KS0+aW5pdGlhbGl6ZWRJc29sYXRlZFRyZWVOb2RlKCkpCisgICAgICAgIHJldHVybjsKKyAgICAK
KyAgICBSZWZQdHI8QVhJc29sYXRlZFRyZWVDYWNoZT4gY2FjaGUgPSBBWElzb2xhdGVkVHJlZUNh
Y2hlOjpjYWNoZUZvclBhZ2UobV9kb2N1bWVudC5wYWdlKCkpOworICAgIFZlY3RvcjxSZWZQdHI8
QVhJc29sYXRlZFRyZWVOb2RlPj4gbm9kZXM7CisgICAgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9k
ZT4gcm9vdCA9IGNyZWF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlKCpyb290T2JqZWN0KCksIDAs
ICpjYWNoZSwgbm9kZXMpOworICAgIHJvb3QtPnNldElzUm9vdE5vZGUodHJ1ZSk7CisgICAgCisg
ICAgY2FjaGUtPmFwcGVuZE5vZGVDaGFuZ2VzKG5vZGVzKTsKK30KKyNlbmRpZgorICAgIAogdm9p
ZCBBWE9iamVjdENhY2hlOjpkZWZlclJlY29tcHV0ZUlzSWdub3JlZElmTmVlZGVkKEVsZW1lbnQq
IGVsZW1lbnQpCiB7CiAgICAgaWYgKCFub2RlQW5kUmVuZGVyZXJBcmVWYWxpZChlbGVtZW50KSkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCShy
ZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOSBAQAogCiAjcHJhZ21hIG9uY2UK
IAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisjaW5jbHVkZSAiQVhJ
c29sYXRlZFRyZWVDYWNoZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiQVhUZXh0U3RhdGVDaGFuZ2VJ
bnRlbnQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiUmFu
Z2UuaCIKQEAgLTM5LDYgKzQyLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK2NsYXNzIEFYSXNvbGF0ZWRUcmVlTm9k
ZTsKKyNlbmRpZgogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MQXJlYUVsZW1lbnQ7CiBjbGFz
cyBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDsKQEAgLTE4MCw2ICsxODYsMTMgQEAKICAgICB2
b2lkIGRlZmVyQXR0cmlidXRlQ2hhbmdlSWZOZWVkZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIEVs
ZW1lbnQqKTsKICAgICB2b2lkIHJlY29tcHV0ZUlzSWdub3JlZChSZW5kZXJPYmplY3QqIHJlbmRl
cmVyKTsKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlSWZOZWVkZWQo
KTsKKworICAgIHZvaWQgYXNzb2NpYXRlSXNvbGF0ZWRUcmVlTm9kZShBY2Nlc3NpYmlsaXR5T2Jq
ZWN0JiwgQVhJc29sYXRlZFRyZWVOb2RlJiwgQVhJc29sYXRlZENhY2hlSUQpOworICAgIFJlZlB0
cjxBWElzb2xhdGVkVHJlZU5vZGU+IGNyZWF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlKEFjY2Vz
c2liaWxpdHlPYmplY3QmLCBBWElELCBBWElzb2xhdGVkVHJlZUNhY2hlJiwgVmVjdG9yPFJlZlB0
cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYpOworI2VuZGlmCisgICAgCiAjaWYgSEFWRShBQ0NFU1NJ
QklMSVRZKQogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGVuYWJsZUFjY2Vzc2liaWxp
dHkoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBkaXNhYmxlQWNjZXNzaWJpbGl0
eSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmgJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsy
OSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdElu
dGVyZmFjZS5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgpAQCAtODksMTU3ICs5
MCw2IEBACiBjbGFzcyBTY3JvbGxWaWV3OwogY2xhc3MgV2lkZ2V0OwogCi10eXBlZGVmIHVuc2ln
bmVkIEFYSUQ7Ci0KLWVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUgewotICAgIEFubm90YXRp
b24gPSAxLAotICAgIEFwcGxpY2F0aW9uLAotICAgIEFwcGxpY2F0aW9uQWxlcnQsCi0gICAgQXBw
bGljYXRpb25BbGVydERpYWxvZywKLSAgICBBcHBsaWNhdGlvbkRpYWxvZywKLSAgICBBcHBsaWNh
dGlvbkdyb3VwLAotICAgIEFwcGxpY2F0aW9uTG9nLAotICAgIEFwcGxpY2F0aW9uTWFycXVlZSwK
LSAgICBBcHBsaWNhdGlvblN0YXR1cywKLSAgICBBcHBsaWNhdGlvblRleHRHcm91cCwKLSAgICBB
cHBsaWNhdGlvblRpbWVyLAotICAgIEF1ZGlvLAotICAgIEJsb2NrcXVvdGUsCi0gICAgQnJvd3Nl
ciwKLSAgICBCdXN5SW5kaWNhdG9yLAotICAgIEJ1dHRvbiwKLSAgICBDYW52YXMsCi0gICAgQ2Fw
dGlvbiwKLSAgICBDZWxsLAotICAgIENoZWNrQm94LAotICAgIENvbG9yV2VsbCwKLSAgICBDb2x1
bW4sCi0gICAgQ29sdW1uSGVhZGVyLAotICAgIENvbWJvQm94LAotICAgIERlZmluaXRpb24sCi0g
ICAgRGVzY3JpcHRpb25MaXN0LAotICAgIERlc2NyaXB0aW9uTGlzdFRlcm0sCi0gICAgRGVzY3Jp
cHRpb25MaXN0RGV0YWlsLAotICAgIERldGFpbHMsCi0gICAgRGlyZWN0b3J5LAotICAgIERpc2Ns
b3N1cmVUcmlhbmdsZSwKLSAgICBEaXYsCi0gICAgRG9jdW1lbnQsCi0gICAgRG9jdW1lbnRBcnRp
Y2xlLAotICAgIERvY3VtZW50TWF0aCwKLSAgICBEb2N1bWVudE5vdGUsCi0gICAgRHJhd2VyLAot
ICAgIEVkaXRhYmxlVGV4dCwKLSAgICBGZWVkLAotICAgIEZpZ3VyZSwKLSAgICBGb290ZXIsCi0g
ICAgRm9vdG5vdGUsCi0gICAgRm9ybSwKLSAgICBHcmFwaGljc0RvY3VtZW50LAotICAgIEdyYXBo
aWNzT2JqZWN0LAotICAgIEdyYXBoaWNzU3ltYm9sLAotICAgIEdyaWQsCi0gICAgR3JpZENlbGws
Ci0gICAgR3JvdXAsCi0gICAgR3Jvd0FyZWEsCi0gICAgSGVhZGluZywKLSAgICBIZWxwVGFnLAot
ICAgIEhvcml6b250YWxSdWxlLAotICAgIElnbm9yZWQsCi0gICAgSW5saW5lLAotICAgIEltYWdl
LAotICAgIEltYWdlTWFwLAotICAgIEltYWdlTWFwTGluaywKLSAgICBJbmNyZW1lbnRvciwKLSAg
ICBMYWJlbCwKLSAgICBMYW5kbWFya0Jhbm5lciwKLSAgICBMYW5kbWFya0NvbXBsZW1lbnRhcnks
Ci0gICAgTGFuZG1hcmtDb250ZW50SW5mbywKLSAgICBMYW5kbWFya0RvY1JlZ2lvbiwKLSAgICBM
YW5kbWFya01haW4sCi0gICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAotICAgIExhbmRtYXJrUmVnaW9u
LAotICAgIExhbmRtYXJrU2VhcmNoLAotICAgIExlZ2VuZCwKLSAgICBMaW5rLAotICAgIExpc3Qs
Ci0gICAgTGlzdEJveCwKLSAgICBMaXN0Qm94T3B0aW9uLAotICAgIExpc3RJdGVtLAotICAgIExp
c3RNYXJrZXIsCi0gICAgTWFyaywKLSAgICBNYXRoRWxlbWVudCwKLSAgICBNYXR0ZSwKLSAgICBN
ZW51LAotICAgIE1lbnVCYXIsCi0gICAgTWVudUJ1dHRvbiwKLSAgICBNZW51SXRlbSwKLSAgICBN
ZW51SXRlbUNoZWNrYm94LAotICAgIE1lbnVJdGVtUmFkaW8sCi0gICAgTWVudUxpc3RQb3B1cCwK
LSAgICBNZW51TGlzdE9wdGlvbiwKLSAgICBPdXRsaW5lLAotICAgIFBhcmFncmFwaCwKLSAgICBQ
b3BVcEJ1dHRvbiwKLSAgICBQcmUsCi0gICAgUHJlc2VudGF0aW9uYWwsCi0gICAgUHJvZ3Jlc3NJ
bmRpY2F0b3IsCi0gICAgUmFkaW9CdXR0b24sCi0gICAgUmFkaW9Hcm91cCwKLSAgICBSb3dIZWFk
ZXIsCi0gICAgUm93LAotICAgIFJvd0dyb3VwLAotICAgIFJ1YnlCYXNlLAotICAgIFJ1YnlCbG9j
aywKLSAgICBSdWJ5SW5saW5lLAotICAgIFJ1YnlSdW4sCi0gICAgUnVieVRleHQsCi0gICAgUnVs
ZXIsCi0gICAgUnVsZXJNYXJrZXIsCi0gICAgU2Nyb2xsQXJlYSwKLSAgICBTY3JvbGxCYXIsCi0g
ICAgU2VhcmNoRmllbGQsCi0gICAgU2hlZXQsCi0gICAgU2xpZGVyLAotICAgIFNsaWRlclRodW1i
LAotICAgIFNwaW5CdXR0b24sCi0gICAgU3BpbkJ1dHRvblBhcnQsCi0gICAgU3BsaXRHcm91cCwK
LSAgICBTcGxpdHRlciwKLSAgICBTdGF0aWNUZXh0LAotICAgIFN1bW1hcnksCi0gICAgU3dpdGNo
LAotICAgIFN5c3RlbVdpZGUsCi0gICAgU1ZHUm9vdCwKLSAgICBTVkdUZXh0LAotICAgIFNWR1RT
cGFuLAotICAgIFNWR1RleHRQYXRoLAotICAgIFRhYkdyb3VwLAotICAgIFRhYkxpc3QsCi0gICAg
VGFiUGFuZWwsCi0gICAgVGFiLAotICAgIFRhYmxlLAotICAgIFRhYmxlSGVhZGVyQ29udGFpbmVy
LAotICAgIFRleHRBcmVhLAotICAgIFRleHRHcm91cCwKLSAgICBUZXJtLAotICAgIFRpbWUsCi0g
ICAgVHJlZSwKLSAgICBUcmVlR3JpZCwKLSAgICBUcmVlSXRlbSwKLSAgICBUZXh0RmllbGQsCi0g
ICAgVG9nZ2xlQnV0dG9uLAotICAgIFRvb2xiYXIsCi0gICAgVW5rbm93biwKLSAgICBVc2VySW50
ZXJmYWNlVG9vbHRpcCwKLSAgICBWYWx1ZUluZGljYXRvciwKLSAgICBWaWRlbywKLSAgICBXZWJB
cHBsaWNhdGlvbiwKLSAgICBXZWJBcmVhLAotICAgIFdlYkNvcmVMaW5rLAotICAgIFdpbmRvdywK
LX07Ci0KIGVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVRleHRTb3VyY2UgewogICAgIEFsdGVybmF0
aXZlLAogICAgIENoaWxkcmVuLApAQCAtNDkxLDcgKzM0MSw3IEBACiAgICAgCiBib29sIG5vZGVI
YXNQcmVzZW50YXRpb25Sb2xlKE5vZGUqKTsKICAgICAKLWNsYXNzIEFjY2Vzc2liaWxpdHlPYmpl
Y3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0PiB7CitjbGFzcyBBY2Nl
c3NpYmlsaXR5T2JqZWN0IDogcHVibGljIFJlZkNvdW50ZWQ8QWNjZXNzaWJpbGl0eU9iamVjdD4s
IHB1YmxpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKIHByb3RlY3RlZDoKICAgICBB
Y2Nlc3NpYmlsaXR5T2JqZWN0KCkgPSBkZWZhdWx0OwogICAgIApAQCAtMTE1MCw2ICsxMDAwLDEx
IEBACiAgICAgdm9pZCBjbGVhcklzSWdub3JlZEZyb21QYXJlbnREYXRhKCkgeyBtX2lzSWdub3Jl
ZEZyb21QYXJlbnREYXRhID0gQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhKCk7
IH0KICAgICB2b2lkIHNldElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQoQWNjZXNzaWJp
bGl0eU9iamVjdCopOwogICAgIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RS
RUUpCisgICAgdm9pZCBzZXRJbml0aWFsaXplZElzb2xhdGVkVHJlZU5vZGUoYm9vbCBpbml0aWFs
aXplZCkgeyBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZCA9IGluaXRpYWxpemVkOyB9Cisg
ICAgYm9vbCBpbml0aWFsaXplZElzb2xhdGVkVHJlZU5vZGUoKSBjb25zdCB7IHJldHVybiBtX2lz
b2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZDsgfQorI2VuZGlmCisgICAgCiBwcm90ZWN0ZWQ6CiAg
ICAgQVhJRCBtX2lkIHsgMCB9OwogICAgIEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciBtX2No
aWxkcmVuOwpAQCAtMTE1OSw3ICsxMDE0LDEwIEBACiAgICAgQWNjZXNzaWJpbGl0eUlzSWdub3Jl
ZEZyb21QYXJlbnREYXRhIG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEgeyB9OwogICAgIGJvb2wg
bV9jaGlsZHJlbkRpcnR5IHsgZmFsc2UgfTsKICAgICBib29sIG1fc3VidHJlZURpcnR5IHsgZmFs
c2UgfTsKLQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgYm9v
bCBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZCB7IGZhbHNlIH07CisjZW5kaWYKKyAgICAK
ICAgICB2b2lkIHNldElzSWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlJc0lnbm9y
ZWRGcm9tUGFyZW50RGF0YSYgZGF0YSkgeyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhID0gZGF0
YTsgfQogCiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkg
Y29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJKG5vbmV4
aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0SW50ZXJmYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOTAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit0eXBlZGVmIHVuc2ln
bmVkIEFYSUQ7CisKK2VudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUgeworICAgIEFubm90YXRp
b24gPSAxLAorICAgIEFwcGxpY2F0aW9uLAorICAgIEFwcGxpY2F0aW9uQWxlcnQsCisgICAgQXBw
bGljYXRpb25BbGVydERpYWxvZywKKyAgICBBcHBsaWNhdGlvbkRpYWxvZywKKyAgICBBcHBsaWNh
dGlvbkdyb3VwLAorICAgIEFwcGxpY2F0aW9uTG9nLAorICAgIEFwcGxpY2F0aW9uTWFycXVlZSwK
KyAgICBBcHBsaWNhdGlvblN0YXR1cywKKyAgICBBcHBsaWNhdGlvblRleHRHcm91cCwKKyAgICBB
cHBsaWNhdGlvblRpbWVyLAorICAgIEF1ZGlvLAorICAgIEJsb2NrcXVvdGUsCisgICAgQnJvd3Nl
ciwKKyAgICBCdXN5SW5kaWNhdG9yLAorICAgIEJ1dHRvbiwKKyAgICBDYW52YXMsCisgICAgQ2Fw
dGlvbiwKKyAgICBDZWxsLAorICAgIENoZWNrQm94LAorICAgIENvbG9yV2VsbCwKKyAgICBDb2x1
bW4sCisgICAgQ29sdW1uSGVhZGVyLAorICAgIENvbWJvQm94LAorICAgIERlZmluaXRpb24sCisg
ICAgRGVzY3JpcHRpb25MaXN0LAorICAgIERlc2NyaXB0aW9uTGlzdFRlcm0sCisgICAgRGVzY3Jp
cHRpb25MaXN0RGV0YWlsLAorICAgIERldGFpbHMsCisgICAgRGlyZWN0b3J5LAorICAgIERpc2Ns
b3N1cmVUcmlhbmdsZSwKKyAgICBEaXYsCisgICAgRG9jdW1lbnQsCisgICAgRG9jdW1lbnRBcnRp
Y2xlLAorICAgIERvY3VtZW50TWF0aCwKKyAgICBEb2N1bWVudE5vdGUsCisgICAgRHJhd2VyLAor
ICAgIEVkaXRhYmxlVGV4dCwKKyAgICBGZWVkLAorICAgIEZpZ3VyZSwKKyAgICBGb290ZXIsCisg
ICAgRm9vdG5vdGUsCisgICAgRm9ybSwKKyAgICBHcmFwaGljc0RvY3VtZW50LAorICAgIEdyYXBo
aWNzT2JqZWN0LAorICAgIEdyYXBoaWNzU3ltYm9sLAorICAgIEdyaWQsCisgICAgR3JpZENlbGws
CisgICAgR3JvdXAsCisgICAgR3Jvd0FyZWEsCisgICAgSGVhZGluZywKKyAgICBIZWxwVGFnLAor
ICAgIEhvcml6b250YWxSdWxlLAorICAgIElnbm9yZWQsCisgICAgSW5saW5lLAorICAgIEltYWdl
LAorICAgIEltYWdlTWFwLAorICAgIEltYWdlTWFwTGluaywKKyAgICBJbmNyZW1lbnRvciwKKyAg
ICBMYWJlbCwKKyAgICBMYW5kbWFya0Jhbm5lciwKKyAgICBMYW5kbWFya0NvbXBsZW1lbnRhcnks
CisgICAgTGFuZG1hcmtDb250ZW50SW5mbywKKyAgICBMYW5kbWFya0RvY1JlZ2lvbiwKKyAgICBM
YW5kbWFya01haW4sCisgICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAorICAgIExhbmRtYXJrUmVnaW9u
LAorICAgIExhbmRtYXJrU2VhcmNoLAorICAgIExlZ2VuZCwKKyAgICBMaW5rLAorICAgIExpc3Qs
CisgICAgTGlzdEJveCwKKyAgICBMaXN0Qm94T3B0aW9uLAorICAgIExpc3RJdGVtLAorICAgIExp
c3RNYXJrZXIsCisgICAgTWFyaywKKyAgICBNYXRoRWxlbWVudCwKKyAgICBNYXR0ZSwKKyAgICBN
ZW51LAorICAgIE1lbnVCYXIsCisgICAgTWVudUJ1dHRvbiwKKyAgICBNZW51SXRlbSwKKyAgICBN
ZW51SXRlbUNoZWNrYm94LAorICAgIE1lbnVJdGVtUmFkaW8sCisgICAgTWVudUxpc3RQb3B1cCwK
KyAgICBNZW51TGlzdE9wdGlvbiwKKyAgICBPdXRsaW5lLAorICAgIFBhcmFncmFwaCwKKyAgICBQ
b3BVcEJ1dHRvbiwKKyAgICBQcmUsCisgICAgUHJlc2VudGF0aW9uYWwsCisgICAgUHJvZ3Jlc3NJ
bmRpY2F0b3IsCisgICAgUmFkaW9CdXR0b24sCisgICAgUmFkaW9Hcm91cCwKKyAgICBSb3dIZWFk
ZXIsCisgICAgUm93LAorICAgIFJvd0dyb3VwLAorICAgIFJ1YnlCYXNlLAorICAgIFJ1YnlCbG9j
aywKKyAgICBSdWJ5SW5saW5lLAorICAgIFJ1YnlSdW4sCisgICAgUnVieVRleHQsCisgICAgUnVs
ZXIsCisgICAgUnVsZXJNYXJrZXIsCisgICAgU2Nyb2xsQXJlYSwKKyAgICBTY3JvbGxCYXIsCisg
ICAgU2VhcmNoRmllbGQsCisgICAgU2hlZXQsCisgICAgU2xpZGVyLAorICAgIFNsaWRlclRodW1i
LAorICAgIFNwaW5CdXR0b24sCisgICAgU3BpbkJ1dHRvblBhcnQsCisgICAgU3BsaXRHcm91cCwK
KyAgICBTcGxpdHRlciwKKyAgICBTdGF0aWNUZXh0LAorICAgIFN1bW1hcnksCisgICAgU3dpdGNo
LAorICAgIFN5c3RlbVdpZGUsCisgICAgU1ZHUm9vdCwKKyAgICBTVkdUZXh0LAorICAgIFNWR1RT
cGFuLAorICAgIFNWR1RleHRQYXRoLAorICAgIFRhYkdyb3VwLAorICAgIFRhYkxpc3QsCisgICAg
VGFiUGFuZWwsCisgICAgVGFiLAorICAgIFRhYmxlLAorICAgIFRhYmxlSGVhZGVyQ29udGFpbmVy
LAorICAgIFRleHRBcmVhLAorICAgIFRleHRHcm91cCwKKyAgICBUZXJtLAorICAgIFRpbWUsCisg
ICAgVHJlZSwKKyAgICBUcmVlR3JpZCwKKyAgICBUcmVlSXRlbSwKKyAgICBUZXh0RmllbGQsCisg
ICAgVG9nZ2xlQnV0dG9uLAorICAgIFRvb2xiYXIsCisgICAgVW5rbm93biwKKyAgICBVc2VySW50
ZXJmYWNlVG9vbHRpcCwKKyAgICBWYWx1ZUluZGljYXRvciwKKyAgICBWaWRlbywKKyAgICBXZWJB
cHBsaWNhdGlvbiwKKyAgICBXZWJBcmVhLAorICAgIFdlYkNvcmVMaW5rLAorICAgIFdpbmRvdywK
K307CisKK2NsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UgeworcHVibGljOgorICAg
IHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UoKSA9IGRlZmF1bHQ7CisKKyAg
ICB2aXJ0dWFsIGJvb2wgaXNNZWRpYUNvbnRyb2xMYWJlbCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0
dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFs
IGJvb2wgaXNBdHRhY2htZW50KCkgY29uc3QgPSAwOworfTsKKworfQpJbmRleDogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVDYWNoZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWVDYWNoZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVDYWNoZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIKKworI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5o
IgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorc3RhdGljIHVuc2lnbmVkIHNfY2FjaGVJRENvdW50
ID0gMDsKK0hhc2hNYXA8UGFnZSosIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4mIEFYSXNv
bGF0ZWRUcmVlQ2FjaGU6OnBhZ2VSb290TWFwKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8SGFzaE1hcDxQYWdlKiwgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+Pj4gbWFwOworICAg
IHJldHVybiBtYXA7Cit9CisKK0hhc2hNYXA8QVhJc29sYXRlZENhY2hlSUQsIFJlZlB0cjxBWElz
b2xhdGVkVHJlZUNhY2hlPj4mIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnRyZWVDYWNoZSgpCit7Cisg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8QVhJc29sYXRlZENhY2hlSUQsIFJlZlB0
cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4+IG1hcDsKKyAgICByZXR1cm4gbWFwOworfQorCitBWElz
b2xhdGVkVHJlZUNhY2hlOjpBWElzb2xhdGVkVHJlZUNhY2hlKCkKKyAgICA6IG1fY2FjaGVJRCgr
K3NfY2FjaGVJRENvdW50KQoreworfQorCitBWElzb2xhdGVkVHJlZUNhY2hlOjp+QVhJc29sYXRl
ZFRyZWVDYWNoZSgpID0gZGVmYXVsdDsKKworUmVmPEFYSXNvbGF0ZWRUcmVlQ2FjaGU+IEFYSXNv
bGF0ZWRUcmVlQ2FjaGU6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQVhJ
c29sYXRlZFRyZWVDYWNoZSgpKTsKK30KKyAgICAKK1JlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hl
PiBBWElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvcklEKEFYSXNvbGF0ZWRDYWNoZUlEIGNhY2hl
SUQpCit7CisgICAgcmV0dXJuIHRyZWVDYWNoZSgpLmdldChjYWNoZUlEKTsKK30KKworUmVmUHRy
PEFYSXNvbGF0ZWRUcmVlQ2FjaGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9yUGFnZShQ
YWdlKiBwYWdlKQoreworICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPiBjYWNoZSA9IHBh
Z2VSb290TWFwKCkuZ2V0KHBhZ2UpOworICAgIGlmICghY2FjaGUpIHsKKyAgICAgICAgY2FjaGUg
PSBBWElzb2xhdGVkVHJlZUNhY2hlOjpjcmVhdGUoKTsKKyAgICAgICAgcGFnZVJvb3RNYXAoKS5z
ZXQocGFnZSwgY2FjaGUpOworICAgICAgICB0cmVlQ2FjaGUoKS5zZXQoY2FjaGUtPmNhY2hlSWRl
bnRpZmllcigpLCBjYWNoZSk7CisgICAgfQorICAgIHJldHVybiBjYWNoZTsKK30KKyAgICAKK1Jl
ZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6Om5vZGVGb3JJRChB
WElEIGF4SUQpIGNvbnN0Cit7CisgICAgaWYgKCFheElEKQorICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICByZXR1cm4gbV9jYWNoZS5nZXQoYXhJRCk7Cit9CisKK1JlZlB0cjxBWElzb2xhdGVk
VHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OnJvb3ROb2RlKCkKK3sKKyAgICByZXR1cm4g
bm9kZUZvcklEKG1fcm9vdE5vZGVJRCk7Cit9CisKK3ZvaWQgQVhJc29sYXRlZFRyZWVDYWNoZTo6
cmVtb3ZlTm9kZShBWElEIGF4SUQpCit7CisgICAgbV9jaGFuZ2VMb2dMb2NrLmxvY2soKTsKKyAg
ICBtX3JlbW92ZUNoYW5nZUxvZy5hcHBlbmQoYXhJRCk7CisgICAgbV9jaGFuZ2VMb2dMb2NrLnVu
bG9jaygpOworfQorCit2b2lkIEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmFwcGVuZE5vZGVDaGFuZ2Vz
KFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4mIGxvZykKK3sKKyAgICBtX2NoYW5n
ZUxvZ0xvY2subG9jaygpOworICAgIG1fYXBwZW5kQ2hhbmdlTG9nLmFwcGVuZFZlY3Rvcihsb2cp
OworICAgIG1fY2hhbmdlTG9nTG9jay51bmxvY2soKTsKK30KKyAgICAKK3ZvaWQgQVhJc29sYXRl
ZFRyZWVDYWNoZTo6YXBwbHlDaGFuZ2VMb2coKQoreworICAgIFZlY3RvcjxSZWZQdHI8QVhJc29s
YXRlZFRyZWVOb2RlPj4gYXBwZW5kQ29weTsKKyAgICBWZWN0b3I8QVhJRD4gcmVtb3ZlQ29weTsK
KworICAgIG1fY2hhbmdlTG9nTG9jay5sb2NrKCk7CisgICAgYXBwZW5kQ29weSA9IG1fYXBwZW5k
Q2hhbmdlTG9nOworICAgIHJlbW92ZUNvcHkgPSBtX3JlbW92ZUNoYW5nZUxvZzsKKyAgICAKKyAg
ICBtX2FwcGVuZENoYW5nZUxvZy5jbGVhcigpOworICAgIG1fcmVtb3ZlQ2hhbmdlTG9nLmNsZWFy
KCk7CisgICAgbV9jaGFuZ2VMb2dMb2NrLnVubG9jaygpOworCisgICAgZm9yIChhdXRvIGl0ZW0g
OiBhcHBlbmRDb3B5KSB7CisgICAgICAgIG1fY2FjaGUuc2V0KGl0ZW0tPmlkZW50aWZpZXIoKSwg
aXRlbSk7CisgICAgICAgIGlmIChpdGVtLT5pc1Jvb3ROb2RlKCkpCisgICAgICAgICAgICBtX3Jv
b3ROb2RlSUQgPSBpdGVtLT5pZGVudGlmaWVyKCk7CisgICAgfQorCisgICAgZm9yIChhdXRvIGl0
ZW0gOiByZW1vdmVDb3B5KQorICAgICAgICBtX2NhY2hlLnJlbW92ZShpdGVtKTsKK30KKyAgICAK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xh
dGVkdHJlZS9BWElzb2xhdGVkVHJlZUNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVDYWNoZS5oCShub25l
eGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FY
SXNvbGF0ZWRUcmVlQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgzIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorCisjaW5jbHVkZSAiQVhJ
c29sYXRlZFRyZWVOb2RlLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGFnZTsKKwordHlwZWRlZiB1bnNpZ25lZCBBWElz
b2xhdGVkQ2FjaGVJRDsKKyAgICAKK2NsYXNzIEFYSXNvbGF0ZWRUcmVlQ2FjaGUgOiBwdWJsaWMg
VGhyZWFkU2FmZVJlZkNvdW50ZWQ8QVhJc29sYXRlZFRyZWVDYWNoZT4geworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEFYSXNvbGF0ZWRUcmVlQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKKworcHVibGljOgorICAgIHN0YXRpYyBSZWY8QVhJc29sYXRlZFRyZWVDYWNoZT4gY3JlYXRl
KCk7CisgICAgdmlydHVhbCB+QVhJc29sYXRlZFRyZWVDYWNoZSgpOworCisgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPiBjYWNoZUZvclBhZ2UoUGFn
ZSopOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8QVhJc29sYXRlZFRyZWVDYWNo
ZT4gY2FjaGVGb3JJRChBWElzb2xhdGVkQ2FjaGVJRCk7CisKKyAgICBXRUJDT1JFX0VYUE9SVCBS
ZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiByb290Tm9kZSgpOworICAgIFJlZlB0cjxBWElzb2xh
dGVkVHJlZU5vZGU+IG5vZGVGb3JJRChBWElEKSBjb25zdDsKKworICAgIC8vIENhbGwgb24gbWFp
biB0aHJlYWQKKyAgICB2b2lkIGFwcGVuZE5vZGVDaGFuZ2VzKFZlY3RvcjxSZWZQdHI8QVhJc29s
YXRlZFRyZWVOb2RlPj4mKTsKKyAgICB2b2lkIHJlbW92ZU5vZGUoQVhJRCk7CisKKyAgICAvLyBD
YWxsIG9uIEFYIHRocmVhZAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHlDaGFuZ2VMb2co
KTsKKyAgICAKKyAgICBBWElzb2xhdGVkQ2FjaGVJRCBjYWNoZUlkZW50aWZpZXIoKSBjb25zdCB7
IHJldHVybiBtX2NhY2hlSUQ7IH0KKyAgICAKK3ByaXZhdGU6CisgICAgQVhJc29sYXRlZFRyZWVD
YWNoZSgpOworCisgICAgc3RhdGljIEhhc2hNYXA8UGFnZSosIFJlZlB0cjxBWElzb2xhdGVkVHJl
ZUNhY2hlPj4mIHBhZ2VSb290TWFwKCk7CisgICAgc3RhdGljIEhhc2hNYXA8QVhJc29sYXRlZENh
Y2hlSUQsIFJlZlB0cjxBWElzb2xhdGVkVHJlZUNhY2hlPj4mIHRyZWVDYWNoZSgpOworICAgIAor
ICAgIC8vIE9ubHkgYWNjZXNzIG9uIEFYIHRocmVhZCByZXF1ZXN0aW5nIGRhdGEuCisgICAgSGFz
aE1hcDxBWElELCBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbV9jYWNoZTsKKyAgICAKKyAg
ICAvLyBXcml0dGVuIHRvIGJ5IG1haW4gdGhyZWFkIHVuZGVyIGxvY2ssIGFjY2Vzc2VkIGFuZCBh
cHBsaWVkIGJ5IEFYIHRocmVhZC4KKyAgICBWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9k
ZT4+IG1fYXBwZW5kQ2hhbmdlTG9nOworICAgIFZlY3RvcjxBWElEPiBtX3JlbW92ZUNoYW5nZUxv
ZzsKKyAgICBMb2NrIG1fY2hhbmdlTG9nTG9jazsKKworICAgIEFYSXNvbGF0ZWRDYWNoZUlEIG1f
Y2FjaGVJRDsKKyAgICBBWElEIG1fcm9vdE5vZGVJRDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xh
dGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5jcHAJKG5v
bmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWVOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExOCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCisKKyNp
bmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
QVhJc29sYXRlZFRyZWVOb2RlOjpBWElzb2xhdGVkVHJlZU5vZGUoY29uc3QgQWNjZXNzaWJpbGl0
eU9iamVjdCYgb2JqZWN0KQorICAgIDogbV9pZGVudGlmaWVyKG9iamVjdC5heE9iamVjdElEKCkp
CisgICAgLCBtX3JlbGF0aW9uc2hpcChudWxscHRyKQoreworICAgIGluaXRpYWxpemVBdHRyaWJ1
dGVEYXRhKG9iamVjdCk7Cit9CisKK1JlZjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRU
cmVlTm9kZTo6Y3JlYXRlKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QmIG9iamVjdCkKK3sKKyAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZU5vZGUob2JqZWN0KSk7Cit9Cisg
ICAgCitBWElzb2xhdGVkVHJlZU5vZGU6On5BWElzb2xhdGVkVHJlZU5vZGUoKSA9IGRlZmF1bHQ7
CisKK3ZvaWQgQVhJc29sYXRlZFRyZWVOb2RlOjppbml0aWFsaXplQXR0cmlidXRlRGF0YShjb25z
dCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCit7CisgICAgc2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWU6OlJvbGVWYWx1ZSwgc3RhdGljX2Nhc3Q8aW50PihvYmplY3Qucm9sZVZhbHVlKCkp
KTsKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNBdHRhY2htZW50LCBvYmplY3Qu
aXNBdHRhY2htZW50KCkpOworICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpJc01lZGlh
Q29udHJvbExhYmVsLCBvYmplY3QuaXNNZWRpYUNvbnRyb2xMYWJlbCgpKTsKK30KKyAgICAKK3Zv
aWQgQVhJc29sYXRlZFRyZWVOb2RlOjpzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0
eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCYmIHZhbHVlLCBib29sIHNob3VsZFJlbW92ZSkK
K3sKKyAgICBpZiAoc2hvdWxkUmVtb3ZlKQorICAgICAgICBtX2F0dHJpYnV0ZU1hcC5yZW1vdmUo
cHJvcGVydHlOYW1lKTsKKyAgICBlbHNlCisgICAgICAgIG1fYXR0cmlidXRlTWFwLnNldChwcm9w
ZXJ0eU5hbWUsIHZhbHVlKTsKK30KKyAgICAKK2RvdWJsZSBBWElzb2xhdGVkVHJlZU5vZGU6OmRv
dWJsZUF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkgY29uc3QKK3sK
KyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5TmFtZSk7CisgICAg
cmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAoZG91YmxlJiB0eXBlZFZhbHVlKSB7Cisg
ICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAgICAgICAg
cmV0dXJuIDAuMDsKKyAgICB9KTsKK30KKwordW5zaWduZWQgQVhJc29sYXRlZFRyZWVOb2RlOjp1
bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkgY29uc3QK
K3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5TmFtZSk7Cisg
ICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsIFsmXSAodW5zaWduZWQmIHR5cGVkVmFsdWUp
IHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikgeworICAg
ICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKworYm9vbCBBWElzb2xhdGVkVHJlZU5vZGU6OmJv
b2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7Cisg
ICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJl
dHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGJvb2wmIHR5cGVkVmFsdWUpIHsKKyAgICAg
ICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfSk7Cit9CisKK2NvbnN0IFN0cmluZyYgQVhJc29sYXRlZFRyZWVOb2Rl
OjpzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0
Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOwor
ICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKFN0cmluZyYgdHlwZWRWYWx1ZSkg
eworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7CisgICAg
ICAgIHJldHVybiBudWxsQXRvbSgpOworICAgIH0pOworfQorCitpbnQgQVhJc29sYXRlZFRyZWVO
b2RlOjppbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0
Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOwor
ICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGludCYgdHlwZWRWYWx1ZSkgewor
ICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7CisgICAgICAg
IHJldHVybiAwOworICAgIH0pOworfQorCisjcHJhZ21hIG1hcmsgLSBPdmVycmlkZXMKKyAgICAK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgJKG5vbmV4
aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJ
c29sYXRlZFRyZWVOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNTQgQEAKKy8qCisq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorCisjaW5jbHVkZSAiQWNj
ZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Cisj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5o
PgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKKyNpZiBQTEFURk9STShDT0NPQSkKK09CSkNfQ0xBU1Mg
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI7CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworCitjbGFzcyBBWElzb2xhdGVkVHJl
ZVJlbGF0aW9uc2hpcCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxBWElzb2xhdGVkVHJl
ZVJlbGF0aW9uc2hpcD4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8QVhJc29sYXRlZFRyZWVS
ZWxhdGlvbnNoaXA+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQVhJc29sYXRlZFRy
ZWVSZWxhdGlvbnNoaXAoKSk7IH0KKyAgICB2aXJ0dWFsIH5BWElzb2xhdGVkVHJlZVJlbGF0aW9u
c2hpcCgpID0gZGVmYXVsdDsKKworICAgIEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwKGNvbnN0
IEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwJiByZWxhdGlvbnNoaXApCisgICAgICAgIDogbV9w
YXJlbnQocmVsYXRpb25zaGlwLm1fcGFyZW50KQorICAgICAgICAsIG1fY2hpbGRyZW4ocmVsYXRp
b25zaGlwLm1fY2hpbGRyZW4pCisgICAgeworICAgIH0KKyAgICAKKyAgICBBWElzb2xhdGVkVHJl
ZVJlbGF0aW9uc2hpcCYgb3BlcmF0b3I9KGNvbnN0IEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlw
JiByZWxhdGlvbnNoaXApCisgICAgeworICAgICAgICBtX3BhcmVudCA9IHJlbGF0aW9uc2hpcC5t
X3BhcmVudDsKKyAgICAgICAgbV9jaGlsZHJlbiA9IHJlbGF0aW9uc2hpcC5tX2NoaWxkcmVuOwor
ICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgdm9pZCBzZXRQYXJlbnQoQVhJRCBw
YXJlbnQpIHsgbV9wYXJlbnQgPSBwYXJlbnQ7IH0KKyAgICBBWElEIHBhcmVudCgpIGNvbnN0IHsg
cmV0dXJuIG1fcGFyZW50OyB9CisKKyAgICBWZWN0b3I8QVhJRD4mIGNoaWxkcmVuKCkgeyByZXR1
cm4gbV9jaGlsZHJlbjsgfTsKKworcHJpdmF0ZToKKyAgICBBWElzb2xhdGVkVHJlZVJlbGF0aW9u
c2hpcCgpIHsgfQorCisgICAgQVhJRCBtX3BhcmVudDsKKyAgICBWZWN0b3I8QVhJRD4gbV9jaGls
ZHJlbjsKK307CisKKyAgICAKK2NsYXNzIEFYSXNvbGF0ZWRUcmVlTm9kZSBmaW5hbCA6IHB1Ymxp
YyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLCBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50
ZWQ8QVhJc29sYXRlZFRyZWVOb2RlPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPEFYSXNvbGF0ZWRU
cmVlTm9kZT4geworICAgIAorZW51bSBjbGFzcyBBWFByb3BlcnR5TmFtZSA6IHVpbnQxNl90IHsK
KyAgICBOb25lID0gMCwKKyAgICBSb2xlVmFsdWUgPSAxLAorICAgIElzQXR0YWNobWVudCwKKyAg
ICBJc01lZGlhQ29udHJvbExhYmVsLAorfTsKKworc3RydWN0IEFYUHJvcGVydHlIYXNoVHJhaXRz
IDogV1RGOjpTdHJvbmdFbnVtSGFzaFRyYWl0czxBWFByb3BlcnR5TmFtZT4geworICAgIHN0YXRp
YyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKKyAgICBzdGF0aWMgQVhQcm9w
ZXJ0eU5hbWUgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIEFYUHJvcGVydHlOYW1lOjpOb25lOyB9Owor
ICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShBWFByb3BlcnR5TmFtZSYgc2xv
dCkKKyAgICB7CisgICAgICAgIHNsb3QgPSBzdGF0aWNfY2FzdDxBWFByb3BlcnR5TmFtZT4oc3Rh
dGljX2Nhc3Q8aW50PihBWFByb3BlcnR5TmFtZTo6Tm9uZSkgLSAxKTsKKyAgICB9CisgICAgc3Rh
dGljIGJvb2wgaXNEZWxldGVkVmFsdWUoQVhQcm9wZXJ0eU5hbWUgdmFsdWUpCisgICAgeworICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSkgPT0gc3RhdGljX2Nhc3Q8aW50PihB
WFByb3BlcnR5TmFtZTo6Tm9uZSkgLSAxOworICAgIH0KK307CisKK3Byb3RlY3RlZDoKKyAgICBB
WElzb2xhdGVkVHJlZU5vZGUoKSA9IGRlZmF1bHQ7CisKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PEFYSXNvbGF0ZWRUcmVlTm9kZT4gY3JlYXRlKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QmKTsK
KyAgICB2aXJ0dWFsIH5BWElzb2xhdGVkVHJlZU5vZGUoKTsKKworICAgIEFYSUQgaWRlbnRpZmll
cigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQorICAgIAorICAgIHZvaWQgc2V0UmVs
YXRpb25zaGlwKFJlZjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4gcmVsYXRpb25zaGlwKSB7
IG1fcmVsYXRpb25zaGlwID0gcmVsYXRpb25zaGlwOyB9CisgICAgUmVmPEFYSXNvbGF0ZWRUcmVl
UmVsYXRpb25zaGlwPiYgcmVsYXRpb25zaGlwKCkgeyByZXR1cm4gbV9yZWxhdGlvbnNoaXA7IH0K
KyAgICAKKyAgICBib29sIGlzUm9vdE5vZGUoKSBjb25zdCB7IHJldHVybiBtX2lzUm9vdE5vZGU7
IH0KKyAgICB2b2lkIHNldElzUm9vdE5vZGUoYm9vbCB2YWx1ZSkgeyBtX2lzUm9vdE5vZGUgPSB2
YWx1ZTsgfQorICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFdlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyKiB3cmFwcGVyKCkgY29uc3QgeyByZXR1cm4gbV93cmFwcGVyLmdldCgpOyB9
CisgICAgdm9pZCBzZXRXcmFwcGVyKFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKiB3cmFw
cGVyKQorICAgIHsKKyAgICAgICAgbV93cmFwcGVyID0gd3JhcHBlcjsKKyAgICB9CisjZW5kaWYK
KworcHJpdmF0ZToKKyAgICBBWElzb2xhdGVkVHJlZU5vZGUoY29uc3QgQWNjZXNzaWJpbGl0eU9i
amVjdCYpOworICAgIHZvaWQgaW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoY29uc3QgQWNjZXNzaWJp
bGl0eU9iamVjdCYpOworICAgIAorICAgIGJvb2wgaXNNZWRpYUNvbnRyb2xMYWJlbCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNN
ZWRpYUNvbnRyb2xMYWJlbCk7IH0KKyAgICBib29sIGlzQXR0YWNobWVudCgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNBdHRhY2ht
ZW50KTsgfQorICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIHN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlSb2xlPihpbnRBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZTo6Um9sZVZhbHVlKSk7IH0KKyAgICAKKyAgICB1c2luZyBBdHRyaWJ1
dGVWYWx1ZVZhcmlhbnQgPSBWYXJpYW50PHN0ZDo6bnVsbHB0cl90LCBTdHJpbmcsIGJvb2wsIGlu
dCwgdW5zaWduZWQsIGRvdWJsZT47CisgICAgdm9pZCBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFt
ZSwgQXR0cmlidXRlVmFsdWVWYXJpYW50JiYsIGJvb2wgc2hvdWxkUmVtb3ZlID0gZmFsc2UpOwor
ICAgIAorICAgIGJvb2wgYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsK
KyAgICBjb25zdCBTdHJpbmcmIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBj
b25zdDsKKyAgICBpbnQgaW50QXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0Owor
ICAgIHVuc2lnbmVkIHVuc2lnbmVkQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0
OworICAgIGRvdWJsZSBkb3VibGVBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7
CisgICAgCisgICAgQVhJRCBtX2lkZW50aWZpZXI7CisgICAgYm9vbCBtX2lzUm9vdE5vZGU7Cisg
ICAgUmVmPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwPiBtX3JlbGF0aW9uc2hpcDsKKyAgICAK
KyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXRhaW5QdHI8V2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXI+IG1fd3JhcHBlcjsKKyNlbmRpZgorICAgIAorICAgIGNvbnN0IEhhc2hNYXA8QVhQ
cm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCwgV1RGOjpJbnRIYXNoPEFYUHJvcGVy
dHlOYW1lPiwgQVhQcm9wZXJ0eUhhc2hUcmFpdHM+IG1fYXR0cmlidXRlTWFwOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKChBQ0NFU1NJQklMSVRZX0lT
T0xBVEVEX1RSRUUpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhP
YmplY3RDYWNoZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCShyZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFBMQVRG
T1JNKE1BQykKIAorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCiAjaW1wb3J0ICJBY2Nl
c3NpYmlsaXR5T2JqZWN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5VGFibGUuaCIKICNpbXBv
cnQgIlJlbmRlck9iamVjdC5oIgpAQCAtMjM3LDYgKzIzOCwxNCBAQAogICAgIG9iai0+c2V0V3Jh
cHBlcihudWxscHRyKTsKIH0KIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RS
RUUpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlzb2xhdGVkVHJlZU5vZGUoQWNjZXNz
aWJpbGl0eU9iamVjdCYgb2JqZWN0LCBBWElzb2xhdGVkVHJlZU5vZGUmIG5vZGUsIEFYSXNvbGF0
ZWRDYWNoZUlEIGNhY2hlSUQpCit7CisgICAgb2JqZWN0LndyYXBwZXIoKS5pc29sYXRlZENhY2hl
SWRlbnRpZmllciA9IGNhY2hlSUQ7CisgICAgbm9kZS5zZXRXcmFwcGVyKG9iamVjdC53cmFwcGVy
KCkpOworfQorI2VuZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIo
QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogewogICAgIFJldGFpblB0cjxXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlcj4gd3JhcHBlciA9IGFkb3B0TlMoW1tXZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlciBhbGxvY10gaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0Om9ial0pOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXJCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgJKHJldmlzaW9uIDI0MDI0
NikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMSArMjksMTggQEAKICNp
Zm5kZWYgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlX2gKICNkZWZpbmUgV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlX2gKIAorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVl
Q2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSA8Q29y
ZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNs
dWRlIDx3dGYvVmFyaWFudC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3Q7CisjaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK2NsYXNzIEFYSXNvbGF0ZWRUcmVlTm9kZTsKKyNlbmRp
Zgogc3RydWN0IEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYTsKIGNsYXNzIEludFJlY3Q7CiBj
bGFzcyBGbG9hdFBvaW50OwpAQCAtNDQsMTMgKzUxLDI2IEBACiAKIEBpbnRlcmZhY2UgV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIDogTlNPYmplY3QgewogICAgIFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3QqIG1fb2JqZWN0OworICAgIFdlYkNvcmU6OkFYSUQgX2lkZW50aWZp
ZXI7CiB9CiAgCiAtIChpZClpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6KFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3QqKWF4T2JqZWN0OworCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlf
SVNPTEFURURfVFJFRSkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgUmVmUHRyPFdl
YkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZT4gaXNvbGF0ZWRUcmVlTm9kZTsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBhc3NpZ24pIFdlYkNvcmU6OkFYSXNvbGF0ZWRDYWNoZUlEIGlzb2xhdGVkQ2Fj
aGVJZGVudGlmaWVyOworI2VuZGlmCisKIC0gKHZvaWQpZGV0YWNoOworCitAcHJvcGVydHkgKG5v
bmF0b21pYywgYXNzaWduKSBXZWJDb3JlOjpBWElEIGlkZW50aWZpZXI7CisKIC0gKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3QqKWFjY2Vzc2liaWxpdHlPYmplY3Q7CiAtIChCT09MKXVwZGF0
ZU9iamVjdEJhY2tpbmdTdG9yZTsKIAorLy8gVGhpcyBjYW4gYmUgZWl0aGVyIGFuIEFjY2Vzc2li
aWxpdHlPYmplY3Qgb3IgYW4gQVhJc29sYXRlZFRyZWVOb2RlCistIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5T2JqZWN0SW50ZXJmYWNlKilheEJhY2tpbmdPYmplY3Q7CisKIC8vIFRoZXNlIGFyZSBw
cmUtZml4ZWQgd2l0aCBiYXNlIHNvIHRoYXQgQXBwS2l0IGRvZXMgbm90IGVuZCB1cCBjYWxsaW5n
IGludG8gdGhlc2UgZGlyZWN0bHkgKGJ5cGFzc2luZyBzYWZldHkgY2hlY2tzKS4KIC0gKE5TU3Ry
aW5nICopYmFzZUFjY2Vzc2liaWxpdHlUaXRsZTsKIC0gKE5TU3RyaW5nICopYmFzZUFjY2Vzc2li
aWxpdHlEZXNjcmlwdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ckJhc2UubW0JKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkod29ya2luZyBjb3B5
KQpAQCAtMzEsMTAgKzMxLDEzIEBACiAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAKKyNpbXBv
cnQgIkFYSXNvbGF0ZWRUcmVlQ2FjaGUuaCIKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlTm9kZS5o
IgogI2ltcG9ydCAiQVhPYmplY3RDYWNoZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUFSSUFH
cmlkUm93LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5TGlzdC5oIgogI2ltcG9ydCAiQWNjZXNz
aWJpbGl0eUxpc3RCb3guaCIKKyNpbXBvcnQgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2Uu
aCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vz
c2liaWxpdHlTY3JvbGxWaWV3LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5o
IgpAQCAtMjcwLDYgKzI3Myw4IEBACiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlckJhc2UKIAorQHN5bnRoZXNpemUgaWRlbnRpZmllcj1faWRlbnRpZmllcjsK
KwogLSAoaWQpaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0OihBY2Nlc3NpYmlsaXR5T2JqZWN0
KilheE9iamVjdAogewogICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQpAQCAtMjc2LDE2
ICsyODEsMzAgQEAKICAgICAgICAgcmV0dXJuIG5pbDsKIAogICAgIG1fb2JqZWN0ID0gYXhPYmpl
Y3Q7CisgICAgX2lkZW50aWZpZXIgPSBtX29iamVjdC0+YXhPYmplY3RJRCgpOwogICAgIHJldHVy
biBzZWxmOwogfQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKy0g
KFJlZlB0cjxXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU+KWlzb2xhdGVkVHJlZU5vZGUKK3sK
KyAgICByZXR1cm4gQVhJc29sYXRlZFRyZWVDYWNoZTo6Y2FjaGVGb3JJRChfaXNvbGF0ZWRDYWNo
ZUlkZW50aWZpZXIpLT5ub2RlRm9ySUQoX2lkZW50aWZpZXIpOworfQorCisjZW5kaWYKKwogLSAo
dm9pZClkZXRhY2gKIHsKICAgICBtX29iamVjdCA9IG51bGxwdHI7CisgICAgX2lkZW50aWZpZXIg
PSAwOwogfQogCiAtIChCT09MKXVwZGF0ZU9iamVjdEJhY2tpbmdTdG9yZQogeworI2lmIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgQVhJc29sYXRlZFRyZWVDYWNoZTo6
Y2FjaGVGb3JJRChzZWxmLmlzb2xhdGVkQ2FjaGVJZGVudGlmaWVyKS0+YXBwbHlDaGFuZ2VMb2co
KTsKKyAgICByZXR1cm4gX2lkZW50aWZpZXI7CisjZWxzZQogICAgIC8vIENhbGxpbmcgdXBkYXRl
QmFja2luZ1N0b3JlKCkgY2FuIGludmFsaWRhdGUgdGhpcyBlbGVtZW50IHNvIHNlbGYgbXVzdCBi
ZSByZXRhaW5lZC4KICAgICAvLyBJZiBpdCBkb2VzIGJlY29tZSBpbnZhbGlkYXRlZCwgbV9vYmpl
Y3Qgd2lsbCBiZSBuaWwuCiAgICAgQ0ZSZXRhaW4oKF9fYnJpZGdlIENGVHlwZVJlZilzZWxmKTsK
QEAgLTI5OSw2ICszMTgsNyBAQAogICAgICAgICByZXR1cm4gTk87CiAgICAgCiAgICAgcmV0dXJu
IFlFUzsKKyNlbmRpZgogfQogCiAtIChpZClhdHRhY2htZW50VmlldwpAQCAtMzYwLDExICszODAs
MjEgQEAKICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ107CiB9CiAKKyNkZWZpbmUgX2F4QmFj
a2luZ09iamVjdCBzZWxmLmF4QmFja2luZ09iamVjdAorLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eU9iamVjdEludGVyZmFjZSopYXhCYWNraW5nT2JqZWN0Cit7CisjaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICByZXR1cm4gc2VsZi5pc29sYXRlZFRyZWVOb2RlLmdl
dCgpOworI2Vsc2UKKyAgICByZXR1cm4gbV9vYmplY3Q7CisjZW5kaWYKK30KKwogLSAoTlNTdHJp
bmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uCiB7CiAgICAgLy8gU3RhdGljIHRleHQg
b2JqZWN0cyBzaG91bGQgbm90IGhhdmUgYSBkZXNjcmlwdGlvbi4gSXRzIGNvbnRlbnQgaXMgY29t
bXVuaWNhdGVkIGluIGl0cyBBWFZhbHVlLgogICAgIC8vIE9uZSBleGNlcHRpb24gaXMgdGhlIG1l
ZGlhIGNvbnRyb2wgbGFiZWxzIHRoYXQgaGF2ZSBhIHZhbHVlIGFuZCBhIGRlc2NyaXB0aW9uLiBU
aG9zZSBhcmUgc2V0IHByb2dyYW1hdGljYWxseS4KLSAgICBpZiAobV9vYmplY3QtPnJvbGVWYWx1
ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNUZXh0ICYmICFtX29iamVjdC0+aXNNZWRp
YUNvbnRyb2xMYWJlbCgpKQorICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKSA9
PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dCAmJiAhX2F4QmFja2luZ09iamVjdC0+aXNN
ZWRpYUNvbnRyb2xMYWJlbCgpKQogICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ107CiAg
ICAgCiAgICAgVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiB0ZXh0T3JkZXI7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9X
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQkocmV2aXNpb24gMjQwMjQ2KQorKysg
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQxNiw2ICs0MTYsOCBAQAogI2RlZmluZSBO
U0FjY2Vzc2liaWxpdHlSZWxhdGl2ZUZyYW1lQXR0cmlidXRlIEAiQVhSZWxhdGl2ZUZyYW1lIgog
I2VuZGlmCiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVjdCBzZWxmLmF4QmFja2luZ09iamVjdAor
CiBleHRlcm4gIkMiIEFYVUlFbGVtZW50UmVmIE5TQWNjZXNzaWJpbGl0eUNyZWF0ZUFYVUlFbGVt
ZW50UmVmKGlkIGVsZW1lbnQpOwogCiBAaW1wbGVtZW50YXRpb24gV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXIKQEAgLTE5NzAsMTAgKzE5NzIsMTAgQEAKIC0gKE5TU3RyaW5nKilyb2xlCiB7
CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KLSAgICBpZiAobV9vYmpl
Y3QtPmlzQXR0YWNobWVudCgpKQorICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1l
bnQoKSkKICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0
eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVJvbGVBdHRyaWJ1dGVdOwogICAgIEFMTE9X
X0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAotICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUg
PSBtX29iamVjdC0+cm9sZVZhbHVlKCk7CisgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSA9IF9h
eEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpOwogCiAgICAgaWYgKHJvbGUgPT0gQWNjZXNzaWJp
bGl0eVJvbGU6OkxhYmVsICYmIGlzPEFjY2Vzc2liaWxpdHlMYWJlbD4oKm1fb2JqZWN0KSAmJiBk
b3duY2FzdDxBY2Nlc3NpYmlsaXR5TGFiZWw+KCptX29iamVjdCkuY29udGFpbnNPbmx5U3RhdGlj
VGV4dCgpKQogICAgICAgICByb2xlID0gQWNjZXNzaWJpbGl0eVJvbGU6OlN0YXRpY1RleHQ7CkBA
IC0yMDAwLDcgKzIwMDIsNyBAQAogICAgIGlmIChtX29iamVjdC0+aXNTZWFyY2hGaWVsZCgpKQog
ICAgICAgICByZXR1cm4gTlNBY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRTdWJyb2xlOwogICAgIAot
ICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICBpZiAoX2F4QmFja2luZ09i
amVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgTlNWaWV3KiBhdHRhY2hWaWV3ID0gW3Nl
bGYgYXR0YWNobWVudFZpZXddOwogICAgICAgICBpZiAoW1thdHRhY2hWaWV3IGFjY2Vzc2liaWxp
dHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5U3Vicm9sZUF0
dHJpYnV0ZV0pCiAgICAgICAgICAgICByZXR1cm4gW2F0dGFjaFZpZXcgYWNjZXNzaWJpbGl0eUF0
dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVN1YnJvbGVBdHRyaWJ1dGVdOwpAQCAtMjIxMSw3
ICsyMjEzLDcgQEAKIAogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAg
ICAgLy8gYXR0YWNobWVudHMgaGF2ZSB0aGUgQVhJbWFnZSByb2xlLCBidXQgYSBkaWZmZXJlbnQg
c3Vicm9sZQotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpCisgICAgaWYgKF9heEJh
Y2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKQogICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFj
aG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5Um9s
ZURlc2NyaXB0aW9uQXR0cmlidXRlXTsKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9O
U19FTkQKIApAQCAtMjU2OCw3ICsyNTcwLDcgQEAKICAgICAgICAgcmV0dXJuIFtOU051bWJlciBu
dW1iZXJXaXRoQm9vbDogbV9vYmplY3QtPmlzVmlzaXRlZCgpXTsKICAgICAKICAgICBpZiAoW2F0
dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0
ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAgICBp
ZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlmIChb
W1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRh
aW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0cmlidXRlXSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFs
dWU6TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1dGVdOwogICAgICAgICB9CkBAIC0yNTg1LDcg
KzI1ODcsNyBAQAogICAgIH0KICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRv
U3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV0pIHsKLSAgICAgICAg
aWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAgICBpZiAoX2F4QmFja2luZ09i
amVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1l
bnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNj
ZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXSkKICAgICAgICAgICAgICAgICByZXR1cm4g
W1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nl
c3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdOwogICAgICAgICB9CkBAIC0yNTkzLDcgKzI1
OTUsNyBAQAogICAgIH0KICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3Ry
aW5nOiBOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2Jq
ZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNB
dHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBh
Y2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0
eVZhbHVlQXR0cmlidXRlXSkKICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1l
bnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VmFsdWVB
dHRyaWJ1dGVdOwogICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjQ2KQorKysg
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAor
MjAxOS0wMS0xMSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAg
ICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdl
T2JqZWN0QmFzZS5tbToKKyAgICAgICAgKC1bV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJh
c2UgYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyXSk6CisKIDIwMTktMDEtMjEgIEJyZW50
IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IG1lc3Nh
Z2UgaGFuZGxlcnMgZm9yIE5ldHdvcmtQcm9jZXNzLWJhc2VkIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dlYktpdC9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAs
NiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9J
U09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFCTEVfQVBQTEVfUEFZ
XyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJM
RV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9B
UFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNM
VDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFf
SU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JU
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJF
UykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9S
RVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVT
U0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElP
Tl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExT
Q1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZ
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5B
QkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFC
TEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQ
T1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFU
VVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVS
U0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tF
WUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAk
KEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAk
KEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRf
UkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9S
RVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VS
VklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFT
U0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDog
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBh
Z2VPYmplY3RCYXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQkocmV2aXNpb24g
MjQwMjQ2KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNz
aWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3
IEBACiAjaW1wb3J0ICJXS1NoYXJlZEFQSUNhc3QuaCIKICNpbXBvcnQgIldLU3RyaW5nLmgiCiAj
aW1wb3J0ICJXS1N0cmluZ0NGLmgiCisjaW1wb3J0IDxXZWJDb3JlL0FYSXNvbGF0ZWRUcmVlQ2Fj
aGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQVhPYmplY3RDYWNoZS5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9Eb2N1bWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZS5oPgpAQCAtNDcsNiArNDgsMTgg
QEAKIAogQGltcGxlbWVudGF0aW9uIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlCiAK
Ky0gKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqKWF4T2JqZWN0Q2FjaGUKK3sKKyAgICBXZWJDb3Jl
OjpQYWdlKiBwYWdlID0gbV9wYWdlLT5jb3JlUGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAg
ICAgcmV0dXJuIG5pbDsKKyAgICBXZWJDb3JlOjpGcmFtZSYgY29yZSA9IHBhZ2UtPm1haW5GcmFt
ZSgpOworICAgIGlmICghY29yZS5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4gbmlsOworICAg
IAorICAgIHJldHVybiBjb3JlLmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKTsKK30KKwogLSAo
aWQpYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyCiB7CiAgICAgaWYgKCFXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQpAQCAtNjIsMTggKzc1LDQ2IEBA
CiAgICAgV2ViQ29yZTo6UGFnZSogcGFnZSA9IG1fcGFnZS0+Y29yZVBhZ2UoKTsKICAgICBpZiAo
IXBhZ2UpCiAgICAgICAgIHJldHVybiBuaWw7Ci0gICAgCi0gICAgV2ViQ29yZTo6RnJhbWUmIGNv
cmUgPSBwYWdlLT5tYWluRnJhbWUoKTsKLSAgICBpZiAoIWNvcmUuZG9jdW1lbnQoKSkKLSAgICAg
ICAgcmV0dXJuIG5pbDsKLSAgICAKLSAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlKiBjYWNoZSA9
IGNvcmUuZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpOworCisgICAgQVhPYmplY3RDYWNoZSog
Y2FjaGUgPSBbc2VsZiBheE9iamVjdENhY2hlXTsKICAgICBpZiAoIWNhY2hlKQogICAgICAgICBy
ZXR1cm4gbmlsOwogICAgIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CisgICAgYXV0byBnZW5lcmF0ZUJsb2NrID0gWyZdIHsKKyAgICAgICAgYXV0byBkaXNwYXRjaEJs
b2NrID0gWyZjYWNoZV0geworICAgICAgICAgICAgY2FjaGUtPmdlbmVyYXRlU3RhdGljQWNjZXNz
aWJpbGl0eVRyZWVJZk5lZWRlZCgpOworICAgICAgICB9OworICAgICAgICAKKyAgICAgICAgaWYg
KFJ1bkxvb3A6OmlzTWFpbigpKQorICAgICAgICAgICAgZGlzcGF0Y2hCbG9jaygpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBkaXNwYXRjaF9zeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVl
KCksIGRpc3BhdGNoQmxvY2spOworICAgIH07CisKKyAgICBhdXRvIGlzb2xhdGVkQ2FjaGUgPSBB
WElzb2xhdGVkVHJlZUNhY2hlOjpjYWNoZUZvclBhZ2UocGFnZSk7CisgICAgaWYgKCFpc29sYXRl
ZENhY2hlKSB7CisgICAgICAgIGdlbmVyYXRlQmxvY2soKTsKKyAgICAgICAgaXNvbGF0ZWRDYWNo
ZSA9IEFYSXNvbGF0ZWRUcmVlQ2FjaGU6OmNhY2hlRm9yUGFnZShwYWdlKTsKKyAgICAgICAgQVNT
RVJUKGlzb2xhdGVkQ2FjaGUpOworICAgICAgICBpZiAoIWlzb2xhdGVkQ2FjaGUpCisgICAgICAg
ICAgICByZXR1cm4gbmlsOworCisgICAgICAgIGlzb2xhdGVkQ2FjaGUtPmFwcGx5Q2hhbmdlTG9n
KCk7CisgICAgfQorICAgIAorICAgIGF1dG8gcm9vdE5vZGUgPSBpc29sYXRlZENhY2hlLT5yb290
Tm9kZSgpOworICAgIGlmICghcm9vdE5vZGUpIHsKKyAgICAgICAgZ2VuZXJhdGVCbG9jaygpOwor
ICAgICAgICBpc29sYXRlZENhY2hlLT5hcHBseUNoYW5nZUxvZygpOworICAgIH0KKworICAgIGlm
ICgocm9vdE5vZGUgPSBpc29sYXRlZENhY2hlLT5yb290Tm9kZSgpKSkKKyAgICAgICAgcmV0dXJu
IHJvb3ROb2RlLT53cmFwcGVyKCk7CisjZWxzZQogICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0KiByb290ID0gY2FjaGUtPnJvb3RPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIHJv
b3QtPndyYXBwZXIoKTsKLSAgICAKKyNlbmRpZgogICAgIHJldHVybiBuaWw7CiB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0xNSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgVXNlIHJlZmVyZW5jZXMgcmF0aGVyIHRoYW4gcG9pbnRlcnMgZm9yIHJlZ2lzdGVyL3VucmVn
aXN0ZXIgZnVuY3Rpb25zLCBhbmQgbW9yZQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0
MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xB
VEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChX
S19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQ
UExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExF
X1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwog
Ci1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNU
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9D
U1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NT
X1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJL
X01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRF
UkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAk
KEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9O
X09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRf
Q09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxF
X0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxF
X0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9N
QUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RB
TkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09V
UkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdF
X0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZP
TlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVF
TikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQo
RU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVf
QVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
Q1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9E
QVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9J
TlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNU
SU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9B
UkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5B
QkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5B
QkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
U1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFV
RVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNF
X1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1C
TFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3Vy
Y2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2NtYWtl
L1dlYktpdEZlYXR1cmVzLmNtYWtlCShyZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTE4Nyw2ICsxODcsNyBAQAog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HICJUb2dnbGUg
c21vb3RoIHNjcm9sbGluZyIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUyAiVG9nZ2xlIFNwZWVjaCBTeW50aGVzaXMgQVBJIHN1cHBv
cnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TUEVMTENI
RUNLICJUb2dnbGUgU3BlbGxjaGVja2luZyBzdXBwb3J0IChyZXF1aXJlcyBFbmNoYW50KSIgUFJJ
VkFURSBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0FDQ0VTU0lCSUxJVFlf
U1RBVElDX1RSRUUgIlRvZ2dsZSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlIHN1cHBvcnQiIFBS
SVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TVFJFQU1TX0FQSSAi
VG9nZ2xlIFN0cmVhbXMgQVBJIHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX1NWR19GT05UUyAiVG9nZ2xlIFNWRyBGb250cyBzdXBwb3J0IiBQUklW
QVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTiAiVG9nZ2xlIHRlbGVwaG9uZSBudW1iZXIgZGV0ZWN0aW9uIHN1cHBvcnQiIFBS
SVZBVEUgT0ZGKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0No
YW5nZUxvZwkocmV2aXNpb24gMjQwMjQ2KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2li
aWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMDEtMjEgIEZ1amlp
IEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW0dUS11bV1BF
XSBsaWJnY3J5cHQtMS43LjYgY2FuJ3QgYmUgY29tcGlsZWQgb24gVWJ1bnR1IDE4LjEwCkluZGV4
OiBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFRvb2xzL1Rlc3RXZWJL
aXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29w
eSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9U
T1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNo
ID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5BQkxF
X0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25l
b3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3Ig
PSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBACiAKIEVOQUJMRV9YU0xUID0g
RU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElD
QVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RS
QUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5U
QUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
RVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRB
TCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVO
VFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklN
RU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FU
VFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVH
QUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xf
TUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RP
T0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FH
RSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVS
UykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xU
KTsK
</data>
<flag name="review"
          id="376519"
          type_id="1"
          status="-"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359863</attachid>
            <date>2019-01-23 02:15:57 -0800</date>
            <delta_ts>2019-01-23 02:19:57 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>108235</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtKU0NdIFN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbiBpcyBubyBsb25nZXIgdXNl
ZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
XyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAK
K0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9Q
QVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQ
TEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBo
b25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBAQAogCiBF
TkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09O
SUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJP
QVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
Q19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FE
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JU
QykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19B
UEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChF
TkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xP
T1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElO
R19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00p
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRM
RVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1Mp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZB
U1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZU
TF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIp
ICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJ
QlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0Up
ICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVO
QUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMp
ICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJM
RV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FV
VEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VC
QVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikg
JChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShy
ZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQAogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3dl
YnNvY2tldHMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvd2VidnIiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L2FjY2Vzc2liaWxpdHkiCisgICAgIiR7V0VCQ09SRV9ESVJ9L2FjY2Vzc2liaWxp
dHkvaXNvbGF0ZWR0cmVlIgogICAgICIke1dFQkNPUkVfRElSfS9hbmltYXRpb24iCiAgICAgIiR7
V0VCQ09SRV9ESVJ9L2JpbmRpbmdzIgogICAgICIke1dFQkNPUkVfRElSfS9iaW5kaW5ncy9qcyIK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDgyIEBACisyMDE5LTAxLTIzICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBh
IHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMy
OTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4g
b3JkZXIgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSB3aGVuIHJlcXVlc3RpbmcgdGhlIGFjY2Vzc2li
aWxpdHkgaGllcmFyY2h5LCB3ZSBpbnRyb2R1Y2UgdGhlIGlkZWEgb2YgYSAic3RhdGljIGFjY2Vz
c2liaWxpdHkgdHJlZSIgd2hpY2ggCisgICAgICAgIGNvdWxkIGJlIGFjY2Vzc2VkIG9uIGEgZGlm
ZmVyZW50IHRocmVhZCBieSBhc3Npc3RpdmUgdGVjaG5vbG9naWVzLgorICAgICAgICBUaGF0IGlz
IGFjY29tcGxpc2hlZCBieSBzdG9yaW5nIGFsbCB0aGUgZGF0YSBuZWVkZWQgdG8gYW5zd2VyIGFj
Y2Vzc2liaWxpdHkgYXR0cmlidXRlIHF1ZXJpZXMgaW4gYSBzdGF0aWMgb2JqZWN0IHRoYXQgbWly
cm9ycyB0aGUgCisgICAgICAgICJsaXZlIiBBY2Nlc3NpYmlsaXR5T2JqZWN0cyAod2hpY2ggaW50
ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVzKS4KKyAgICAgICAgVGhlc2Ugc3Rh
dGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFmdGVyIGxheW91dCBpcyBkb25lIGFu
ZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBUaGV5IGFyZSB0aGVuIHN0b3JlZCBp
biB0aGUgc3RhdGljIHRyZWUgCisgICAgICAgIHJlcHJlc2VudGF0aW9uIGFuZCBhYmxlIHRvIGJl
IHJlYWQgZnJvbSBhbnl3aGVyZS4KKyAgICAgICAgVGFjdGljYWxseSB0aGlzIGlzIGRvbmUgd2l0
aCBBWElzb2xhdGVkVHJlZU5vZGVzIGluc2lkZSBvZiBhbiBBWElzb2xhdGVkVHJlZS4gVGhlIFRy
ZWVOb2RlcyBpbXBsZW1lbnQgYW4gQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSBzaGFyZWQg
CisgICAgICAgIHdpdGggQWNjZXNzaWJpbGl0eU9iamVjdC4KKyAgICAgICAgVGhpcyBhbGxvd3Mg
dGhlIHdyYXBwZXJzIHRvIGFjY2VzcyBlaXRoZXIgb25lIGRlcGVuZGluZyBvbiBjb25kaXRpb25z
IGFuZCBwbGF0Zm9ybXMgd2l0aG91dCBzaWduaWZpY2FudCBjb2RlIGR1cGxpY2F0aW9uIG9yIHJl
LW9yZ2FuaXphdGlvbi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFNvdXJjZXMu
dHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6
OmNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWU6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkVHJlZTo6dHJlZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVl
OjpBWElzb2xhdGVkVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9ySUQpOgorICAg
ICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQpOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6Om5vZGVGb3JJRCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZTo6cm9vdE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29s
YXRlZFRyZWU6OnJlbW92ZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6
OmFwcGVuZE5vZGVDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjph
cHBseVBlbmRpbmdDaGFuZ2VzKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkVHJlZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlOjp0cmVlSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpBWElzb2xhdGVkVHJlZU5vZGU6OkFYSXNvbGF0ZWRUcmVlTm9kZSk6CisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkVHJlZU5vZGU6OmluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6c2V0UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6
QVhJc29sYXRlZFRyZWVOb2RlOjpkb3VibGVBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OnVuc2lnbmVkQXR0cmlidXRlVmFsdWUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpib29sQXR0cmlidXRl
VmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpzdHJp
bmdBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJl
ZU5vZGU6OmludEF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6b3BlcmF0
b3I9KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpzZXRQ
YXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OnBh
cmVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cDo6Y2hpbGRyZW4pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphc3NvY2lhdGVJc29sYXRl
ZFRyZWVOb2RlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlckJhc2UuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyQmFzZSBpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6XSk6CisgICAg
ICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBpc29sYXRlZFRyZWVOb2Rl
XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBkZXRhY2hd
KToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIHVwZGF0ZU9i
amVjdEJhY2tpbmdTdG9yZV0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlckJhc2UgYXhCYWNraW5nT2JqZWN0XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQmFzZSBiYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uXSk6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06
CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHJvbGVdKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgc3Vicm9sZV0pOgorICAgICAgICAo
LVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByb2xlRGVzY3JpcHRpb25dKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0
ZVZhbHVlOl0pOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6cGFnZUlEIGNvbnN0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKwog
MjAxOS0wMS0yMSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAg
ICBJbXBsZW1lbnQgbWVzc2FnZSBoYW5kbGVycyBmb3IgTmV0d29ya1Byb2Nlc3MtYmFzZWQgUmVz
b3VyY2VMb2FkU3RhdGlzdGljcwpJbmRleDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysr
IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3
b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQo
V0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdf
Y29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkg
PSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVf
UEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25l
c2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBAQAogCiBFTkFC
TEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5B
QkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNf
R1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJE
X0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BS
T1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19W
SURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxT
KSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9X
RUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURF
T19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
WFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9B
UFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1Ap
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19B
UEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1Rf
SklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVU
RSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhO
KSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNT
RU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNp
b24gMjQwMzI5KQorKysgU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTIzICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBpc29sYXRlZCBhY2Nlc3NpYmls
aXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0wMS0yMiAgRGF2aWQgS2lsemVyICA8ZGRraWx6
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFN3aXRjaCByZW1haW5pbmcgUXVpY2tMb29rIHNvZnQt
bGlua2luZyBpbiBXZWJDb3JlLCBXZWJLaXQgb3ZlciB0byBRdWlja0xvb2tTb2Z0TGluay57Y3Bw
LGh9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtp
bmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19D
T0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2Nv
YXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQo
RU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11
bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBACiAKIEVOQUJMRV9Y
U0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5T
Rk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVf
QVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFE
SUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBF
UklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklU
KSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZ
X0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9D
T0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVP
X1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElB
X1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElT
VElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19Q
UkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VT
RVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xU
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExF
X1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNI
TUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRf
UEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFC
TEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAk
KEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElO
R19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NF
UlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9B
UElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI0MDI0
NikKKysrIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00MDUs
NiArNDA1LDggQEAKIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRyZWUuY3BwCiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlSXRlbS5jcHAKIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJs
ZVNldFZhbHVlRXZlbnQuY3BwCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
VHJlZS5jcHAKK2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5j
cHAKIAogYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5jcHAKIGFuaW1hdGlvbi9BbmltYXRpb25Q
bGF5YmFja0V2ZW50LmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02
OTQsNiArNjk0LDcgQEAKIAkJMjZGOUE4MzgxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29u
ZmlndXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyNkY5QTgzNjE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmNw
cCAqLzsgfTsKIAkJMjZGOUE4MzkxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmlndXJh
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZG
OUE4MzcxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmlndXJhdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5MTRFMzA4MUNBQjVB
NDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkxNEUzMDYxQ0FCNUE0NDAwNDk5NjZGIC8q
IEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmggKi87IH07CisJCTI5MzZCRjVDMjFENjlFNEIwMDRB
OEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyog
QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5M0VBRTFGMTM1NkIyRkUwMDY3QUNGOSAvKiBSdW50
aW1lQXBwbGljYXRpb25DaGVja3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI5M0VBRTFFMTM1NkIyRkUwMDY3QUNGOSAvKiBSdW50aW1lQXBwbGljYXRp
b25DaGVja3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkyOTQ4OUZDNzEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5NDg5RkM1
MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oICovOyB9OwogCQky
OTdCRTNENTE2QzAzQzA4MDAzMzE2QkQgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFu
Y2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI1MjdD
QzkxMTZCRjhCQTEwMDlEREFDMCAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5o
ICovOyB9OwpAQCAtNzE1LDYgKzcxNiw4IEBACiAJCTI5QTgxMjQzMEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5TGlzdEJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjlBODEyMjUwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlM
aXN0Qm94LmggKi87IH07CiAJCTI5QTgxMjQ5MEZCQjlDQTkwMDUxMDI5MyAvKiBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5QTgxMjQ1MEZCQjlDQTkwMDUxMDI5MyAvKiBXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkyOUFDQjIxMjE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0
eU1vY2tPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDI5QUNCMjExMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5o
ICovOyB9OworCQkyOUFFMjEyRDIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QUUyMTJCMjFB
QjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBB
WElzb2xhdGVkVHJlZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOUQ3
QkNGQTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RDdCQ0Y5MTQ0NEFGN0Qw
MDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovOyB9OwogCQkyOUZBRjRCNjE5
NUFCMDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RkFGNEI1MTk1QUIwODkwMEE1
MjJEQyAvKiBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJCMzY1Qzg0MTUyNTExOUUwMDkxRDI3QiAv
KiBSZW5kZXJTVkdFbGxpcHNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyQjQyMzVBMDE1MjUwRjYwMDBEQkJDRDggLyogUmVuZGVyU1ZHRWxsaXBzZS5o
ICovOyB9OwpAQCAtNjU4MSw2ICs2NTg0LDcgQEAKIAkJMjhEQjlCQzcyMDIwRUEwNDAwRTU0QTA3
IC8qIFBlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQ
ZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI5MTRFMzA1MUNBQjVBNDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNo
bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5MTRFMzA2MUNBQjVBNDQw
MDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9i
amVjdEludGVyZmFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5M0VBRTFFMTM1NkIyRkUwMDY3
QUNGOSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTI5NDg5RkM1MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Ny
b2xsVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5
U2Nyb2xsVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ5ODY4MTE5NTM0
MTk0MDA3MkQyQkQgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY2MjgsNiArNjYzMiwxMCBAQAogCQky
OUE4MTI0NzBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZU1hYy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFYT2JqZWN0Q2FjaGVNYWMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QUNCMjExMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nl
c3NpYmlsaXR5TW9ja09iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
Y2Nlc3NpYmlsaXR5TW9ja09iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
OUFDQjIxMzE0M0U3NDk4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmpl
Y3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUFFMjEyQjIxQUI5RUVCMDA4
NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVhJc29sYXRlZFRyZWUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMkMyMUFCOUVFQjAwODY5Mjgz
IC8qIEFYSXNvbGF0ZWRUcmVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFYSXNvbGF0ZWRUcmVl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMzMyMUFCQTQ4QTAwODY5
MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBWElzb2xhdGVkVHJl
ZU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMzQyMUFCQTQ4QTAw
ODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBWElz
b2xhdGVkVHJlZU5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUQ3QkNG
NTE0NDRBRjU4MDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUQ3QkNGOTE0NDRBRjdEMDA3MDYxOUMg
LyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMjlFMDRBMjdCRUQyRjgxRjk4RTkwMjJCIC8qIEpTQmVmb3JlVW5sb2FkRXZlbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCZWZvcmVVbmxvYWRFdmVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcyNTMsNiArMTcyNjEsNyBAQAogCQkyOUE4
MTIwNDBGQkI5QjQxMDA1MTAyOTMgLyogYWNjZXNzaWJpbGl0eSAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMjlBRTIxMjkyMUFCOUVDQjAwODY5MjgzIC8q
IGlzb2xhdGVkdHJlZSAqLywKIAkJCQlBQUE3MjhFRjE2RDFEOEJDMDBEM0JCQzYgLyogaW9zICov
LAogCQkJCTI5QTgxMjA1MEZCQjlCNTIwMDUxMDI5MyAvKiBtYWMgKi8sCiAJCQkJMjk4MUNBOUQx
MzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZC5jcHAgKi8sCkBAIC0xNzI5
MSw2ICsxNzMwMCw3IEBACiAJCQkJMjk4NTcwOTMxNUNDNTMyRDAwNjM1NUNEIC8qIEFjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmggKi8sCiAJCQkJMjk4MUNBQTUxMzE4MjJFQzAwRDEyRjJBIC8qIEFj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwICovLAogCQkJCTI5QTgxMjE4MEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5T2JqZWN0LmggKi8sCisJCQkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5
IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLywKIAkJCQlBNDA5Qzk4MjExNkQw
REREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcCAqLywKIAkJ
CQlBNDA5Qzk4MzExNkQwREREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNh
dG9yLmggKi8sCiAJCQkJMjk4MUNBQTYxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwICovLApAQCAtMTczNDYsNiArMTczNTYsMTcgQEAKIAkJCXBhdGggPSBt
YWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQkyOUFFMjEyOTIxQUI5RUNC
MDA4NjkyODMgLyogaXNvbGF0ZWR0cmVlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQkyOUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRy
ZWUuaCAqLywKKwkJCQkyOUFFMjEyQzIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUu
Y3BwICovLAorCQkJCTI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5v
ZGUuaCAqLywKKwkJCQkyOUFFMjEzNDIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVO
b2RlLmNwcCAqLywKKwkJCSk7CisJCQlwYXRoID0gaXNvbGF0ZWR0cmVlOworCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMkQwNjIxNDYxREE2MzlFQzAwQTdGQjI2IC8qIGxlZ2Fj
eSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0yOTk4NCw2
ICszMDAwNSw3IEBACiAJCQkJMUFFMkFBOTgwQTFDREQyRDAwQjQyQjI1IC8qIEpTSFRNTEltYWdl
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTdFOTcwQTFBODNFMzAwN0ZCOEM1IC8q
IEpTSFRNTElucHV0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM2QjA5NTYxRjVGMzRE
OTAwM0MzNzAyIC8qIEpTSFRNTElucHV0RWxlbWVudEVudHJpZXNBUEkuaCBpbiBIZWFkZXJzICov
LAorCQkJCTI5MzZCRjVDMjFENjlFNEIwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNjE0OEE3OTEyRTQxRTNCMDA0NEE3ODQgLyog
SlNIVE1MS2V5Z2VuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFCMjIwQTFDRTYz
QjAwQjQyQjI1IC8qIEpTSFRNTExhYmVsRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFF
MkFCMjQwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTExlZ2VuZEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLApAQCAtMzE0MzgsNiArMzE0NjAsNyBAQAogCQkJCTUxNDA1Qzg5MTkwQjAxNDQwMDc1NEY5
NCAvKiBTZWxlY3Rpb25SZWN0R2F0aGVyZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NEI0QkI0
MTQxNjUwRDcwMDJCMUQ4QiAvKiBTZWxlY3RvckNoZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQzMkQzRkU4MThBODY1ODQwMEQ3REMwMyAvKiBTZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25z
LmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUFFMjEzNTIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29s
YXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkI5OTk5NzE4MDRENTQyMDBEMDEx
MjEgLyogU2VsZWN0b3JDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE1MDcxNTgxNjg1
MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzEw
N0JFMjE4Q0MxOURFMDBDQzE4RTggLyogU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmggaW4gSGVhZGVy
cyAqLywKQEAgLTMyMzczLDYgKzMyMzk2LDcgQEAKIAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMz
ODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTQxNkZFNjE4
ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0E1NTE1RjUxOTE4MzBBMzAwOTY4N0QyIC8qIFlvdVR1YmVQbHVnaW5SZXBsYWNl
bWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFY
SXNvbGF0ZWRUcmVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDUzNzM1MzEzN0I2NTE4MDAwMDhE
Q0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCShyZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiw2ICszMiw4IEBACiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAKKyNpbmNsdWRl
ICJBWElzb2xhdGVkVHJlZS5oIgorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2lu
Y2x1ZGUgIkFjY2Vzc2liaWxpdHlBUklBR3JpZC5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlB
UklBR3JpZENlbGwuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaCIKQEAg
LTExNSw2ICsxMTcsOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCitjb25zdCBB
WElEIEludmFsaWRBWElEID0gMDsKKwogLy8gUG9zdCB2YWx1ZSBjaGFuZ2Ugbm90aWZpY2F0aW9u
cyBmb3IgcGFzc3dvcmQgZmllbGRzIG9yIGVsZW1lbnRzIGNvbnRhaW5lZCBpbiBwYXNzd29yZCBm
aWVsZHMgYXQgYSA0MGh6IGludGVydmFsIHRvIHRod2FydCBhbmFseXNpcyBvZiB0eXBpbmcgY2Fk
ZW5jZQogc3RhdGljIGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFu
Z2VOb3RpZmljYXRpb25JbnRlcnZhbCB7IDI1X21zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBh
Y2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCB7IDIwX21z
IH07CkBAIC03MjMsNyArNzI3LDExIEBACiAgICAgb2JqZWN0LT5zZXRBWE9iamVjdElEKDApOwog
CiAgICAgbV9pZHNJblVzZS5yZW1vdmUoYXhJRCk7Ci0KKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKQorICAgIGlmIChhdXRvIHBhZ2VJRCA9IG1fZG9jdW1lbnQucGFnZUlE
KCkpCisgICAgICAgIEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKCpwYWdlSUQpLT5yZW1v
dmVOb2RlKGF4SUQpOworI2VuZGlmCisgICAgCiAgICAgQVNTRVJUKG1fb2JqZWN0cy5zaXplKCkg
Pj0gbV9pZHNJblVzZS5zaXplKCkpOwogfQogICAgIApAQCAtMjkwNyw2ICsyOTE1LDM2IEBACiAg
ICAgbV9kZWZlcnJlZEZvY3VzZWROb2RlQ2hhbmdlLmNsZWFyKCk7CiB9CiAgICAgCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK1JlZjxBWElzb2xhdGVkVHJlZU5vZGU+
IEFYT2JqZWN0Q2FjaGU6OmNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoQWNjZXNzaWJp
bGl0eU9iamVjdCYgb2JqZWN0LCBBWElEIHBhcmVudElELCBBWElzb2xhdGVkVHJlZSYgdHJlZSwg
VmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYgbm9kZXMpCit7CisgICAgYXV0byBp
c29sYXRlZFRyZWVOb2RlID0gQVhJc29sYXRlZFRyZWVOb2RlOjpjcmVhdGUob2JqZWN0KTsKKyAg
ICBub2Rlcy5hcHBlbmQoaXNvbGF0ZWRUcmVlTm9kZS5wdHIoKSk7CisgICAgCisgICAgYXV0byBy
ZWxhdGlvbnNoaXAgPSBpc29sYXRlZFRyZWVOb2RlLT5yZWxhdGlvbnNoaXAoKTsKKyAgICByZWxh
dGlvbnNoaXAtPnNldFBhcmVudChwYXJlbnRJRCk7CisgICAgYXNzb2NpYXRlSXNvbGF0ZWRUcmVl
Tm9kZShvYmplY3QsIGlzb2xhdGVkVHJlZU5vZGUsIHRyZWUudHJlZUlkZW50aWZpZXIoKSk7Cisg
ICAgCisgICAgZm9yIChhdXRvIGNoaWxkIDogb2JqZWN0LmNoaWxkcmVuKCkpIHsKKyAgICAgICAg
YXV0byBzdGF0aWNDaGlsZCA9IGNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKmNoaWxk
LCBpc29sYXRlZFRyZWVOb2RlLT5pZGVudGlmaWVyKCksIHRyZWUsIG5vZGVzKTsKKyAgICAgICAg
cmVsYXRpb25zaGlwLT5jaGlsZHJlbigpLmFwcGVuZChzdGF0aWNDaGlsZC0+aWRlbnRpZmllcigp
KTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGlzb2xhdGVkVHJlZU5vZGU7Cit9CisgICAgCitS
ZWY8QVhJc29sYXRlZFRyZWU+IEFYT2JqZWN0Q2FjaGU6OmdlbmVyYXRlU3RhdGljQWNjZXNzaWJp
bGl0eVRyZWVJZk5lZWRlZCgpCit7CisgICAgYXV0byB0cmVlID0gQVhJc29sYXRlZFRyZWU6OnRy
ZWVGb3JQYWdlSUQoKm1fZG9jdW1lbnQucGFnZUlEKCkpOworICAgIFZlY3RvcjxSZWZQdHI8QVhJ
c29sYXRlZFRyZWVOb2RlPj4gbm9kZXM7CisgICAgYXV0byByb290ID0gY3JlYXRlSXNvbGF0ZWRB
Y2Nlc3NpYmlsaXR5VHJlZSgqcm9vdE9iamVjdCgpLCBJbnZhbGlkQVhJRCwgdHJlZSwgbm9kZXMp
OworICAgIHJvb3QtPnNldElzUm9vdE5vZGUodHJ1ZSk7CisgICAgdHJlZS0+YXBwZW5kTm9kZUNo
YW5nZXMobm9kZXMpOworICAgIAorICAgIHJldHVybiB0cmVlOworfQorI2VuZGlmCisgICAgCiB2
b2lkIEFYT2JqZWN0Q2FjaGU6OmRlZmVyUmVjb21wdXRlSXNJZ25vcmVkSWZOZWVkZWQoRWxlbWVu
dCogZWxlbWVudCkKIHsKICAgICBpZiAoIW5vZGVBbmRSZW5kZXJlckFyZVZhbGlkKGVsZW1lbnQp
KQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJ
KHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw5IEBACiAKICNwcmFnbWEgb25j
ZQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyNpbmNsdWRlICJB
WElzb2xhdGVkVHJlZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiQVhUZXh0U3RhdGVDaGFuZ2VJbnRl
bnQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiUmFuZ2Uu
aCIKQEAgLTM5LDYgKzQyLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK2NsYXNzIEFYSXNvbGF0ZWRUcmVlTm9kZTsK
KyNlbmRpZgogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MQXJlYUVsZW1lbnQ7CiBjbGFzcyBI
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDsKQEAgLTE4MCw2ICsxODYsMTMgQEAKICAgICB2b2lk
IGRlZmVyQXR0cmlidXRlQ2hhbmdlSWZOZWVkZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIEVsZW1l
bnQqKTsKICAgICB2b2lkIHJlY29tcHV0ZUlzSWdub3JlZChSZW5kZXJPYmplY3QqIHJlbmRlcmVy
KTsKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgV0VCQ09S
RV9FWFBPUlQgUmVmPEFYSXNvbGF0ZWRUcmVlPiBnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlU
cmVlSWZOZWVkZWQoKTsKKworICAgIHZvaWQgYXNzb2NpYXRlSXNvbGF0ZWRUcmVlTm9kZShBY2Nl
c3NpYmlsaXR5T2JqZWN0JiwgQVhJc29sYXRlZFRyZWVOb2RlJiwgQVhJc29sYXRlZFRyZWVJRCk7
CisgICAgUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gY3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5
VHJlZShBY2Nlc3NpYmlsaXR5T2JqZWN0JiwgQVhJRCwgQVhJc29sYXRlZFRyZWUmLCBWZWN0b3I8
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+Jik7CisjZW5kaWYKKyAgICAKICNpZiBIQVZFKEFD
Q0VTU0lCSUxJVFkpCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNz
aWJpbGl0eSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGRpc2FibGVBY2Nlc3Np
YmlsaXR5KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaAkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDYgKzI5LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCkBAIC04OSwx
NTcgKzkwLDYgQEAKIGNsYXNzIFNjcm9sbFZpZXc7CiBjbGFzcyBXaWRnZXQ7CiAKLXR5cGVkZWYg
dW5zaWduZWQgQVhJRDsKLQotZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7Ci0gICAgQW5u
b3RhdGlvbiA9IDEsCi0gICAgQXBwbGljYXRpb24sCi0gICAgQXBwbGljYXRpb25BbGVydCwKLSAg
ICBBcHBsaWNhdGlvbkFsZXJ0RGlhbG9nLAotICAgIEFwcGxpY2F0aW9uRGlhbG9nLAotICAgIEFw
cGxpY2F0aW9uR3JvdXAsCi0gICAgQXBwbGljYXRpb25Mb2csCi0gICAgQXBwbGljYXRpb25NYXJx
dWVlLAotICAgIEFwcGxpY2F0aW9uU3RhdHVzLAotICAgIEFwcGxpY2F0aW9uVGV4dEdyb3VwLAot
ICAgIEFwcGxpY2F0aW9uVGltZXIsCi0gICAgQXVkaW8sCi0gICAgQmxvY2txdW90ZSwKLSAgICBC
cm93c2VyLAotICAgIEJ1c3lJbmRpY2F0b3IsCi0gICAgQnV0dG9uLAotICAgIENhbnZhcywKLSAg
ICBDYXB0aW9uLAotICAgIENlbGwsCi0gICAgQ2hlY2tCb3gsCi0gICAgQ29sb3JXZWxsLAotICAg
IENvbHVtbiwKLSAgICBDb2x1bW5IZWFkZXIsCi0gICAgQ29tYm9Cb3gsCi0gICAgRGVmaW5pdGlv
biwKLSAgICBEZXNjcmlwdGlvbkxpc3QsCi0gICAgRGVzY3JpcHRpb25MaXN0VGVybSwKLSAgICBE
ZXNjcmlwdGlvbkxpc3REZXRhaWwsCi0gICAgRGV0YWlscywKLSAgICBEaXJlY3RvcnksCi0gICAg
RGlzY2xvc3VyZVRyaWFuZ2xlLAotICAgIERpdiwKLSAgICBEb2N1bWVudCwKLSAgICBEb2N1bWVu
dEFydGljbGUsCi0gICAgRG9jdW1lbnRNYXRoLAotICAgIERvY3VtZW50Tm90ZSwKLSAgICBEcmF3
ZXIsCi0gICAgRWRpdGFibGVUZXh0LAotICAgIEZlZWQsCi0gICAgRmlndXJlLAotICAgIEZvb3Rl
ciwKLSAgICBGb290bm90ZSwKLSAgICBGb3JtLAotICAgIEdyYXBoaWNzRG9jdW1lbnQsCi0gICAg
R3JhcGhpY3NPYmplY3QsCi0gICAgR3JhcGhpY3NTeW1ib2wsCi0gICAgR3JpZCwKLSAgICBHcmlk
Q2VsbCwKLSAgICBHcm91cCwKLSAgICBHcm93QXJlYSwKLSAgICBIZWFkaW5nLAotICAgIEhlbHBU
YWcsCi0gICAgSG9yaXpvbnRhbFJ1bGUsCi0gICAgSWdub3JlZCwKLSAgICBJbmxpbmUsCi0gICAg
SW1hZ2UsCi0gICAgSW1hZ2VNYXAsCi0gICAgSW1hZ2VNYXBMaW5rLAotICAgIEluY3JlbWVudG9y
LAotICAgIExhYmVsLAotICAgIExhbmRtYXJrQmFubmVyLAotICAgIExhbmRtYXJrQ29tcGxlbWVu
dGFyeSwKLSAgICBMYW5kbWFya0NvbnRlbnRJbmZvLAotICAgIExhbmRtYXJrRG9jUmVnaW9uLAot
ICAgIExhbmRtYXJrTWFpbiwKLSAgICBMYW5kbWFya05hdmlnYXRpb24sCi0gICAgTGFuZG1hcmtS
ZWdpb24sCi0gICAgTGFuZG1hcmtTZWFyY2gsCi0gICAgTGVnZW5kLAotICAgIExpbmssCi0gICAg
TGlzdCwKLSAgICBMaXN0Qm94LAotICAgIExpc3RCb3hPcHRpb24sCi0gICAgTGlzdEl0ZW0sCi0g
ICAgTGlzdE1hcmtlciwKLSAgICBNYXJrLAotICAgIE1hdGhFbGVtZW50LAotICAgIE1hdHRlLAot
ICAgIE1lbnUsCi0gICAgTWVudUJhciwKLSAgICBNZW51QnV0dG9uLAotICAgIE1lbnVJdGVtLAot
ICAgIE1lbnVJdGVtQ2hlY2tib3gsCi0gICAgTWVudUl0ZW1SYWRpbywKLSAgICBNZW51TGlzdFBv
cHVwLAotICAgIE1lbnVMaXN0T3B0aW9uLAotICAgIE91dGxpbmUsCi0gICAgUGFyYWdyYXBoLAot
ICAgIFBvcFVwQnV0dG9uLAotICAgIFByZSwKLSAgICBQcmVzZW50YXRpb25hbCwKLSAgICBQcm9n
cmVzc0luZGljYXRvciwKLSAgICBSYWRpb0J1dHRvbiwKLSAgICBSYWRpb0dyb3VwLAotICAgIFJv
d0hlYWRlciwKLSAgICBSb3csCi0gICAgUm93R3JvdXAsCi0gICAgUnVieUJhc2UsCi0gICAgUnVi
eUJsb2NrLAotICAgIFJ1YnlJbmxpbmUsCi0gICAgUnVieVJ1biwKLSAgICBSdWJ5VGV4dCwKLSAg
ICBSdWxlciwKLSAgICBSdWxlck1hcmtlciwKLSAgICBTY3JvbGxBcmVhLAotICAgIFNjcm9sbEJh
ciwKLSAgICBTZWFyY2hGaWVsZCwKLSAgICBTaGVldCwKLSAgICBTbGlkZXIsCi0gICAgU2xpZGVy
VGh1bWIsCi0gICAgU3BpbkJ1dHRvbiwKLSAgICBTcGluQnV0dG9uUGFydCwKLSAgICBTcGxpdEdy
b3VwLAotICAgIFNwbGl0dGVyLAotICAgIFN0YXRpY1RleHQsCi0gICAgU3VtbWFyeSwKLSAgICBT
d2l0Y2gsCi0gICAgU3lzdGVtV2lkZSwKLSAgICBTVkdSb290LAotICAgIFNWR1RleHQsCi0gICAg
U1ZHVFNwYW4sCi0gICAgU1ZHVGV4dFBhdGgsCi0gICAgVGFiR3JvdXAsCi0gICAgVGFiTGlzdCwK
LSAgICBUYWJQYW5lbCwKLSAgICBUYWIsCi0gICAgVGFibGUsCi0gICAgVGFibGVIZWFkZXJDb250
YWluZXIsCi0gICAgVGV4dEFyZWEsCi0gICAgVGV4dEdyb3VwLAotICAgIFRlcm0sCi0gICAgVGlt
ZSwKLSAgICBUcmVlLAotICAgIFRyZWVHcmlkLAotICAgIFRyZWVJdGVtLAotICAgIFRleHRGaWVs
ZCwKLSAgICBUb2dnbGVCdXR0b24sCi0gICAgVG9vbGJhciwKLSAgICBVbmtub3duLAotICAgIFVz
ZXJJbnRlcmZhY2VUb29sdGlwLAotICAgIFZhbHVlSW5kaWNhdG9yLAotICAgIFZpZGVvLAotICAg
IFdlYkFwcGxpY2F0aW9uLAotICAgIFdlYkFyZWEsCi0gICAgV2ViQ29yZUxpbmssCi0gICAgV2lu
ZG93LAotfTsKLQogZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZSB7CiAgICAgQWx0
ZXJuYXRpdmUsCiAgICAgQ2hpbGRyZW4sCkBAIC00OTEsNyArMzQxLDcgQEAKICAgICAKIGJvb2wg
bm9kZUhhc1ByZXNlbnRhdGlvblJvbGUoTm9kZSopOwogICAgIAotY2xhc3MgQWNjZXNzaWJpbGl0
eU9iamVjdCA6IHB1YmxpYyBSZWZDb3VudGVkPEFjY2Vzc2liaWxpdHlPYmplY3Q+IHsKK2NsYXNz
IEFjY2Vzc2liaWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2Jq
ZWN0PiwgcHVibGljIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UgewogcHJvdGVjdGVkOgog
ICAgIEFjY2Vzc2liaWxpdHlPYmplY3QoKSA9IGRlZmF1bHQ7CiAgICAgCkBAIC0xMTU5LDcgKzEw
MDksMTAgQEAKICAgICBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEgbV9pc0ln
bm9yZWRGcm9tUGFyZW50RGF0YSB7IH07CiAgICAgYm9vbCBtX2NoaWxkcmVuRGlydHkgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9zdWJ0cmVlRGlydHkgeyBmYWxzZSB9OwotCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBib29sIG1faXNvbGF0ZWRUcmVlTm9kZUlu
aXRpYWxpemVkIHsgZmFsc2UgfTsKKyNlbmRpZgorICAgIAogICAgIHZvaWQgc2V0SXNJZ25vcmVk
RnJvbVBhcmVudERhdGEoQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhJiBkYXRh
KSB7IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEgPSBkYXRhOyB9CiAKICAgICB2aXJ0dWFsIGJv
b2wgY29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJ
bnRlcmZhY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDE5MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3R5cGVkZWYgdW5zaWduZWQgQVhJRDsKK2V4dGVybiBjb25z
dCBBWElEIEludmFsaWRBWElEOworCitlbnVtIGNsYXNzIEFjY2Vzc2liaWxpdHlSb2xlIHsKKyAg
ICBBbm5vdGF0aW9uID0gMSwKKyAgICBBcHBsaWNhdGlvbiwKKyAgICBBcHBsaWNhdGlvbkFsZXJ0
LAorICAgIEFwcGxpY2F0aW9uQWxlcnREaWFsb2csCisgICAgQXBwbGljYXRpb25EaWFsb2csCisg
ICAgQXBwbGljYXRpb25Hcm91cCwKKyAgICBBcHBsaWNhdGlvbkxvZywKKyAgICBBcHBsaWNhdGlv
bk1hcnF1ZWUsCisgICAgQXBwbGljYXRpb25TdGF0dXMsCisgICAgQXBwbGljYXRpb25UZXh0R3Jv
dXAsCisgICAgQXBwbGljYXRpb25UaW1lciwKKyAgICBBdWRpbywKKyAgICBCbG9ja3F1b3RlLAor
ICAgIEJyb3dzZXIsCisgICAgQnVzeUluZGljYXRvciwKKyAgICBCdXR0b24sCisgICAgQ2FudmFz
LAorICAgIENhcHRpb24sCisgICAgQ2VsbCwKKyAgICBDaGVja0JveCwKKyAgICBDb2xvcldlbGws
CisgICAgQ29sdW1uLAorICAgIENvbHVtbkhlYWRlciwKKyAgICBDb21ib0JveCwKKyAgICBEZWZp
bml0aW9uLAorICAgIERlc2NyaXB0aW9uTGlzdCwKKyAgICBEZXNjcmlwdGlvbkxpc3RUZXJtLAor
ICAgIERlc2NyaXB0aW9uTGlzdERldGFpbCwKKyAgICBEZXRhaWxzLAorICAgIERpcmVjdG9yeSwK
KyAgICBEaXNjbG9zdXJlVHJpYW5nbGUsCisgICAgRGl2LAorICAgIERvY3VtZW50LAorICAgIERv
Y3VtZW50QXJ0aWNsZSwKKyAgICBEb2N1bWVudE1hdGgsCisgICAgRG9jdW1lbnROb3RlLAorICAg
IERyYXdlciwKKyAgICBFZGl0YWJsZVRleHQsCisgICAgRmVlZCwKKyAgICBGaWd1cmUsCisgICAg
Rm9vdGVyLAorICAgIEZvb3Rub3RlLAorICAgIEZvcm0sCisgICAgR3JhcGhpY3NEb2N1bWVudCwK
KyAgICBHcmFwaGljc09iamVjdCwKKyAgICBHcmFwaGljc1N5bWJvbCwKKyAgICBHcmlkLAorICAg
IEdyaWRDZWxsLAorICAgIEdyb3VwLAorICAgIEdyb3dBcmVhLAorICAgIEhlYWRpbmcsCisgICAg
SGVscFRhZywKKyAgICBIb3Jpem9udGFsUnVsZSwKKyAgICBJZ25vcmVkLAorICAgIElubGluZSwK
KyAgICBJbWFnZSwKKyAgICBJbWFnZU1hcCwKKyAgICBJbWFnZU1hcExpbmssCisgICAgSW5jcmVt
ZW50b3IsCisgICAgTGFiZWwsCisgICAgTGFuZG1hcmtCYW5uZXIsCisgICAgTGFuZG1hcmtDb21w
bGVtZW50YXJ5LAorICAgIExhbmRtYXJrQ29udGVudEluZm8sCisgICAgTGFuZG1hcmtEb2NSZWdp
b24sCisgICAgTGFuZG1hcmtNYWluLAorICAgIExhbmRtYXJrTmF2aWdhdGlvbiwKKyAgICBMYW5k
bWFya1JlZ2lvbiwKKyAgICBMYW5kbWFya1NlYXJjaCwKKyAgICBMZWdlbmQsCisgICAgTGluaywK
KyAgICBMaXN0LAorICAgIExpc3RCb3gsCisgICAgTGlzdEJveE9wdGlvbiwKKyAgICBMaXN0SXRl
bSwKKyAgICBMaXN0TWFya2VyLAorICAgIE1hcmssCisgICAgTWF0aEVsZW1lbnQsCisgICAgTWF0
dGUsCisgICAgTWVudSwKKyAgICBNZW51QmFyLAorICAgIE1lbnVCdXR0b24sCisgICAgTWVudUl0
ZW0sCisgICAgTWVudUl0ZW1DaGVja2JveCwKKyAgICBNZW51SXRlbVJhZGlvLAorICAgIE1lbnVM
aXN0UG9wdXAsCisgICAgTWVudUxpc3RPcHRpb24sCisgICAgT3V0bGluZSwKKyAgICBQYXJhZ3Jh
cGgsCisgICAgUG9wVXBCdXR0b24sCisgICAgUHJlLAorICAgIFByZXNlbnRhdGlvbmFsLAorICAg
IFByb2dyZXNzSW5kaWNhdG9yLAorICAgIFJhZGlvQnV0dG9uLAorICAgIFJhZGlvR3JvdXAsCisg
ICAgUm93SGVhZGVyLAorICAgIFJvdywKKyAgICBSb3dHcm91cCwKKyAgICBSdWJ5QmFzZSwKKyAg
ICBSdWJ5QmxvY2ssCisgICAgUnVieUlubGluZSwKKyAgICBSdWJ5UnVuLAorICAgIFJ1YnlUZXh0
LAorICAgIFJ1bGVyLAorICAgIFJ1bGVyTWFya2VyLAorICAgIFNjcm9sbEFyZWEsCisgICAgU2Ny
b2xsQmFyLAorICAgIFNlYXJjaEZpZWxkLAorICAgIFNoZWV0LAorICAgIFNsaWRlciwKKyAgICBT
bGlkZXJUaHVtYiwKKyAgICBTcGluQnV0dG9uLAorICAgIFNwaW5CdXR0b25QYXJ0LAorICAgIFNw
bGl0R3JvdXAsCisgICAgU3BsaXR0ZXIsCisgICAgU3RhdGljVGV4dCwKKyAgICBTdW1tYXJ5LAor
ICAgIFN3aXRjaCwKKyAgICBTeXN0ZW1XaWRlLAorICAgIFNWR1Jvb3QsCisgICAgU1ZHVGV4dCwK
KyAgICBTVkdUU3BhbiwKKyAgICBTVkdUZXh0UGF0aCwKKyAgICBUYWJHcm91cCwKKyAgICBUYWJM
aXN0LAorICAgIFRhYlBhbmVsLAorICAgIFRhYiwKKyAgICBUYWJsZSwKKyAgICBUYWJsZUhlYWRl
ckNvbnRhaW5lciwKKyAgICBUZXh0QXJlYSwKKyAgICBUZXh0R3JvdXAsCisgICAgVGVybSwKKyAg
ICBUaW1lLAorICAgIFRyZWUsCisgICAgVHJlZUdyaWQsCisgICAgVHJlZUl0ZW0sCisgICAgVGV4
dEZpZWxkLAorICAgIFRvZ2dsZUJ1dHRvbiwKKyAgICBUb29sYmFyLAorICAgIFVua25vd24sCisg
ICAgVXNlckludGVyZmFjZVRvb2x0aXAsCisgICAgVmFsdWVJbmRpY2F0b3IsCisgICAgVmlkZW8s
CisgICAgV2ViQXBwbGljYXRpb24sCisgICAgV2ViQXJlYSwKKyAgICBXZWJDb3JlTGluaywKKyAg
ICBXaW5kb3csCit9OworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKK3B1
YmxpYzoKKyAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlKCkgPSBkZWZh
dWx0OworCisgICAgdmlydHVhbCBib29sIGlzTWVkaWFDb250cm9sTGFiZWwoKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCA9IDA7Cisg
ICAgdmlydHVhbCBib29sIGlzQXR0YWNobWVudCgpIGNvbnN0ID0gMDsKK307CisKK30KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTI2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBWElz
b2xhdGVkVHJlZS5oIgorCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCisjaW5jbHVk
ZSAiUGFnZS5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisgICAgCitzdGF0aWMgdW5zaWduZWQgc190cmVlSURDb3VudCA9IDA7CisKK0hh
c2hNYXA8QVhJc29sYXRlZFRyZWVJRCwgUmVmPEFYSXNvbGF0ZWRUcmVlPj4mIEFYSXNvbGF0ZWRU
cmVlOjp0cmVlQ2FjaGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPEFY
SXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKK30KKworQVhJc29sYXRlZFRyZWU6OkFYSXNvbGF0ZWRUcmVlKCkKKyAgICA6IG1fdHJlZUlE
KCsrc190cmVlSURDb3VudCkKK3sKK30KKworQVhJc29sYXRlZFRyZWU6On5BWElzb2xhdGVkVHJl
ZSgpID0gZGVmYXVsdDsKKworUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWElzb2xhdGVkVHJlZTo6Y3Jl
YXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZSgpKTsKK30K
KyAgICAKK1JlZlB0cjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJRChB
WElzb2xhdGVkVHJlZUlEIHRyZWVJRCkKK3sKKyAgICByZXR1cm4gdHJlZUNhY2hlKCkuZ2V0KHRy
ZWVJRCk7Cit9CisKK1JlZjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQ
YWdlSUQodWludDY0X3QgcGFnZUlEKQoreworICAgIHN0YXRpYyBMb2NrIGNhY2hlTG9jazsKKyAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDx1aW50NjRfdCwgUmVmPEFYSXNvbGF0ZWRU
cmVlPj4+IHBhZ2VNYXA7CisKKyAgICBjYWNoZUxvY2subG9jaygpOworICAgIGlmIChBWElzb2xh
dGVkVHJlZSogdHJlZSA9IHBhZ2VNYXAuZ2V0KCkuZ2V0KHBhZ2VJRCkpIHsKKyAgICAgICAgUmVm
PEFYSXNvbGF0ZWRUcmVlPiBuZXdUcmVlID0gbWFrZVJlZigqdHJlZSk7CisgICAgICAgIGNhY2hl
TG9jay51bmxvY2soKTsKKyAgICAgICAgcmV0dXJuIG5ld1RyZWU7CisgICAgfSBlbHNlIHsKKyAg
ICAgICAgUmVmPEFYSXNvbGF0ZWRUcmVlPiBuZXdUcmVlID0gQVhJc29sYXRlZFRyZWU6OmNyZWF0
ZSgpOworICAgICAgICBwYWdlTWFwLmdldCgpLnNldChwYWdlSUQsIG5ld1RyZWUuY29weVJlZigp
KTsKKyAgICAgICAgdHJlZUNhY2hlKCkuc2V0KG5ld1RyZWUtPnRyZWVJZGVudGlmaWVyKCksIG5l
d1RyZWUuY29weVJlZigpKTsKKyAgICAgICAgY2FjaGVMb2NrLnVubG9jaygpOworICAgICAgICBy
ZXR1cm4gbmV3VHJlZTsKKyAgICB9Cit9CisgICAgCitSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2Rl
PiBBWElzb2xhdGVkVHJlZTo6bm9kZUZvcklEKEFYSUQgYXhJRCkgY29uc3QKK3sKKyAgICBpZiAo
IWF4SUQpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBtX3JlYWRlclRocmVh
ZE5vZGVNYXAuZ2V0KGF4SUQpOworfQorCitSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiBBWElz
b2xhdGVkVHJlZTo6cm9vdE5vZGUoKQoreworICAgIHJldHVybiBub2RlRm9ySUQobV9yb290Tm9k
ZUlEKTsKK30KKwordm9pZCBBWElzb2xhdGVkVHJlZTo6cmVtb3ZlTm9kZShBWElEIGF4SUQpCit7
CisgICAgbV9jaGFuZ2VMb2dMb2NrLmxvY2soKTsKKyAgICBtX3BlbmRpbmdSZW1vdmFscy5hcHBl
bmQoYXhJRCk7CisgICAgbV9jaGFuZ2VMb2dMb2NrLnVubG9jaygpOworfQorCit2b2lkIEFYSXNv
bGF0ZWRUcmVlOjphcHBlbmROb2RlQ2hhbmdlcyhWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVl
Tm9kZT4+JiBsb2cpCit7CisgICAgbV9jaGFuZ2VMb2dMb2NrLmxvY2soKTsKKyAgICBtX3BlbmRp
bmdBcHBlbmRzLmFwcGVuZFZlY3Rvcihsb2cpOworICAgIG1fY2hhbmdlTG9nTG9jay51bmxvY2so
KTsKK30KKyAgICAKK3ZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGluZ0NoYW5nZXMoKQor
eworICAgIG1fY2hhbmdlTG9nTG9jay5sb2NrKCk7CisgICAgVmVjdG9yPFJlZlB0cjxBWElzb2xh
dGVkVHJlZU5vZGU+PiBhcHBlbmRDb3B5KFdURk1vdmUobV9wZW5kaW5nQXBwZW5kcykpOworICAg
IFZlY3RvcjxBWElEPiByZW1vdmVDb3B5KFdURk1vdmUobV9wZW5kaW5nUmVtb3ZhbHMpKTsKKyAg
ICBtX2NoYW5nZUxvZ0xvY2sudW5sb2NrKCk7CisKKyAgICBmb3IgKGF1dG8mIGl0ZW0gOiBhcHBl
bmRDb3B5KSB7CisgICAgICAgIG1fcmVhZGVyVGhyZWFkTm9kZU1hcC5zZXQoaXRlbS0+aWRlbnRp
ZmllcigpLCAqaXRlbSk7CisgICAgICAgIGlmIChpdGVtLT5pc1Jvb3ROb2RlKCkpCisgICAgICAg
ICAgICBtX3Jvb3ROb2RlSUQgPSBpdGVtLT5pZGVudGlmaWVyKCk7CisgICAgfQorCisgICAgZm9y
IChhdXRvIGl0ZW0gOiByZW1vdmVDb3B5KQorICAgICAgICBtX3JlYWRlclRocmVhZE5vZGVNYXAu
cmVtb3ZlKGl0ZW0pOworfQorICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRl
ZFRyZWUuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lz
b2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODIg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNs
dWRlICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQYWdlOworCit0eXBlZGVmIHVuc2ln
bmVkIEFYSXNvbGF0ZWRUcmVlSUQ7CisgICAgCitjbGFzcyBBWElzb2xhdGVkVHJlZSA6IHB1Ymxp
YyBUaHJlYWRTYWZlUmVmQ291bnRlZDxBWElzb2xhdGVkVHJlZT4geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEFYSXNvbGF0ZWRUcmVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUmVmPEFYSXNvbGF0ZWRUcmVlPiBjcmVhdGUoKTsKKyAgICB2aXJ0
dWFsIH5BWElzb2xhdGVkVHJlZSgpOworCisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZjxB
WElzb2xhdGVkVHJlZT4gdHJlZUZvclBhZ2VJRCh1aW50NjRfdCk7CisgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIFJlZlB0cjxBWElzb2xhdGVkVHJlZT4gdHJlZUZvcklEKEFYSXNvbGF0ZWRUcmVl
SUQpOworCisgICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gcm9v
dE5vZGUoKTsKKyAgICBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiBub2RlRm9ySUQoQVhJRCkg
Y29uc3Q7CisKKyAgICAvLyBDYWxsIG9uIG1haW4gdGhyZWFkCisgICAgdm9pZCBhcHBlbmROb2Rl
Q2hhbmdlcyhWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+Jik7CisgICAgdm9pZCBy
ZW1vdmVOb2RlKEFYSUQpOworCisgICAgLy8gQ2FsbCBvbiBBWCB0aHJlYWQKKyAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKyAgICAKKyAgICBBWElzb2xhdGVk
VHJlZUlEIHRyZWVJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV90cmVlSUQ7IH0KKyAgICAK
K3ByaXZhdGU6CisgICAgQVhJc29sYXRlZFRyZWUoKTsKKworICAgIHN0YXRpYyBIYXNoTWFwPEFY
SXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+JiB0cmVlQ2FjaGUoKTsKKyAgICAK
KyAgICAvLyBPbmx5IGFjY2VzcyBvbiBBWCB0aHJlYWQgcmVxdWVzdGluZyBkYXRhLgorICAgIEhh
c2hNYXA8QVhJRCwgUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4+IG1fcmVhZGVyVGhyZWFkTm9kZU1h
cDsKKyAgICAKKyAgICAvLyBXcml0dGVuIHRvIGJ5IG1haW4gdGhyZWFkIHVuZGVyIGxvY2ssIGFj
Y2Vzc2VkIGFuZCBhcHBsaWVkIGJ5IEFYIHRocmVhZC4KKyAgICBWZWN0b3I8UmVmUHRyPEFYSXNv
bGF0ZWRUcmVlTm9kZT4+IG1fcGVuZGluZ0FwcGVuZHM7CisgICAgVmVjdG9yPEFYSUQ+IG1fcGVu
ZGluZ1JlbW92YWxzOworICAgIExvY2sgbV9jaGFuZ2VMb2dMb2NrOworCisgICAgQVhJc29sYXRl
ZFRyZWVJRCBtX3RyZWVJRDsKKyAgICBBWElEIG1fcm9vdE5vZGVJRDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9k
ZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDExOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2Rl
LmgiCisKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworQVhJc29sYXRlZFRyZWVOb2RlOjpBWElzb2xhdGVkVHJlZU5vZGUoY29uc3QgQWNj
ZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQorICAgIDogbV9pZGVudGlmaWVyKG9iamVjdC5heE9i
amVjdElEKCkpCisgICAgLCBtX3JlbGF0aW9uc2hpcChBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cDo6Y3JlYXRlKCkpCit7CisgICAgaW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEob2JqZWN0KTsKK30K
KworUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gQVhJc29sYXRlZFRyZWVOb2RlOjpjcmVhdGUoY29u
c3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQoreworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IEFYSXNvbGF0ZWRUcmVlTm9kZShvYmplY3QpKTsKK30KKyAgICAKK0FYSXNvbGF0ZWRUcmVl
Tm9kZTo6fkFYSXNvbGF0ZWRUcmVlTm9kZSgpID0gZGVmYXVsdDsKKwordm9pZCBBWElzb2xhdGVk
VHJlZU5vZGU6OmluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmpl
Y3QmIG9iamVjdCkKK3sKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Um9sZVZhbHVl
LCBzdGF0aWNfY2FzdDxpbnQ+KG9iamVjdC5yb2xlVmFsdWUoKSkpOworICAgIHNldFByb3BlcnR5
KEFYUHJvcGVydHlOYW1lOjpJc0F0dGFjaG1lbnQsIG9iamVjdC5pc0F0dGFjaG1lbnQoKSk7Cisg
ICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzTWVkaWFDb250cm9sTGFiZWwsIG9iamVj
dC5pc01lZGlhQ29udHJvbExhYmVsKCkpOworfQorICAgIAordm9pZCBBWElzb2xhdGVkVHJlZU5v
ZGU6OnNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgQXR0cmlidXRlVmFs
dWVWYXJpYW50JiYgdmFsdWUsIGJvb2wgc2hvdWxkUmVtb3ZlKQoreworICAgIGlmIChzaG91bGRS
ZW1vdmUpCisgICAgICAgIG1fYXR0cmlidXRlTWFwLnJlbW92ZShwcm9wZXJ0eU5hbWUpOworICAg
IGVsc2UKKyAgICAgICAgbV9hdHRyaWJ1dGVNYXAuc2V0KHByb3BlcnR5TmFtZSwgdmFsdWUpOwor
fQorICAgIAorZG91YmxlIEFYSXNvbGF0ZWRUcmVlTm9kZTo6ZG91YmxlQXR0cmlidXRlVmFsdWUo
QVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBt
X2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hP
bih2YWx1ZSwgWyZdIChkb3VibGUmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVk
VmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gMC4wOworICAgIH0p
OworfQorCit1bnNpZ25lZCBBWElzb2xhdGVkVHJlZU5vZGU6OnVuc2lnbmVkQXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUg
PSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0
Y2hPbih2YWx1ZSwgWyZdICh1bnNpZ25lZCYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4g
dHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiAwOworICAg
IH0pOworfQorCitib29sIEFYSXNvbGF0ZWRUcmVlTm9kZTo6Ym9vbEF0dHJpYnV0ZVZhbHVlKEFY
UHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9h
dHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24o
dmFsdWUsIFsmXSAoYm9vbCYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1
ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9KTsK
K30KKworY29uc3QgU3RyaW5nJiBBWElzb2xhdGVkVHJlZU5vZGU6OnN0cmluZ0F0dHJpYnV0ZVZh
bHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVl
ID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dp
dGNoT24odmFsdWUsIFsmXSAoU3RyaW5nJiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0
eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIG51bGxBdG9t
KCk7CisgICAgfSk7Cit9CisKK2ludCBBWElzb2xhdGVkVHJlZU5vZGU6OmludEF0dHJpYnV0ZVZh
bHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVl
ID0gbV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dp
dGNoT24odmFsdWUsIFsmXSAoaW50JiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBl
ZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfSk7
Cit9CisKKyNwcmFnbWEgbWFyayAtIE92ZXJyaWRlcworICAgIAorfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKChBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
VHJlZU5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lz
b2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1NSBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDE5
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworKiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+
CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1Zh
cmlhbnQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIu
aD4KKworI2lmIFBMQVRGT1JNKENPQ09BKQorT0JKQ19DTEFTUyBXZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlcjsKKyNlbmRpZgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEFjY2Vz
c2liaWxpdHlPYmplY3Q7CisKK2NsYXNzIEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwIDogcHVi
bGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwPiB7Citw
dWJsaWM6CisgICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCgpKTsg
fQorICAgIHZpcnR1YWwgfkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwKCkgPSBkZWZhdWx0Owor
CisgICAgQVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXAoY29uc3QgQVhJc29sYXRlZFRyZWVSZWxh
dGlvbnNoaXAmIHJlbGF0aW9uc2hpcCkKKyAgICAgICAgOiBtX3BhcmVudChyZWxhdGlvbnNoaXAu
bV9wYXJlbnQpCisgICAgICAgICwgbV9jaGlsZHJlbihyZWxhdGlvbnNoaXAubV9jaGlsZHJlbikK
KyAgICB7CisgICAgfQorICAgIAorICAgIEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwJiBvcGVy
YXRvcj0oY29uc3QgQVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXAmIHJlbGF0aW9uc2hpcCkKKyAg
ICB7CisgICAgICAgIG1fcGFyZW50ID0gcmVsYXRpb25zaGlwLm1fcGFyZW50OworICAgICAgICBt
X2NoaWxkcmVuID0gcmVsYXRpb25zaGlwLm1fY2hpbGRyZW47CisgICAgICAgIHJldHVybiAqdGhp
czsKKyAgICB9CisKKyAgICB2b2lkIHNldFBhcmVudChBWElEIHBhcmVudCkgeyBtX3BhcmVudCA9
IHBhcmVudDsgfQorICAgIEFYSUQgcGFyZW50KCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnQ7IH0K
KworICAgIFZlY3RvcjxBWElEPiYgY2hpbGRyZW4oKSB7IHJldHVybiBtX2NoaWxkcmVuOyB9Owor
Citwcml2YXRlOgorICAgIEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwKCkgeyB9CisKKyAgICBB
WElEIG1fcGFyZW50OworICAgIFZlY3RvcjxBWElEPiBtX2NoaWxkcmVuOworfTsKKworICAgIAor
Y2xhc3MgQVhJc29sYXRlZFRyZWVOb2RlIGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxpdHlPYmpl
Y3RJbnRlcmZhY2UsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxBWElzb2xhdGVkVHJlZU5v
ZGU+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiB7CisgICAgCitl
bnVtIGNsYXNzIEFYUHJvcGVydHlOYW1lIDogdWludDE2X3QgeworICAgIE5vbmUgPSAwLAorICAg
IFJvbGVWYWx1ZSA9IDEsCisgICAgSXNBdHRhY2htZW50LAorICAgIElzTWVkaWFDb250cm9sTGFi
ZWwsCit9OworCitzdHJ1Y3QgQVhQcm9wZXJ0eUhhc2hUcmFpdHMgOiBXVEY6OlN0cm9uZ0VudW1I
YXNoVHJhaXRzPEFYUHJvcGVydHlOYW1lPiB7CisgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlW
YWx1ZUlzWmVybyA9IGZhbHNlOworICAgIHN0YXRpYyBBWFByb3BlcnR5TmFtZSBlbXB0eVZhbHVl
KCkgeyByZXR1cm4gQVhQcm9wZXJ0eU5hbWU6Ok5vbmU7IH07CisgICAgc3RhdGljIHZvaWQgY29u
c3RydWN0RGVsZXRlZFZhbHVlKEFYUHJvcGVydHlOYW1lJiBzbG90KQorICAgIHsKKyAgICAgICAg
c2xvdCA9IHN0YXRpY19jYXN0PEFYUHJvcGVydHlOYW1lPihzdGF0aWNfY2FzdDxpbnQ+KEFYUHJv
cGVydHlOYW1lOjpOb25lKSAtIDEpOworICAgIH0KKyAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRW
YWx1ZShBWFByb3BlcnR5TmFtZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxpbnQ+KHZhbHVlKSA9PSBzdGF0aWNfY2FzdDxpbnQ+KEFYUHJvcGVydHlOYW1lOjpOb25l
KSAtIDE7CisgICAgfQorfTsKKworcHJvdGVjdGVkOgorICAgIEFYSXNvbGF0ZWRUcmVlTm9kZSgp
ID0gZGVmYXVsdDsKKworcHVibGljOgorICAgIHN0YXRpYyBSZWY8QVhJc29sYXRlZFRyZWVOb2Rl
PiBjcmVhdGUoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYpOworICAgIHZpcnR1YWwgfkFYSXNv
bGF0ZWRUcmVlTm9kZSgpOworCisgICAgQVhJRCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4g
bV9pZGVudGlmaWVyOyB9CisgICAgCisgICAgUmVmPEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlw
PiByZWxhdGlvbnNoaXAoKSB7IHJldHVybiBtX3JlbGF0aW9uc2hpcC5jb3B5UmVmKCk7IH0KKyAg
ICAKKyAgICBib29sIGlzUm9vdE5vZGUoKSBjb25zdCB7IHJldHVybiBtX2lzUm9vdE5vZGU7IH0K
KyAgICB2b2lkIHNldElzUm9vdE5vZGUoYm9vbCB2YWx1ZSkgeyBtX2lzUm9vdE5vZGUgPSB2YWx1
ZTsgfQorICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFdlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyKiB3cmFwcGVyKCkgY29uc3QgeyByZXR1cm4gbV93cmFwcGVyLmdldCgpOyB9Cisg
ICAgdm9pZCBzZXRXcmFwcGVyKFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKiB3cmFwcGVy
KQorICAgIHsKKyAgICAgICAgbV93cmFwcGVyID0gd3JhcHBlcjsKKyAgICB9CisjZW5kaWYKKwor
cHJpdmF0ZToKKyAgICBBWElzb2xhdGVkVHJlZU5vZGUoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVj
dCYpOworICAgIHZvaWQgaW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoY29uc3QgQWNjZXNzaWJpbGl0
eU9iamVjdCYpOworCisgICAgYm9vbCBpc01lZGlhQ29udHJvbExhYmVsKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpJc01lZGlhQ29u
dHJvbExhYmVsKTsgfQorICAgIGJvb2wgaXNBdHRhY2htZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpJc0F0dGFjaG1lbnQpOyB9
CisgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8QWNjZXNzaWJpbGl0eVJvbGU+KGludEF0dHJpYnV0ZVZhbHVlKEFYUHJv
cGVydHlOYW1lOjpSb2xlVmFsdWUpKTsgfQorCisgICAgdXNpbmcgQXR0cmlidXRlVmFsdWVWYXJp
YW50ID0gVmFyaWFudDxzdGQ6Om51bGxwdHJfdCwgU3RyaW5nLCBib29sLCBpbnQsIHVuc2lnbmVk
LCBkb3VibGU+OworICAgIHZvaWQgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWUsIEF0dHJpYnV0
ZVZhbHVlVmFyaWFudCYmLCBib29sIHNob3VsZFJlbW92ZSA9IGZhbHNlKTsKKworICAgIGJvb2wg
Ym9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBjb25zdCBTdHJp
bmcmIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBpbnQg
aW50QXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIHVuc2lnbmVkIHVu
c2lnbmVkQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGRvdWJsZSBk
b3VibGVBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisKKyAgICBBWElEIG1f
aWRlbnRpZmllcjsKKyAgICBib29sIG1faXNSb290Tm9kZTsKKyAgICBSZWY8QVhJc29sYXRlZFRy
ZWVSZWxhdGlvbnNoaXA+IG1fcmVsYXRpb25zaGlwOworCisjaWYgUExBVEZPUk0oQ09DT0EpCisg
ICAgUmV0YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiBtX3dyYXBwZXI7Cisj
ZW5kaWYKKworICAgIC8vIFdlIGRvbid0IG1hcmsgdGhpcyBjb25zdCBiZWNhdXNlIGV2ZW4gdGhv
dWdoIGF0dHJpYnV0ZXMgZG9uJ3QgY2hhbmdlIGFmdGVyIGluaXRpYWwgY3JlYXRpb24sCisgICAg
Ly8gd2UgbWF5IGNvcHkgYW4gZXhpc3Rpbmcgbm9kZSBhbmQgcmVwbGFjZSBzcGVjaWZpYyB2YWx1
ZXMsCisgICAgSGFzaE1hcDxBWFByb3BlcnR5TmFtZSwgQXR0cmlidXRlVmFsdWVWYXJpYW50LCBX
VEY6OkludEhhc2g8QVhQcm9wZXJ0eU5hbWU+LCBBWFByb3BlcnR5SGFzaFRyYWl0cz4gbV9hdHRy
aWJ1dGVNYXA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0JKHJldmlzaW9u
IDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2Fj
aGVNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEhBVkUoQUND
RVNTSUJJTElUWSkgJiYgUExBVEZPUk0oTUFDKQogCisjaW1wb3J0ICJBWElzb2xhdGVkVHJlZU5v
ZGUuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vzc2li
aWxpdHlUYWJsZS5oIgogI2ltcG9ydCAiUmVuZGVyT2JqZWN0LmgiCkBAIC0yMzcsNiArMjM4LDE0
IEBACiAgICAgb2JqLT5zZXRXcmFwcGVyKG51bGxwdHIpOwogfQogCisjaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK3ZvaWQgQVhPYmplY3RDYWNoZTo6YXNzb2NpYXRlSXNv
bGF0ZWRUcmVlTm9kZShBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QsIEFYSXNvbGF0ZWRUcmVl
Tm9kZSYgbm9kZSwgQVhJc29sYXRlZFRyZWVJRCB0cmVlSUQpCit7CisgICAgb2JqZWN0LndyYXBw
ZXIoKS5pc29sYXRlZFRyZWVJZGVudGlmaWVyID0gdHJlZUlEOworICAgIG5vZGUuc2V0V3JhcHBl
cihvYmplY3Qud3JhcHBlcigpKTsKK30KKyNlbmRpZgorICAgIAogdm9pZCBBWE9iamVjdENhY2hl
OjphdHRhY2hXcmFwcGVyKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaikKIHsKICAgICBSZXRhaW5Q
dHI8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI+IHdyYXBwZXIgPSBhZG9wdE5TKFtbV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWxsb2NdIGluaXRXaXRoQWNjZXNzaWJpbGl0eU9i
amVjdDpvYmpdKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5o
CShyZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9X
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjks
MTEgKzI5LDE4IEBACiAjaWZuZGVmIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZV9o
CiAjZGVmaW5lIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZV9oCiAKKyNpbmNsdWRl
ICJBWElzb2xhdGVkVHJlZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNp
bmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdDsKKyNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorY2xhc3MgQVhJc29sYXRlZFRyZWVO
b2RlOworI2VuZGlmCiBzdHJ1Y3QgQWNjZXNzaWJpbGl0eVNlYXJjaENyaXRlcmlhOwogY2xhc3Mg
SW50UmVjdDsKIGNsYXNzIEZsb2F0UG9pbnQ7CkBAIC00NCwxMyArNTEsMjYgQEAKIAogQGludGVy
ZmFjZSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgOiBOU09iamVjdCB7CiAgICAg
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogbV9vYmplY3Q7CisgICAgV2ViQ29yZTo6QVhJ
RCBfaWRlbnRpZmllcjsKIH0KICAKIC0gKGlkKWluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDoo
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCopYXhPYmplY3Q7CisKKyNpZiBFTkFCTEUoQUND
RVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBSZWZQdHI8V2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlPiBpc29sYXRlZFRyZWVOb2RlOwor
QHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVJRCBp
c29sYXRlZFRyZWVJZGVudGlmaWVyOworI2VuZGlmCisKIC0gKHZvaWQpZGV0YWNoOworCitAcHJv
cGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBXZWJDb3JlOjpBWElEIGlkZW50aWZpZXI7CisKIC0g
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqKWFjY2Vzc2liaWxpdHlPYmplY3Q7CiAtIChC
T09MKXVwZGF0ZU9iamVjdEJhY2tpbmdTdG9yZTsKIAorLy8gVGhpcyBjYW4gYmUgZWl0aGVyIGFu
IEFjY2Vzc2liaWxpdHlPYmplY3Qgb3IgYW4gQVhJc29sYXRlZFRyZWVOb2RlCistIChXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlKilheEJhY2tpbmdPYmplY3Q7CisKIC8vIFRo
ZXNlIGFyZSBwcmUtZml4ZWQgd2l0aCBiYXNlIHNvIHRoYXQgQXBwS2l0IGRvZXMgbm90IGVuZCB1
cCBjYWxsaW5nIGludG8gdGhlc2UgZGlyZWN0bHkgKGJ5cGFzc2luZyBzYWZldHkgY2hlY2tzKS4K
IC0gKE5TU3RyaW5nICopYmFzZUFjY2Vzc2liaWxpdHlUaXRsZTsKIC0gKE5TU3RyaW5nICopYmFz
ZUFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlckJhc2UubW0JKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkod29y
a2luZyBjb3B5KQpAQCAtMzEsMTAgKzMxLDEzIEBACiAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkp
CiAKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlLmgiCisjaW1wb3J0ICJBWElzb2xhdGVkVHJlZU5v
ZGUuaCIKICNpbXBvcnQgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlB
UklBR3JpZFJvdy5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxpc3QuaCIKICNpbXBvcnQgIkFj
Y2Vzc2liaWxpdHlMaXN0Qm94LmgiCisjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgiCiAjaW1wb3J0ICJB
Y2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVNwaW5CdXR0
b24uaCIKQEAgLTI3MCw2ICsyNzMsOCBAQAogCiBAaW1wbGVtZW50YXRpb24gV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJCYXNlCiAKK0BzeW50aGVzaXplIGlkZW50aWZpZXI9X2lkZW50aWZp
ZXI7CisKIC0gKGlkKWluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDooQWNjZXNzaWJpbGl0eU9i
amVjdCopYXhPYmplY3QKIHsKICAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKQEAgLTI3
NiwxNiArMjgxLDMwIEBACiAgICAgICAgIHJldHVybiBuaWw7CiAKICAgICBtX29iamVjdCA9IGF4
T2JqZWN0OworICAgIF9pZGVudGlmaWVyID0gbV9vYmplY3QtPmF4T2JqZWN0SUQoKTsKICAgICBy
ZXR1cm4gc2VsZjsKIH0KIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CistIChSZWZQdHI8V2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlPilpc29sYXRlZFRyZWVOb2Rl
Cit7CisgICAgcmV0dXJuIEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9ySUQoX2lzb2xhdGVkVHJlZUlk
ZW50aWZpZXIpLT5ub2RlRm9ySUQoX2lkZW50aWZpZXIpOworfQorCisjZW5kaWYKKwogLSAodm9p
ZClkZXRhY2gKIHsKICAgICBtX29iamVjdCA9IG51bGxwdHI7CisgICAgX2lkZW50aWZpZXIgPSAw
OwogfQogCiAtIChCT09MKXVwZGF0ZU9iamVjdEJhY2tpbmdTdG9yZQogeworI2lmIEVOQUJMRShB
Q0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJ
RChzZWxmLmlzb2xhdGVkVHJlZUlkZW50aWZpZXIpLT5hcHBseVBlbmRpbmdDaGFuZ2VzKCk7Cisg
ICAgcmV0dXJuIF9pZGVudGlmaWVyOworI2Vsc2UKICAgICAvLyBDYWxsaW5nIHVwZGF0ZUJhY2tp
bmdTdG9yZSgpIGNhbiBpbnZhbGlkYXRlIHRoaXMgZWxlbWVudCBzbyBzZWxmIG11c3QgYmUgcmV0
YWluZWQuCiAgICAgLy8gSWYgaXQgZG9lcyBiZWNvbWUgaW52YWxpZGF0ZWQsIG1fb2JqZWN0IHdp
bGwgYmUgbmlsLgogICAgIENGUmV0YWluKChfX2JyaWRnZSBDRlR5cGVSZWYpc2VsZik7CkBAIC0y
OTksNiArMzE4LDcgQEAKICAgICAgICAgcmV0dXJuIE5POwogICAgIAogICAgIHJldHVybiBZRVM7
CisjZW5kaWYKIH0KIAogLSAoaWQpYXR0YWNobWVudFZpZXcKQEAgLTM2MCwxMSArMzgwLDIxIEBA
CiAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmddOwogfQogCisjZGVmaW5lIF9heEJhY2tpbmdP
YmplY3Qgc2VsZi5heEJhY2tpbmdPYmplY3QKKy0gKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmpl
Y3RJbnRlcmZhY2UqKWF4QmFja2luZ09iamVjdAoreworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpCisgICAgcmV0dXJuIHNlbGYuaXNvbGF0ZWRUcmVlTm9kZS5nZXQoKTsK
KyNlbHNlCisgICAgcmV0dXJuIG1fb2JqZWN0OworI2VuZGlmCit9CisKIC0gKE5TU3RyaW5nICop
YmFzZUFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbgogewogICAgIC8vIFN0YXRpYyB0ZXh0IG9iamVj
dHMgc2hvdWxkIG5vdCBoYXZlIGEgZGVzY3JpcHRpb24uIEl0cyBjb250ZW50IGlzIGNvbW11bmlj
YXRlZCBpbiBpdHMgQVhWYWx1ZS4KICAgICAvLyBPbmUgZXhjZXB0aW9uIGlzIHRoZSBtZWRpYSBj
b250cm9sIGxhYmVscyB0aGF0IGhhdmUgYSB2YWx1ZSBhbmQgYSBkZXNjcmlwdGlvbi4gVGhvc2Ug
YXJlIHNldCBwcm9ncmFtYXRpY2FsbHkuCi0gICAgaWYgKG1fb2JqZWN0LT5yb2xlVmFsdWUoKSA9
PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dCAmJiAhbV9vYmplY3QtPmlzTWVkaWFDb250
cm9sTGFiZWwoKSkKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+cm9sZVZhbHVlKCkgPT0gQWNj
ZXNzaWJpbGl0eVJvbGU6OlN0YXRpY1RleHQgJiYgIV9heEJhY2tpbmdPYmplY3QtPmlzTWVkaWFD
b250cm9sTGFiZWwoKSkKICAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmddOwogICAgIAog
ICAgIFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4gdGV4dE9yZGVyOwpJbmRleDogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00MTYsNiArNDE2LDggQEAKICNkZWZpbmUgTlNBY2Nl
c3NpYmlsaXR5UmVsYXRpdmVGcmFtZUF0dHJpYnV0ZSBAIkFYUmVsYXRpdmVGcmFtZSIKICNlbmRp
ZgogCisjZGVmaW5lIF9heEJhY2tpbmdPYmplY3Qgc2VsZi5heEJhY2tpbmdPYmplY3QKKwogZXh0
ZXJuICJDIiBBWFVJRWxlbWVudFJlZiBOU0FjY2Vzc2liaWxpdHlDcmVhdGVBWFVJRWxlbWVudFJl
ZihpZCBlbGVtZW50KTsKIAogQGltcGxlbWVudGF0aW9uIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyCkBAIC0xOTcwLDEwICsxOTcyLDEwIEBACiAtIChOU1N0cmluZyopcm9sZQogewogICAg
IEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCi0gICAgaWYgKG1fb2JqZWN0LT5p
c0F0dGFjaG1lbnQoKSkKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkp
CiAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRy
aWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlSb2xlQXR0cmlidXRlXTsKICAgICBBTExPV19ERVBS
RUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKLSAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlID0gbV9v
YmplY3QtPnJvbGVWYWx1ZSgpOworICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUgPSBfYXhCYWNr
aW5nT2JqZWN0LT5yb2xlVmFsdWUoKTsKIAogICAgIGlmIChyb2xlID09IEFjY2Vzc2liaWxpdHlS
b2xlOjpMYWJlbCAmJiBpczxBY2Nlc3NpYmlsaXR5TGFiZWw+KCptX29iamVjdCkgJiYgZG93bmNh
c3Q8QWNjZXNzaWJpbGl0eUxhYmVsPigqbV9vYmplY3QpLmNvbnRhaW5zT25seVN0YXRpY1RleHQo
KSkKICAgICAgICAgcm9sZSA9IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNUZXh0OwpAQCAtMjAw
MCw3ICsyMDAyLDcgQEAKICAgICBpZiAobV9vYmplY3QtPmlzU2VhcmNoRmllbGQoKSkKICAgICAg
ICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkU3Vicm9sZTsKICAgICAKLSAgICBp
ZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgaWYgKF9heEJhY2tpbmdPYmplY3Qt
PmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAgIE5TVmlldyogYXR0YWNoVmlldyA9IFtzZWxmIGF0
dGFjaG1lbnRWaWV3XTsKICAgICAgICAgaWYgKFtbYXR0YWNoVmlldyBhY2Nlc3NpYmlsaXR5QXR0
cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVN1YnJvbGVBdHRyaWJ1
dGVdKQogICAgICAgICAgICAgcmV0dXJuIFthdHRhY2hWaWV3IGFjY2Vzc2liaWxpdHlBdHRyaWJ1
dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlTdWJyb2xlQXR0cmlidXRlXTsKQEAgLTIyMTEsNyArMjIx
Myw3IEBACiAKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogICAgIC8v
IGF0dGFjaG1lbnRzIGhhdmUgdGhlIEFYSW1hZ2Ugcm9sZSwgYnV0IGEgZGlmZmVyZW50IHN1YnJv
bGUKLSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKQorICAgIGlmIChfYXhCYWNraW5n
T2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50
Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVJvbGVEZXNj
cmlwdGlvbkF0dHJpYnV0ZV07CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5E
CiAKQEAgLTI1NjgsNyArMjU3MCw3IEBACiAgICAgICAgIHJldHVybiBbTlNOdW1iZXIgbnVtYmVy
V2l0aEJvb2w6IG1fb2JqZWN0LT5pc1Zpc2l0ZWQoKV07CiAgICAgCiAgICAgaWYgKFthdHRyaWJ1
dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1dGVdKSB7
Ci0gICAgICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICAgICAgaWYgKF9h
eEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAgICAgICBpZiAoW1tbc2Vs
ZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09i
amVjdDpOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV0pCiAgICAgICAgICAgICAgICAgcmV0
dXJuIFtbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5T
QWNjZXNzaWJpbGl0eVRpdGxlQXR0cmlidXRlXTsKICAgICAgICAgfQpAQCAtMjU4NSw3ICsyNTg3
LDcgQEAKICAgICB9CiAgICAgCiAgICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmlu
ZzogTlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdKSB7Ci0gICAgICAgIGlmICht
X29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICAgICAgaWYgKF9heEJhY2tpbmdPYmplY3Qt
PmlzQXR0YWNobWVudCgpKSB7CiAgICAgICAgICAgICBpZiAoW1tbc2VsZiBhdHRhY2htZW50Vmll
d10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09iamVjdDpOU0FjY2Vzc2li
aWxpdHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIFtbc2Vs
ZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJp
bGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXTsKICAgICAgICAgfQpAQCAtMjU5Myw3ICsyNTk1LDcg
QEAKICAgICB9CiAgICAgCiAgICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzog
TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdKSB7Ci0gICAgICAgIGlmIChtX29iamVjdC0+
aXNBdHRhY2htZW50KCkpIHsKKyAgICAgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNo
bWVudCgpKSB7CiAgICAgICAgICAgICBpZiAoW1tbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNz
aWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09iamVjdDpOU0FjY2Vzc2liaWxpdHlWYWx1
ZUF0dHJpYnV0ZV0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50Vmll
d10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmli
dXRlXTsKICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAy
NDAyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC04MjE1LDYgKzgyMTUsMTEgQEAKIAogICAgIHJldHVybiAqbV9sb2dnZXI7CiB9CisgICAg
CitPcHRpb25hbDx1aW50NjRfdD4gRG9jdW1lbnQ6OnBhZ2VJRCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fZnJhbWUtPmxvYWRlcigpLmNsaWVudCgpLnBhZ2VJRCgpOworfQogCiB2b2lkIERvY3Vt
ZW50OjpoYXNTdG9yYWdlQWNjZXNzKFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjQ4LDYgKzY0OCw3IEBACiAg
ICAgV0VCQ09SRV9FWFBPUlQgQVhPYmplY3RDYWNoZSogYXhPYmplY3RDYWNoZSgpIGNvbnN0Owog
ICAgIHZvaWQgY2xlYXJBWE9iamVjdENhY2hlKCk7CiAKKyAgICBPcHRpb25hbDx1aW50NjRfdD4g
cGFnZUlEKCkgY29uc3Q7CiAgICAgLy8gdG8gZ2V0IHZpc3VhbGx5IG9yZGVyZWQgaGVicmV3IGFu
ZCBhcmFiaWMgcGFnZXMgcmlnaHQKICAgICB2b2lkIHNldFZpc3VhbGx5T3JkZXJlZCgpOwogICAg
IGJvb2wgdmlzdWFsbHlPcmRlcmVkKCkgY29uc3QgeyByZXR1cm4gbV92aXN1YWxseU9yZGVyZWQ7
IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE5LTAxLTExICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBh
IHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMy
OTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tOgorICAg
ICAgICAoLVtXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZSBhY2Nlc3NpYmlsaXR5Um9v
dE9iamVjdFdyYXBwZXJdKToKKwogMjAxOS0wMS0yMSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFt
QGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgbWVzc2FnZSBoYW5kbGVycyBmb3IgTmV0
d29ya1Byb2Nlc3MtYmFzZWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljcwpJbmRleDogU291cmNlL1dl
YktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShy
ZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisK
IEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1F
KSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJM
RV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0
ICs0MDgsNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJ
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAk
KEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJ
VF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVO
QUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRU
SU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
U0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVB
TVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VC
X0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VN
QkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRF
RF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Yz
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFO
SUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVf
Q1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxF
X0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
X0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9S
VCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVS
RVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktF
UlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNF
Q1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlC
T0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChF
TkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChF
TkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JF
UVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVf
UkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01F
U1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJ
T05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxM
U0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MjQwMjQ2KQorKysgU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkod29ya2luZyBjb3B5KQpAQCAtMjQ0Myw2ICsyNDQzLDcgQEAKIAkJMjlBRDMwOTcxNjRCNEUy
MTAwNzJERUE5IC8qIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmlu
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluOyBwYXRoID0gQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
OUNENTVBODEyOEUyOTRGMDAxMzNDODUgLyogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJh
c2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tBY2Nlc3NpYmlsaXR5V2Vi
UGFnZU9iamVjdEJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlDRDU1QTkx
MjhFMjk0RjAwMTMzQzg1IC8qIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tBY2Nlc3NpYmlsaXR5V2Vi
UGFnZU9iamVjdEJhc2UubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5RDA0RTI4
MjFGN0M3M0QwMDc2NzQxRCAvKiBBY2Nlc3NpYmlsaXR5UHJpdlNQSS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBBY2Nlc3NpYmlsaXR5UHJpdlNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
RDAwMzUyMjFCQzc0MTQ4MDBEQTg3MTYgLyogUERGUGx1Z2luLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFBERlBsdWdpbi5oOyBwYXRoID0gUERGL1BERlBsdWdpbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDAwMzUyMzFCQzc0MTQ4MDBEQTg3MTYgLyogUERG
UGx1Z2luLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gUERGUGx1
Z2luLm1tOyBwYXRoID0gUERGL1BERlBsdWdpbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMkQxMDg3NUUxRDJDNTczRTAwQjg1RjgyIC8qIExvYWRQYXJhbWV0ZXJzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvYWRQYXJhbWV0ZXJzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcwNjYsNiArNzA2Nyw3IEBACiAJCQljaGlsZHJl
biA9ICgKIAkJCQlGNDhEMkE4NDIxNTgzQTAyMDBDNjc1MkIgLyogQXBwS2l0U1BJLmggKi8sCiAJ
CQkJQTFFNjg4NkYxRjZFMkJBQjAwNzAwNkE2IC8qIFF1YXJhbnRpbmVTUEkuaCAqLywKKwkJCQky
OUQwNEUyODIxRjdDNzNEMDA3Njc0MUQgLyogQWNjZXNzaWJpbGl0eVByaXZTUEkuaCAqLywKIAkJ
CSk7CiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdl
T2JqZWN0QmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0JKHJldmlzaW9uIDI0
MDI0NikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2li
aWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBA
QAogI2ltcG9ydCAiV0tTaGFyZWRBUElDYXN0LmgiCiAjaW1wb3J0ICJXS1N0cmluZy5oIgogI2lt
cG9ydCAiV0tTdHJpbmdDRi5oIgorI2ltcG9ydCA8V2ViQ29yZS9BWElzb2xhdGVkVHJlZS5oPgog
I2ltcG9ydCA8V2ViQ29yZS9BWE9iamVjdENhY2hlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RvY3Vt
ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lLmg+CkBAIC00NiwzNCArNDcsNzggQEAKIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIEBpbXBsZW1lbnRhdGlvbiBXS0FjY2Vzc2liaWxpdHlX
ZWJQYWdlT2JqZWN0QmFzZQoreworICAgIHVpbnQ2NF90IG1fcGFnZUlEOworICAgIGJvb2wgbV9o
YXNQbHVnaW47Cit9CiAKLS0gKGlkKWFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcgorLSAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZSopYXhPYmplY3RDYWNoZQogewotICAgIGlmICghV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKLSAgICAgICAgV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwotCi0gICAgaWYgKCFtX3Bh
Z2UpCi0gICAgICAgIHJldHVybiBuaWw7Ci0gICAgCi0gICAgTlNPYmplY3QqIG1haW5GcmFtZVBs
dWdpbkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyID0gbV9wYWdlLT5hY2Nlc3NpYmlsaXR5T2Jq
ZWN0Rm9yTWFpbkZyYW1lUGx1Z2luKCk7Ci0gICAgaWYgKG1haW5GcmFtZVBsdWdpbkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyKQotICAgICAgICByZXR1cm4gbWFpbkZyYW1lUGx1Z2luQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXI7Ci0KICAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gbV9wYWdl
LT5jb3JlUGFnZSgpOwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIG5pbDsKLSAgICAK
ICAgICBXZWJDb3JlOjpGcmFtZSYgY29yZSA9IHBhZ2UtPm1haW5GcmFtZSgpOwogICAgIGlmICgh
Y29yZS5kb2N1bWVudCgpKQogICAgICAgICByZXR1cm4gbmlsOworCisgICAgcmV0dXJuIGNvcmUu
ZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpOworfQorCistIChpZClhY2Nlc3NpYmlsaXR5UGx1
Z2luT2JqZWN0Cit7CisgICAgYXV0byByZXRyaWV2ZUJsb2NrID0gWyZzZWxmXSgpIC0+IGlkIHsK
KyAgICAgICAgaWQgYXhQbHVnaW4gPSBuaWw7CisgICAgICAgIGF1dG8gZGlzcGF0Y2hCbG9jayA9
IFsmYXhQbHVnaW4sICZzZWxmXSB7CisgICAgICAgICAgICBpZiAoc2VsZi0+bV9wYWdlKQorICAg
ICAgICAgICAgICAgIGF4UGx1Z2luID0gc2VsZi0+bV9wYWdlLT5hY2Nlc3NpYmlsaXR5T2JqZWN0
Rm9yTWFpbkZyYW1lUGx1Z2luKCk7CisgICAgICAgIH07CisKKyAgICAgICAgaWYgKFJ1bkxvb3A6
OmlzTWFpbigpKQorICAgICAgICAgICAgZGlzcGF0Y2hCbG9jaygpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBkaXNwYXRjaF9zeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIGRpc3Bh
dGNoQmxvY2spOworICAgICAgICByZXR1cm4gYXhQbHVnaW47CisgICAgfTsKICAgICAKLSAgICBX
ZWJDb3JlOjpBWE9iamVjdENhY2hlKiBjYWNoZSA9IGNvcmUuZG9jdW1lbnQoKS0+YXhPYmplY3RD
YWNoZSgpOwotICAgIGlmICghY2FjaGUpCi0gICAgICAgIHJldHVybiBuaWw7Ci0gICAgCi0gICAg
aWYgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIHJvb3QgPSBjYWNoZS0+cm9vdE9iamVj
dCgpKQotICAgICAgICByZXR1cm4gcm9vdC0+d3JhcHBlcigpOwotICAgIAorICAgIHJldHVybiBy
ZXRyaWV2ZUJsb2NrKCk7Cit9CisKKy0gKGlkKWFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBl
cgoreworICAgIGlmICghV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJs
ZWQoKSkKKyAgICAgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJpbGl0
eSgpOworCisgICAgaWYgKG1faGFzUGx1Z2luKQorICAgICAgICByZXR1cm4gc2VsZi5hY2Nlc3Np
YmlsaXR5UGx1Z2luT2JqZWN0OworCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkKKyAgICBhdXRvIGdlbmVyYXRlQmxvY2sgPSBbJl0geworICAgICAgICBhdXRvIGRpc3Bh
dGNoQmxvY2sgPSBbJnNlbGZdIHsKKyAgICAgICAgICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNo
ZSA9IFtzZWxmIGF4T2JqZWN0Q2FjaGVdKSB7CisgICAgICAgICAgICAgICAgYXV0byB0cmVlID0g
Y2FjaGUtPmdlbmVyYXRlU3RhdGljQWNjZXNzaWJpbGl0eVRyZWVJZk5lZWRlZCgpOworICAgICAg
ICAgICAgICAgIHRyZWUtPmFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfTsKKworICAgICAgICBpZiAoUnVuTG9vcDo6aXNNYWluKCkpCisgICAgICAgICAgICBk
aXNwYXRjaEJsb2NrKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGRpc3BhdGNoX3N5bmMo
ZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgZGlzcGF0Y2hCbG9jayk7CisgICAgfTsKKworICAg
IGF1dG8gdHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKG1fcGFnZUlEKTsKKyAg
ICBhdXRvIHJvb3ROb2RlID0gdHJlZS0+cm9vdE5vZGUoKTsKKyAgICBpZiAoIXJvb3ROb2RlKQor
ICAgICAgICBnZW5lcmF0ZUJsb2NrKCk7CisKKyAgICBpZiAoKHJvb3ROb2RlID0gdHJlZS0+cm9v
dE5vZGUoKSkpCisgICAgICAgIHJldHVybiByb290Tm9kZS0+d3JhcHBlcigpOworI2Vsc2UKKyAg
ICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBbc2VsZiBheE9iamVjdENhY2hlXSkgeworICAg
ICAgICBpZiAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogcm9vdCA9IGNhY2hlLT5yb290
T2JqZWN0KCkpCisgICAgICAgICAgICByZXR1cm4gcm9vdC0+d3JhcHBlcigpOworICAgIH0KKyNl
bmRpZgogICAgIHJldHVybiBuaWw7CiB9CiAKQEAgLTgwLDYgKzEyNSwxNSBAQAogLSAodm9pZClz
ZXRXZWJQYWdlOihXZWJQYWdlKilwYWdlCiB7CiAgICAgbV9wYWdlID0gcGFnZTsKKyAgICAKKyAg
ICBpZiAocGFnZSkgeworICAgICAgICBtX3BhZ2VJRCA9IHBhZ2UtPnBhZ2VJRCgpOworICAgICAg
ICBtX2hhc1BsdWdpbiA9IHBhZ2UtPmFjY2Vzc2liaWxpdHlPYmplY3RGb3JNYWluRnJhbWVQbHVn
aW4oKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIG1fcGFnZUlEID0gMDsKKyAgICAgICAg
bV9oYXNQbHVnaW4gPSBmYWxzZTsKKyAgICB9CiB9CiAKIC0gKHZvaWQpc2V0UmVtb3RlUGFyZW50
OihpZClwYXJlbnQKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0
MDI0NikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmls
aXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0wMS0xNSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgVXNlIHJlZmVyZW5jZXMgcmF0aGVyIHRoYW4gcG9pbnRlcnMg
Zm9yIHJlZ2lzdGVyL3VucmVnaXN0ZXIgZnVuY3Rpb25zLCBhbmQgbW9yZQpJbmRleDogU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5n
IGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQoV0tfQ09D
T0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfY29jb2F0
b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VOQUJMRV9B
Q0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVO
QUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lw
aG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxh
dG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBAQAogCiBFTkFCTEVfWFNM
VCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQ
UExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
TkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdf
V09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElF
TlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkg
JChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJ
TUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChF
TkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkg
JChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9B
VFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09M
X01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19U
T09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9T
VFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVO
QUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VT
X0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFC
TEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VC
TUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7
CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9Q
QVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VT
U0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5B
QkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BF
Uk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxF
X0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChF
TkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9U
RV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JF
U09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJW
SUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVM
RVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJ
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVO
QUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlf
U1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVf
V0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5j
bWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UJKHJl
dmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQkod29y
a2luZyBjb3B5KQpAQCAtMTg3LDYgKzE4Nyw3IEBACiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX1NNT09USF9TQ1JPTExJTkcgIlRvZ2dsZSBzbW9vdGggc2Nyb2xsaW5nIiBQUklWQVRF
IE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTICJU
b2dnbGUgU3BlZWNoIFN5bnRoZXNpcyBBUEkgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NQRUxMQ0hFQ0sgIlRvZ2dsZSBTcGVsbGNoZWNraW5n
IHN1cHBvcnQgKHJlcXVpcmVzIEVuY2hhbnQpIiBQUklWQVRFIE9GRikKKyAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSAiVG9nZ2xlIHN0YXRp
YyBhY2Nlc3NpYmlsaXR5IHRyZWUgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09Q
VElPTl9ERUZJTkUoRU5BQkxFX1NUUkVBTVNfQVBJICJUb2dnbGUgU3RyZWFtcyBBUEkgc3VwcG9y
dCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1ZHX0ZPTlRT
ICJUb2dnbGUgU1ZHIEZvbnRzIHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OICJUb2dnbGUgdGVsZXBo
b25lIG51bWJlciBkZXRlY3Rpb24gc3VwcG9ydCIgUFJJVkFURSBPRkYpCkluZGV4OiBUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDAyNDYp
CisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAx
OS0wMS0xMSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAg
IEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZzoKKwogMjAxOS0wMS0yMSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWpp
aUBzb255LmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVdIGxpYmdjcnlwdC0xLjcuNiBjYW4ndCBi
ZSBjb21waWxlZCBvbiBVYnVudHUgMTguMTAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2
aXNpb24gMjQwMjA2KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0g
OworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1f
TkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBF
TkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00
MDYsNCArNDA4LDQgQEAKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9P
UCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5H
X0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFT
VF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxF
X1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVU
SE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAk
KEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNP
TEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9O
X01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVO
QUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NV
UFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZF
QVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5U
RVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVf
S0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIp
ICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVO
VF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5U
UykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNF
Ul9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFS
SUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRf
RlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVE
SU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNT
RU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359864</attachid>
            <date>2019-01-23 02:19:57 -0800</date>
            <delta_ts>2019-01-23 07:29:51 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>108202</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtKU0NdIFN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbiBpcyBubyBsb25nZXIgdXNl
ZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
XyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAK
K0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9Q
QVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQ
TEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBo
b25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBAQAogCiBF
TkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09O
SUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJP
QVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
Q19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FE
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JU
QykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19B
UEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChF
TkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xP
T1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElO
R19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00p
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRM
RVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1Mp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZB
U1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZU
TF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIp
ICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJ
QlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0Up
ICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVO
QUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMp
ICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJM
RV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FV
VEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VC
QVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikg
JChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShy
ZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQAogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3dl
YnNvY2tldHMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvd2VidnIiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L2FjY2Vzc2liaWxpdHkiCisgICAgIiR7V0VCQ09SRV9ESVJ9L2FjY2Vzc2liaWxp
dHkvaXNvbGF0ZWR0cmVlIgogICAgICIke1dFQkNPUkVfRElSfS9hbmltYXRpb24iCiAgICAgIiR7
V0VCQ09SRV9ESVJ9L2JpbmRpbmdzIgogICAgICIke1dFQkNPUkVfRElSfS9iaW5kaW5ncy9qcyIK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDgyIEBACisyMDE5LTAxLTIzICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBh
IHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMy
OTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4g
b3JkZXIgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSB3aGVuIHJlcXVlc3RpbmcgdGhlIGFjY2Vzc2li
aWxpdHkgaGllcmFyY2h5LCB3ZSBpbnRyb2R1Y2UgdGhlIGlkZWEgb2YgYSAic3RhdGljIGFjY2Vz
c2liaWxpdHkgdHJlZSIgd2hpY2ggCisgICAgICAgIGNvdWxkIGJlIGFjY2Vzc2VkIG9uIGEgZGlm
ZmVyZW50IHRocmVhZCBieSBhc3Npc3RpdmUgdGVjaG5vbG9naWVzLgorICAgICAgICBUaGF0IGlz
IGFjY29tcGxpc2hlZCBieSBzdG9yaW5nIGFsbCB0aGUgZGF0YSBuZWVkZWQgdG8gYW5zd2VyIGFj
Y2Vzc2liaWxpdHkgYXR0cmlidXRlIHF1ZXJpZXMgaW4gYSBzdGF0aWMgb2JqZWN0IHRoYXQgbWly
cm9ycyB0aGUgCisgICAgICAgICJsaXZlIiBBY2Nlc3NpYmlsaXR5T2JqZWN0cyAod2hpY2ggaW50
ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVzKS4KKyAgICAgICAgVGhlc2Ugc3Rh
dGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFmdGVyIGxheW91dCBpcyBkb25lIGFu
ZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBUaGV5IGFyZSB0aGVuIHN0b3JlZCBp
biB0aGUgc3RhdGljIHRyZWUgCisgICAgICAgIHJlcHJlc2VudGF0aW9uIGFuZCBhYmxlIHRvIGJl
IHJlYWQgZnJvbSBhbnl3aGVyZS4KKyAgICAgICAgVGFjdGljYWxseSB0aGlzIGlzIGRvbmUgd2l0
aCBBWElzb2xhdGVkVHJlZU5vZGVzIGluc2lkZSBvZiBhbiBBWElzb2xhdGVkVHJlZS4gVGhlIFRy
ZWVOb2RlcyBpbXBsZW1lbnQgYW4gQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSBzaGFyZWQg
CisgICAgICAgIHdpdGggQWNjZXNzaWJpbGl0eU9iamVjdC4KKyAgICAgICAgVGhpcyBhbGxvd3Mg
dGhlIHdyYXBwZXJzIHRvIGFjY2VzcyBlaXRoZXIgb25lIGRlcGVuZGluZyBvbiBjb25kaXRpb25z
IGFuZCBwbGF0Zm9ybXMgd2l0aG91dCBzaWduaWZpY2FudCBjb2RlIGR1cGxpY2F0aW9uIG9yIHJl
LW9yZ2FuaXphdGlvbi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFNvdXJjZXMu
dHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6
OmNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWU6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkVHJlZTo6dHJlZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVl
OjpBWElzb2xhdGVkVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9ySUQpOgorICAg
ICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQpOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6Om5vZGVGb3JJRCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZTo6cm9vdE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29s
YXRlZFRyZWU6OnJlbW92ZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6
OmFwcGVuZE5vZGVDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjph
cHBseVBlbmRpbmdDaGFuZ2VzKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkVHJlZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlOjp0cmVlSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpBWElzb2xhdGVkVHJlZU5vZGU6OkFYSXNvbGF0ZWRUcmVlTm9kZSk6CisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkVHJlZU5vZGU6OmluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6c2V0UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6
QVhJc29sYXRlZFRyZWVOb2RlOjpkb3VibGVBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OnVuc2lnbmVkQXR0cmlidXRlVmFsdWUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpib29sQXR0cmlidXRl
VmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpzdHJp
bmdBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJl
ZU5vZGU6OmludEF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6b3BlcmF0
b3I9KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpzZXRQ
YXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OnBh
cmVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cDo6Y2hpbGRyZW4pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphc3NvY2lhdGVJc29sYXRl
ZFRyZWVOb2RlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlckJhc2UuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyQmFzZSBpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6XSk6CisgICAg
ICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBpc29sYXRlZFRyZWVOb2Rl
XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBkZXRhY2hd
KToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIHVwZGF0ZU9i
amVjdEJhY2tpbmdTdG9yZV0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlckJhc2UgYXhCYWNraW5nT2JqZWN0XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQmFzZSBiYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uXSk6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06
CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHJvbGVdKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgc3Vicm9sZV0pOgorICAgICAgICAo
LVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByb2xlRGVzY3JpcHRpb25dKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0
ZVZhbHVlOl0pOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6cGFnZUlEIGNvbnN0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKwog
MjAxOS0wMS0yMSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAg
ICBJbXBsZW1lbnQgbWVzc2FnZSBoYW5kbGVycyBmb3IgTmV0d29ya1Byb2Nlc3MtYmFzZWQgUmVz
b3VyY2VMb2FkU3RhdGlzdGljcwpJbmRleDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysr
IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3
b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQo
V0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdf
Y29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkg
PSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVf
UEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25l
c2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBAQAogCiBFTkFC
TEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5B
QkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNf
R1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJE
X0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BS
T1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19W
SURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxT
KSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9X
RUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURF
T19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
WFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9B
UFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1Ap
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19B
UEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1Rf
SklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVU
RSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhO
KSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNT
RU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNp
b24gMjQwMzI5KQorKysgU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTIzICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBpc29sYXRlZCBhY2Nlc3NpYmls
aXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0wMS0yMiAgRGF2aWQgS2lsemVyICA8ZGRraWx6
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFN3aXRjaCByZW1haW5pbmcgUXVpY2tMb29rIHNvZnQt
bGlua2luZyBpbiBXZWJDb3JlLCBXZWJLaXQgb3ZlciB0byBRdWlja0xvb2tTb2Z0TGluay57Y3Bw
LGh9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtp
bmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19D
T0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2Nv
YXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQo
RU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11
bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBACiAKIEVOQUJMRV9Y
U0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5T
Rk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVf
QVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFE
SUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBF
UklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklU
KSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZ
X0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9D
T0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVP
X1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElB
X1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElT
VElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19Q
UkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VT
RVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xU
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExF
X1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNI
TUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRf
UEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFC
TEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAk
KEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElO
R19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NF
UlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9B
UElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI0MDI0
NikKKysrIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00MDUs
NiArNDA1LDggQEAKIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRyZWUuY3BwCiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlSXRlbS5jcHAKIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJs
ZVNldFZhbHVlRXZlbnQuY3BwCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
VHJlZS5jcHAKK2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5j
cHAKIAogYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5jcHAKIGFuaW1hdGlvbi9BbmltYXRpb25Q
bGF5YmFja0V2ZW50LmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02
OTQsNiArNjk0LDcgQEAKIAkJMjZGOUE4MzgxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29u
ZmlndXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyNkY5QTgzNjE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmNw
cCAqLzsgfTsKIAkJMjZGOUE4MzkxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmlndXJh
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZG
OUE4MzcxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmlndXJhdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5MTRFMzA4MUNBQjVB
NDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkxNEUzMDYxQ0FCNUE0NDAwNDk5NjZGIC8q
IEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmggKi87IH07CisJCTI5MzZCRjVDMjFENjlFNEIwMDRB
OEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyog
QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5M0VBRTFGMTM1NkIyRkUwMDY3QUNGOSAvKiBSdW50
aW1lQXBwbGljYXRpb25DaGVja3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI5M0VBRTFFMTM1NkIyRkUwMDY3QUNGOSAvKiBSdW50aW1lQXBwbGljYXRp
b25DaGVja3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkyOTQ4OUZDNzEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5NDg5RkM1
MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oICovOyB9OwogCQky
OTdCRTNENTE2QzAzQzA4MDAzMzE2QkQgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFu
Y2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI1MjdD
QzkxMTZCRjhCQTEwMDlEREFDMCAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5o
ICovOyB9OwpAQCAtNzE1LDYgKzcxNiw4IEBACiAJCTI5QTgxMjQzMEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5TGlzdEJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjlBODEyMjUwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlM
aXN0Qm94LmggKi87IH07CiAJCTI5QTgxMjQ5MEZCQjlDQTkwMDUxMDI5MyAvKiBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5QTgxMjQ1MEZCQjlDQTkwMDUxMDI5MyAvKiBXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkyOUFDQjIxMjE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0
eU1vY2tPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDI5QUNCMjExMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5o
ICovOyB9OworCQkyOUFFMjEyRDIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QUUyMTJCMjFB
QjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBB
WElzb2xhdGVkVHJlZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOUQ3
QkNGQTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RDdCQ0Y5MTQ0NEFGN0Qw
MDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovOyB9OwogCQkyOUZBRjRCNjE5
NUFCMDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RkFGNEI1MTk1QUIwODkwMEE1
MjJEQyAvKiBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJCMzY1Qzg0MTUyNTExOUUwMDkxRDI3QiAv
KiBSZW5kZXJTVkdFbGxpcHNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyQjQyMzVBMDE1MjUwRjYwMDBEQkJDRDggLyogUmVuZGVyU1ZHRWxsaXBzZS5o
ICovOyB9OwpAQCAtNjU4MSw2ICs2NTg0LDcgQEAKIAkJMjhEQjlCQzcyMDIwRUEwNDAwRTU0QTA3
IC8qIFBlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQ
ZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI5MTRFMzA1MUNBQjVBNDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNo
bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5MTRFMzA2MUNBQjVBNDQw
MDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9i
amVjdEludGVyZmFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5M0VBRTFFMTM1NkIyRkUwMDY3
QUNGOSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTI5NDg5RkM1MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Ny
b2xsVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5
U2Nyb2xsVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ5ODY4MTE5NTM0
MTk0MDA3MkQyQkQgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY2MjgsNiArNjYzMiwxMCBAQAogCQky
OUE4MTI0NzBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZU1hYy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFYT2JqZWN0Q2FjaGVNYWMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QUNCMjExMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nl
c3NpYmlsaXR5TW9ja09iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
Y2Nlc3NpYmlsaXR5TW9ja09iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
OUFDQjIxMzE0M0U3NDk4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmpl
Y3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUFFMjEyQjIxQUI5RUVCMDA4
NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVhJc29sYXRlZFRyZWUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMkMyMUFCOUVFQjAwODY5Mjgz
IC8qIEFYSXNvbGF0ZWRUcmVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFYSXNvbGF0ZWRUcmVl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMzMyMUFCQTQ4QTAwODY5
MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBWElzb2xhdGVkVHJl
ZU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMzQyMUFCQTQ4QTAw
ODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBWElz
b2xhdGVkVHJlZU5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUQ3QkNG
NTE0NDRBRjU4MDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUQ3QkNGOTE0NDRBRjdEMDA3MDYxOUMg
LyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMjlFMDRBMjdCRUQyRjgxRjk4RTkwMjJCIC8qIEpTQmVmb3JlVW5sb2FkRXZlbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCZWZvcmVVbmxvYWRFdmVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcyNTMsNiArMTcyNjEsNyBAQAogCQkyOUE4
MTIwNDBGQkI5QjQxMDA1MTAyOTMgLyogYWNjZXNzaWJpbGl0eSAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMjlBRTIxMjkyMUFCOUVDQjAwODY5MjgzIC8q
IGlzb2xhdGVkdHJlZSAqLywKIAkJCQlBQUE3MjhFRjE2RDFEOEJDMDBEM0JCQzYgLyogaW9zICov
LAogCQkJCTI5QTgxMjA1MEZCQjlCNTIwMDUxMDI5MyAvKiBtYWMgKi8sCiAJCQkJMjk4MUNBOUQx
MzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZC5jcHAgKi8sCkBAIC0xNzI5
MSw2ICsxNzMwMCw3IEBACiAJCQkJMjk4NTcwOTMxNUNDNTMyRDAwNjM1NUNEIC8qIEFjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmggKi8sCiAJCQkJMjk4MUNBQTUxMzE4MjJFQzAwRDEyRjJBIC8qIEFj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwICovLAogCQkJCTI5QTgxMjE4MEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5T2JqZWN0LmggKi8sCisJCQkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5
IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLywKIAkJCQlBNDA5Qzk4MjExNkQw
REREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcCAqLywKIAkJ
CQlBNDA5Qzk4MzExNkQwREREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNh
dG9yLmggKi8sCiAJCQkJMjk4MUNBQTYxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwICovLApAQCAtMTczNDYsNiArMTczNTYsMTcgQEAKIAkJCXBhdGggPSBt
YWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQkyOUFFMjEyOTIxQUI5RUNC
MDA4NjkyODMgLyogaXNvbGF0ZWR0cmVlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQkyOUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRy
ZWUuaCAqLywKKwkJCQkyOUFFMjEyQzIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUu
Y3BwICovLAorCQkJCTI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5v
ZGUuaCAqLywKKwkJCQkyOUFFMjEzNDIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVO
b2RlLmNwcCAqLywKKwkJCSk7CisJCQlwYXRoID0gaXNvbGF0ZWR0cmVlOworCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMkQwNjIxNDYxREE2MzlFQzAwQTdGQjI2IC8qIGxlZ2Fj
eSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0yOTk4NCw2
ICszMDAwNSw3IEBACiAJCQkJMUFFMkFBOTgwQTFDREQyRDAwQjQyQjI1IC8qIEpTSFRNTEltYWdl
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTdFOTcwQTFBODNFMzAwN0ZCOEM1IC8q
IEpTSFRNTElucHV0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM2QjA5NTYxRjVGMzRE
OTAwM0MzNzAyIC8qIEpTSFRNTElucHV0RWxlbWVudEVudHJpZXNBUEkuaCBpbiBIZWFkZXJzICov
LAorCQkJCTI5MzZCRjVDMjFENjlFNEIwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNjE0OEE3OTEyRTQxRTNCMDA0NEE3ODQgLyog
SlNIVE1MS2V5Z2VuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFCMjIwQTFDRTYz
QjAwQjQyQjI1IC8qIEpTSFRNTExhYmVsRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFF
MkFCMjQwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTExlZ2VuZEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLApAQCAtMzE0MzgsNiArMzE0NjAsNyBAQAogCQkJCTUxNDA1Qzg5MTkwQjAxNDQwMDc1NEY5
NCAvKiBTZWxlY3Rpb25SZWN0R2F0aGVyZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NEI0QkI0
MTQxNjUwRDcwMDJCMUQ4QiAvKiBTZWxlY3RvckNoZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQzMkQzRkU4MThBODY1ODQwMEQ3REMwMyAvKiBTZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25z
LmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUFFMjEzNTIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29s
YXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkI5OTk5NzE4MDRENTQyMDBEMDEx
MjEgLyogU2VsZWN0b3JDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE1MDcxNTgxNjg1
MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzEw
N0JFMjE4Q0MxOURFMDBDQzE4RTggLyogU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmggaW4gSGVhZGVy
cyAqLywKQEAgLTMyMzczLDYgKzMyMzk2LDcgQEAKIAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMz
ODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTQxNkZFNjE4
ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0E1NTE1RjUxOTE4MzBBMzAwOTY4N0QyIC8qIFlvdVR1YmVQbHVnaW5SZXBsYWNl
bWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFY
SXNvbGF0ZWRUcmVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDUzNzM1MzEzN0I2NTE4MDAwMDhE
Q0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCShyZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiw2ICszMiw4IEBACiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAKKyNpbmNsdWRl
ICJBWElzb2xhdGVkVHJlZS5oIgorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2lu
Y2x1ZGUgIkFjY2Vzc2liaWxpdHlBUklBR3JpZC5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlB
UklBR3JpZENlbGwuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaCIKQEAg
LTExNSw2ICsxMTcsOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCitjb25zdCBB
WElEIEludmFsaWRBWElEID0gMDsKKwogLy8gUG9zdCB2YWx1ZSBjaGFuZ2Ugbm90aWZpY2F0aW9u
cyBmb3IgcGFzc3dvcmQgZmllbGRzIG9yIGVsZW1lbnRzIGNvbnRhaW5lZCBpbiBwYXNzd29yZCBm
aWVsZHMgYXQgYSA0MGh6IGludGVydmFsIHRvIHRod2FydCBhbmFseXNpcyBvZiB0eXBpbmcgY2Fk
ZW5jZQogc3RhdGljIGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFu
Z2VOb3RpZmljYXRpb25JbnRlcnZhbCB7IDI1X21zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBh
Y2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCB7IDIwX21z
IH07CkBAIC03MjMsNyArNzI3LDExIEBACiAgICAgb2JqZWN0LT5zZXRBWE9iamVjdElEKDApOwog
CiAgICAgbV9pZHNJblVzZS5yZW1vdmUoYXhJRCk7Ci0KKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKQorICAgIGlmIChhdXRvIHBhZ2VJRCA9IG1fZG9jdW1lbnQucGFnZUlE
KCkpCisgICAgICAgIEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKCpwYWdlSUQpLT5yZW1v
dmVOb2RlKGF4SUQpOworI2VuZGlmCisgICAgCiAgICAgQVNTRVJUKG1fb2JqZWN0cy5zaXplKCkg
Pj0gbV9pZHNJblVzZS5zaXplKCkpOwogfQogICAgIApAQCAtMjkwNyw2ICsyOTE1LDM2IEBACiAg
ICAgbV9kZWZlcnJlZEZvY3VzZWROb2RlQ2hhbmdlLmNsZWFyKCk7CiB9CiAgICAgCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK1JlZjxBWElzb2xhdGVkVHJlZU5vZGU+
IEFYT2JqZWN0Q2FjaGU6OmNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoQWNjZXNzaWJp
bGl0eU9iamVjdCYgb2JqZWN0LCBBWElEIHBhcmVudElELCBBWElzb2xhdGVkVHJlZSYgdHJlZSwg
VmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYgbm9kZXMpCit7CisgICAgYXV0byBp
c29sYXRlZFRyZWVOb2RlID0gQVhJc29sYXRlZFRyZWVOb2RlOjpjcmVhdGUob2JqZWN0KTsKKyAg
ICBub2Rlcy5hcHBlbmQoaXNvbGF0ZWRUcmVlTm9kZS5wdHIoKSk7CisgICAgCisgICAgYXV0byBy
ZWxhdGlvbnNoaXAgPSBpc29sYXRlZFRyZWVOb2RlLT5yZWxhdGlvbnNoaXAoKTsKKyAgICByZWxh
dGlvbnNoaXAtPnNldFBhcmVudChwYXJlbnRJRCk7CisgICAgYXNzb2NpYXRlSXNvbGF0ZWRUcmVl
Tm9kZShvYmplY3QsIGlzb2xhdGVkVHJlZU5vZGUsIHRyZWUudHJlZUlkZW50aWZpZXIoKSk7Cisg
ICAgCisgICAgZm9yIChhdXRvIGNoaWxkIDogb2JqZWN0LmNoaWxkcmVuKCkpIHsKKyAgICAgICAg
YXV0byBzdGF0aWNDaGlsZCA9IGNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKmNoaWxk
LCBpc29sYXRlZFRyZWVOb2RlLT5pZGVudGlmaWVyKCksIHRyZWUsIG5vZGVzKTsKKyAgICAgICAg
cmVsYXRpb25zaGlwLT5jaGlsZHJlbigpLmFwcGVuZChzdGF0aWNDaGlsZC0+aWRlbnRpZmllcigp
KTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGlzb2xhdGVkVHJlZU5vZGU7Cit9CisgICAgCitS
ZWY8QVhJc29sYXRlZFRyZWU+IEFYT2JqZWN0Q2FjaGU6OmdlbmVyYXRlU3RhdGljQWNjZXNzaWJp
bGl0eVRyZWVJZk5lZWRlZCgpCit7CisgICAgYXV0byB0cmVlID0gQVhJc29sYXRlZFRyZWU6OnRy
ZWVGb3JQYWdlSUQoKm1fZG9jdW1lbnQucGFnZUlEKCkpOworICAgIFZlY3RvcjxSZWZQdHI8QVhJ
c29sYXRlZFRyZWVOb2RlPj4gbm9kZXM7CisgICAgYXV0byByb290ID0gY3JlYXRlSXNvbGF0ZWRB
Y2Nlc3NpYmlsaXR5VHJlZSgqcm9vdE9iamVjdCgpLCBJbnZhbGlkQVhJRCwgdHJlZSwgbm9kZXMp
OworICAgIHJvb3QtPnNldElzUm9vdE5vZGUodHJ1ZSk7CisgICAgdHJlZS0+YXBwZW5kTm9kZUNo
YW5nZXMobm9kZXMpOworICAgIAorICAgIHJldHVybiB0cmVlOworfQorI2VuZGlmCisgICAgCiB2
b2lkIEFYT2JqZWN0Q2FjaGU6OmRlZmVyUmVjb21wdXRlSXNJZ25vcmVkSWZOZWVkZWQoRWxlbWVu
dCogZWxlbWVudCkKIHsKICAgICBpZiAoIW5vZGVBbmRSZW5kZXJlckFyZVZhbGlkKGVsZW1lbnQp
KQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJ
KHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw5IEBACiAKICNwcmFnbWEgb25j
ZQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyNpbmNsdWRlICJB
WElzb2xhdGVkVHJlZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiQVhUZXh0U3RhdGVDaGFuZ2VJbnRl
bnQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiUmFuZ2Uu
aCIKQEAgLTM5LDYgKzQyLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK2NsYXNzIEFYSXNvbGF0ZWRUcmVlTm9kZTsK
KyNlbmRpZgogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MQXJlYUVsZW1lbnQ7CiBjbGFzcyBI
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDsKQEAgLTE4MCw2ICsxODYsMTMgQEAKICAgICB2b2lk
IGRlZmVyQXR0cmlidXRlQ2hhbmdlSWZOZWVkZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIEVsZW1l
bnQqKTsKICAgICB2b2lkIHJlY29tcHV0ZUlzSWdub3JlZChSZW5kZXJPYmplY3QqIHJlbmRlcmVy
KTsKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgV0VCQ09S
RV9FWFBPUlQgUmVmPEFYSXNvbGF0ZWRUcmVlPiBnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlU
cmVlSWZOZWVkZWQoKTsKKworICAgIHZvaWQgYXNzb2NpYXRlSXNvbGF0ZWRUcmVlTm9kZShBY2Nl
c3NpYmlsaXR5T2JqZWN0JiwgQVhJc29sYXRlZFRyZWVOb2RlJiwgQVhJc29sYXRlZFRyZWVJRCk7
CisgICAgUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gY3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5
VHJlZShBY2Nlc3NpYmlsaXR5T2JqZWN0JiwgQVhJRCwgQVhJc29sYXRlZFRyZWUmLCBWZWN0b3I8
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+Jik7CisjZW5kaWYKKyAgICAKICNpZiBIQVZFKEFD
Q0VTU0lCSUxJVFkpCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNz
aWJpbGl0eSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGRpc2FibGVBY2Nlc3Np
YmlsaXR5KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaAkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDYgKzI5LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCkBAIC04OSwx
NTcgKzkwLDYgQEAKIGNsYXNzIFNjcm9sbFZpZXc7CiBjbGFzcyBXaWRnZXQ7CiAKLXR5cGVkZWYg
dW5zaWduZWQgQVhJRDsKLQotZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7Ci0gICAgQW5u
b3RhdGlvbiA9IDEsCi0gICAgQXBwbGljYXRpb24sCi0gICAgQXBwbGljYXRpb25BbGVydCwKLSAg
ICBBcHBsaWNhdGlvbkFsZXJ0RGlhbG9nLAotICAgIEFwcGxpY2F0aW9uRGlhbG9nLAotICAgIEFw
cGxpY2F0aW9uR3JvdXAsCi0gICAgQXBwbGljYXRpb25Mb2csCi0gICAgQXBwbGljYXRpb25NYXJx
dWVlLAotICAgIEFwcGxpY2F0aW9uU3RhdHVzLAotICAgIEFwcGxpY2F0aW9uVGV4dEdyb3VwLAot
ICAgIEFwcGxpY2F0aW9uVGltZXIsCi0gICAgQXVkaW8sCi0gICAgQmxvY2txdW90ZSwKLSAgICBC
cm93c2VyLAotICAgIEJ1c3lJbmRpY2F0b3IsCi0gICAgQnV0dG9uLAotICAgIENhbnZhcywKLSAg
ICBDYXB0aW9uLAotICAgIENlbGwsCi0gICAgQ2hlY2tCb3gsCi0gICAgQ29sb3JXZWxsLAotICAg
IENvbHVtbiwKLSAgICBDb2x1bW5IZWFkZXIsCi0gICAgQ29tYm9Cb3gsCi0gICAgRGVmaW5pdGlv
biwKLSAgICBEZXNjcmlwdGlvbkxpc3QsCi0gICAgRGVzY3JpcHRpb25MaXN0VGVybSwKLSAgICBE
ZXNjcmlwdGlvbkxpc3REZXRhaWwsCi0gICAgRGV0YWlscywKLSAgICBEaXJlY3RvcnksCi0gICAg
RGlzY2xvc3VyZVRyaWFuZ2xlLAotICAgIERpdiwKLSAgICBEb2N1bWVudCwKLSAgICBEb2N1bWVu
dEFydGljbGUsCi0gICAgRG9jdW1lbnRNYXRoLAotICAgIERvY3VtZW50Tm90ZSwKLSAgICBEcmF3
ZXIsCi0gICAgRWRpdGFibGVUZXh0LAotICAgIEZlZWQsCi0gICAgRmlndXJlLAotICAgIEZvb3Rl
ciwKLSAgICBGb290bm90ZSwKLSAgICBGb3JtLAotICAgIEdyYXBoaWNzRG9jdW1lbnQsCi0gICAg
R3JhcGhpY3NPYmplY3QsCi0gICAgR3JhcGhpY3NTeW1ib2wsCi0gICAgR3JpZCwKLSAgICBHcmlk
Q2VsbCwKLSAgICBHcm91cCwKLSAgICBHcm93QXJlYSwKLSAgICBIZWFkaW5nLAotICAgIEhlbHBU
YWcsCi0gICAgSG9yaXpvbnRhbFJ1bGUsCi0gICAgSWdub3JlZCwKLSAgICBJbmxpbmUsCi0gICAg
SW1hZ2UsCi0gICAgSW1hZ2VNYXAsCi0gICAgSW1hZ2VNYXBMaW5rLAotICAgIEluY3JlbWVudG9y
LAotICAgIExhYmVsLAotICAgIExhbmRtYXJrQmFubmVyLAotICAgIExhbmRtYXJrQ29tcGxlbWVu
dGFyeSwKLSAgICBMYW5kbWFya0NvbnRlbnRJbmZvLAotICAgIExhbmRtYXJrRG9jUmVnaW9uLAot
ICAgIExhbmRtYXJrTWFpbiwKLSAgICBMYW5kbWFya05hdmlnYXRpb24sCi0gICAgTGFuZG1hcmtS
ZWdpb24sCi0gICAgTGFuZG1hcmtTZWFyY2gsCi0gICAgTGVnZW5kLAotICAgIExpbmssCi0gICAg
TGlzdCwKLSAgICBMaXN0Qm94LAotICAgIExpc3RCb3hPcHRpb24sCi0gICAgTGlzdEl0ZW0sCi0g
ICAgTGlzdE1hcmtlciwKLSAgICBNYXJrLAotICAgIE1hdGhFbGVtZW50LAotICAgIE1hdHRlLAot
ICAgIE1lbnUsCi0gICAgTWVudUJhciwKLSAgICBNZW51QnV0dG9uLAotICAgIE1lbnVJdGVtLAot
ICAgIE1lbnVJdGVtQ2hlY2tib3gsCi0gICAgTWVudUl0ZW1SYWRpbywKLSAgICBNZW51TGlzdFBv
cHVwLAotICAgIE1lbnVMaXN0T3B0aW9uLAotICAgIE91dGxpbmUsCi0gICAgUGFyYWdyYXBoLAot
ICAgIFBvcFVwQnV0dG9uLAotICAgIFByZSwKLSAgICBQcmVzZW50YXRpb25hbCwKLSAgICBQcm9n
cmVzc0luZGljYXRvciwKLSAgICBSYWRpb0J1dHRvbiwKLSAgICBSYWRpb0dyb3VwLAotICAgIFJv
d0hlYWRlciwKLSAgICBSb3csCi0gICAgUm93R3JvdXAsCi0gICAgUnVieUJhc2UsCi0gICAgUnVi
eUJsb2NrLAotICAgIFJ1YnlJbmxpbmUsCi0gICAgUnVieVJ1biwKLSAgICBSdWJ5VGV4dCwKLSAg
ICBSdWxlciwKLSAgICBSdWxlck1hcmtlciwKLSAgICBTY3JvbGxBcmVhLAotICAgIFNjcm9sbEJh
ciwKLSAgICBTZWFyY2hGaWVsZCwKLSAgICBTaGVldCwKLSAgICBTbGlkZXIsCi0gICAgU2xpZGVy
VGh1bWIsCi0gICAgU3BpbkJ1dHRvbiwKLSAgICBTcGluQnV0dG9uUGFydCwKLSAgICBTcGxpdEdy
b3VwLAotICAgIFNwbGl0dGVyLAotICAgIFN0YXRpY1RleHQsCi0gICAgU3VtbWFyeSwKLSAgICBT
d2l0Y2gsCi0gICAgU3lzdGVtV2lkZSwKLSAgICBTVkdSb290LAotICAgIFNWR1RleHQsCi0gICAg
U1ZHVFNwYW4sCi0gICAgU1ZHVGV4dFBhdGgsCi0gICAgVGFiR3JvdXAsCi0gICAgVGFiTGlzdCwK
LSAgICBUYWJQYW5lbCwKLSAgICBUYWIsCi0gICAgVGFibGUsCi0gICAgVGFibGVIZWFkZXJDb250
YWluZXIsCi0gICAgVGV4dEFyZWEsCi0gICAgVGV4dEdyb3VwLAotICAgIFRlcm0sCi0gICAgVGlt
ZSwKLSAgICBUcmVlLAotICAgIFRyZWVHcmlkLAotICAgIFRyZWVJdGVtLAotICAgIFRleHRGaWVs
ZCwKLSAgICBUb2dnbGVCdXR0b24sCi0gICAgVG9vbGJhciwKLSAgICBVbmtub3duLAotICAgIFVz
ZXJJbnRlcmZhY2VUb29sdGlwLAotICAgIFZhbHVlSW5kaWNhdG9yLAotICAgIFZpZGVvLAotICAg
IFdlYkFwcGxpY2F0aW9uLAotICAgIFdlYkFyZWEsCi0gICAgV2ViQ29yZUxpbmssCi0gICAgV2lu
ZG93LAotfTsKLQogZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZSB7CiAgICAgQWx0
ZXJuYXRpdmUsCiAgICAgQ2hpbGRyZW4sCkBAIC00OTEsNyArMzQxLDcgQEAKICAgICAKIGJvb2wg
bm9kZUhhc1ByZXNlbnRhdGlvblJvbGUoTm9kZSopOwogICAgIAotY2xhc3MgQWNjZXNzaWJpbGl0
eU9iamVjdCA6IHB1YmxpYyBSZWZDb3VudGVkPEFjY2Vzc2liaWxpdHlPYmplY3Q+IHsKK2NsYXNz
IEFjY2Vzc2liaWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2Jq
ZWN0PiwgcHVibGljIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UgewogcHJvdGVjdGVkOgog
ICAgIEFjY2Vzc2liaWxpdHlPYmplY3QoKSA9IGRlZmF1bHQ7CiAgICAgCkBAIC0xMTU5LDcgKzEw
MDksMTAgQEAKICAgICBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEgbV9pc0ln
bm9yZWRGcm9tUGFyZW50RGF0YSB7IH07CiAgICAgYm9vbCBtX2NoaWxkcmVuRGlydHkgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9zdWJ0cmVlRGlydHkgeyBmYWxzZSB9OwotCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBib29sIG1faXNvbGF0ZWRUcmVlTm9kZUlu
aXRpYWxpemVkIHsgZmFsc2UgfTsKKyNlbmRpZgorICAgIAogICAgIHZvaWQgc2V0SXNJZ25vcmVk
RnJvbVBhcmVudERhdGEoQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhJiBkYXRh
KSB7IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEgPSBkYXRhOyB9CiAKICAgICB2aXJ0dWFsIGJv
b2wgY29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJ
bnRlcmZhY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDE5MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3R5cGVkZWYgdW5zaWduZWQgQVhJRDsKK2V4dGVybiBjb25z
dCBBWElEIEludmFsaWRBWElEOworCitlbnVtIGNsYXNzIEFjY2Vzc2liaWxpdHlSb2xlIHsKKyAg
ICBBbm5vdGF0aW9uID0gMSwKKyAgICBBcHBsaWNhdGlvbiwKKyAgICBBcHBsaWNhdGlvbkFsZXJ0
LAorICAgIEFwcGxpY2F0aW9uQWxlcnREaWFsb2csCisgICAgQXBwbGljYXRpb25EaWFsb2csCisg
ICAgQXBwbGljYXRpb25Hcm91cCwKKyAgICBBcHBsaWNhdGlvbkxvZywKKyAgICBBcHBsaWNhdGlv
bk1hcnF1ZWUsCisgICAgQXBwbGljYXRpb25TdGF0dXMsCisgICAgQXBwbGljYXRpb25UZXh0R3Jv
dXAsCisgICAgQXBwbGljYXRpb25UaW1lciwKKyAgICBBdWRpbywKKyAgICBCbG9ja3F1b3RlLAor
ICAgIEJyb3dzZXIsCisgICAgQnVzeUluZGljYXRvciwKKyAgICBCdXR0b24sCisgICAgQ2FudmFz
LAorICAgIENhcHRpb24sCisgICAgQ2VsbCwKKyAgICBDaGVja0JveCwKKyAgICBDb2xvcldlbGws
CisgICAgQ29sdW1uLAorICAgIENvbHVtbkhlYWRlciwKKyAgICBDb21ib0JveCwKKyAgICBEZWZp
bml0aW9uLAorICAgIERlc2NyaXB0aW9uTGlzdCwKKyAgICBEZXNjcmlwdGlvbkxpc3RUZXJtLAor
ICAgIERlc2NyaXB0aW9uTGlzdERldGFpbCwKKyAgICBEZXRhaWxzLAorICAgIERpcmVjdG9yeSwK
KyAgICBEaXNjbG9zdXJlVHJpYW5nbGUsCisgICAgRGl2LAorICAgIERvY3VtZW50LAorICAgIERv
Y3VtZW50QXJ0aWNsZSwKKyAgICBEb2N1bWVudE1hdGgsCisgICAgRG9jdW1lbnROb3RlLAorICAg
IERyYXdlciwKKyAgICBFZGl0YWJsZVRleHQsCisgICAgRmVlZCwKKyAgICBGaWd1cmUsCisgICAg
Rm9vdGVyLAorICAgIEZvb3Rub3RlLAorICAgIEZvcm0sCisgICAgR3JhcGhpY3NEb2N1bWVudCwK
KyAgICBHcmFwaGljc09iamVjdCwKKyAgICBHcmFwaGljc1N5bWJvbCwKKyAgICBHcmlkLAorICAg
IEdyaWRDZWxsLAorICAgIEdyb3VwLAorICAgIEdyb3dBcmVhLAorICAgIEhlYWRpbmcsCisgICAg
SGVscFRhZywKKyAgICBIb3Jpem9udGFsUnVsZSwKKyAgICBJZ25vcmVkLAorICAgIElubGluZSwK
KyAgICBJbWFnZSwKKyAgICBJbWFnZU1hcCwKKyAgICBJbWFnZU1hcExpbmssCisgICAgSW5jcmVt
ZW50b3IsCisgICAgTGFiZWwsCisgICAgTGFuZG1hcmtCYW5uZXIsCisgICAgTGFuZG1hcmtDb21w
bGVtZW50YXJ5LAorICAgIExhbmRtYXJrQ29udGVudEluZm8sCisgICAgTGFuZG1hcmtEb2NSZWdp
b24sCisgICAgTGFuZG1hcmtNYWluLAorICAgIExhbmRtYXJrTmF2aWdhdGlvbiwKKyAgICBMYW5k
bWFya1JlZ2lvbiwKKyAgICBMYW5kbWFya1NlYXJjaCwKKyAgICBMZWdlbmQsCisgICAgTGluaywK
KyAgICBMaXN0LAorICAgIExpc3RCb3gsCisgICAgTGlzdEJveE9wdGlvbiwKKyAgICBMaXN0SXRl
bSwKKyAgICBMaXN0TWFya2VyLAorICAgIE1hcmssCisgICAgTWF0aEVsZW1lbnQsCisgICAgTWF0
dGUsCisgICAgTWVudSwKKyAgICBNZW51QmFyLAorICAgIE1lbnVCdXR0b24sCisgICAgTWVudUl0
ZW0sCisgICAgTWVudUl0ZW1DaGVja2JveCwKKyAgICBNZW51SXRlbVJhZGlvLAorICAgIE1lbnVM
aXN0UG9wdXAsCisgICAgTWVudUxpc3RPcHRpb24sCisgICAgT3V0bGluZSwKKyAgICBQYXJhZ3Jh
cGgsCisgICAgUG9wVXBCdXR0b24sCisgICAgUHJlLAorICAgIFByZXNlbnRhdGlvbmFsLAorICAg
IFByb2dyZXNzSW5kaWNhdG9yLAorICAgIFJhZGlvQnV0dG9uLAorICAgIFJhZGlvR3JvdXAsCisg
ICAgUm93SGVhZGVyLAorICAgIFJvdywKKyAgICBSb3dHcm91cCwKKyAgICBSdWJ5QmFzZSwKKyAg
ICBSdWJ5QmxvY2ssCisgICAgUnVieUlubGluZSwKKyAgICBSdWJ5UnVuLAorICAgIFJ1YnlUZXh0
LAorICAgIFJ1bGVyLAorICAgIFJ1bGVyTWFya2VyLAorICAgIFNjcm9sbEFyZWEsCisgICAgU2Ny
b2xsQmFyLAorICAgIFNlYXJjaEZpZWxkLAorICAgIFNoZWV0LAorICAgIFNsaWRlciwKKyAgICBT
bGlkZXJUaHVtYiwKKyAgICBTcGluQnV0dG9uLAorICAgIFNwaW5CdXR0b25QYXJ0LAorICAgIFNw
bGl0R3JvdXAsCisgICAgU3BsaXR0ZXIsCisgICAgU3RhdGljVGV4dCwKKyAgICBTdW1tYXJ5LAor
ICAgIFN3aXRjaCwKKyAgICBTeXN0ZW1XaWRlLAorICAgIFNWR1Jvb3QsCisgICAgU1ZHVGV4dCwK
KyAgICBTVkdUU3BhbiwKKyAgICBTVkdUZXh0UGF0aCwKKyAgICBUYWJHcm91cCwKKyAgICBUYWJM
aXN0LAorICAgIFRhYlBhbmVsLAorICAgIFRhYiwKKyAgICBUYWJsZSwKKyAgICBUYWJsZUhlYWRl
ckNvbnRhaW5lciwKKyAgICBUZXh0QXJlYSwKKyAgICBUZXh0R3JvdXAsCisgICAgVGVybSwKKyAg
ICBUaW1lLAorICAgIFRyZWUsCisgICAgVHJlZUdyaWQsCisgICAgVHJlZUl0ZW0sCisgICAgVGV4
dEZpZWxkLAorICAgIFRvZ2dsZUJ1dHRvbiwKKyAgICBUb29sYmFyLAorICAgIFVua25vd24sCisg
ICAgVXNlckludGVyZmFjZVRvb2x0aXAsCisgICAgVmFsdWVJbmRpY2F0b3IsCisgICAgVmlkZW8s
CisgICAgV2ViQXBwbGljYXRpb24sCisgICAgV2ViQXJlYSwKKyAgICBXZWJDb3JlTGluaywKKyAg
ICBXaW5kb3csCit9OworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKK3B1
YmxpYzoKKyAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlKCkgPSBkZWZh
dWx0OworCisgICAgdmlydHVhbCBib29sIGlzTWVkaWFDb250cm9sTGFiZWwoKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCA9IDA7Cisg
ICAgdmlydHVhbCBib29sIGlzQXR0YWNobWVudCgpIGNvbnN0ID0gMDsKK307CisKK30KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTI2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBWElz
b2xhdGVkVHJlZS5oIgorCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCisjaW5jbHVk
ZSAiUGFnZS5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisgICAgCitzdGF0aWMgdW5zaWduZWQgc190cmVlSURDb3VudCA9IDA7CisKK0hh
c2hNYXA8QVhJc29sYXRlZFRyZWVJRCwgUmVmPEFYSXNvbGF0ZWRUcmVlPj4mIEFYSXNvbGF0ZWRU
cmVlOjp0cmVlQ2FjaGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPEFY
SXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKK30KKworQVhJc29sYXRlZFRyZWU6OkFYSXNvbGF0ZWRUcmVlKCkKKyAgICA6IG1fdHJlZUlE
KCsrc190cmVlSURDb3VudCkKK3sKK30KKworQVhJc29sYXRlZFRyZWU6On5BWElzb2xhdGVkVHJl
ZSgpID0gZGVmYXVsdDsKKworUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWElzb2xhdGVkVHJlZTo6Y3Jl
YXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZSgpKTsKK30K
KyAgICAKK1JlZlB0cjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJRChB
WElzb2xhdGVkVHJlZUlEIHRyZWVJRCkKK3sKKyAgICByZXR1cm4gdHJlZUNhY2hlKCkuZ2V0KHRy
ZWVJRCk7Cit9CisKK1JlZjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQ
YWdlSUQodWludDY0X3QgcGFnZUlEKQoreworICAgIHN0YXRpYyBMb2NrIGNhY2hlTG9jazsKKyAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDx1aW50NjRfdCwgUmVmPEFYSXNvbGF0ZWRU
cmVlPj4+IHBhZ2VNYXA7CisKKyAgICBjYWNoZUxvY2subG9jaygpOworICAgIGlmIChBWElzb2xh
dGVkVHJlZSogdHJlZSA9IHBhZ2VNYXAuZ2V0KCkuZ2V0KHBhZ2VJRCkpIHsKKyAgICAgICAgUmVm
PEFYSXNvbGF0ZWRUcmVlPiBuZXdUcmVlID0gbWFrZVJlZigqdHJlZSk7CisgICAgICAgIGNhY2hl
TG9jay51bmxvY2soKTsKKyAgICAgICAgcmV0dXJuIG5ld1RyZWU7CisgICAgfQorICAgIAorICAg
IFJlZjxBWElzb2xhdGVkVHJlZT4gbmV3VHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjpjcmVhdGUoKTsK
KyAgICBwYWdlTWFwLmdldCgpLnNldChwYWdlSUQsIG5ld1RyZWUuY29weVJlZigpKTsKKyAgICB0
cmVlQ2FjaGUoKS5zZXQobmV3VHJlZS0+dHJlZUlkZW50aWZpZXIoKSwgbmV3VHJlZS5jb3B5UmVm
KCkpOworICAgIGNhY2hlTG9jay51bmxvY2soKTsKKyAgICByZXR1cm4gbmV3VHJlZTsKK30KKyAg
ICAKK1JlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlOjpub2RlRm9ySUQo
QVhJRCBheElEKSBjb25zdAoreworICAgIGlmICghYXhJRCkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgcmV0dXJuIG1fcmVhZGVyVGhyZWFkTm9kZU1hcC5nZXQoYXhJRCk7Cit9CisKK1Jl
ZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlOjpyb290Tm9kZSgpCit7Cisg
ICAgcmV0dXJuIG5vZGVGb3JJRChtX3Jvb3ROb2RlSUQpOworfQorCit2b2lkIEFYSXNvbGF0ZWRU
cmVlOjpyZW1vdmVOb2RlKEFYSUQgYXhJRCkKK3sKKyAgICBtX2NoYW5nZUxvZ0xvY2subG9jaygp
OworICAgIG1fcGVuZGluZ1JlbW92YWxzLmFwcGVuZChheElEKTsKKyAgICBtX2NoYW5nZUxvZ0xv
Y2sudW5sb2NrKCk7Cit9CisKK3ZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGVuZE5vZGVDaGFuZ2Vz
KFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4mIGxvZykKK3sKKyAgICBtX2NoYW5n
ZUxvZ0xvY2subG9jaygpOworICAgIG1fcGVuZGluZ0FwcGVuZHMuYXBwZW5kVmVjdG9yKGxvZyk7
CisgICAgbV9jaGFuZ2VMb2dMb2NrLnVubG9jaygpOworfQorICAgIAordm9pZCBBWElzb2xhdGVk
VHJlZTo6YXBwbHlQZW5kaW5nQ2hhbmdlcygpCit7CisgICAgbV9jaGFuZ2VMb2dMb2NrLmxvY2so
KTsKKyAgICBWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+IGFwcGVuZENvcHkoV1RG
TW92ZShtX3BlbmRpbmdBcHBlbmRzKSk7CisgICAgVmVjdG9yPEFYSUQ+IHJlbW92ZUNvcHkoV1RG
TW92ZShtX3BlbmRpbmdSZW1vdmFscykpOworICAgIG1fY2hhbmdlTG9nTG9jay51bmxvY2soKTsK
KworICAgIGZvciAoYXV0byYgaXRlbSA6IGFwcGVuZENvcHkpIHsKKyAgICAgICAgbV9yZWFkZXJU
aHJlYWROb2RlTWFwLnNldChpdGVtLT5pZGVudGlmaWVyKCksICppdGVtKTsKKyAgICAgICAgaWYg
KGl0ZW0tPmlzUm9vdE5vZGUoKSkKKyAgICAgICAgICAgIG1fcm9vdE5vZGVJRCA9IGl0ZW0tPmlk
ZW50aWZpZXIoKTsKKyAgICB9CisKKyAgICBmb3IgKGF1dG8gaXRlbSA6IHJlbW92ZUNvcHkpCisg
ICAgICAgIG1fcmVhZGVyVGhyZWFkTm9kZU1hcC5yZW1vdmUoaXRlbSk7Cit9CisgICAgCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRy
ZWUvQVhJc29sYXRlZFRyZWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFlfSVNPTEFURURfVFJFRSkKKworI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgor
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIFBhZ2U7CisKK3R5cGVkZWYgdW5zaWduZWQgQVhJc29sYXRlZFRyZWVJRDsKKyAgICAK
K2NsYXNzIEFYSXNvbGF0ZWRUcmVlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEFYSXNv
bGF0ZWRUcmVlPiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQVhJc29sYXRlZFRyZWUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKworcHVibGljOgorICAgIHN0YXRpYyBSZWY8QVhJc29s
YXRlZFRyZWU+IGNyZWF0ZSgpOworICAgIHZpcnR1YWwgfkFYSXNvbGF0ZWRUcmVlKCk7CisKKyAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPEFYSXNvbGF0ZWRUcmVlPiB0cmVlRm9yUGFnZUlE
KHVpbnQ2NF90KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmUHRyPEFYSXNvbGF0ZWRU
cmVlPiB0cmVlRm9ySUQoQVhJc29sYXRlZFRyZWVJRCk7CisKKyAgICBXRUJDT1JFX0VYUE9SVCBS
ZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiByb290Tm9kZSgpOworICAgIFJlZlB0cjxBWElzb2xh
dGVkVHJlZU5vZGU+IG5vZGVGb3JJRChBWElEKSBjb25zdDsKKworICAgIC8vIENhbGwgb24gbWFp
biB0aHJlYWQKKyAgICB2b2lkIGFwcGVuZE5vZGVDaGFuZ2VzKFZlY3RvcjxSZWZQdHI8QVhJc29s
YXRlZFRyZWVOb2RlPj4mKTsKKyAgICB2b2lkIHJlbW92ZU5vZGUoQVhJRCk7CisKKyAgICAvLyBD
YWxsIG9uIEFYIHRocmVhZAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHlQZW5kaW5nQ2hh
bmdlcygpOworICAgIAorICAgIEFYSXNvbGF0ZWRUcmVlSUQgdHJlZUlkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBtX3RyZWVJRDsgfQorICAgIAorcHJpdmF0ZToKKyAgICBBWElzb2xhdGVkVHJl
ZSgpOworCisgICAgc3RhdGljIEhhc2hNYXA8QVhJc29sYXRlZFRyZWVJRCwgUmVmPEFYSXNvbGF0
ZWRUcmVlPj4mIHRyZWVDYWNoZSgpOworICAgIAorICAgIC8vIE9ubHkgYWNjZXNzIG9uIEFYIHRo
cmVhZCByZXF1ZXN0aW5nIGRhdGEuCisgICAgSGFzaE1hcDxBWElELCBSZWY8QVhJc29sYXRlZFRy
ZWVOb2RlPj4gbV9yZWFkZXJUaHJlYWROb2RlTWFwOworICAgIAorICAgIC8vIFdyaXR0ZW4gdG8g
YnkgbWFpbiB0aHJlYWQgdW5kZXIgbG9jaywgYWNjZXNzZWQgYW5kIGFwcGxpZWQgYnkgQVggdGhy
ZWFkLgorICAgIFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbV9wZW5kaW5nQXBw
ZW5kczsKKyAgICBWZWN0b3I8QVhJRD4gbV9wZW5kaW5nUmVtb3ZhbHM7CisgICAgTG9jayBtX2No
YW5nZUxvZ0xvY2s7CisKKyAgICBBWElzb2xhdGVkVHJlZUlEIG1fdHJlZUlEOworICAgIEFYSUQg
bV9yb290Tm9kZUlEOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRU
cmVlTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKKworI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitBWElzb2xhdGVkVHJlZU5vZGU6
OkFYSXNvbGF0ZWRUcmVlTm9kZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCisg
ICAgOiBtX2lkZW50aWZpZXIob2JqZWN0LmF4T2JqZWN0SUQoKSkKKyAgICAsIG1fcmVsYXRpb25z
aGlwKEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpjcmVhdGUoKSkKK3sKKyAgICBpbml0aWFs
aXplQXR0cmlidXRlRGF0YShvYmplY3QpOworfQorCitSZWY8QVhJc29sYXRlZFRyZWVOb2RlPiBB
WElzb2xhdGVkVHJlZU5vZGU6OmNyZWF0ZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmpl
Y3QpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQVhJc29sYXRlZFRyZWVOb2RlKG9iamVj
dCkpOworfQorICAgIAorQVhJc29sYXRlZFRyZWVOb2RlOjp+QVhJc29sYXRlZFRyZWVOb2RlKCkg
PSBkZWZhdWx0OworCit2b2lkIEFYSXNvbGF0ZWRUcmVlTm9kZTo6aW5pdGlhbGl6ZUF0dHJpYnV0
ZURhdGEoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQoreworICAgIHNldFByb3Bl
cnR5KEFYUHJvcGVydHlOYW1lOjpSb2xlVmFsdWUsIHN0YXRpY19jYXN0PGludD4ob2JqZWN0LnJv
bGVWYWx1ZSgpKSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVu
dCwgb2JqZWN0LmlzQXR0YWNobWVudCgpKTsKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFt
ZTo6SXNNZWRpYUNvbnRyb2xMYWJlbCwgb2JqZWN0LmlzTWVkaWFDb250cm9sTGFiZWwoKSk7Cit9
CisgICAgCit2b2lkIEFYSXNvbGF0ZWRUcmVlTm9kZTo6c2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQmJiB2YWx1ZSwgYm9vbCBzaG91
bGRSZW1vdmUpCit7CisgICAgaWYgKHNob3VsZFJlbW92ZSkKKyAgICAgICAgbV9hdHRyaWJ1dGVN
YXAucmVtb3ZlKHByb3BlcnR5TmFtZSk7CisgICAgZWxzZQorICAgICAgICBtX2F0dHJpYnV0ZU1h
cC5zZXQocHJvcGVydHlOYW1lLCB2YWx1ZSk7Cit9CisgICAgCitkb3VibGUgQVhJc29sYXRlZFRy
ZWVOb2RlOjpkb3VibGVBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUp
IGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5h
bWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGRvdWJsZSYgdHlwZWRW
YWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7
CisgICAgICAgIHJldHVybiAwLjA7CisgICAgfSk7Cit9CisKK3Vuc2lnbmVkIEFYSXNvbGF0ZWRU
cmVlTm9kZTo6dW5zaWduZWRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0
eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKHVuc2lnbmVkJiB0
eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0
byYpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfSk7Cit9CisKK2Jvb2wgQVhJc29sYXRlZFRy
ZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBj
b25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1l
KTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChib29sJiB0eXBlZFZhbHVl
KSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0pOworfQorCitjb25zdCBTdHJpbmcmIEFYSXNvbGF0
ZWRUcmVlTm9kZTo6c3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVy
dHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChTdHJpbmcmIHR5
cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRv
JikgeworICAgICAgICByZXR1cm4gbnVsbEF0b20oKTsKKyAgICB9KTsKK30KKworaW50IEFYSXNv
bGF0ZWRUcmVlTm9kZTo6aW50QXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVy
dHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChpbnQmIHR5cGVk
VmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikg
eworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKworI3ByYWdtYSBtYXJrIC0gT3ZlcnJp
ZGVzCisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9k
ZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTU1
IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKworI2lu
Y2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKKyNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJl
ZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCisjaWYgUExBVEZPUk0oQ09DT0EpCitP
QkpDX0NMQVNTIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyOworI2VuZGlmCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdDsKKworY2xhc3MgQVhJ
c29sYXRlZFRyZWVSZWxhdGlvbnNoaXAgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QVhJ
c29sYXRlZFRyZWVSZWxhdGlvbnNoaXA+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEFYSXNv
bGF0ZWRUcmVlUmVsYXRpb25zaGlwPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEFY
SXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwKCkpOyB9CisgICAgdmlydHVhbCB+QVhJc29sYXRlZFRy
ZWVSZWxhdGlvbnNoaXAoKSA9IGRlZmF1bHQ7CisKKyAgICBBWElzb2xhdGVkVHJlZVJlbGF0aW9u
c2hpcChjb25zdCBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCYgcmVsYXRpb25zaGlwKQorICAg
ICAgICA6IG1fcGFyZW50KHJlbGF0aW9uc2hpcC5tX3BhcmVudCkKKyAgICAgICAgLCBtX2NoaWxk
cmVuKHJlbGF0aW9uc2hpcC5tX2NoaWxkcmVuKQorICAgIHsKKyAgICB9CisgICAgCisgICAgQVhJ
c29sYXRlZFRyZWVSZWxhdGlvbnNoaXAmIG9wZXJhdG9yPShjb25zdCBBWElzb2xhdGVkVHJlZVJl
bGF0aW9uc2hpcCYgcmVsYXRpb25zaGlwKQorICAgIHsKKyAgICAgICAgbV9wYXJlbnQgPSByZWxh
dGlvbnNoaXAubV9wYXJlbnQ7CisgICAgICAgIG1fY2hpbGRyZW4gPSByZWxhdGlvbnNoaXAubV9j
aGlsZHJlbjsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAgIHZvaWQgc2V0UGFy
ZW50KEFYSUQgcGFyZW50KSB7IG1fcGFyZW50ID0gcGFyZW50OyB9CisgICAgQVhJRCBwYXJlbnQo
KSBjb25zdCB7IHJldHVybiBtX3BhcmVudDsgfQorCisgICAgVmVjdG9yPEFYSUQ+JiBjaGlsZHJl
bigpIHsgcmV0dXJuIG1fY2hpbGRyZW47IH07CisKK3ByaXZhdGU6CisgICAgQVhJc29sYXRlZFRy
ZWVSZWxhdGlvbnNoaXAoKSB7IH0KKworICAgIEFYSUQgbV9wYXJlbnQ7CisgICAgVmVjdG9yPEFY
SUQ+IG1fY2hpbGRyZW47Cit9OworCisgICAgCitjbGFzcyBBWElzb2xhdGVkVHJlZU5vZGUgZmlu
YWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSwgcHVibGljIFRocmVhZFNh
ZmVSZWZDb3VudGVkPEFYSXNvbGF0ZWRUcmVlTm9kZT4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxB
WElzb2xhdGVkVHJlZU5vZGU+IHsKKyAgICAKK2VudW0gY2xhc3MgQVhQcm9wZXJ0eU5hbWUgOiB1
aW50MTZfdCB7CisgICAgTm9uZSA9IDAsCisgICAgUm9sZVZhbHVlID0gMSwKKyAgICBJc0F0dGFj
aG1lbnQsCisgICAgSXNNZWRpYUNvbnRyb2xMYWJlbCwKK307CisKK3N0cnVjdCBBWFByb3BlcnR5
SGFzaFRyYWl0cyA6IFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8QVhQcm9wZXJ0eU5hbWU+IHsK
KyAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gZmFsc2U7CisgICAgc3Rh
dGljIEFYUHJvcGVydHlOYW1lIGVtcHR5VmFsdWUoKSB7IHJldHVybiBBWFByb3BlcnR5TmFtZTo6
Tm9uZTsgfTsKKyAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoQVhQcm9wZXJ0
eU5hbWUmIHNsb3QpCisgICAgeworICAgICAgICBzbG90ID0gc3RhdGljX2Nhc3Q8QVhQcm9wZXJ0
eU5hbWU+KHN0YXRpY19jYXN0PGludD4oQVhQcm9wZXJ0eU5hbWU6Ok5vbmUpIC0gMSk7CisgICAg
fQorICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKEFYUHJvcGVydHlOYW1lIHZhbHVlKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4odmFsdWUpID09IHN0YXRpY19j
YXN0PGludD4oQVhQcm9wZXJ0eU5hbWU6Ok5vbmUpIC0gMTsKKyAgICB9Cit9OworCitwcm90ZWN0
ZWQ6CisgICAgQVhJc29sYXRlZFRyZWVOb2RlKCkgPSBkZWZhdWx0OworCitwdWJsaWM6CisgICAg
c3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+IGNyZWF0ZShjb25zdCBBY2Nlc3NpYmlsaXR5
T2JqZWN0Jik7CisgICAgdmlydHVhbCB+QVhJc29sYXRlZFRyZWVOb2RlKCk7CisKKyAgICBBWElE
IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KKyAgICAKKyAgICBS
ZWY8QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA+IHJlbGF0aW9uc2hpcCgpIHsgcmV0dXJuIG1f
cmVsYXRpb25zaGlwLmNvcHlSZWYoKTsgfQorICAgIAorICAgIGJvb2wgaXNSb290Tm9kZSgpIGNv
bnN0IHsgcmV0dXJuIG1faXNSb290Tm9kZTsgfQorICAgIHZvaWQgc2V0SXNSb290Tm9kZShib29s
IHZhbHVlKSB7IG1faXNSb290Tm9kZSA9IHZhbHVlOyB9CisgICAgCisjaWYgUExBVEZPUk0oQ09D
T0EpCisgICAgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIoKSBjb25zdCB7
IHJldHVybiBtX3dyYXBwZXIuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFdyYXBwZXIoV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIpCisgICAgeworICAgICAgICBtX3dyYXBwZXIg
PSB3cmFwcGVyOworICAgIH0KKyNlbmRpZgorCitwcml2YXRlOgorICAgIEFYSXNvbGF0ZWRUcmVl
Tm9kZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisgICAgdm9pZCBpbml0aWFsaXplQXR0
cmlidXRlRGF0YShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisKKyAgICBib29sIGlzTWVk
aWFDb250cm9sTGFiZWwoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWU6OklzTWVkaWFDb250cm9sTGFiZWwpOyB9CisgICAgYm9vbCBpc0F0
dGFjaG1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCk7IH0KKyAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5
Um9sZT4oaW50QXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OlJvbGVWYWx1ZSkpOyB9CisK
KyAgICB1c2luZyBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQgPSBWYXJpYW50PHN0ZDo6bnVsbHB0cl90
LCBTdHJpbmcsIGJvb2wsIGludCwgdW5zaWduZWQsIGRvdWJsZT47CisgICAgdm9pZCBzZXRQcm9w
ZXJ0eShBWFByb3BlcnR5TmFtZSwgQXR0cmlidXRlVmFsdWVWYXJpYW50JiYsIGJvb2wgc2hvdWxk
UmVtb3ZlID0gZmFsc2UpOworCisgICAgYm9vbCBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0
eU5hbWUpIGNvbnN0OworICAgIGNvbnN0IFN0cmluZyYgc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGludCBpbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZSkgY29uc3Q7CisgICAgdW5zaWduZWQgdW5zaWduZWRBdHRyaWJ1dGVWYWx1ZShBWFByb3Bl
cnR5TmFtZSkgY29uc3Q7CisgICAgZG91YmxlIGRvdWJsZUF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVy
dHlOYW1lKSBjb25zdDsKKworICAgIEFYSUQgbV9pZGVudGlmaWVyOworICAgIGJvb2wgbV9pc1Jv
b3ROb2RlOworICAgIFJlZjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4gbV9yZWxhdGlvbnNo
aXA7CisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXRhaW5QdHI8V2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXI+IG1fd3JhcHBlcjsKKyNlbmRpZgorCisgICAgLy8gV2UgZG9uJ3QgbWFy
ayB0aGlzIGNvbnN0IGJlY2F1c2UgZXZlbiB0aG91Z2ggYXR0cmlidXRlcyBkb24ndCBjaGFuZ2Ug
YWZ0ZXIgaW5pdGlhbCBjcmVhdGlvbiwKKyAgICAvLyB3ZSBtYXkgY29weSBhbiBleGlzdGluZyBu
b2RlIGFuZCByZXBsYWNlIHNwZWNpZmljIHZhbHVlcywKKyAgICBIYXNoTWFwPEFYUHJvcGVydHlO
YW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQsIFdURjo6SW50SGFzaDxBWFByb3BlcnR5TmFtZT4s
IEFYUHJvcGVydHlIYXNoVHJhaXRzPiBtX2F0dHJpYnV0ZU1hcDsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2Fj
aGVNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
QVhPYmplY3RDYWNoZU1hYy5tbQkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MjgsNiArMjgsNyBAQAogCiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBQTEFURk9STShNQUMp
CiAKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eU9iamVjdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVRhYmxlLmgiCiAjaW1wb3J0ICJSZW5k
ZXJPYmplY3QuaCIKQEAgLTIzNyw2ICsyMzgsMTQgQEAKICAgICBvYmotPnNldFdyYXBwZXIobnVs
bHB0cik7CiB9CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQordm9p
ZCBBWE9iamVjdENhY2hlOjphc3NvY2lhdGVJc29sYXRlZFRyZWVOb2RlKEFjY2Vzc2liaWxpdHlP
YmplY3QmIG9iamVjdCwgQVhJc29sYXRlZFRyZWVOb2RlJiBub2RlLCBBWElzb2xhdGVkVHJlZUlE
IHRyZWVJRCkKK3sKKyAgICBvYmplY3Qud3JhcHBlcigpLmlzb2xhdGVkVHJlZUlkZW50aWZpZXIg
PSB0cmVlSUQ7CisgICAgbm9kZS5zZXRXcmFwcGVyKG9iamVjdC53cmFwcGVyKCkpOworfQorI2Vu
ZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIoQWNjZXNzaWJpbGl0
eU9iamVjdCogb2JqKQogewogICAgIFJldGFpblB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlcj4gd3JhcHBlciA9IGFkb3B0TlMoW1tXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBh
bGxvY10gaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0Om9ial0pOwpJbmRleDogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMSArMjksMTggQEAKICNpZm5kZWYgV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlX2gKICNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJCYXNlX2gKIAorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlLmgiCiAjaW5jbHVk
ZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3Jh
cGhpY3MuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZhcmlhbnQu
aD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCitjbGFzcyBBWElzb2xhdGVkVHJlZU5vZGU7CisjZW5kaWYKIHN0cnVjdCBBY2Nlc3Np
YmlsaXR5U2VhcmNoQ3JpdGVyaWE7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgRmxvYXRQb2ludDsK
QEAgLTQ0LDEzICs1MSwyNiBAQAogCiBAaW50ZXJmYWNlIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQmFzZSA6IE5TT2JqZWN0IHsKICAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBtX29iamVjdDsKKyAgICBXZWJDb3JlOjpBWElEIF9pZGVudGlmaWVyOwogfQogIAogLSAoaWQp
aW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0OihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
KilheE9iamVjdDsKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFJlZlB0cjxXZWJDb3JlOjpBWElzb2xhdGVk
VHJlZU5vZGU+IGlzb2xhdGVkVHJlZU5vZGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWdu
KSBXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUlEIGlzb2xhdGVkVHJlZUlkZW50aWZpZXI7CisjZW5k
aWYKKwogLSAodm9pZClkZXRhY2g7CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFdl
YkNvcmU6OkFYSUQgaWRlbnRpZmllcjsKKwogLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dCopYWNjZXNzaWJpbGl0eU9iamVjdDsKIC0gKEJPT0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3Jl
OwogCisvLyBUaGlzIGNhbiBiZSBlaXRoZXIgYW4gQWNjZXNzaWJpbGl0eU9iamVjdCBvciBhbiBB
WElzb2xhdGVkVHJlZU5vZGUKKy0gKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZh
Y2UqKWF4QmFja2luZ09iamVjdDsKKwogLy8gVGhlc2UgYXJlIHByZS1maXhlZCB3aXRoIGJhc2Ug
c28gdGhhdCBBcHBLaXQgZG9lcyBub3QgZW5kIHVwIGNhbGxpbmcgaW50byB0aGVzZSBkaXJlY3Rs
eSAoYnlwYXNzaW5nIHNhZmV0eSBjaGVja3MpLgogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJp
bGl0eVRpdGxlOwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJCYXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkocmV2aXNpb24g
MjQwMjQ2KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMCArMzEsMTMg
QEAKIAogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIAorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWUu
aCIKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2ltcG9ydCAiQVhPYmplY3RDYWNo
ZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmgiCiAjaW1wb3J0ICJBY2Nl
c3NpYmlsaXR5TGlzdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIKKyNpbXBv
cnQgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmgiCiAj
aW1wb3J0ICJBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIgpAQCAtMjcwLDYgKzI3Myw4IEBACiAK
IEBpbXBsZW1lbnRhdGlvbiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UKIAorQHN5
bnRoZXNpemUgaWRlbnRpZmllcj1faWRlbnRpZmllcjsKKwogLSAoaWQpaW5pdFdpdGhBY2Nlc3Np
YmlsaXR5T2JqZWN0OihBY2Nlc3NpYmlsaXR5T2JqZWN0KilheE9iamVjdAogewogICAgIGlmICgh
KHNlbGYgPSBbc3VwZXIgaW5pdF0pKQpAQCAtMjc2LDE2ICsyODEsMzAgQEAKICAgICAgICAgcmV0
dXJuIG5pbDsKIAogICAgIG1fb2JqZWN0ID0gYXhPYmplY3Q7CisgICAgX2lkZW50aWZpZXIgPSBt
X29iamVjdC0+YXhPYmplY3RJRCgpOwogICAgIHJldHVybiBzZWxmOwogfQogCisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKy0gKFJlZlB0cjxXZWJDb3JlOjpBWElzb2xh
dGVkVHJlZU5vZGU+KWlzb2xhdGVkVHJlZU5vZGUKK3sKKyAgICByZXR1cm4gQVhJc29sYXRlZFRy
ZWU6OnRyZWVGb3JJRChfaXNvbGF0ZWRUcmVlSWRlbnRpZmllciktPm5vZGVGb3JJRChfaWRlbnRp
Zmllcik7Cit9CisKKyNlbmRpZgorCiAtICh2b2lkKWRldGFjaAogewogICAgIG1fb2JqZWN0ID0g
bnVsbHB0cjsKKyAgICBfaWRlbnRpZmllciA9IDA7CiB9CiAKIC0gKEJPT0wpdXBkYXRlT2JqZWN0
QmFja2luZ1N0b3JlCiB7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkK
KyAgICBBWElzb2xhdGVkVHJlZTo6dHJlZUZvcklEKHNlbGYuaXNvbGF0ZWRUcmVlSWRlbnRpZmll
ciktPmFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKyAgICByZXR1cm4gX2lkZW50aWZpZXI7CisjZWxz
ZQogICAgIC8vIENhbGxpbmcgdXBkYXRlQmFja2luZ1N0b3JlKCkgY2FuIGludmFsaWRhdGUgdGhp
cyBlbGVtZW50IHNvIHNlbGYgbXVzdCBiZSByZXRhaW5lZC4KICAgICAvLyBJZiBpdCBkb2VzIGJl
Y29tZSBpbnZhbGlkYXRlZCwgbV9vYmplY3Qgd2lsbCBiZSBuaWwuCiAgICAgQ0ZSZXRhaW4oKF9f
YnJpZGdlIENGVHlwZVJlZilzZWxmKTsKQEAgLTI5OSw2ICszMTgsNyBAQAogICAgICAgICByZXR1
cm4gTk87CiAgICAgCiAgICAgcmV0dXJuIFlFUzsKKyNlbmRpZgogfQogCiAtIChpZClhdHRhY2ht
ZW50VmlldwpAQCAtMzYwLDExICszODAsMjEgQEAKICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmlu
Z107CiB9CiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVjdCBzZWxmLmF4QmFja2luZ09iamVjdAor
LSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSopYXhCYWNraW5nT2JqZWN0
Cit7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICByZXR1cm4g
c2VsZi5pc29sYXRlZFRyZWVOb2RlLmdldCgpOworI2Vsc2UKKyAgICByZXR1cm4gbV9vYmplY3Q7
CisjZW5kaWYKK30KKwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
CiB7CiAgICAgLy8gU3RhdGljIHRleHQgb2JqZWN0cyBzaG91bGQgbm90IGhhdmUgYSBkZXNjcmlw
dGlvbi4gSXRzIGNvbnRlbnQgaXMgY29tbXVuaWNhdGVkIGluIGl0cyBBWFZhbHVlLgogICAgIC8v
IE9uZSBleGNlcHRpb24gaXMgdGhlIG1lZGlhIGNvbnRyb2wgbGFiZWxzIHRoYXQgaGF2ZSBhIHZh
bHVlIGFuZCBhIGRlc2NyaXB0aW9uLiBUaG9zZSBhcmUgc2V0IHByb2dyYW1hdGljYWxseS4KLSAg
ICBpZiAobV9vYmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNU
ZXh0ICYmICFtX29iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQorICAgIGlmIChfYXhCYWNr
aW5nT2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dCAm
JiAhX2F4QmFja2luZ09iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQogICAgICAgICByZXR1
cm4gW05TU3RyaW5nIHN0cmluZ107CiAgICAgCiAgICAgVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0
PiB0ZXh0T3JkZXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5t
bQkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQx
Niw2ICs0MTYsOCBAQAogI2RlZmluZSBOU0FjY2Vzc2liaWxpdHlSZWxhdGl2ZUZyYW1lQXR0cmli
dXRlIEAiQVhSZWxhdGl2ZUZyYW1lIgogI2VuZGlmCiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVj
dCBzZWxmLmF4QmFja2luZ09iamVjdAorCiBleHRlcm4gIkMiIEFYVUlFbGVtZW50UmVmIE5TQWNj
ZXNzaWJpbGl0eUNyZWF0ZUFYVUlFbGVtZW50UmVmKGlkIGVsZW1lbnQpOwogCiBAaW1wbGVtZW50
YXRpb24gV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIKQEAgLTE5NzAsMTAgKzE5NzIsMTAg
QEAKIC0gKE5TU3RyaW5nKilyb2xlCiB7CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElP
TlNfQkVHSU4KLSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKQorICAgIGlmIChfYXhC
YWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRh
Y2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVJv
bGVBdHRyaWJ1dGVdOwogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAotICAg
IEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUgPSBtX29iamVjdC0+cm9sZVZhbHVlKCk7CisgICAgQWNj
ZXNzaWJpbGl0eVJvbGUgcm9sZSA9IF9heEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpOwogCiAg
ICAgaWYgKHJvbGUgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OkxhYmVsICYmIGlzPEFjY2Vzc2liaWxp
dHlMYWJlbD4oKm1fb2JqZWN0KSAmJiBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5TGFiZWw+KCptX29i
amVjdCkuY29udGFpbnNPbmx5U3RhdGljVGV4dCgpKQogICAgICAgICByb2xlID0gQWNjZXNzaWJp
bGl0eVJvbGU6OlN0YXRpY1RleHQ7CkBAIC0yMDAwLDcgKzIwMDIsNyBAQAogICAgIGlmIChtX29i
amVjdC0+aXNTZWFyY2hGaWVsZCgpKQogICAgICAgICByZXR1cm4gTlNBY2Nlc3NpYmlsaXR5U2Vh
cmNoRmllbGRTdWJyb2xlOwogICAgIAotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkp
IHsKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAg
TlNWaWV3KiBhdHRhY2hWaWV3ID0gW3NlbGYgYXR0YWNobWVudFZpZXddOwogICAgICAgICBpZiAo
W1thdHRhY2hWaWV3IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6
TlNBY2Nlc3NpYmlsaXR5U3Vicm9sZUF0dHJpYnV0ZV0pCiAgICAgICAgICAgICByZXR1cm4gW2F0
dGFjaFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVN1YnJv
bGVBdHRyaWJ1dGVdOwpAQCAtMjIxMSw3ICsyMjEzLDcgQEAKIAogICAgIEFMTE9XX0RFUFJFQ0FU
RURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgLy8gYXR0YWNobWVudHMgaGF2ZSB0aGUgQVhJbWFn
ZSByb2xlLCBidXQgYSBkaWZmZXJlbnQgc3Vicm9sZQotICAgIGlmIChtX29iamVjdC0+aXNBdHRh
Y2htZW50KCkpCisgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKQogICAg
ICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
VmFsdWU6TlNBY2Nlc3NpYmlsaXR5Um9sZURlc2NyaXB0aW9uQXR0cmlidXRlXTsKICAgICBBTExP
V19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIApAQCAtMjU2OCw3ICsyNTcwLDcgQEAKICAg
ICAgICAgcmV0dXJuIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDogbV9vYmplY3QtPmlzVmlzaXRl
ZCgpXTsKICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0Fj
Y2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0
dGFjaG1lbnQoKSkgeworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50
KCkpIHsKICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmls
aXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0
cmlidXRlXSkKICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBh
Y2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1dGVd
OwogICAgICAgICB9CkBAIC0yNTg1LDcgKzI1ODcsNyBAQAogICAgIH0KICAgICAKICAgICBpZiAo
W2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlv
bkF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewor
ICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAg
ICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFt
ZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmls
aXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdOwog
ICAgICAgICB9CkBAIC0yNTkzLDcgKzI1OTUsNyBAQAogICAgIH0KICAgICAKICAgICBpZiAoW2F0
dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0
ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAgICBp
ZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlmIChb
W1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRh
aW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFs
dWU6TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdOwogICAgICAgICB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyMTUsNiArODIxNSwxMSBAQAogCiAg
ICAgcmV0dXJuICptX2xvZ2dlcjsKIH0KKyAgICAKK09wdGlvbmFsPHVpbnQ2NF90PiBEb2N1bWVu
dDo6cGFnZUlEKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZS0+bG9hZGVyKCkuY2xpZW50
KCkucGFnZUlEKCk7Cit9CiAKIHZvaWQgRG9jdW1lbnQ6Omhhc1N0b3JhZ2VBY2Nlc3MoUmVmPERl
ZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJl
dmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC02NDgsNiArNjQ4LDcgQEAKICAgICBXRUJDT1JFX0VYUE9SVCBBWE9iamVjdENh
Y2hlKiBheE9iamVjdENhY2hlKCkgY29uc3Q7CiAgICAgdm9pZCBjbGVhckFYT2JqZWN0Q2FjaGUo
KTsKIAorICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBwYWdlSUQoKSBjb25zdDsKICAgICAvLyB0byBn
ZXQgdmlzdWFsbHkgb3JkZXJlZCBoZWJyZXcgYW5kIGFyYWJpYyBwYWdlcyByaWdodAogICAgIHZv
aWQgc2V0VmlzdWFsbHlPcmRlcmVkKCk7CiAgICAgYm9vbCB2aXN1YWxseU9yZGVyZWQoKSBjb25z
dCB7IHJldHVybiBtX3Zpc3VhbGx5T3JkZXJlZDsgfQpJbmRleDogU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0
MDI0NikKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNv
bT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdEJhc2UubW06CisgICAgICAgICgtW1dLQWNjZXNzaWJpbGl0eVdlYlBh
Z2VPYmplY3RCYXNlIGFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcl0pOgorCiAyMDE5LTAx
LTIxICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxl
bWVudCBtZXNzYWdlIGhhbmRsZXJzIGZvciBOZXR3b3JrUHJvY2Vzcy1iYXNlZCBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzCkluZGV4OiBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9X
ZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29w
eSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9U
T1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNo
ID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5BQkxF
X0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25l
b3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3Ig
PSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBACiAKIEVOQUJMRV9YU0xUID0g
RU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElD
QVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RS
QUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5U
QUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
RVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRB
TCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
Q1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlT
U0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJM
RV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VS
Q0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0Vf
V09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RB
VElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxF
X1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJF
QU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJH
UFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQzLDYg
KzI0NDMsNyBAQAogCQkyOUFEMzA5NzE2NEI0RTIxMDA3MkRFQTkgLyogTGVnYWN5Q3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW47IHBhdGggPSBDdXN0b21Q
cm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW47IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5Q0Q1NUE4MTI4RTI5NEYwMDEzM0M4NSAvKiBX
S0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyOUNENTVBOTEyOEUyOTRGMDAxMzNDODUgLyogV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlEMDRFMjgyMUY3QzczRDAwNzY3NDFEIC8qIEFjY2Vzc2li
aWxpdHlQcml2U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlQcml2U1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEMDAzNTIyMUJDNzQxNDgwMERBODcxNiAvKiBQ
REZQbHVnaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUERGUGx1Z2luLmg7
IHBhdGggPSBQREYvUERGUGx1Z2luLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJE
MDAzNTIzMUJDNzQxNDgwMERBODcxNiAvKiBQREZQbHVnaW4ubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBQREZQbHVnaW4ubW07IHBhdGggPSBQREYvUERGUGx1Z2lu
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDEwODc1RTFEMkM1NzNFMDBCODVG
ODIgLyogTG9hZFBhcmFtZXRlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTG9hZFBhcmFtZXRlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
NzA2Niw2ICs3MDY3LDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCUY0OEQyQTg0MjE1ODNBMDIw
MEM2NzUyQiAvKiBBcHBLaXRTUEkuaCAqLywKIAkJCQlBMUU2ODg2RjFGNkUyQkFCMDA3MDA2QTYg
LyogUXVhcmFudGluZVNQSS5oICovLAorCQkJCTI5RDA0RTI4MjFGN0M3M0QwMDc2NzQxRCAvKiBB
Y2Nlc3NpYmlsaXR5UHJpdlNQSS5oICovLAogCQkJKTsKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQ
YWdlT2JqZWN0QmFzZS5tbQkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW1wb3J0ICJXS1NoYXJlZEFQSUNhc3Qu
aCIKICNpbXBvcnQgIldLU3RyaW5nLmgiCiAjaW1wb3J0ICJXS1N0cmluZ0NGLmgiCisjaW1wb3J0
IDxXZWJDb3JlL0FYSXNvbGF0ZWRUcmVlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0FYT2JqZWN0Q2Fj
aGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRG9jdW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJh
bWUuaD4KQEAgLTQ2LDM0ICs0Nyw3OCBAQAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogQGlt
cGxlbWVudGF0aW9uIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlCit7CisgICAgdWlu
dDY0X3QgbV9wYWdlSUQ7CisgICAgYm9vbCBtX2hhc1BsdWdpbjsKK30KIAotLSAoaWQpYWNjZXNz
aWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyCistIChXZWJDb3JlOjpBWE9iamVjdENhY2hlKilheE9i
amVjdENhY2hlCiB7Ci0gICAgaWYgKCFXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphY2Nlc3NpYmls
aXR5RW5hYmxlZCgpKQotICAgICAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjplbmFibGVBY2Nl
c3NpYmlsaXR5KCk7Ci0KLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIG5pbDsKLSAg
ICAKLSAgICBOU09iamVjdCogbWFpbkZyYW1lUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXIgPSBtX3BhZ2UtPmFjY2Vzc2liaWxpdHlPYmplY3RGb3JNYWluRnJhbWVQbHVnaW4oKTsKLSAg
ICBpZiAobWFpbkZyYW1lUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIpCi0gICAgICAg
IHJldHVybiBtYWluRnJhbWVQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKLQogICAg
IFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBtX3BhZ2UtPmNvcmVQYWdlKCk7CiAgICAgaWYgKCFwYWdl
KQogICAgICAgICByZXR1cm4gbmlsOwotICAgIAogICAgIFdlYkNvcmU6OkZyYW1lJiBjb3JlID0g
cGFnZS0+bWFpbkZyYW1lKCk7CiAgICAgaWYgKCFjb3JlLmRvY3VtZW50KCkpCiAgICAgICAgIHJl
dHVybiBuaWw7CisKKyAgICByZXR1cm4gY29yZS5kb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCk7
Cit9CisKKy0gKGlkKWFjY2Vzc2liaWxpdHlQbHVnaW5PYmplY3QKK3sKKyAgICBhdXRvIHJldHJp
ZXZlQmxvY2sgPSBbJnNlbGZdKCkgLT4gaWQgeworICAgICAgICBpZCBheFBsdWdpbiA9IG5pbDsK
KyAgICAgICAgYXV0byBkaXNwYXRjaEJsb2NrID0gWyZheFBsdWdpbiwgJnNlbGZdIHsKKyAgICAg
ICAgICAgIGlmIChzZWxmLT5tX3BhZ2UpCisgICAgICAgICAgICAgICAgYXhQbHVnaW4gPSBzZWxm
LT5tX3BhZ2UtPmFjY2Vzc2liaWxpdHlPYmplY3RGb3JNYWluRnJhbWVQbHVnaW4oKTsKKyAgICAg
ICAgfTsKKworICAgICAgICBpZiAoUnVuTG9vcDo6aXNNYWluKCkpCisgICAgICAgICAgICBkaXNw
YXRjaEJsb2NrKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGRpc3BhdGNoX3N5bmMoZGlz
cGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgZGlzcGF0Y2hCbG9jayk7CisgICAgICAgIHJldHVybiBh
eFBsdWdpbjsKKyAgICB9OwogICAgIAotICAgIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqIGNhY2hl
ID0gY29yZS5kb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCk7Ci0gICAgaWYgKCFjYWNoZSkKLSAg
ICAgICAgcmV0dXJuIG5pbDsKLSAgICAKLSAgICBpZiAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9i
amVjdCogcm9vdCA9IGNhY2hlLT5yb290T2JqZWN0KCkpCi0gICAgICAgIHJldHVybiByb290LT53
cmFwcGVyKCk7Ci0gICAgCisgICAgcmV0dXJuIHJldHJpZXZlQmxvY2soKTsKK30KKworLSAoaWQp
YWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyCit7CisgICAgaWYgKCFXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQorICAgICAgICBXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjplbmFibGVBY2Nlc3NpYmlsaXR5KCk7CisKKyAgICBpZiAobV9oYXNQbHVnaW4p
CisgICAgICAgIHJldHVybiBzZWxmLmFjY2Vzc2liaWxpdHlQbHVnaW5PYmplY3Q7CisKKyNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIGF1dG8gZ2VuZXJhdGVCbG9j
ayA9IFsmXSB7CisgICAgICAgIGF1dG8gZGlzcGF0Y2hCbG9jayA9IFsmc2VsZl0geworICAgICAg
ICAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gW3NlbGYgYXhPYmplY3RDYWNoZV0pIHsK
KyAgICAgICAgICAgICAgICBhdXRvIHRyZWUgPSBjYWNoZS0+Z2VuZXJhdGVTdGF0aWNBY2Nlc3Np
YmlsaXR5VHJlZUlmTmVlZGVkKCk7CisgICAgICAgICAgICAgICAgdHJlZS0+YXBwbHlQZW5kaW5n
Q2hhbmdlcygpOworICAgICAgICAgICAgfQorICAgICAgICB9OworCisgICAgICAgIGlmIChSdW5M
b29wOjppc01haW4oKSkKKyAgICAgICAgICAgIGRpc3BhdGNoQmxvY2soKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgZGlzcGF0Y2hfc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBk
aXNwYXRjaEJsb2NrKTsKKyAgICB9OworCisgICAgYXV0byB0cmVlID0gQVhJc29sYXRlZFRyZWU6
OnRyZWVGb3JQYWdlSUQobV9wYWdlSUQpOworICAgIGF1dG8gcm9vdE5vZGUgPSB0cmVlLT5yb290
Tm9kZSgpOworICAgIGlmICghcm9vdE5vZGUpCisgICAgICAgIGdlbmVyYXRlQmxvY2soKTsKKwor
ICAgIGlmICgocm9vdE5vZGUgPSB0cmVlLT5yb290Tm9kZSgpKSkKKyAgICAgICAgcmV0dXJuIHJv
b3ROb2RlLT53cmFwcGVyKCk7CisjZWxzZQorICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9
IFtzZWxmIGF4T2JqZWN0Q2FjaGVdKSB7CisgICAgICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0KiByb290ID0gY2FjaGUtPnJvb3RPYmplY3QoKSkKKyAgICAgICAgICAgIHJldHVy
biByb290LT53cmFwcGVyKCk7CisgICAgfQorI2VuZGlmCiAgICAgcmV0dXJuIG5pbDsKIH0KIApA
QCAtODAsNiArMTI1LDE0IEBACiAtICh2b2lkKXNldFdlYlBhZ2U6KFdlYlBhZ2UqKXBhZ2UKIHsK
ICAgICBtX3BhZ2UgPSBwYWdlOworICAgIAorICAgIGlmIChwYWdlKSB7CisgICAgICAgIG1fcGFn
ZUlEID0gcGFnZS0+cGFnZUlEKCk7CisgICAgICAgIG1faGFzUGx1Z2luID0gcGFnZS0+YWNjZXNz
aWJpbGl0eU9iamVjdEZvck1haW5GcmFtZVBsdWdpbigpOworICAgIH0gZWxzZSB7CisgICAgICAg
IG1fcGFnZUlEID0gMDsKKyAgICAgICAgbV9oYXNQbHVnaW4gPSBmYWxzZTsKKyAgICB9CiB9CiAK
IC0gKHZvaWQpc2V0UmVtb3RlUGFyZW50OihpZClwYXJlbnQKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTExICBD
aHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJv
ZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0wMS0x
NSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIHJlZmVyZW5j
ZXMgcmF0aGVyIHRoYW4gcG9pbnRlcnMgZm9yIHJlZ2lzdGVyL3VucmVnaXN0ZXIgZnVuY3Rpb25z
LCBhbmQgbW9yZQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0
MDIwNikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisK
IEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1F
KSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJM
RV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0
ICs0MDgsNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJ
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAk
KEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJ
VF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVO
QUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRU
SU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
U0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVB
TVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VC
X0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VN
QkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRF
RF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Yz
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFO
SUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVf
Q1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxF
X0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
X0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9S
VCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVS
RVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktF
UlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNF
Q1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlC
T0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChF
TkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChF
TkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JF
UVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVf
UkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01F
U1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJ
T05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxM
U0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJj
ZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTg3LDYgKzE4Nyw3IEBACiAg
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgIlRvZ2dsZSBz
bW9vdGggc2Nyb2xsaW5nIiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTICJUb2dnbGUgU3BlZWNoIFN5bnRoZXNpcyBBUEkgc3VwcG9y
dCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NQRUxMQ0hF
Q0sgIlRvZ2dsZSBTcGVsbGNoZWNraW5nIHN1cHBvcnQgKHJlcXVpcmVzIEVuY2hhbnQpIiBQUklW
QVRFIE9GRikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQUNDRVNTSUJJTElUWV9T
VEFUSUNfVFJFRSAiVG9nZ2xlIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUgc3VwcG9ydCIgUFJJ
VkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NUUkVBTVNfQVBJICJU
b2dnbGUgU3RyZWFtcyBBUEkgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfU1ZHX0ZPTlRTICJUb2dnbGUgU1ZHIEZvbnRzIHN1cHBvcnQiIFBSSVZB
VEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OICJUb2dnbGUgdGVsZXBob25lIG51bWJlciBkZXRlY3Rpb24gc3VwcG9ydCIgUFJJ
VkFURSBPRkYpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNDAyNDYpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0xMSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXph
Y2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJp
bGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0wMS0yMSAgRnVqaWkg
SGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVd
IGxpYmdjcnlwdC0xLjcuNiBjYW4ndCBiZSBjb21waWxlZCBvbiBVYnVudHUgMTguMTAKSW5kZXg6
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwMjA2KQorKysgVG9vbHMvVGVzdFdlYktp
dEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5
KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RP
VUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2gg
PSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFCTEVf
QVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVv
cyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9
IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDYsNCArNDA4LDQgQEAKIAogRU5BQkxFX1hTTFQgPSBF
TkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNB
VElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQp
ICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykg
JChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJB
R19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklC
VVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5B
R0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9F
VkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVN
RU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dF
QkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFM
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQo
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9D
U1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNT
SU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRM
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxF
X0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRF
WFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NB
UFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJD
RV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJC
RVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9X
T1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVf
V0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVB
TUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQ
VSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfWFNMVCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359879</attachid>
            <date>2019-01-23 07:29:51 -0800</date>
            <delta_ts>2019-01-23 09:39:02 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>108678</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtKU0NdIFN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbiBpcyBubyBsb25nZXIgdXNl
ZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
XyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAK
K0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9Q
QVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQ
TEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBo
b25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBAQAogCiBF
TkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09O
SUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJP
QVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
Q19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FE
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JU
QykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19B
UEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChF
TkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xP
T1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElO
R19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00p
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRM
RVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1Mp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZB
U1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZU
TF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIp
ICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJ
QlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0Up
ICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVO
QUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMp
ICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJM
RV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FV
VEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VC
QVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikg
JChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShy
ZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQAogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3dl
YnNvY2tldHMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvd2VidnIiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L2FjY2Vzc2liaWxpdHkiCisgICAgIiR7V0VCQ09SRV9ESVJ9L2FjY2Vzc2liaWxp
dHkvaXNvbGF0ZWR0cmVlIgogICAgICIke1dFQkNPUkVfRElSfS9hbmltYXRpb24iCiAgICAgIiR7
V0VCQ09SRV9ESVJ9L2JpbmRpbmdzIgogICAgICIke1dFQkNPUkVfRElSfS9iaW5kaW5ncy9qcyIK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDgyIEBACisyMDE5LTAxLTIzICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBh
IHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMy
OTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4g
b3JkZXIgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSB3aGVuIHJlcXVlc3RpbmcgdGhlIGFjY2Vzc2li
aWxpdHkgaGllcmFyY2h5LCB3ZSBpbnRyb2R1Y2UgdGhlIGlkZWEgb2YgYSAic3RhdGljIGFjY2Vz
c2liaWxpdHkgdHJlZSIgd2hpY2ggCisgICAgICAgIGNvdWxkIGJlIGFjY2Vzc2VkIG9uIGEgZGlm
ZmVyZW50IHRocmVhZCBieSBhc3Npc3RpdmUgdGVjaG5vbG9naWVzLgorICAgICAgICBUaGF0IGlz
IGFjY29tcGxpc2hlZCBieSBzdG9yaW5nIGFsbCB0aGUgZGF0YSBuZWVkZWQgdG8gYW5zd2VyIGFj
Y2Vzc2liaWxpdHkgYXR0cmlidXRlIHF1ZXJpZXMgaW4gYSBzdGF0aWMgb2JqZWN0IHRoYXQgbWly
cm9ycyB0aGUgCisgICAgICAgICJsaXZlIiBBY2Nlc3NpYmlsaXR5T2JqZWN0cyAod2hpY2ggaW50
ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVzKS4KKyAgICAgICAgVGhlc2Ugc3Rh
dGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFmdGVyIGxheW91dCBpcyBkb25lIGFu
ZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBUaGV5IGFyZSB0aGVuIHN0b3JlZCBp
biB0aGUgc3RhdGljIHRyZWUgCisgICAgICAgIHJlcHJlc2VudGF0aW9uIGFuZCBhYmxlIHRvIGJl
IHJlYWQgZnJvbSBhbnl3aGVyZS4KKyAgICAgICAgVGFjdGljYWxseSB0aGlzIGlzIGRvbmUgd2l0
aCBBWElzb2xhdGVkVHJlZU5vZGVzIGluc2lkZSBvZiBhbiBBWElzb2xhdGVkVHJlZS4gVGhlIFRy
ZWVOb2RlcyBpbXBsZW1lbnQgYW4gQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSBzaGFyZWQg
CisgICAgICAgIHdpdGggQWNjZXNzaWJpbGl0eU9iamVjdC4KKyAgICAgICAgVGhpcyBhbGxvd3Mg
dGhlIHdyYXBwZXJzIHRvIGFjY2VzcyBlaXRoZXIgb25lIGRlcGVuZGluZyBvbiBjb25kaXRpb25z
IGFuZCBwbGF0Zm9ybXMgd2l0aG91dCBzaWduaWZpY2FudCBjb2RlIGR1cGxpY2F0aW9uIG9yIHJl
LW9yZ2FuaXphdGlvbi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFNvdXJjZXMu
dHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6
OmNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWU6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkVHJlZTo6dHJlZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVl
OjpBWElzb2xhdGVkVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9ySUQpOgorICAg
ICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQpOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6Om5vZGVGb3JJRCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZTo6cm9vdE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29s
YXRlZFRyZWU6OnJlbW92ZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6
OmFwcGVuZE5vZGVDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjph
cHBseVBlbmRpbmdDaGFuZ2VzKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkVHJlZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlOjp0cmVlSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpBWElzb2xhdGVkVHJlZU5vZGU6OkFYSXNvbGF0ZWRUcmVlTm9kZSk6CisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkVHJlZU5vZGU6OmluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6c2V0UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6
QVhJc29sYXRlZFRyZWVOb2RlOjpkb3VibGVBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OnVuc2lnbmVkQXR0cmlidXRlVmFsdWUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpib29sQXR0cmlidXRl
VmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpzdHJp
bmdBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJl
ZU5vZGU6OmludEF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6b3BlcmF0
b3I9KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpzZXRQ
YXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OnBh
cmVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cDo6Y2hpbGRyZW4pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphc3NvY2lhdGVJc29sYXRl
ZFRyZWVOb2RlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlckJhc2UuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyQmFzZSBpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6XSk6CisgICAg
ICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBpc29sYXRlZFRyZWVOb2Rl
XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBkZXRhY2hd
KToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIHVwZGF0ZU9i
amVjdEJhY2tpbmdTdG9yZV0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlckJhc2UgYXhCYWNraW5nT2JqZWN0XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQmFzZSBiYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uXSk6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06
CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHJvbGVdKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgc3Vicm9sZV0pOgorICAgICAgICAo
LVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByb2xlRGVzY3JpcHRpb25dKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0
ZVZhbHVlOl0pOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6cGFnZUlEIGNvbnN0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKwog
MjAxOS0wMS0yMSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAg
ICBJbXBsZW1lbnQgbWVzc2FnZSBoYW5kbGVycyBmb3IgTmV0d29ya1Byb2Nlc3MtYmFzZWQgUmVz
b3VyY2VMb2FkU3RhdGlzdGljcwpJbmRleDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysr
IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3
b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQo
V0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdf
Y29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkg
PSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVf
UEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25l
c2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBAQAogCiBFTkFC
TEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5B
QkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNf
R1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJE
X0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BS
T1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19W
SURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxT
KSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9X
RUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURF
T19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
WFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9B
UFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1Ap
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19B
UEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1Rf
SklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVU
RSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhO
KSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNT
RU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNp
b24gMjQwMzI5KQorKysgU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTIzICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBpc29sYXRlZCBhY2Nlc3NpYmls
aXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0wMS0yMiAgRGF2aWQgS2lsemVyICA8ZGRraWx6
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFN3aXRjaCByZW1haW5pbmcgUXVpY2tMb29rIHNvZnQt
bGlua2luZyBpbiBXZWJDb3JlLCBXZWJLaXQgb3ZlciB0byBRdWlja0xvb2tTb2Z0TGluay57Y3Bw
LGh9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtp
bmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19D
T0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2Nv
YXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQo
RU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11
bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBACiAKIEVOQUJMRV9Y
U0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5T
Rk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVf
QVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFE
SUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBF
UklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklU
KSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZ
X0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9D
T0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVP
X1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElB
X1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElT
VElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19Q
UkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VT
RVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xU
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExF
X1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNI
TUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRf
UEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFC
TEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAk
KEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElO
R19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NF
UlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9B
UElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI0MDI0
NikKKysrIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00MDUs
NiArNDA1LDggQEAKIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRyZWUuY3BwCiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlSXRlbS5jcHAKIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJs
ZVNldFZhbHVlRXZlbnQuY3BwCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
VHJlZS5jcHAKK2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5j
cHAKIAogYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5jcHAKIGFuaW1hdGlvbi9BbmltYXRpb25Q
bGF5YmFja0V2ZW50LmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02
OTQsNiArNjk0LDcgQEAKIAkJMjZGOUE4MzgxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29u
ZmlndXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyNkY5QTgzNjE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmNw
cCAqLzsgfTsKIAkJMjZGOUE4MzkxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmlndXJh
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZG
OUE4MzcxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmlndXJhdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5MTRFMzA4MUNBQjVB
NDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkxNEUzMDYxQ0FCNUE0NDAwNDk5NjZGIC8q
IEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmggKi87IH07CisJCTI5MzZCRjVDMjFENjlFNEIwMDRB
OEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyog
QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5M0VBRTFGMTM1NkIyRkUwMDY3QUNGOSAvKiBSdW50
aW1lQXBwbGljYXRpb25DaGVja3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI5M0VBRTFFMTM1NkIyRkUwMDY3QUNGOSAvKiBSdW50aW1lQXBwbGljYXRp
b25DaGVja3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkyOTQ4OUZDNzEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5NDg5RkM1
MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oICovOyB9OwogCQky
OTdCRTNENTE2QzAzQzA4MDAzMzE2QkQgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFu
Y2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI1MjdD
QzkxMTZCRjhCQTEwMDlEREFDMCAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5o
ICovOyB9OwpAQCAtNzE1LDYgKzcxNiw4IEBACiAJCTI5QTgxMjQzMEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5TGlzdEJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjlBODEyMjUwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlM
aXN0Qm94LmggKi87IH07CiAJCTI5QTgxMjQ5MEZCQjlDQTkwMDUxMDI5MyAvKiBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5QTgxMjQ1MEZCQjlDQTkwMDUxMDI5MyAvKiBXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkyOUFDQjIxMjE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0
eU1vY2tPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDI5QUNCMjExMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5o
ICovOyB9OworCQkyOUFFMjEyRDIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QUUyMTJCMjFB
QjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBB
WElzb2xhdGVkVHJlZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOUQ3
QkNGQTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RDdCQ0Y5MTQ0NEFGN0Qw
MDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovOyB9OwogCQkyOUZBRjRCNjE5
NUFCMDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RkFGNEI1MTk1QUIwODkwMEE1
MjJEQyAvKiBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJCMzY1Qzg0MTUyNTExOUUwMDkxRDI3QiAv
KiBSZW5kZXJTVkdFbGxpcHNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyQjQyMzVBMDE1MjUwRjYwMDBEQkJDRDggLyogUmVuZGVyU1ZHRWxsaXBzZS5o
ICovOyB9OwpAQCAtNjU4MSw2ICs2NTg0LDcgQEAKIAkJMjhEQjlCQzcyMDIwRUEwNDAwRTU0QTA3
IC8qIFBlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQ
ZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI5MTRFMzA1MUNBQjVBNDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNo
bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5MTRFMzA2MUNBQjVBNDQw
MDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9i
amVjdEludGVyZmFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5M0VBRTFFMTM1NkIyRkUwMDY3
QUNGOSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTI5NDg5RkM1MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Ny
b2xsVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5
U2Nyb2xsVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ5ODY4MTE5NTM0
MTk0MDA3MkQyQkQgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY2MjgsNiArNjYzMiwxMCBAQAogCQky
OUE4MTI0NzBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZU1hYy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFYT2JqZWN0Q2FjaGVNYWMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QUNCMjExMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nl
c3NpYmlsaXR5TW9ja09iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
Y2Nlc3NpYmlsaXR5TW9ja09iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
OUFDQjIxMzE0M0U3NDk4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmpl
Y3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUFFMjEyQjIxQUI5RUVCMDA4
NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVhJc29sYXRlZFRyZWUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMkMyMUFCOUVFQjAwODY5Mjgz
IC8qIEFYSXNvbGF0ZWRUcmVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFYSXNvbGF0ZWRUcmVl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMzMyMUFCQTQ4QTAwODY5
MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBWElzb2xhdGVkVHJl
ZU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMzQyMUFCQTQ4QTAw
ODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBWElz
b2xhdGVkVHJlZU5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUQ3QkNG
NTE0NDRBRjU4MDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUQ3QkNGOTE0NDRBRjdEMDA3MDYxOUMg
LyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMjlFMDRBMjdCRUQyRjgxRjk4RTkwMjJCIC8qIEpTQmVmb3JlVW5sb2FkRXZlbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCZWZvcmVVbmxvYWRFdmVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcyNTMsNiArMTcyNjEsNyBAQAogCQkyOUE4
MTIwNDBGQkI5QjQxMDA1MTAyOTMgLyogYWNjZXNzaWJpbGl0eSAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMjlBRTIxMjkyMUFCOUVDQjAwODY5MjgzIC8q
IGlzb2xhdGVkdHJlZSAqLywKIAkJCQlBQUE3MjhFRjE2RDFEOEJDMDBEM0JCQzYgLyogaW9zICov
LAogCQkJCTI5QTgxMjA1MEZCQjlCNTIwMDUxMDI5MyAvKiBtYWMgKi8sCiAJCQkJMjk4MUNBOUQx
MzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZC5jcHAgKi8sCkBAIC0xNzI5
MSw2ICsxNzMwMCw3IEBACiAJCQkJMjk4NTcwOTMxNUNDNTMyRDAwNjM1NUNEIC8qIEFjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmggKi8sCiAJCQkJMjk4MUNBQTUxMzE4MjJFQzAwRDEyRjJBIC8qIEFj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwICovLAogCQkJCTI5QTgxMjE4MEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5T2JqZWN0LmggKi8sCisJCQkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5
IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLywKIAkJCQlBNDA5Qzk4MjExNkQw
REREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcCAqLywKIAkJ
CQlBNDA5Qzk4MzExNkQwREREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNh
dG9yLmggKi8sCiAJCQkJMjk4MUNBQTYxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwICovLApAQCAtMTczNDYsNiArMTczNTYsMTcgQEAKIAkJCXBhdGggPSBt
YWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQkyOUFFMjEyOTIxQUI5RUNC
MDA4NjkyODMgLyogaXNvbGF0ZWR0cmVlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQkyOUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRy
ZWUuaCAqLywKKwkJCQkyOUFFMjEyQzIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUu
Y3BwICovLAorCQkJCTI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5v
ZGUuaCAqLywKKwkJCQkyOUFFMjEzNDIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVO
b2RlLmNwcCAqLywKKwkJCSk7CisJCQlwYXRoID0gaXNvbGF0ZWR0cmVlOworCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMkQwNjIxNDYxREE2MzlFQzAwQTdGQjI2IC8qIGxlZ2Fj
eSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0yOTk4NCw2
ICszMDAwNSw3IEBACiAJCQkJMUFFMkFBOTgwQTFDREQyRDAwQjQyQjI1IC8qIEpTSFRNTEltYWdl
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTdFOTcwQTFBODNFMzAwN0ZCOEM1IC8q
IEpTSFRNTElucHV0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM2QjA5NTYxRjVGMzRE
OTAwM0MzNzAyIC8qIEpTSFRNTElucHV0RWxlbWVudEVudHJpZXNBUEkuaCBpbiBIZWFkZXJzICov
LAorCQkJCTI5MzZCRjVDMjFENjlFNEIwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNjE0OEE3OTEyRTQxRTNCMDA0NEE3ODQgLyog
SlNIVE1MS2V5Z2VuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFCMjIwQTFDRTYz
QjAwQjQyQjI1IC8qIEpTSFRNTExhYmVsRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFF
MkFCMjQwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTExlZ2VuZEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLApAQCAtMzE0MzgsNiArMzE0NjAsNyBAQAogCQkJCTUxNDA1Qzg5MTkwQjAxNDQwMDc1NEY5
NCAvKiBTZWxlY3Rpb25SZWN0R2F0aGVyZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NEI0QkI0
MTQxNjUwRDcwMDJCMUQ4QiAvKiBTZWxlY3RvckNoZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQzMkQzRkU4MThBODY1ODQwMEQ3REMwMyAvKiBTZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25z
LmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUFFMjEzNTIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29s
YXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkI5OTk5NzE4MDRENTQyMDBEMDEx
MjEgLyogU2VsZWN0b3JDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE1MDcxNTgxNjg1
MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzEw
N0JFMjE4Q0MxOURFMDBDQzE4RTggLyogU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmggaW4gSGVhZGVy
cyAqLywKQEAgLTMyMzczLDYgKzMyMzk2LDcgQEAKIAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMz
ODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTQxNkZFNjE4
ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0E1NTE1RjUxOTE4MzBBMzAwOTY4N0QyIC8qIFlvdVR1YmVQbHVnaW5SZXBsYWNl
bWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFY
SXNvbGF0ZWRUcmVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDUzNzM1MzEzN0I2NTE4MDAwMDhE
Q0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCShyZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiw2ICszMiw4IEBACiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAKKyNpbmNsdWRl
ICJBWElzb2xhdGVkVHJlZS5oIgorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2lu
Y2x1ZGUgIkFjY2Vzc2liaWxpdHlBUklBR3JpZC5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlB
UklBR3JpZENlbGwuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaCIKQEAg
LTExNSw2ICsxMTcsOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCitjb25zdCBB
WElEIEludmFsaWRBWElEID0gMDsKKwogLy8gUG9zdCB2YWx1ZSBjaGFuZ2Ugbm90aWZpY2F0aW9u
cyBmb3IgcGFzc3dvcmQgZmllbGRzIG9yIGVsZW1lbnRzIGNvbnRhaW5lZCBpbiBwYXNzd29yZCBm
aWVsZHMgYXQgYSA0MGh6IGludGVydmFsIHRvIHRod2FydCBhbmFseXNpcyBvZiB0eXBpbmcgY2Fk
ZW5jZQogc3RhdGljIGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFu
Z2VOb3RpZmljYXRpb25JbnRlcnZhbCB7IDI1X21zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBh
Y2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCB7IDIwX21z
IH07CkBAIC03MjMsNyArNzI3LDExIEBACiAgICAgb2JqZWN0LT5zZXRBWE9iamVjdElEKDApOwog
CiAgICAgbV9pZHNJblVzZS5yZW1vdmUoYXhJRCk7Ci0KKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKQorICAgIGlmIChhdXRvIHBhZ2VJRCA9IG1fZG9jdW1lbnQucGFnZUlE
KCkpCisgICAgICAgIEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKCpwYWdlSUQpLT5yZW1v
dmVOb2RlKGF4SUQpOworI2VuZGlmCisgICAgCiAgICAgQVNTRVJUKG1fb2JqZWN0cy5zaXplKCkg
Pj0gbV9pZHNJblVzZS5zaXplKCkpOwogfQogICAgIApAQCAtMjkwNyw2ICsyOTE1LDM2IEBACiAg
ICAgbV9kZWZlcnJlZEZvY3VzZWROb2RlQ2hhbmdlLmNsZWFyKCk7CiB9CiAgICAgCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK1JlZjxBWElzb2xhdGVkVHJlZU5vZGU+
IEFYT2JqZWN0Q2FjaGU6OmNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoQWNjZXNzaWJp
bGl0eU9iamVjdCYgb2JqZWN0LCBBWElEIHBhcmVudElELCBBWElzb2xhdGVkVHJlZSYgdHJlZSwg
VmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYgbm9kZXMpCit7CisgICAgYXV0byBp
c29sYXRlZFRyZWVOb2RlID0gQVhJc29sYXRlZFRyZWVOb2RlOjpjcmVhdGUob2JqZWN0KTsKKyAg
ICBub2Rlcy5hcHBlbmQoaXNvbGF0ZWRUcmVlTm9kZS5wdHIoKSk7CisgICAgCisgICAgYXV0byBy
ZWxhdGlvbnNoaXAgPSBpc29sYXRlZFRyZWVOb2RlLT5yZWxhdGlvbnNoaXAoKTsKKyAgICByZWxh
dGlvbnNoaXAtPnNldFBhcmVudChwYXJlbnRJRCk7CisgICAgYXNzb2NpYXRlSXNvbGF0ZWRUcmVl
Tm9kZShvYmplY3QsIGlzb2xhdGVkVHJlZU5vZGUsIHRyZWUudHJlZUlkZW50aWZpZXIoKSk7Cisg
ICAgCisgICAgZm9yIChhdXRvIGNoaWxkIDogb2JqZWN0LmNoaWxkcmVuKCkpIHsKKyAgICAgICAg
YXV0byBzdGF0aWNDaGlsZCA9IGNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKmNoaWxk
LCBpc29sYXRlZFRyZWVOb2RlLT5pZGVudGlmaWVyKCksIHRyZWUsIG5vZGVzKTsKKyAgICAgICAg
cmVsYXRpb25zaGlwLT5jaGlsZHJlbigpLmFwcGVuZChzdGF0aWNDaGlsZC0+aWRlbnRpZmllcigp
KTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGlzb2xhdGVkVHJlZU5vZGU7Cit9CisgICAgCitS
ZWY8QVhJc29sYXRlZFRyZWU+IEFYT2JqZWN0Q2FjaGU6OmdlbmVyYXRlU3RhdGljQWNjZXNzaWJp
bGl0eVRyZWVJZk5lZWRlZCgpCit7CisgICAgYXV0byB0cmVlID0gQVhJc29sYXRlZFRyZWU6OnRy
ZWVGb3JQYWdlSUQoKm1fZG9jdW1lbnQucGFnZUlEKCkpOworICAgIFZlY3RvcjxSZWZQdHI8QVhJ
c29sYXRlZFRyZWVOb2RlPj4gbm9kZXM7CisgICAgYXV0byByb290ID0gY3JlYXRlSXNvbGF0ZWRB
Y2Nlc3NpYmlsaXR5VHJlZSgqcm9vdE9iamVjdCgpLCBJbnZhbGlkQVhJRCwgdHJlZSwgbm9kZXMp
OworICAgIHJvb3QtPnNldElzUm9vdE5vZGUodHJ1ZSk7CisgICAgdHJlZS0+YXBwZW5kTm9kZUNo
YW5nZXMobm9kZXMpOworICAgIAorICAgIHJldHVybiB0cmVlOworfQorI2VuZGlmCisgICAgCiB2
b2lkIEFYT2JqZWN0Q2FjaGU6OmRlZmVyUmVjb21wdXRlSXNJZ25vcmVkSWZOZWVkZWQoRWxlbWVu
dCogZWxlbWVudCkKIHsKICAgICBpZiAoIW5vZGVBbmRSZW5kZXJlckFyZVZhbGlkKGVsZW1lbnQp
KQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJ
KHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw5IEBACiAKICNwcmFnbWEgb25j
ZQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyNpbmNsdWRlICJB
WElzb2xhdGVkVHJlZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiQVhUZXh0U3RhdGVDaGFuZ2VJbnRl
bnQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiUmFuZ2Uu
aCIKQEAgLTM5LDYgKzQyLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK2NsYXNzIEFYSXNvbGF0ZWRUcmVlTm9kZTsK
KyNlbmRpZgogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MQXJlYUVsZW1lbnQ7CiBjbGFzcyBI
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDsKQEAgLTE4MCw2ICsxODYsMTMgQEAKICAgICB2b2lk
IGRlZmVyQXR0cmlidXRlQ2hhbmdlSWZOZWVkZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIEVsZW1l
bnQqKTsKICAgICB2b2lkIHJlY29tcHV0ZUlzSWdub3JlZChSZW5kZXJPYmplY3QqIHJlbmRlcmVy
KTsKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgV0VCQ09S
RV9FWFBPUlQgUmVmPEFYSXNvbGF0ZWRUcmVlPiBnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlU
cmVlSWZOZWVkZWQoKTsKKworICAgIHZvaWQgYXNzb2NpYXRlSXNvbGF0ZWRUcmVlTm9kZShBY2Nl
c3NpYmlsaXR5T2JqZWN0JiwgQVhJc29sYXRlZFRyZWVOb2RlJiwgQVhJc29sYXRlZFRyZWVJRCk7
CisgICAgUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gY3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5
VHJlZShBY2Nlc3NpYmlsaXR5T2JqZWN0JiwgQVhJRCwgQVhJc29sYXRlZFRyZWUmLCBWZWN0b3I8
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+Jik7CisjZW5kaWYKKyAgICAKICNpZiBIQVZFKEFD
Q0VTU0lCSUxJVFkpCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNz
aWJpbGl0eSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGRpc2FibGVBY2Nlc3Np
YmlsaXR5KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaAkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDYgKzI5LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCkBAIC04OSwx
NTcgKzkwLDYgQEAKIGNsYXNzIFNjcm9sbFZpZXc7CiBjbGFzcyBXaWRnZXQ7CiAKLXR5cGVkZWYg
dW5zaWduZWQgQVhJRDsKLQotZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7Ci0gICAgQW5u
b3RhdGlvbiA9IDEsCi0gICAgQXBwbGljYXRpb24sCi0gICAgQXBwbGljYXRpb25BbGVydCwKLSAg
ICBBcHBsaWNhdGlvbkFsZXJ0RGlhbG9nLAotICAgIEFwcGxpY2F0aW9uRGlhbG9nLAotICAgIEFw
cGxpY2F0aW9uR3JvdXAsCi0gICAgQXBwbGljYXRpb25Mb2csCi0gICAgQXBwbGljYXRpb25NYXJx
dWVlLAotICAgIEFwcGxpY2F0aW9uU3RhdHVzLAotICAgIEFwcGxpY2F0aW9uVGV4dEdyb3VwLAot
ICAgIEFwcGxpY2F0aW9uVGltZXIsCi0gICAgQXVkaW8sCi0gICAgQmxvY2txdW90ZSwKLSAgICBC
cm93c2VyLAotICAgIEJ1c3lJbmRpY2F0b3IsCi0gICAgQnV0dG9uLAotICAgIENhbnZhcywKLSAg
ICBDYXB0aW9uLAotICAgIENlbGwsCi0gICAgQ2hlY2tCb3gsCi0gICAgQ29sb3JXZWxsLAotICAg
IENvbHVtbiwKLSAgICBDb2x1bW5IZWFkZXIsCi0gICAgQ29tYm9Cb3gsCi0gICAgRGVmaW5pdGlv
biwKLSAgICBEZXNjcmlwdGlvbkxpc3QsCi0gICAgRGVzY3JpcHRpb25MaXN0VGVybSwKLSAgICBE
ZXNjcmlwdGlvbkxpc3REZXRhaWwsCi0gICAgRGV0YWlscywKLSAgICBEaXJlY3RvcnksCi0gICAg
RGlzY2xvc3VyZVRyaWFuZ2xlLAotICAgIERpdiwKLSAgICBEb2N1bWVudCwKLSAgICBEb2N1bWVu
dEFydGljbGUsCi0gICAgRG9jdW1lbnRNYXRoLAotICAgIERvY3VtZW50Tm90ZSwKLSAgICBEcmF3
ZXIsCi0gICAgRWRpdGFibGVUZXh0LAotICAgIEZlZWQsCi0gICAgRmlndXJlLAotICAgIEZvb3Rl
ciwKLSAgICBGb290bm90ZSwKLSAgICBGb3JtLAotICAgIEdyYXBoaWNzRG9jdW1lbnQsCi0gICAg
R3JhcGhpY3NPYmplY3QsCi0gICAgR3JhcGhpY3NTeW1ib2wsCi0gICAgR3JpZCwKLSAgICBHcmlk
Q2VsbCwKLSAgICBHcm91cCwKLSAgICBHcm93QXJlYSwKLSAgICBIZWFkaW5nLAotICAgIEhlbHBU
YWcsCi0gICAgSG9yaXpvbnRhbFJ1bGUsCi0gICAgSWdub3JlZCwKLSAgICBJbmxpbmUsCi0gICAg
SW1hZ2UsCi0gICAgSW1hZ2VNYXAsCi0gICAgSW1hZ2VNYXBMaW5rLAotICAgIEluY3JlbWVudG9y
LAotICAgIExhYmVsLAotICAgIExhbmRtYXJrQmFubmVyLAotICAgIExhbmRtYXJrQ29tcGxlbWVu
dGFyeSwKLSAgICBMYW5kbWFya0NvbnRlbnRJbmZvLAotICAgIExhbmRtYXJrRG9jUmVnaW9uLAot
ICAgIExhbmRtYXJrTWFpbiwKLSAgICBMYW5kbWFya05hdmlnYXRpb24sCi0gICAgTGFuZG1hcmtS
ZWdpb24sCi0gICAgTGFuZG1hcmtTZWFyY2gsCi0gICAgTGVnZW5kLAotICAgIExpbmssCi0gICAg
TGlzdCwKLSAgICBMaXN0Qm94LAotICAgIExpc3RCb3hPcHRpb24sCi0gICAgTGlzdEl0ZW0sCi0g
ICAgTGlzdE1hcmtlciwKLSAgICBNYXJrLAotICAgIE1hdGhFbGVtZW50LAotICAgIE1hdHRlLAot
ICAgIE1lbnUsCi0gICAgTWVudUJhciwKLSAgICBNZW51QnV0dG9uLAotICAgIE1lbnVJdGVtLAot
ICAgIE1lbnVJdGVtQ2hlY2tib3gsCi0gICAgTWVudUl0ZW1SYWRpbywKLSAgICBNZW51TGlzdFBv
cHVwLAotICAgIE1lbnVMaXN0T3B0aW9uLAotICAgIE91dGxpbmUsCi0gICAgUGFyYWdyYXBoLAot
ICAgIFBvcFVwQnV0dG9uLAotICAgIFByZSwKLSAgICBQcmVzZW50YXRpb25hbCwKLSAgICBQcm9n
cmVzc0luZGljYXRvciwKLSAgICBSYWRpb0J1dHRvbiwKLSAgICBSYWRpb0dyb3VwLAotICAgIFJv
d0hlYWRlciwKLSAgICBSb3csCi0gICAgUm93R3JvdXAsCi0gICAgUnVieUJhc2UsCi0gICAgUnVi
eUJsb2NrLAotICAgIFJ1YnlJbmxpbmUsCi0gICAgUnVieVJ1biwKLSAgICBSdWJ5VGV4dCwKLSAg
ICBSdWxlciwKLSAgICBSdWxlck1hcmtlciwKLSAgICBTY3JvbGxBcmVhLAotICAgIFNjcm9sbEJh
ciwKLSAgICBTZWFyY2hGaWVsZCwKLSAgICBTaGVldCwKLSAgICBTbGlkZXIsCi0gICAgU2xpZGVy
VGh1bWIsCi0gICAgU3BpbkJ1dHRvbiwKLSAgICBTcGluQnV0dG9uUGFydCwKLSAgICBTcGxpdEdy
b3VwLAotICAgIFNwbGl0dGVyLAotICAgIFN0YXRpY1RleHQsCi0gICAgU3VtbWFyeSwKLSAgICBT
d2l0Y2gsCi0gICAgU3lzdGVtV2lkZSwKLSAgICBTVkdSb290LAotICAgIFNWR1RleHQsCi0gICAg
U1ZHVFNwYW4sCi0gICAgU1ZHVGV4dFBhdGgsCi0gICAgVGFiR3JvdXAsCi0gICAgVGFiTGlzdCwK
LSAgICBUYWJQYW5lbCwKLSAgICBUYWIsCi0gICAgVGFibGUsCi0gICAgVGFibGVIZWFkZXJDb250
YWluZXIsCi0gICAgVGV4dEFyZWEsCi0gICAgVGV4dEdyb3VwLAotICAgIFRlcm0sCi0gICAgVGlt
ZSwKLSAgICBUcmVlLAotICAgIFRyZWVHcmlkLAotICAgIFRyZWVJdGVtLAotICAgIFRleHRGaWVs
ZCwKLSAgICBUb2dnbGVCdXR0b24sCi0gICAgVG9vbGJhciwKLSAgICBVbmtub3duLAotICAgIFVz
ZXJJbnRlcmZhY2VUb29sdGlwLAotICAgIFZhbHVlSW5kaWNhdG9yLAotICAgIFZpZGVvLAotICAg
IFdlYkFwcGxpY2F0aW9uLAotICAgIFdlYkFyZWEsCi0gICAgV2ViQ29yZUxpbmssCi0gICAgV2lu
ZG93LAotfTsKLQogZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZSB7CiAgICAgQWx0
ZXJuYXRpdmUsCiAgICAgQ2hpbGRyZW4sCkBAIC00OTEsNyArMzQxLDcgQEAKICAgICAKIGJvb2wg
bm9kZUhhc1ByZXNlbnRhdGlvblJvbGUoTm9kZSopOwogICAgIAotY2xhc3MgQWNjZXNzaWJpbGl0
eU9iamVjdCA6IHB1YmxpYyBSZWZDb3VudGVkPEFjY2Vzc2liaWxpdHlPYmplY3Q+IHsKK2NsYXNz
IEFjY2Vzc2liaWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2Jq
ZWN0PiwgcHVibGljIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UgewogcHJvdGVjdGVkOgog
ICAgIEFjY2Vzc2liaWxpdHlPYmplY3QoKSA9IGRlZmF1bHQ7CiAgICAgCkBAIC0xMTU5LDcgKzEw
MDksMTAgQEAKICAgICBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEgbV9pc0ln
bm9yZWRGcm9tUGFyZW50RGF0YSB7IH07CiAgICAgYm9vbCBtX2NoaWxkcmVuRGlydHkgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9zdWJ0cmVlRGlydHkgeyBmYWxzZSB9OwotCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBib29sIG1faXNvbGF0ZWRUcmVlTm9kZUlu
aXRpYWxpemVkIHsgZmFsc2UgfTsKKyNlbmRpZgorICAgIAogICAgIHZvaWQgc2V0SXNJZ25vcmVk
RnJvbVBhcmVudERhdGEoQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhJiBkYXRh
KSB7IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEgPSBkYXRhOyB9CiAKICAgICB2aXJ0dWFsIGJv
b2wgY29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJ
bnRlcmZhY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDE5MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3R5cGVkZWYgdW5zaWduZWQgQVhJRDsKK2V4dGVybiBjb25z
dCBBWElEIEludmFsaWRBWElEOworCitlbnVtIGNsYXNzIEFjY2Vzc2liaWxpdHlSb2xlIHsKKyAg
ICBBbm5vdGF0aW9uID0gMSwKKyAgICBBcHBsaWNhdGlvbiwKKyAgICBBcHBsaWNhdGlvbkFsZXJ0
LAorICAgIEFwcGxpY2F0aW9uQWxlcnREaWFsb2csCisgICAgQXBwbGljYXRpb25EaWFsb2csCisg
ICAgQXBwbGljYXRpb25Hcm91cCwKKyAgICBBcHBsaWNhdGlvbkxvZywKKyAgICBBcHBsaWNhdGlv
bk1hcnF1ZWUsCisgICAgQXBwbGljYXRpb25TdGF0dXMsCisgICAgQXBwbGljYXRpb25UZXh0R3Jv
dXAsCisgICAgQXBwbGljYXRpb25UaW1lciwKKyAgICBBdWRpbywKKyAgICBCbG9ja3F1b3RlLAor
ICAgIEJyb3dzZXIsCisgICAgQnVzeUluZGljYXRvciwKKyAgICBCdXR0b24sCisgICAgQ2FudmFz
LAorICAgIENhcHRpb24sCisgICAgQ2VsbCwKKyAgICBDaGVja0JveCwKKyAgICBDb2xvcldlbGws
CisgICAgQ29sdW1uLAorICAgIENvbHVtbkhlYWRlciwKKyAgICBDb21ib0JveCwKKyAgICBEZWZp
bml0aW9uLAorICAgIERlc2NyaXB0aW9uTGlzdCwKKyAgICBEZXNjcmlwdGlvbkxpc3RUZXJtLAor
ICAgIERlc2NyaXB0aW9uTGlzdERldGFpbCwKKyAgICBEZXRhaWxzLAorICAgIERpcmVjdG9yeSwK
KyAgICBEaXNjbG9zdXJlVHJpYW5nbGUsCisgICAgRGl2LAorICAgIERvY3VtZW50LAorICAgIERv
Y3VtZW50QXJ0aWNsZSwKKyAgICBEb2N1bWVudE1hdGgsCisgICAgRG9jdW1lbnROb3RlLAorICAg
IERyYXdlciwKKyAgICBFZGl0YWJsZVRleHQsCisgICAgRmVlZCwKKyAgICBGaWd1cmUsCisgICAg
Rm9vdGVyLAorICAgIEZvb3Rub3RlLAorICAgIEZvcm0sCisgICAgR3JhcGhpY3NEb2N1bWVudCwK
KyAgICBHcmFwaGljc09iamVjdCwKKyAgICBHcmFwaGljc1N5bWJvbCwKKyAgICBHcmlkLAorICAg
IEdyaWRDZWxsLAorICAgIEdyb3VwLAorICAgIEdyb3dBcmVhLAorICAgIEhlYWRpbmcsCisgICAg
SGVscFRhZywKKyAgICBIb3Jpem9udGFsUnVsZSwKKyAgICBJZ25vcmVkLAorICAgIElubGluZSwK
KyAgICBJbWFnZSwKKyAgICBJbWFnZU1hcCwKKyAgICBJbWFnZU1hcExpbmssCisgICAgSW5jcmVt
ZW50b3IsCisgICAgTGFiZWwsCisgICAgTGFuZG1hcmtCYW5uZXIsCisgICAgTGFuZG1hcmtDb21w
bGVtZW50YXJ5LAorICAgIExhbmRtYXJrQ29udGVudEluZm8sCisgICAgTGFuZG1hcmtEb2NSZWdp
b24sCisgICAgTGFuZG1hcmtNYWluLAorICAgIExhbmRtYXJrTmF2aWdhdGlvbiwKKyAgICBMYW5k
bWFya1JlZ2lvbiwKKyAgICBMYW5kbWFya1NlYXJjaCwKKyAgICBMZWdlbmQsCisgICAgTGluaywK
KyAgICBMaXN0LAorICAgIExpc3RCb3gsCisgICAgTGlzdEJveE9wdGlvbiwKKyAgICBMaXN0SXRl
bSwKKyAgICBMaXN0TWFya2VyLAorICAgIE1hcmssCisgICAgTWF0aEVsZW1lbnQsCisgICAgTWF0
dGUsCisgICAgTWVudSwKKyAgICBNZW51QmFyLAorICAgIE1lbnVCdXR0b24sCisgICAgTWVudUl0
ZW0sCisgICAgTWVudUl0ZW1DaGVja2JveCwKKyAgICBNZW51SXRlbVJhZGlvLAorICAgIE1lbnVM
aXN0UG9wdXAsCisgICAgTWVudUxpc3RPcHRpb24sCisgICAgT3V0bGluZSwKKyAgICBQYXJhZ3Jh
cGgsCisgICAgUG9wVXBCdXR0b24sCisgICAgUHJlLAorICAgIFByZXNlbnRhdGlvbmFsLAorICAg
IFByb2dyZXNzSW5kaWNhdG9yLAorICAgIFJhZGlvQnV0dG9uLAorICAgIFJhZGlvR3JvdXAsCisg
ICAgUm93SGVhZGVyLAorICAgIFJvdywKKyAgICBSb3dHcm91cCwKKyAgICBSdWJ5QmFzZSwKKyAg
ICBSdWJ5QmxvY2ssCisgICAgUnVieUlubGluZSwKKyAgICBSdWJ5UnVuLAorICAgIFJ1YnlUZXh0
LAorICAgIFJ1bGVyLAorICAgIFJ1bGVyTWFya2VyLAorICAgIFNjcm9sbEFyZWEsCisgICAgU2Ny
b2xsQmFyLAorICAgIFNlYXJjaEZpZWxkLAorICAgIFNoZWV0LAorICAgIFNsaWRlciwKKyAgICBT
bGlkZXJUaHVtYiwKKyAgICBTcGluQnV0dG9uLAorICAgIFNwaW5CdXR0b25QYXJ0LAorICAgIFNw
bGl0R3JvdXAsCisgICAgU3BsaXR0ZXIsCisgICAgU3RhdGljVGV4dCwKKyAgICBTdW1tYXJ5LAor
ICAgIFN3aXRjaCwKKyAgICBTeXN0ZW1XaWRlLAorICAgIFNWR1Jvb3QsCisgICAgU1ZHVGV4dCwK
KyAgICBTVkdUU3BhbiwKKyAgICBTVkdUZXh0UGF0aCwKKyAgICBUYWJHcm91cCwKKyAgICBUYWJM
aXN0LAorICAgIFRhYlBhbmVsLAorICAgIFRhYiwKKyAgICBUYWJsZSwKKyAgICBUYWJsZUhlYWRl
ckNvbnRhaW5lciwKKyAgICBUZXh0QXJlYSwKKyAgICBUZXh0R3JvdXAsCisgICAgVGVybSwKKyAg
ICBUaW1lLAorICAgIFRyZWUsCisgICAgVHJlZUdyaWQsCisgICAgVHJlZUl0ZW0sCisgICAgVGV4
dEZpZWxkLAorICAgIFRvZ2dsZUJ1dHRvbiwKKyAgICBUb29sYmFyLAorICAgIFVua25vd24sCisg
ICAgVXNlckludGVyZmFjZVRvb2x0aXAsCisgICAgVmFsdWVJbmRpY2F0b3IsCisgICAgVmlkZW8s
CisgICAgV2ViQXBwbGljYXRpb24sCisgICAgV2ViQXJlYSwKKyAgICBXZWJDb3JlTGluaywKKyAg
ICBXaW5kb3csCit9OworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKK3B1
YmxpYzoKKyAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlKCkgPSBkZWZh
dWx0OworCisgICAgdmlydHVhbCBib29sIGlzTWVkaWFDb250cm9sTGFiZWwoKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCA9IDA7Cisg
ICAgdmlydHVhbCBib29sIGlzQXR0YWNobWVudCgpIGNvbnN0ID0gMDsKK307CisKK30KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTI2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBWElz
b2xhdGVkVHJlZS5oIgorCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCisjaW5jbHVk
ZSAiUGFnZS5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisgICAgCitzdGF0aWMgdW5zaWduZWQgc190cmVlSURDb3VudCA9IDA7CisKK0hh
c2hNYXA8QVhJc29sYXRlZFRyZWVJRCwgUmVmPEFYSXNvbGF0ZWRUcmVlPj4mIEFYSXNvbGF0ZWRU
cmVlOjp0cmVlQ2FjaGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPEFY
SXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKK30KKworQVhJc29sYXRlZFRyZWU6OkFYSXNvbGF0ZWRUcmVlKCkKKyAgICA6IG1fdHJlZUlE
KCsrc190cmVlSURDb3VudCkKK3sKK30KKworQVhJc29sYXRlZFRyZWU6On5BWElzb2xhdGVkVHJl
ZSgpID0gZGVmYXVsdDsKKworUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWElzb2xhdGVkVHJlZTo6Y3Jl
YXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZSgpKTsKK30K
KyAgICAKK1JlZlB0cjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJRChB
WElzb2xhdGVkVHJlZUlEIHRyZWVJRCkKK3sKKyAgICByZXR1cm4gdHJlZUNhY2hlKCkuZ2V0KHRy
ZWVJRCk7Cit9CisKK1JlZjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQ
YWdlSUQodWludDY0X3QgcGFnZUlEKQoreworICAgIHN0YXRpYyBMb2NrIGNhY2hlTG9jazsKKyAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDx1aW50NjRfdCwgUmVmPEFYSXNvbGF0ZWRU
cmVlPj4+IHBhZ2VNYXA7CisKKyAgICBjYWNoZUxvY2subG9jaygpOworICAgIGlmIChBWElzb2xh
dGVkVHJlZSogdHJlZSA9IHBhZ2VNYXAuZ2V0KCkuZ2V0KHBhZ2VJRCkpIHsKKyAgICAgICAgUmVm
PEFYSXNvbGF0ZWRUcmVlPiBuZXdUcmVlID0gbWFrZVJlZigqdHJlZSk7CisgICAgICAgIGNhY2hl
TG9jay51bmxvY2soKTsKKyAgICAgICAgcmV0dXJuIG5ld1RyZWU7CisgICAgfQorICAgIAorICAg
IFJlZjxBWElzb2xhdGVkVHJlZT4gbmV3VHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjpjcmVhdGUoKTsK
KyAgICBwYWdlTWFwLmdldCgpLnNldChwYWdlSUQsIG5ld1RyZWUuY29weVJlZigpKTsKKyAgICB0
cmVlQ2FjaGUoKS5zZXQobmV3VHJlZS0+dHJlZUlkZW50aWZpZXIoKSwgbmV3VHJlZS5jb3B5UmVm
KCkpOworICAgIGNhY2hlTG9jay51bmxvY2soKTsKKyAgICByZXR1cm4gbmV3VHJlZTsKK30KKyAg
ICAKK1JlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlOjpub2RlRm9ySUQo
QVhJRCBheElEKSBjb25zdAoreworICAgIGlmICghYXhJRCkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgcmV0dXJuIG1fcmVhZGVyVGhyZWFkTm9kZU1hcC5nZXQoYXhJRCk7Cit9CisKK1Jl
ZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlOjpyb290Tm9kZSgpCit7Cisg
ICAgcmV0dXJuIG5vZGVGb3JJRChtX3Jvb3ROb2RlSUQpOworfQorCit2b2lkIEFYSXNvbGF0ZWRU
cmVlOjpyZW1vdmVOb2RlKEFYSUQgYXhJRCkKK3sKKyAgICBtX2NoYW5nZUxvZ0xvY2subG9jaygp
OworICAgIG1fcGVuZGluZ1JlbW92YWxzLmFwcGVuZChheElEKTsKKyAgICBtX2NoYW5nZUxvZ0xv
Y2sudW5sb2NrKCk7Cit9CisKK3ZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGVuZE5vZGVDaGFuZ2Vz
KFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4mIGxvZykKK3sKKyAgICBtX2NoYW5n
ZUxvZ0xvY2subG9jaygpOworICAgIG1fcGVuZGluZ0FwcGVuZHMuYXBwZW5kVmVjdG9yKGxvZyk7
CisgICAgbV9jaGFuZ2VMb2dMb2NrLnVubG9jaygpOworfQorICAgIAordm9pZCBBWElzb2xhdGVk
VHJlZTo6YXBwbHlQZW5kaW5nQ2hhbmdlcygpCit7CisgICAgbV9jaGFuZ2VMb2dMb2NrLmxvY2so
KTsKKyAgICBWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+IGFwcGVuZENvcHkoV1RG
TW92ZShtX3BlbmRpbmdBcHBlbmRzKSk7CisgICAgVmVjdG9yPEFYSUQ+IHJlbW92ZUNvcHkoV1RG
TW92ZShtX3BlbmRpbmdSZW1vdmFscykpOworICAgIG1fY2hhbmdlTG9nTG9jay51bmxvY2soKTsK
KworICAgIGZvciAoYXV0byYgaXRlbSA6IGFwcGVuZENvcHkpIHsKKyAgICAgICAgbV9yZWFkZXJU
aHJlYWROb2RlTWFwLnNldChpdGVtLT5pZGVudGlmaWVyKCksICppdGVtKTsKKyAgICAgICAgaWYg
KGl0ZW0tPmlzUm9vdE5vZGUoKSkKKyAgICAgICAgICAgIG1fcm9vdE5vZGVJRCA9IGl0ZW0tPmlk
ZW50aWZpZXIoKTsKKyAgICB9CisKKyAgICBmb3IgKGF1dG8gaXRlbSA6IHJlbW92ZUNvcHkpCisg
ICAgICAgIG1fcmVhZGVyVGhyZWFkTm9kZU1hcC5yZW1vdmUoaXRlbSk7Cit9CisgICAgCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRy
ZWUvQVhJc29sYXRlZFRyZWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFlfSVNPTEFURURfVFJFRSkKKworI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgor
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIFBhZ2U7CisKK3R5cGVkZWYgdW5zaWduZWQgQVhJc29sYXRlZFRyZWVJRDsKKyAgICAK
K2NsYXNzIEFYSXNvbGF0ZWRUcmVlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEFYSXNv
bGF0ZWRUcmVlPiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQVhJc29sYXRlZFRyZWUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKworcHVibGljOgorICAgIHN0YXRpYyBSZWY8QVhJc29s
YXRlZFRyZWU+IGNyZWF0ZSgpOworICAgIHZpcnR1YWwgfkFYSXNvbGF0ZWRUcmVlKCk7CisKKyAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPEFYSXNvbGF0ZWRUcmVlPiB0cmVlRm9yUGFnZUlE
KHVpbnQ2NF90KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmUHRyPEFYSXNvbGF0ZWRU
cmVlPiB0cmVlRm9ySUQoQVhJc29sYXRlZFRyZWVJRCk7CisKKyAgICBXRUJDT1JFX0VYUE9SVCBS
ZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiByb290Tm9kZSgpOworICAgIFJlZlB0cjxBWElzb2xh
dGVkVHJlZU5vZGU+IG5vZGVGb3JJRChBWElEKSBjb25zdDsKKworICAgIC8vIENhbGwgb24gbWFp
biB0aHJlYWQKKyAgICB2b2lkIGFwcGVuZE5vZGVDaGFuZ2VzKFZlY3RvcjxSZWZQdHI8QVhJc29s
YXRlZFRyZWVOb2RlPj4mKTsKKyAgICB2b2lkIHJlbW92ZU5vZGUoQVhJRCk7CisKKyAgICAvLyBD
YWxsIG9uIEFYIHRocmVhZAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHlQZW5kaW5nQ2hh
bmdlcygpOworICAgIAorICAgIEFYSXNvbGF0ZWRUcmVlSUQgdHJlZUlkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBtX3RyZWVJRDsgfQorICAgIAorcHJpdmF0ZToKKyAgICBBWElzb2xhdGVkVHJl
ZSgpOworCisgICAgc3RhdGljIEhhc2hNYXA8QVhJc29sYXRlZFRyZWVJRCwgUmVmPEFYSXNvbGF0
ZWRUcmVlPj4mIHRyZWVDYWNoZSgpOworICAgIAorICAgIC8vIE9ubHkgYWNjZXNzIG9uIEFYIHRo
cmVhZCByZXF1ZXN0aW5nIGRhdGEuCisgICAgSGFzaE1hcDxBWElELCBSZWY8QVhJc29sYXRlZFRy
ZWVOb2RlPj4gbV9yZWFkZXJUaHJlYWROb2RlTWFwOworICAgIAorICAgIC8vIFdyaXR0ZW4gdG8g
YnkgbWFpbiB0aHJlYWQgdW5kZXIgbG9jaywgYWNjZXNzZWQgYW5kIGFwcGxpZWQgYnkgQVggdGhy
ZWFkLgorICAgIFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbV9wZW5kaW5nQXBw
ZW5kczsKKyAgICBWZWN0b3I8QVhJRD4gbV9wZW5kaW5nUmVtb3ZhbHM7CisgICAgTG9jayBtX2No
YW5nZUxvZ0xvY2s7CisKKyAgICBBWElzb2xhdGVkVHJlZUlEIG1fdHJlZUlEOworICAgIEFYSUQg
bV9yb290Tm9kZUlEOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRU
cmVlTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKKworI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitBWElzb2xhdGVkVHJlZU5vZGU6
OkFYSXNvbGF0ZWRUcmVlTm9kZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCisg
ICAgOiBtX2lkZW50aWZpZXIob2JqZWN0LmF4T2JqZWN0SUQoKSkKKyAgICAsIG1fcmVsYXRpb25z
aGlwKEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpjcmVhdGUoKSkKK3sKKyAgICBpbml0aWFs
aXplQXR0cmlidXRlRGF0YShvYmplY3QpOworfQorCitSZWY8QVhJc29sYXRlZFRyZWVOb2RlPiBB
WElzb2xhdGVkVHJlZU5vZGU6OmNyZWF0ZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmpl
Y3QpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQVhJc29sYXRlZFRyZWVOb2RlKG9iamVj
dCkpOworfQorICAgIAorQVhJc29sYXRlZFRyZWVOb2RlOjp+QVhJc29sYXRlZFRyZWVOb2RlKCkg
PSBkZWZhdWx0OworCit2b2lkIEFYSXNvbGF0ZWRUcmVlTm9kZTo6aW5pdGlhbGl6ZUF0dHJpYnV0
ZURhdGEoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQoreworICAgIHNldFByb3Bl
cnR5KEFYUHJvcGVydHlOYW1lOjpSb2xlVmFsdWUsIHN0YXRpY19jYXN0PGludD4ob2JqZWN0LnJv
bGVWYWx1ZSgpKSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVu
dCwgb2JqZWN0LmlzQXR0YWNobWVudCgpKTsKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFt
ZTo6SXNNZWRpYUNvbnRyb2xMYWJlbCwgb2JqZWN0LmlzTWVkaWFDb250cm9sTGFiZWwoKSk7Cit9
CisgICAgCit2b2lkIEFYSXNvbGF0ZWRUcmVlTm9kZTo6c2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQmJiB2YWx1ZSwgYm9vbCBzaG91
bGRSZW1vdmUpCit7CisgICAgaWYgKHNob3VsZFJlbW92ZSkKKyAgICAgICAgbV9hdHRyaWJ1dGVN
YXAucmVtb3ZlKHByb3BlcnR5TmFtZSk7CisgICAgZWxzZQorICAgICAgICBtX2F0dHJpYnV0ZU1h
cC5zZXQocHJvcGVydHlOYW1lLCB2YWx1ZSk7Cit9CisgICAgCitkb3VibGUgQVhJc29sYXRlZFRy
ZWVOb2RlOjpkb3VibGVBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUp
IGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5h
bWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGRvdWJsZSYgdHlwZWRW
YWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7
CisgICAgICAgIHJldHVybiAwLjA7CisgICAgfSk7Cit9CisKK3Vuc2lnbmVkIEFYSXNvbGF0ZWRU
cmVlTm9kZTo6dW5zaWduZWRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0
eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKHVuc2lnbmVkJiB0
eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0
byYpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfSk7Cit9CisKK2Jvb2wgQVhJc29sYXRlZFRy
ZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBj
b25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1l
KTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChib29sJiB0eXBlZFZhbHVl
KSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0pOworfQorCitjb25zdCBTdHJpbmcmIEFYSXNvbGF0
ZWRUcmVlTm9kZTo6c3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVy
dHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChTdHJpbmcmIHR5
cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRv
JikgeworICAgICAgICByZXR1cm4gbnVsbEF0b20oKTsKKyAgICB9KTsKK30KKworaW50IEFYSXNv
bGF0ZWRUcmVlTm9kZTo6aW50QXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVy
dHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChpbnQmIHR5cGVk
VmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikg
eworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKworI3ByYWdtYSBtYXJrIC0gT3ZlcnJp
ZGVzCisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9k
ZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTU1
IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKworI2lu
Y2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKKyNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJl
ZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCisjaWYgUExBVEZPUk0oQ09DT0EpCitP
QkpDX0NMQVNTIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyOworI2VuZGlmCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdDsKKworY2xhc3MgQVhJ
c29sYXRlZFRyZWVSZWxhdGlvbnNoaXAgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QVhJ
c29sYXRlZFRyZWVSZWxhdGlvbnNoaXA+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEFYSXNv
bGF0ZWRUcmVlUmVsYXRpb25zaGlwPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEFY
SXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwKCkpOyB9CisgICAgdmlydHVhbCB+QVhJc29sYXRlZFRy
ZWVSZWxhdGlvbnNoaXAoKSA9IGRlZmF1bHQ7CisKKyAgICBBWElzb2xhdGVkVHJlZVJlbGF0aW9u
c2hpcChjb25zdCBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCYgcmVsYXRpb25zaGlwKQorICAg
ICAgICA6IG1fcGFyZW50KHJlbGF0aW9uc2hpcC5tX3BhcmVudCkKKyAgICAgICAgLCBtX2NoaWxk
cmVuKHJlbGF0aW9uc2hpcC5tX2NoaWxkcmVuKQorICAgIHsKKyAgICB9CisgICAgCisgICAgQVhJ
c29sYXRlZFRyZWVSZWxhdGlvbnNoaXAmIG9wZXJhdG9yPShjb25zdCBBWElzb2xhdGVkVHJlZVJl
bGF0aW9uc2hpcCYgcmVsYXRpb25zaGlwKQorICAgIHsKKyAgICAgICAgbV9wYXJlbnQgPSByZWxh
dGlvbnNoaXAubV9wYXJlbnQ7CisgICAgICAgIG1fY2hpbGRyZW4gPSByZWxhdGlvbnNoaXAubV9j
aGlsZHJlbjsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAgIHZvaWQgc2V0UGFy
ZW50KEFYSUQgcGFyZW50KSB7IG1fcGFyZW50ID0gcGFyZW50OyB9CisgICAgQVhJRCBwYXJlbnQo
KSBjb25zdCB7IHJldHVybiBtX3BhcmVudDsgfQorCisgICAgVmVjdG9yPEFYSUQ+JiBjaGlsZHJl
bigpIHsgcmV0dXJuIG1fY2hpbGRyZW47IH07CisKK3ByaXZhdGU6CisgICAgQVhJc29sYXRlZFRy
ZWVSZWxhdGlvbnNoaXAoKSB7IH0KKworICAgIEFYSUQgbV9wYXJlbnQ7CisgICAgVmVjdG9yPEFY
SUQ+IG1fY2hpbGRyZW47Cit9OworCisgICAgCitjbGFzcyBBWElzb2xhdGVkVHJlZU5vZGUgZmlu
YWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSwgcHVibGljIFRocmVhZFNh
ZmVSZWZDb3VudGVkPEFYSXNvbGF0ZWRUcmVlTm9kZT4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxB
WElzb2xhdGVkVHJlZU5vZGU+IHsKKyAgICAKK2VudW0gY2xhc3MgQVhQcm9wZXJ0eU5hbWUgOiB1
aW50MTZfdCB7CisgICAgTm9uZSA9IDAsCisgICAgUm9sZVZhbHVlID0gMSwKKyAgICBJc0F0dGFj
aG1lbnQsCisgICAgSXNNZWRpYUNvbnRyb2xMYWJlbCwKK307CisKK3N0cnVjdCBBWFByb3BlcnR5
SGFzaFRyYWl0cyA6IFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8QVhQcm9wZXJ0eU5hbWU+IHsK
KyAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gZmFsc2U7CisgICAgc3Rh
dGljIEFYUHJvcGVydHlOYW1lIGVtcHR5VmFsdWUoKSB7IHJldHVybiBBWFByb3BlcnR5TmFtZTo6
Tm9uZTsgfTsKKyAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoQVhQcm9wZXJ0
eU5hbWUmIHNsb3QpCisgICAgeworICAgICAgICBzbG90ID0gc3RhdGljX2Nhc3Q8QVhQcm9wZXJ0
eU5hbWU+KHN0YXRpY19jYXN0PGludD4oQVhQcm9wZXJ0eU5hbWU6Ok5vbmUpIC0gMSk7CisgICAg
fQorICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKEFYUHJvcGVydHlOYW1lIHZhbHVlKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4odmFsdWUpID09IHN0YXRpY19j
YXN0PGludD4oQVhQcm9wZXJ0eU5hbWU6Ok5vbmUpIC0gMTsKKyAgICB9Cit9OworCitwcm90ZWN0
ZWQ6CisgICAgQVhJc29sYXRlZFRyZWVOb2RlKCkgPSBkZWZhdWx0OworCitwdWJsaWM6CisgICAg
c3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+IGNyZWF0ZShjb25zdCBBY2Nlc3NpYmlsaXR5
T2JqZWN0Jik7CisgICAgdmlydHVhbCB+QVhJc29sYXRlZFRyZWVOb2RlKCk7CisKKyAgICBBWElE
IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KKyAgICAKKyAgICBS
ZWY8QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA+IHJlbGF0aW9uc2hpcCgpIHsgcmV0dXJuIG1f
cmVsYXRpb25zaGlwLmNvcHlSZWYoKTsgfQorICAgIAorICAgIGJvb2wgaXNSb290Tm9kZSgpIGNv
bnN0IHsgcmV0dXJuIG1faXNSb290Tm9kZTsgfQorICAgIHZvaWQgc2V0SXNSb290Tm9kZShib29s
IHZhbHVlKSB7IG1faXNSb290Tm9kZSA9IHZhbHVlOyB9CisgICAgCisjaWYgUExBVEZPUk0oQ09D
T0EpCisgICAgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIoKSBjb25zdCB7
IHJldHVybiBtX3dyYXBwZXIuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFdyYXBwZXIoV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIpCisgICAgeworICAgICAgICBtX3dyYXBwZXIg
PSB3cmFwcGVyOworICAgIH0KKyNlbmRpZgorCitwcml2YXRlOgorICAgIEFYSXNvbGF0ZWRUcmVl
Tm9kZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisgICAgdm9pZCBpbml0aWFsaXplQXR0
cmlidXRlRGF0YShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisKKyAgICBib29sIGlzTWVk
aWFDb250cm9sTGFiZWwoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWU6OklzTWVkaWFDb250cm9sTGFiZWwpOyB9CisgICAgYm9vbCBpc0F0
dGFjaG1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCk7IH0KKyAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5
Um9sZT4oaW50QXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OlJvbGVWYWx1ZSkpOyB9CisK
KyAgICB1c2luZyBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQgPSBWYXJpYW50PHN0ZDo6bnVsbHB0cl90
LCBTdHJpbmcsIGJvb2wsIGludCwgdW5zaWduZWQsIGRvdWJsZT47CisgICAgdm9pZCBzZXRQcm9w
ZXJ0eShBWFByb3BlcnR5TmFtZSwgQXR0cmlidXRlVmFsdWVWYXJpYW50JiYsIGJvb2wgc2hvdWxk
UmVtb3ZlID0gZmFsc2UpOworCisgICAgYm9vbCBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0
eU5hbWUpIGNvbnN0OworICAgIGNvbnN0IFN0cmluZyYgc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGludCBpbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZSkgY29uc3Q7CisgICAgdW5zaWduZWQgdW5zaWduZWRBdHRyaWJ1dGVWYWx1ZShBWFByb3Bl
cnR5TmFtZSkgY29uc3Q7CisgICAgZG91YmxlIGRvdWJsZUF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVy
dHlOYW1lKSBjb25zdDsKKworICAgIEFYSUQgbV9pZGVudGlmaWVyOworICAgIGJvb2wgbV9pc1Jv
b3ROb2RlOworICAgIFJlZjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4gbV9yZWxhdGlvbnNo
aXA7CisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXRhaW5QdHI8V2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXI+IG1fd3JhcHBlcjsKKyNlbmRpZgorCisgICAgLy8gV2UgZG9uJ3QgbWFy
ayB0aGlzIGNvbnN0IGJlY2F1c2UgZXZlbiB0aG91Z2ggYXR0cmlidXRlcyBkb24ndCBjaGFuZ2Ug
YWZ0ZXIgaW5pdGlhbCBjcmVhdGlvbiwKKyAgICAvLyB3ZSBtYXkgY29weSBhbiBleGlzdGluZyBu
b2RlIGFuZCByZXBsYWNlIHNwZWNpZmljIHZhbHVlcywKKyAgICBIYXNoTWFwPEFYUHJvcGVydHlO
YW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQsIFdURjo6SW50SGFzaDxBWFByb3BlcnR5TmFtZT4s
IEFYUHJvcGVydHlIYXNoVHJhaXRzPiBtX2F0dHJpYnV0ZU1hcDsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2Fj
aGVNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
QVhPYmplY3RDYWNoZU1hYy5tbQkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MjgsNiArMjgsNyBAQAogCiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBQTEFURk9STShNQUMp
CiAKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eU9iamVjdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVRhYmxlLmgiCiAjaW1wb3J0ICJSZW5k
ZXJPYmplY3QuaCIKQEAgLTIzNyw2ICsyMzgsMTQgQEAKICAgICBvYmotPnNldFdyYXBwZXIobnVs
bHB0cik7CiB9CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQordm9p
ZCBBWE9iamVjdENhY2hlOjphc3NvY2lhdGVJc29sYXRlZFRyZWVOb2RlKEFjY2Vzc2liaWxpdHlP
YmplY3QmIG9iamVjdCwgQVhJc29sYXRlZFRyZWVOb2RlJiBub2RlLCBBWElzb2xhdGVkVHJlZUlE
IHRyZWVJRCkKK3sKKyAgICBvYmplY3Qud3JhcHBlcigpLmlzb2xhdGVkVHJlZUlkZW50aWZpZXIg
PSB0cmVlSUQ7CisgICAgbm9kZS5zZXRXcmFwcGVyKG9iamVjdC53cmFwcGVyKCkpOworfQorI2Vu
ZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIoQWNjZXNzaWJpbGl0
eU9iamVjdCogb2JqKQogewogICAgIFJldGFpblB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlcj4gd3JhcHBlciA9IGFkb3B0TlMoW1tXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBh
bGxvY10gaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0Om9ial0pOwpJbmRleDogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMSArMjksMTggQEAKICNpZm5kZWYgV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlX2gKICNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJCYXNlX2gKIAorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlLmgiCiAjaW5jbHVk
ZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3Jh
cGhpY3MuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZhcmlhbnQu
aD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCitjbGFzcyBBWElzb2xhdGVkVHJlZU5vZGU7CisjZW5kaWYKIHN0cnVjdCBBY2Nlc3Np
YmlsaXR5U2VhcmNoQ3JpdGVyaWE7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgRmxvYXRQb2ludDsK
QEAgLTQ0LDEzICs1MSwyNiBAQAogCiBAaW50ZXJmYWNlIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQmFzZSA6IE5TT2JqZWN0IHsKICAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBtX29iamVjdDsKKyAgICBXZWJDb3JlOjpBWElEIF9pZGVudGlmaWVyOwogfQogIAogLSAoaWQp
aW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0OihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
KilheE9iamVjdDsKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFJlZlB0cjxXZWJDb3JlOjpBWElzb2xhdGVk
VHJlZU5vZGU+IGlzb2xhdGVkVHJlZU5vZGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWdu
KSBXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUlEIGlzb2xhdGVkVHJlZUlkZW50aWZpZXI7CisjZW5k
aWYKKwogLSAodm9pZClkZXRhY2g7CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFdl
YkNvcmU6OkFYSUQgaWRlbnRpZmllcjsKKwogLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dCopYWNjZXNzaWJpbGl0eU9iamVjdDsKIC0gKEJPT0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3Jl
OwogCisvLyBUaGlzIGNhbiBiZSBlaXRoZXIgYW4gQWNjZXNzaWJpbGl0eU9iamVjdCBvciBhbiBB
WElzb2xhdGVkVHJlZU5vZGUKKy0gKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZh
Y2UqKWF4QmFja2luZ09iamVjdDsKKwogLy8gVGhlc2UgYXJlIHByZS1maXhlZCB3aXRoIGJhc2Ug
c28gdGhhdCBBcHBLaXQgZG9lcyBub3QgZW5kIHVwIGNhbGxpbmcgaW50byB0aGVzZSBkaXJlY3Rs
eSAoYnlwYXNzaW5nIHNhZmV0eSBjaGVja3MpLgogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJp
bGl0eVRpdGxlOwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJCYXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkocmV2aXNpb24g
MjQwMjQ2KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMCArMzEsMTMg
QEAKIAogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIAorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWUu
aCIKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2ltcG9ydCAiQVhPYmplY3RDYWNo
ZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmgiCiAjaW1wb3J0ICJBY2Nl
c3NpYmlsaXR5TGlzdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIKKyNpbXBv
cnQgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmgiCiAj
aW1wb3J0ICJBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIgpAQCAtMjcwLDYgKzI3Myw4IEBACiAK
IEBpbXBsZW1lbnRhdGlvbiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UKIAorQHN5
bnRoZXNpemUgaWRlbnRpZmllcj1faWRlbnRpZmllcjsKKwogLSAoaWQpaW5pdFdpdGhBY2Nlc3Np
YmlsaXR5T2JqZWN0OihBY2Nlc3NpYmlsaXR5T2JqZWN0KilheE9iamVjdAogewogICAgIGlmICgh
KHNlbGYgPSBbc3VwZXIgaW5pdF0pKQpAQCAtMjc2LDE2ICsyODEsMzAgQEAKICAgICAgICAgcmV0
dXJuIG5pbDsKIAogICAgIG1fb2JqZWN0ID0gYXhPYmplY3Q7CisgICAgX2lkZW50aWZpZXIgPSBt
X29iamVjdC0+YXhPYmplY3RJRCgpOwogICAgIHJldHVybiBzZWxmOwogfQogCisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKy0gKFJlZlB0cjxXZWJDb3JlOjpBWElzb2xh
dGVkVHJlZU5vZGU+KWlzb2xhdGVkVHJlZU5vZGUKK3sKKyAgICByZXR1cm4gQVhJc29sYXRlZFRy
ZWU6OnRyZWVGb3JJRChfaXNvbGF0ZWRUcmVlSWRlbnRpZmllciktPm5vZGVGb3JJRChfaWRlbnRp
Zmllcik7Cit9CisKKyNlbmRpZgorCiAtICh2b2lkKWRldGFjaAogewogICAgIG1fb2JqZWN0ID0g
bnVsbHB0cjsKKyAgICBfaWRlbnRpZmllciA9IDA7CiB9CiAKIC0gKEJPT0wpdXBkYXRlT2JqZWN0
QmFja2luZ1N0b3JlCiB7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkK
KyAgICBBWElzb2xhdGVkVHJlZTo6dHJlZUZvcklEKHNlbGYuaXNvbGF0ZWRUcmVlSWRlbnRpZmll
ciktPmFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKyAgICByZXR1cm4gX2lkZW50aWZpZXI7CisjZWxz
ZQogICAgIC8vIENhbGxpbmcgdXBkYXRlQmFja2luZ1N0b3JlKCkgY2FuIGludmFsaWRhdGUgdGhp
cyBlbGVtZW50IHNvIHNlbGYgbXVzdCBiZSByZXRhaW5lZC4KICAgICAvLyBJZiBpdCBkb2VzIGJl
Y29tZSBpbnZhbGlkYXRlZCwgbV9vYmplY3Qgd2lsbCBiZSBuaWwuCiAgICAgQ0ZSZXRhaW4oKF9f
YnJpZGdlIENGVHlwZVJlZilzZWxmKTsKQEAgLTI5OSw2ICszMTgsNyBAQAogICAgICAgICByZXR1
cm4gTk87CiAgICAgCiAgICAgcmV0dXJuIFlFUzsKKyNlbmRpZgogfQogCiAtIChpZClhdHRhY2ht
ZW50VmlldwpAQCAtMzYwLDExICszODAsMjEgQEAKICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmlu
Z107CiB9CiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVjdCBzZWxmLmF4QmFja2luZ09iamVjdAor
LSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSopYXhCYWNraW5nT2JqZWN0
Cit7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICByZXR1cm4g
c2VsZi5pc29sYXRlZFRyZWVOb2RlLmdldCgpOworI2Vsc2UKKyAgICByZXR1cm4gbV9vYmplY3Q7
CisjZW5kaWYKK30KKwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
CiB7CiAgICAgLy8gU3RhdGljIHRleHQgb2JqZWN0cyBzaG91bGQgbm90IGhhdmUgYSBkZXNjcmlw
dGlvbi4gSXRzIGNvbnRlbnQgaXMgY29tbXVuaWNhdGVkIGluIGl0cyBBWFZhbHVlLgogICAgIC8v
IE9uZSBleGNlcHRpb24gaXMgdGhlIG1lZGlhIGNvbnRyb2wgbGFiZWxzIHRoYXQgaGF2ZSBhIHZh
bHVlIGFuZCBhIGRlc2NyaXB0aW9uLiBUaG9zZSBhcmUgc2V0IHByb2dyYW1hdGljYWxseS4KLSAg
ICBpZiAobV9vYmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNU
ZXh0ICYmICFtX29iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQorICAgIGlmIChfYXhCYWNr
aW5nT2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dCAm
JiAhX2F4QmFja2luZ09iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQogICAgICAgICByZXR1
cm4gW05TU3RyaW5nIHN0cmluZ107CiAgICAgCiAgICAgVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0
PiB0ZXh0T3JkZXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5t
bQkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQx
Niw2ICs0MTYsOCBAQAogI2RlZmluZSBOU0FjY2Vzc2liaWxpdHlSZWxhdGl2ZUZyYW1lQXR0cmli
dXRlIEAiQVhSZWxhdGl2ZUZyYW1lIgogI2VuZGlmCiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVj
dCBzZWxmLmF4QmFja2luZ09iamVjdAorCiBleHRlcm4gIkMiIEFYVUlFbGVtZW50UmVmIE5TQWNj
ZXNzaWJpbGl0eUNyZWF0ZUFYVUlFbGVtZW50UmVmKGlkIGVsZW1lbnQpOwogCiBAaW1wbGVtZW50
YXRpb24gV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIKQEAgLTE5NzAsMTAgKzE5NzIsMTAg
QEAKIC0gKE5TU3RyaW5nKilyb2xlCiB7CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElP
TlNfQkVHSU4KLSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKQorICAgIGlmIChfYXhC
YWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRh
Y2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVJv
bGVBdHRyaWJ1dGVdOwogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAotICAg
IEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUgPSBtX29iamVjdC0+cm9sZVZhbHVlKCk7CisgICAgQWNj
ZXNzaWJpbGl0eVJvbGUgcm9sZSA9IF9heEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpOwogCiAg
ICAgaWYgKHJvbGUgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OkxhYmVsICYmIGlzPEFjY2Vzc2liaWxp
dHlMYWJlbD4oKm1fb2JqZWN0KSAmJiBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5TGFiZWw+KCptX29i
amVjdCkuY29udGFpbnNPbmx5U3RhdGljVGV4dCgpKQogICAgICAgICByb2xlID0gQWNjZXNzaWJp
bGl0eVJvbGU6OlN0YXRpY1RleHQ7CkBAIC0yMDAwLDcgKzIwMDIsNyBAQAogICAgIGlmIChtX29i
amVjdC0+aXNTZWFyY2hGaWVsZCgpKQogICAgICAgICByZXR1cm4gTlNBY2Nlc3NpYmlsaXR5U2Vh
cmNoRmllbGRTdWJyb2xlOwogICAgIAotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkp
IHsKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAg
TlNWaWV3KiBhdHRhY2hWaWV3ID0gW3NlbGYgYXR0YWNobWVudFZpZXddOwogICAgICAgICBpZiAo
W1thdHRhY2hWaWV3IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6
TlNBY2Nlc3NpYmlsaXR5U3Vicm9sZUF0dHJpYnV0ZV0pCiAgICAgICAgICAgICByZXR1cm4gW2F0
dGFjaFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVN1YnJv
bGVBdHRyaWJ1dGVdOwpAQCAtMjIxMSw3ICsyMjEzLDcgQEAKIAogICAgIEFMTE9XX0RFUFJFQ0FU
RURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgLy8gYXR0YWNobWVudHMgaGF2ZSB0aGUgQVhJbWFn
ZSByb2xlLCBidXQgYSBkaWZmZXJlbnQgc3Vicm9sZQotICAgIGlmIChtX29iamVjdC0+aXNBdHRh
Y2htZW50KCkpCisgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKQogICAg
ICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
VmFsdWU6TlNBY2Nlc3NpYmlsaXR5Um9sZURlc2NyaXB0aW9uQXR0cmlidXRlXTsKICAgICBBTExP
V19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIApAQCAtMjU2OCw3ICsyNTcwLDcgQEAKICAg
ICAgICAgcmV0dXJuIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDogbV9vYmplY3QtPmlzVmlzaXRl
ZCgpXTsKICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0Fj
Y2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0
dGFjaG1lbnQoKSkgeworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50
KCkpIHsKICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmls
aXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0
cmlidXRlXSkKICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBh
Y2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1dGVd
OwogICAgICAgICB9CkBAIC0yNTg1LDcgKzI1ODcsNyBAQAogICAgIH0KICAgICAKICAgICBpZiAo
W2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlv
bkF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewor
ICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAg
ICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFt
ZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmls
aXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdOwog
ICAgICAgICB9CkBAIC0yNTkzLDcgKzI1OTUsNyBAQAogICAgIH0KICAgICAKICAgICBpZiAoW2F0
dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0
ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAgICBp
ZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlmIChb
W1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRh
aW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFs
dWU6TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdOwogICAgICAgICB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyMTUsNiArODIxNSwxMSBAQAogCiAg
ICAgcmV0dXJuICptX2xvZ2dlcjsKIH0KKyAgICAKK09wdGlvbmFsPHVpbnQ2NF90PiBEb2N1bWVu
dDo6cGFnZUlEKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZS0+bG9hZGVyKCkuY2xpZW50
KCkucGFnZUlEKCk7Cit9CiAKIHZvaWQgRG9jdW1lbnQ6Omhhc1N0b3JhZ2VBY2Nlc3MoUmVmPERl
ZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJl
dmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC02NDgsNiArNjQ4LDcgQEAKICAgICBXRUJDT1JFX0VYUE9SVCBBWE9iamVjdENh
Y2hlKiBheE9iamVjdENhY2hlKCkgY29uc3Q7CiAgICAgdm9pZCBjbGVhckFYT2JqZWN0Q2FjaGUo
KTsKIAorICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBwYWdlSUQoKSBjb25zdDsKICAgICAvLyB0byBn
ZXQgdmlzdWFsbHkgb3JkZXJlZCBoZWJyZXcgYW5kIGFyYWJpYyBwYWdlcyByaWdodAogICAgIHZv
aWQgc2V0VmlzdWFsbHlPcmRlcmVkKCk7CiAgICAgYm9vbCB2aXN1YWxseU9yZGVyZWQoKSBjb25z
dCB7IHJldHVybiBtX3Zpc3VhbGx5T3JkZXJlZDsgfQpJbmRleDogU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0
MDI0NikKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNv
bT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdEJhc2UubW06CisgICAgICAgICgtW1dLQWNjZXNzaWJpbGl0eVdlYlBh
Z2VPYmplY3RCYXNlIGFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcl0pOgorCiAyMDE5LTAx
LTIxICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxl
bWVudCBtZXNzYWdlIGhhbmRsZXJzIGZvciBOZXR3b3JrUHJvY2Vzcy1iYXNlZCBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzCkluZGV4OiBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9X
ZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29w
eSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9U
T1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNo
ID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5BQkxF
X0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25l
b3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3Ig
PSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBACiAKIEVOQUJMRV9YU0xUID0g
RU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElD
QVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RS
QUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5U
QUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
RVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRB
TCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
Q1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlT
U0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJM
RV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VS
Q0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0Vf
V09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RB
VElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxF
X1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJF
QU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJH
UFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQzLDYg
KzI0NDMsNyBAQAogCQkyOUFEMzA5NzE2NEI0RTIxMDA3MkRFQTkgLyogTGVnYWN5Q3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW47IHBhdGggPSBDdXN0b21Q
cm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW47IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5Q0Q1NUE4MTI4RTI5NEYwMDEzM0M4NSAvKiBX
S0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyOUNENTVBOTEyOEUyOTRGMDAxMzNDODUgLyogV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlEMDRFMjgyMUY3QzczRDAwNzY3NDFEIC8qIEFjY2Vzc2li
aWxpdHlQcml2U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlQcml2U1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEMDAzNTIyMUJDNzQxNDgwMERBODcxNiAvKiBQ
REZQbHVnaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUERGUGx1Z2luLmg7
IHBhdGggPSBQREYvUERGUGx1Z2luLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJE
MDAzNTIzMUJDNzQxNDgwMERBODcxNiAvKiBQREZQbHVnaW4ubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBQREZQbHVnaW4ubW07IHBhdGggPSBQREYvUERGUGx1Z2lu
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDEwODc1RTFEMkM1NzNFMDBCODVG
ODIgLyogTG9hZFBhcmFtZXRlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTG9hZFBhcmFtZXRlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
NzA2Niw2ICs3MDY3LDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCUY0OEQyQTg0MjE1ODNBMDIw
MEM2NzUyQiAvKiBBcHBLaXRTUEkuaCAqLywKIAkJCQlBMUU2ODg2RjFGNkUyQkFCMDA3MDA2QTYg
LyogUXVhcmFudGluZVNQSS5oICovLAorCQkJCTI5RDA0RTI4MjFGN0M3M0QwMDc2NzQxRCAvKiBB
Y2Nlc3NpYmlsaXR5UHJpdlNQSS5oICovLAogCQkJKTsKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBh
Z2VPYmplY3RCYXNlLmgJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMiw3ICszMiw5IEBACiAKIEBpbnRlcmZhY2UgV0tBY2Nlc3NpYmlsaXR5
V2ViUGFnZU9iamVjdEJhc2UgOiBOU09iamVjdCB7CiAgICAgV2ViS2l0OjpXZWJQYWdlKiBtX3Bh
Z2U7CisgICAgdWludDY0X3QgbV9wYWdlSUQ7CiAgICAgaWQgbV9wYXJlbnQ7CisgICAgYm9vbCBt
X2hhc1BsdWdpbjsKIH0KIAogLSAodm9pZClzZXRXZWJQYWdlOihXZWJLaXQ6OldlYlBhZ2UqKXBh
Z2U7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1t
CShyZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0JKHdvcmtpbmcgY29weSkKQEAg
LTM0LDYgKzM0LDcgQEAKICNpbXBvcnQgIldLU2hhcmVkQVBJQ2FzdC5oIgogI2ltcG9ydCAiV0tT
dHJpbmcuaCIKICNpbXBvcnQgIldLU3RyaW5nQ0YuaCIKKyNpbXBvcnQgPFdlYkNvcmUvQVhJc29s
YXRlZFRyZWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQVhPYmplY3RDYWNoZS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9Eb2N1bWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZS5oPgpAQCAtNDcsMzMg
KzQ4LDczIEBACiAKIEBpbXBsZW1lbnRhdGlvbiBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0
QmFzZQogCi0tIChpZClhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXIKKy0gKFdlYkNvcmU6
OkFYT2JqZWN0Q2FjaGUqKWF4T2JqZWN0Q2FjaGUKIHsKLSAgICBpZiAoIVdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCi0gICAgICAgIFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OmVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKLQotICAgIGlmICghbV9wYWdlKQotICAg
ICAgICByZXR1cm4gbmlsOwotICAgIAotICAgIE5TT2JqZWN0KiBtYWluRnJhbWVQbHVnaW5BY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlciA9IG1fcGFnZS0+YWNjZXNzaWJpbGl0eU9iamVjdEZvck1h
aW5GcmFtZVBsdWdpbigpOwotICAgIGlmIChtYWluRnJhbWVQbHVnaW5BY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlcikKLSAgICAgICAgcmV0dXJuIG1haW5GcmFtZVBsdWdpbkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyOwotCiAgICAgV2ViQ29yZTo6UGFnZSogcGFnZSA9IG1fcGFnZS0+Y29yZVBh
Z2UoKTsKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBuaWw7Ci0gICAgCiAgICAgV2Vi
Q29yZTo6RnJhbWUmIGNvcmUgPSBwYWdlLT5tYWluRnJhbWUoKTsKICAgICBpZiAoIWNvcmUuZG9j
dW1lbnQoKSkKICAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIHJldHVybiBjb3JlLmRvY3VtZW50
KCktPmF4T2JqZWN0Q2FjaGUoKTsKK30KKworLSAoaWQpYWNjZXNzaWJpbGl0eVBsdWdpbk9iamVj
dAoreworICAgIGF1dG8gcmV0cmlldmVCbG9jayA9IFsmc2VsZl0oKSAtPiBpZCB7CisgICAgICAg
IGlkIGF4UGx1Z2luID0gbmlsOworICAgICAgICBhdXRvIGRpc3BhdGNoQmxvY2sgPSBbJmF4UGx1
Z2luLCAmc2VsZl0geworICAgICAgICAgICAgaWYgKHNlbGYtPm1fcGFnZSkKKyAgICAgICAgICAg
ICAgICBheFBsdWdpbiA9IHNlbGYtPm1fcGFnZS0+YWNjZXNzaWJpbGl0eU9iamVjdEZvck1haW5G
cmFtZVBsdWdpbigpOworICAgICAgICB9OworCisgICAgICAgIGlmIChSdW5Mb29wOjppc01haW4o
KSkKKyAgICAgICAgICAgIGRpc3BhdGNoQmxvY2soKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgZGlzcGF0Y2hfc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBkaXNwYXRjaEJsb2Nr
KTsKKyAgICAgICAgcmV0dXJuIGF4UGx1Z2luOworICAgIH07CiAgICAgCi0gICAgV2ViQ29yZTo6
QVhPYmplY3RDYWNoZSogY2FjaGUgPSBjb3JlLmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKTsK
LSAgICBpZiAoIWNhY2hlKQotICAgICAgICByZXR1cm4gbmlsOwotICAgIAotICAgIGlmIChXZWJD
b3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiByb290ID0gY2FjaGUtPnJvb3RPYmplY3QoKSkKLSAg
ICAgICAgcmV0dXJuIHJvb3QtPndyYXBwZXIoKTsKLSAgICAKKyAgICByZXR1cm4gcmV0cmlldmVC
bG9jaygpOworfQorCistIChpZClhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXIKK3sKKyAg
ICBpZiAoIVdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCisg
ICAgICAgIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKKwor
ICAgIGlmIChtX2hhc1BsdWdpbikKKyAgICAgICAgcmV0dXJuIHNlbGYuYWNjZXNzaWJpbGl0eVBs
dWdpbk9iamVjdDsKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisg
ICAgYXV0byBnZW5lcmF0ZUJsb2NrID0gWyZdIHsKKyAgICAgICAgYXV0byBkaXNwYXRjaEJsb2Nr
ID0gWyZzZWxmXSB7CisgICAgICAgICAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBbc2Vs
ZiBheE9iamVjdENhY2hlXSkgeworICAgICAgICAgICAgICAgIGF1dG8gdHJlZSA9IGNhY2hlLT5n
ZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlSWZOZWVkZWQoKTsKKyAgICAgICAgICAgICAg
ICB0cmVlLT5hcHBseVBlbmRpbmdDaGFuZ2VzKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH07
CisKKyAgICAgICAgaWYgKFJ1bkxvb3A6OmlzTWFpbigpKQorICAgICAgICAgICAgZGlzcGF0Y2hC
bG9jaygpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBkaXNwYXRjaF9zeW5jKGRpc3BhdGNo
X2dldF9tYWluX3F1ZXVlKCksIGRpc3BhdGNoQmxvY2spOworICAgIH07CisKKyAgICBhdXRvIHRy
ZWUgPSBBWElzb2xhdGVkVHJlZTo6dHJlZUZvclBhZ2VJRChtX3BhZ2VJRCk7CisgICAgYXV0byBy
b290Tm9kZSA9IHRyZWUtPnJvb3ROb2RlKCk7CisgICAgaWYgKCFyb290Tm9kZSkKKyAgICAgICAg
Z2VuZXJhdGVCbG9jaygpOworCisgICAgaWYgKChyb290Tm9kZSA9IHRyZWUtPnJvb3ROb2RlKCkp
KQorICAgICAgICByZXR1cm4gcm9vdE5vZGUtPndyYXBwZXIoKTsKKyNlbHNlCisgICAgaWYgKEFY
T2JqZWN0Q2FjaGUqIGNhY2hlID0gW3NlbGYgYXhPYmplY3RDYWNoZV0pIHsKKyAgICAgICAgaWYg
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIHJvb3QgPSBjYWNoZS0+cm9vdE9iamVjdCgp
KQorICAgICAgICAgICAgcmV0dXJuIHJvb3QtPndyYXBwZXIoKTsKKyAgICB9CisjZW5kaWYKICAg
ICByZXR1cm4gbmlsOwogfQogCkBAIC04MCw2ICsxMjEsMTQgQEAKIC0gKHZvaWQpc2V0V2ViUGFn
ZTooV2ViUGFnZSopcGFnZQogewogICAgIG1fcGFnZSA9IHBhZ2U7CisgICAgCisgICAgaWYgKHBh
Z2UpIHsKKyAgICAgICAgbV9wYWdlSUQgPSBwYWdlLT5wYWdlSUQoKTsKKyAgICAgICAgbV9oYXNQ
bHVnaW4gPSBwYWdlLT5hY2Nlc3NpYmlsaXR5T2JqZWN0Rm9yTWFpbkZyYW1lUGx1Z2luKCk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgbV9wYWdlSUQgPSAwOworICAgICAgICBtX2hhc1BsdWdpbiA9
IGZhbHNlOworICAgIH0KIH0KIAogLSAodm9pZClzZXRSZW1vdGVQYXJlbnQ6KGlkKXBhcmVudApJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjQ2KQorKysgU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4K
KworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnOgorCiAyMDE5LTAxLTE1ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVc2UgcmVmZXJlbmNlcyByYXRoZXIgdGhhbiBwb2ludGVycyBmb3IgcmVnaXN0ZXIv
dW5yZWdpc3RlciBmdW5jdGlvbnMsIGFuZCBtb3JlCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQw
LDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwog
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlf
SVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5BQkxFX0FQUExFX1BB
WV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lb3MgPSBFTkFC
TEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVf
QVBQTEVfUEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBACiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hT
TFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Yz
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFO
SUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVf
Q1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxF
X0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
X0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9S
VCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVS
RVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktF
UlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNF
Q1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlC
T0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChF
TkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChF
TkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JF
UVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVf
UkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01F
U1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJ
T05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxM
U0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9B
Q0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FS
RF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9Q
Uk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNf
VklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
V0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5B
QkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOwpJbmRleDogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQkocmV2aXNpb24gMjQwMjQ2
KQorKysgU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBA
IC0xODcsNiArMTg3LDcgQEAKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU01PT1RI
X1NDUk9MTElORyAiVG9nZ2xlIHNtb290aCBzY3JvbGxpbmciIFBSSVZBVEUgT04pCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMgIlRvZ2dsZSBTcGVlY2gg
U3ludGhlc2lzIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfU1BFTExDSEVDSyAiVG9nZ2xlIFNwZWxsY2hlY2tpbmcgc3VwcG9ydCAocmVx
dWlyZXMgRW5jaGFudCkiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFICJUb2dnbGUgc3RhdGljIGFjY2Vzc2liaWxp
dHkgdHJlZSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfU1RSRUFNU19BUEkgIlRvZ2dsZSBTdHJlYW1zIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9O
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TVkdfRk9OVFMgIlRvZ2dsZSBTVkcg
Rm9udHMgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04gIlRvZ2dsZSB0ZWxlcGhvbmUgbnVtYmVyIGRl
dGVjdGlvbiBzdXBwb3J0IiBQUklWQVRFIE9GRikKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDI0NikKKysrIFRvb2xzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTExICBDaHJp
cyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVj
ZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcy
MDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgor
CiAyMDE5LTAxLTIxICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgog
CiAgICAgICAgIFtHVEtdW1dQRV0gbGliZ2NyeXB0LTEuNy42IGNhbid0IGJlIGNvbXBpbGVkIG9u
IFVidW50dSAxOC4xMApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJ
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyNDAyMDYp
CisrKyBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
Tkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9B
UFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFC
TEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9Q
QVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBA
QAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9D
U1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNT
SU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRM
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxF
X0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRF
WFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NB
UFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJD
RV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJC
RVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9X
T1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVf
V0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVB
TUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQ
VSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAk
KEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lU
SU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19Q
QUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQ
RURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9E
RV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNU
SU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5B
QkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JT
RVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RF
X0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFM
T05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9Q
T0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0Vf
VVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFO
RExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAk
KEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFC
TEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
QkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359896</attachid>
            <date>2019-01-23 09:39:02 -0800</date>
            <delta_ts>2019-01-25 02:16:06 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>106623</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTExICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtKU0NdIFN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbiBpcyBubyBsb25nZXIgdXNl
ZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
XyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAK
K0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9Q
QVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQ
TEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBo
b25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBAQAogCiBF
TkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09O
SUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJP
QVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
Q19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FE
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JU
QykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19B
UEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChF
TkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xP
T1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElO
R19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00p
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRM
RVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1Mp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZB
U1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZU
TF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIp
ICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJ
QlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0Up
ICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVO
QUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMp
ICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJM
RV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FV
VEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VC
QVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikg
JChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShy
ZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQAogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3dl
YnNvY2tldHMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvd2VidnIiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L2FjY2Vzc2liaWxpdHkiCisgICAgIiR7V0VCQ09SRV9ESVJ9L2FjY2Vzc2liaWxp
dHkvaXNvbGF0ZWR0cmVlIgogICAgICIke1dFQkNPUkVfRElSfS9hbmltYXRpb24iCiAgICAgIiR7
V0VCQ09SRV9ESVJ9L2JpbmRpbmdzIgogICAgICIke1dFQkNPUkVfRElSfS9iaW5kaW5ncy9qcyIK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDgyIEBACisyMDE5LTAxLTIzICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBh
IHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMy
OTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4g
b3JkZXIgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSB3aGVuIHJlcXVlc3RpbmcgdGhlIGFjY2Vzc2li
aWxpdHkgaGllcmFyY2h5LCB3ZSBpbnRyb2R1Y2UgdGhlIGlkZWEgb2YgYSAic3RhdGljIGFjY2Vz
c2liaWxpdHkgdHJlZSIgd2hpY2ggCisgICAgICAgIGNvdWxkIGJlIGFjY2Vzc2VkIG9uIGEgZGlm
ZmVyZW50IHRocmVhZCBieSBhc3Npc3RpdmUgdGVjaG5vbG9naWVzLgorICAgICAgICBUaGF0IGlz
IGFjY29tcGxpc2hlZCBieSBzdG9yaW5nIGFsbCB0aGUgZGF0YSBuZWVkZWQgdG8gYW5zd2VyIGFj
Y2Vzc2liaWxpdHkgYXR0cmlidXRlIHF1ZXJpZXMgaW4gYSBzdGF0aWMgb2JqZWN0IHRoYXQgbWly
cm9ycyB0aGUgCisgICAgICAgICJsaXZlIiBBY2Nlc3NpYmlsaXR5T2JqZWN0cyAod2hpY2ggaW50
ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVzKS4KKyAgICAgICAgVGhlc2Ugc3Rh
dGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFmdGVyIGxheW91dCBpcyBkb25lIGFu
ZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBUaGV5IGFyZSB0aGVuIHN0b3JlZCBp
biB0aGUgc3RhdGljIHRyZWUgCisgICAgICAgIHJlcHJlc2VudGF0aW9uIGFuZCBhYmxlIHRvIGJl
IHJlYWQgZnJvbSBhbnl3aGVyZS4KKyAgICAgICAgVGFjdGljYWxseSB0aGlzIGlzIGRvbmUgd2l0
aCBBWElzb2xhdGVkVHJlZU5vZGVzIGluc2lkZSBvZiBhbiBBWElzb2xhdGVkVHJlZS4gVGhlIFRy
ZWVOb2RlcyBpbXBsZW1lbnQgYW4gQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSBzaGFyZWQg
CisgICAgICAgIHdpdGggQWNjZXNzaWJpbGl0eU9iamVjdC4KKyAgICAgICAgVGhpcyBhbGxvd3Mg
dGhlIHdyYXBwZXJzIHRvIGFjY2VzcyBlaXRoZXIgb25lIGRlcGVuZGluZyBvbiBjb25kaXRpb25z
IGFuZCBwbGF0Zm9ybXMgd2l0aG91dCBzaWduaWZpY2FudCBjb2RlIGR1cGxpY2F0aW9uIG9yIHJl
LW9yZ2FuaXphdGlvbi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFNvdXJjZXMu
dHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6
OmNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWU6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkVHJlZTo6dHJlZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVl
OjpBWElzb2xhdGVkVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9ySUQpOgorICAg
ICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQpOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6Om5vZGVGb3JJRCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZTo6cm9vdE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29s
YXRlZFRyZWU6OnJlbW92ZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6
OmFwcGVuZE5vZGVDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjph
cHBseVBlbmRpbmdDaGFuZ2VzKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkVHJlZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlOjp0cmVlSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpBWElzb2xhdGVkVHJlZU5vZGU6OkFYSXNvbGF0ZWRUcmVlTm9kZSk6CisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkVHJlZU5vZGU6OmluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6c2V0UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6
QVhJc29sYXRlZFRyZWVOb2RlOjpkb3VibGVBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OnVuc2lnbmVkQXR0cmlidXRlVmFsdWUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpib29sQXR0cmlidXRl
VmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpzdHJp
bmdBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJl
ZU5vZGU6OmludEF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcDo6b3BlcmF0
b3I9KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpzZXRQ
YXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA6OnBh
cmVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hp
cDo6Y2hpbGRyZW4pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphc3NvY2lhdGVJc29sYXRl
ZFRyZWVOb2RlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlckJhc2UuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyQmFzZSBpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6XSk6CisgICAg
ICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBpc29sYXRlZFRyZWVOb2Rl
XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBkZXRhY2hd
KToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIHVwZGF0ZU9i
amVjdEJhY2tpbmdTdG9yZV0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlckJhc2UgYXhCYWNraW5nT2JqZWN0XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQmFzZSBiYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uXSk6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06
CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHJvbGVdKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgc3Vicm9sZV0pOgorICAgICAgICAo
LVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByb2xlRGVzY3JpcHRpb25dKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0
ZVZhbHVlOl0pOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6cGFnZUlEIGNvbnN0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKwog
MjAxOS0wMS0yMSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAg
ICBJbXBsZW1lbnQgbWVzc2FnZSBoYW5kbGVycyBmb3IgTmV0d29ya1Byb2Nlc3MtYmFzZWQgUmVz
b3VyY2VMb2FkU3RhdGlzdGljcwpJbmRleDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysr
IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3
b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQo
V0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdf
Y29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkg
PSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVf
UEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25l
c2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBAQAogCiBFTkFC
TEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5B
QkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNf
R1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJE
X0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BS
T1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19W
SURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxT
KSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9X
RUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURF
T19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
WFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9B
UFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1Ap
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19B
UEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1Rf
SklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVU
RSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhO
KSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNT
RU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNp
b24gMjQwMzI5KQorKysgU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTIzICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBpc29sYXRlZCBhY2Nlc3NpYmls
aXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0wMS0yMiAgRGF2aWQgS2lsemVyICA8ZGRraWx6
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFN3aXRjaCByZW1haW5pbmcgUXVpY2tMb29rIHNvZnQt
bGlua2luZyBpbiBXZWJDb3JlLCBXZWJLaXQgb3ZlciB0byBRdWlja0xvb2tTb2Z0TGluay57Y3Bw
LGh9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyNDAyMDYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtp
bmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19D
T0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2Nv
YXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQo
RU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11
bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBACiAKIEVOQUJMRV9Y
U0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5T
Rk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVf
QVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFE
SUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBF
UklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklU
KSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZ
X0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9D
T0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVP
X1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElB
X1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElT
VElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19Q
UkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VT
RVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xU
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExF
X1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNI
TUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRf
UEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFC
TEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAk
KEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElO
R19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NF
UlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9B
UElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI0MDI0
NikKKysrIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00MDUs
NiArNDA1LDggQEAKIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRyZWUuY3BwCiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlSXRlbS5jcHAKIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJs
ZVNldFZhbHVlRXZlbnQuY3BwCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
VHJlZS5jcHAKK2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5j
cHAKIAogYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5jcHAKIGFuaW1hdGlvbi9BbmltYXRpb25Q
bGF5YmFja0V2ZW50LmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02
OTQsNiArNjk0LDcgQEAKIAkJMjZGOUE4MzgxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29u
ZmlndXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyNkY5QTgzNjE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmNw
cCAqLzsgfTsKIAkJMjZGOUE4MzkxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmlndXJh
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZG
OUE4MzcxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmlndXJhdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5MTRFMzA4MUNBQjVB
NDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkxNEUzMDYxQ0FCNUE0NDAwNDk5NjZGIC8q
IEFjY2Vzc2liaWxpdHlBdHRhY2htZW50LmggKi87IH07CisJCTI5MzZCRjVDMjFENjlFNEIwMDRB
OEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyog
QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5M0VBRTFGMTM1NkIyRkUwMDY3QUNGOSAvKiBSdW50
aW1lQXBwbGljYXRpb25DaGVja3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI5M0VBRTFFMTM1NkIyRkUwMDY3QUNGOSAvKiBSdW50aW1lQXBwbGljYXRp
b25DaGVja3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkyOTQ4OUZDNzEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5NDg5RkM1
MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oICovOyB9OwogCQky
OTdCRTNENTE2QzAzQzA4MDAzMzE2QkQgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFu
Y2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI1MjdD
QzkxMTZCRjhCQTEwMDlEREFDMCAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5o
ICovOyB9OwpAQCAtNzE1LDYgKzcxNiw4IEBACiAJCTI5QTgxMjQzMEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5TGlzdEJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjlBODEyMjUwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlM
aXN0Qm94LmggKi87IH07CiAJCTI5QTgxMjQ5MEZCQjlDQTkwMDUxMDI5MyAvKiBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5QTgxMjQ1MEZCQjlDQTkwMDUxMDI5MyAvKiBXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkyOUFDQjIxMjE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0
eU1vY2tPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDI5QUNCMjExMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5o
ICovOyB9OworCQkyOUFFMjEyRDIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QUUyMTJCMjFB
QjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBB
WElzb2xhdGVkVHJlZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOUQ3
QkNGQTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RDdCQ0Y5MTQ0NEFGN0Qw
MDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovOyB9OwogCQkyOUZBRjRCNjE5
NUFCMDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RkFGNEI1MTk1QUIwODkwMEE1
MjJEQyAvKiBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJCMzY1Qzg0MTUyNTExOUUwMDkxRDI3QiAv
KiBSZW5kZXJTVkdFbGxpcHNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyQjQyMzVBMDE1MjUwRjYwMDBEQkJDRDggLyogUmVuZGVyU1ZHRWxsaXBzZS5o
ICovOyB9OwpAQCAtNjU4MSw2ICs2NTg0LDcgQEAKIAkJMjhEQjlCQzcyMDIwRUEwNDAwRTU0QTA3
IC8qIFBlcmZvcm1hbmNlU2VydmVyVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQ
ZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI5MTRFMzA1MUNBQjVBNDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNo
bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5MTRFMzA2MUNBQjVBNDQw
MDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9i
amVjdEludGVyZmFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5M0VBRTFFMTM1NkIyRkUwMDY3
QUNGOSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTI5NDg5RkM1MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Ny
b2xsVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5
U2Nyb2xsVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ5ODY4MTE5NTM0
MTk0MDA3MkQyQkQgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY2MjgsNiArNjYzMiwxMCBAQAogCQky
OUE4MTI0NzBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZU1hYy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFYT2JqZWN0Q2FjaGVNYWMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QUNCMjExMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nl
c3NpYmlsaXR5TW9ja09iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
Y2Nlc3NpYmlsaXR5TW9ja09iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
OUFDQjIxMzE0M0U3NDk4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmpl
Y3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUFFMjEyQjIxQUI5RUVCMDA4
NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVhJc29sYXRlZFRyZWUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMkMyMUFCOUVFQjAwODY5Mjgz
IC8qIEFYSXNvbGF0ZWRUcmVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFYSXNvbGF0ZWRUcmVl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMzMyMUFCQTQ4QTAwODY5
MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBWElzb2xhdGVkVHJl
ZU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMzQyMUFCQTQ4QTAw
ODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBWElz
b2xhdGVkVHJlZU5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUQ3QkNG
NTE0NDRBRjU4MDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUQ3QkNGOTE0NDRBRjdEMDA3MDYxOUMg
LyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMjlFMDRBMjdCRUQyRjgxRjk4RTkwMjJCIC8qIEpTQmVmb3JlVW5sb2FkRXZlbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCZWZvcmVVbmxvYWRFdmVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcyNTMsNiArMTcyNjEsNyBAQAogCQkyOUE4
MTIwNDBGQkI5QjQxMDA1MTAyOTMgLyogYWNjZXNzaWJpbGl0eSAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMjlBRTIxMjkyMUFCOUVDQjAwODY5MjgzIC8q
IGlzb2xhdGVkdHJlZSAqLywKIAkJCQlBQUE3MjhFRjE2RDFEOEJDMDBEM0JCQzYgLyogaW9zICov
LAogCQkJCTI5QTgxMjA1MEZCQjlCNTIwMDUxMDI5MyAvKiBtYWMgKi8sCiAJCQkJMjk4MUNBOUQx
MzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZC5jcHAgKi8sCkBAIC0xNzI5
MSw2ICsxNzMwMCw3IEBACiAJCQkJMjk4NTcwOTMxNUNDNTMyRDAwNjM1NUNEIC8qIEFjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmggKi8sCiAJCQkJMjk4MUNBQTUxMzE4MjJFQzAwRDEyRjJBIC8qIEFj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwICovLAogCQkJCTI5QTgxMjE4MEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5T2JqZWN0LmggKi8sCisJCQkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5
IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLywKIAkJCQlBNDA5Qzk4MjExNkQw
REREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcCAqLywKIAkJ
CQlBNDA5Qzk4MzExNkQwREREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNh
dG9yLmggKi8sCiAJCQkJMjk4MUNBQTYxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwICovLApAQCAtMTczNDYsNiArMTczNTYsMTcgQEAKIAkJCXBhdGggPSBt
YWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQkyOUFFMjEyOTIxQUI5RUNC
MDA4NjkyODMgLyogaXNvbGF0ZWR0cmVlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQkyOUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRy
ZWUuaCAqLywKKwkJCQkyOUFFMjEyQzIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUu
Y3BwICovLAorCQkJCTI5QUUyMTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5v
ZGUuaCAqLywKKwkJCQkyOUFFMjEzNDIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVO
b2RlLmNwcCAqLywKKwkJCSk7CisJCQlwYXRoID0gaXNvbGF0ZWR0cmVlOworCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMkQwNjIxNDYxREE2MzlFQzAwQTdGQjI2IC8qIGxlZ2Fj
eSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0yOTk4NCw2
ICszMDAwNSw3IEBACiAJCQkJMUFFMkFBOTgwQTFDREQyRDAwQjQyQjI1IC8qIEpTSFRNTEltYWdl
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTdFOTcwQTFBODNFMzAwN0ZCOEM1IC8q
IEpTSFRNTElucHV0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM2QjA5NTYxRjVGMzRE
OTAwM0MzNzAyIC8qIEpTSFRNTElucHV0RWxlbWVudEVudHJpZXNBUEkuaCBpbiBIZWFkZXJzICov
LAorCQkJCTI5MzZCRjVDMjFENjlFNEIwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNjE0OEE3OTEyRTQxRTNCMDA0NEE3ODQgLyog
SlNIVE1MS2V5Z2VuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFCMjIwQTFDRTYz
QjAwQjQyQjI1IC8qIEpTSFRNTExhYmVsRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFF
MkFCMjQwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTExlZ2VuZEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLApAQCAtMzE0MzgsNiArMzE0NjAsNyBAQAogCQkJCTUxNDA1Qzg5MTkwQjAxNDQwMDc1NEY5
NCAvKiBTZWxlY3Rpb25SZWN0R2F0aGVyZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NEI0QkI0
MTQxNjUwRDcwMDJCMUQ4QiAvKiBTZWxlY3RvckNoZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQzMkQzRkU4MThBODY1ODQwMEQ3REMwMyAvKiBTZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25z
LmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUFFMjEzNTIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29s
YXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkI5OTk5NzE4MDRENTQyMDBEMDEx
MjEgLyogU2VsZWN0b3JDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE1MDcxNTgxNjg1
MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzEw
N0JFMjE4Q0MxOURFMDBDQzE4RTggLyogU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmggaW4gSGVhZGVy
cyAqLywKQEAgLTMyMzczLDYgKzMyMzk2LDcgQEAKIAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMz
ODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTQxNkZFNjE4
ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0E1NTE1RjUxOTE4MzBBMzAwOTY4N0QyIC8qIFlvdVR1YmVQbHVnaW5SZXBsYWNl
bWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFY
SXNvbGF0ZWRUcmVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDUzNzM1MzEzN0I2NTE4MDAwMDhE
Q0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCShyZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiw2ICszMiw4IEBACiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAKKyNpbmNsdWRl
ICJBWElzb2xhdGVkVHJlZS5oIgorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2lu
Y2x1ZGUgIkFjY2Vzc2liaWxpdHlBUklBR3JpZC5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlB
UklBR3JpZENlbGwuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaCIKQEAg
LTExNSw2ICsxMTcsOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCitjb25zdCBB
WElEIEludmFsaWRBWElEID0gMDsKKwogLy8gUG9zdCB2YWx1ZSBjaGFuZ2Ugbm90aWZpY2F0aW9u
cyBmb3IgcGFzc3dvcmQgZmllbGRzIG9yIGVsZW1lbnRzIGNvbnRhaW5lZCBpbiBwYXNzd29yZCBm
aWVsZHMgYXQgYSA0MGh6IGludGVydmFsIHRvIHRod2FydCBhbmFseXNpcyBvZiB0eXBpbmcgY2Fk
ZW5jZQogc3RhdGljIGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFu
Z2VOb3RpZmljYXRpb25JbnRlcnZhbCB7IDI1X21zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBh
Y2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCB7IDIwX21z
IH07CkBAIC03MjMsNyArNzI3LDExIEBACiAgICAgb2JqZWN0LT5zZXRBWE9iamVjdElEKDApOwog
CiAgICAgbV9pZHNJblVzZS5yZW1vdmUoYXhJRCk7Ci0KKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKQorICAgIGlmIChhdXRvIHBhZ2VJRCA9IG1fZG9jdW1lbnQucGFnZUlE
KCkpCisgICAgICAgIEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKCpwYWdlSUQpLT5yZW1v
dmVOb2RlKGF4SUQpOworI2VuZGlmCisgICAgCiAgICAgQVNTRVJUKG1fb2JqZWN0cy5zaXplKCkg
Pj0gbV9pZHNJblVzZS5zaXplKCkpOwogfQogICAgIApAQCAtMjkwNyw2ICsyOTE1LDM2IEBACiAg
ICAgbV9kZWZlcnJlZEZvY3VzZWROb2RlQ2hhbmdlLmNsZWFyKCk7CiB9CiAgICAgCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK1JlZjxBWElzb2xhdGVkVHJlZU5vZGU+
IEFYT2JqZWN0Q2FjaGU6OmNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoQWNjZXNzaWJp
bGl0eU9iamVjdCYgb2JqZWN0LCBBWElEIHBhcmVudElELCBBWElzb2xhdGVkVHJlZSYgdHJlZSwg
VmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYgbm9kZXMpCit7CisgICAgYXV0byBp
c29sYXRlZFRyZWVOb2RlID0gQVhJc29sYXRlZFRyZWVOb2RlOjpjcmVhdGUob2JqZWN0KTsKKyAg
ICBub2Rlcy5hcHBlbmQoaXNvbGF0ZWRUcmVlTm9kZS5wdHIoKSk7CisgICAgCisgICAgYXV0byBy
ZWxhdGlvbnNoaXAgPSBpc29sYXRlZFRyZWVOb2RlLT5yZWxhdGlvbnNoaXAoKTsKKyAgICByZWxh
dGlvbnNoaXAtPnNldFBhcmVudChwYXJlbnRJRCk7CisgICAgYXNzb2NpYXRlSXNvbGF0ZWRUcmVl
Tm9kZShvYmplY3QsIGlzb2xhdGVkVHJlZU5vZGUsIHRyZWUudHJlZUlkZW50aWZpZXIoKSk7Cisg
ICAgCisgICAgZm9yIChhdXRvIGNoaWxkIDogb2JqZWN0LmNoaWxkcmVuKCkpIHsKKyAgICAgICAg
YXV0byBzdGF0aWNDaGlsZCA9IGNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKmNoaWxk
LCBpc29sYXRlZFRyZWVOb2RlLT5pZGVudGlmaWVyKCksIHRyZWUsIG5vZGVzKTsKKyAgICAgICAg
cmVsYXRpb25zaGlwLT5jaGlsZHJlbigpLmFwcGVuZChzdGF0aWNDaGlsZC0+aWRlbnRpZmllcigp
KTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGlzb2xhdGVkVHJlZU5vZGU7Cit9CisgICAgCitS
ZWY8QVhJc29sYXRlZFRyZWU+IEFYT2JqZWN0Q2FjaGU6OmdlbmVyYXRlU3RhdGljQWNjZXNzaWJp
bGl0eVRyZWVJZk5lZWRlZCgpCit7CisgICAgYXV0byB0cmVlID0gQVhJc29sYXRlZFRyZWU6OnRy
ZWVGb3JQYWdlSUQoKm1fZG9jdW1lbnQucGFnZUlEKCkpOworICAgIFZlY3RvcjxSZWZQdHI8QVhJ
c29sYXRlZFRyZWVOb2RlPj4gbm9kZXM7CisgICAgYXV0byByb290ID0gY3JlYXRlSXNvbGF0ZWRB
Y2Nlc3NpYmlsaXR5VHJlZSgqcm9vdE9iamVjdCgpLCBJbnZhbGlkQVhJRCwgdHJlZSwgbm9kZXMp
OworICAgIHJvb3QtPnNldElzUm9vdE5vZGUodHJ1ZSk7CisgICAgdHJlZS0+YXBwZW5kTm9kZUNo
YW5nZXMobm9kZXMpOworICAgIAorICAgIHJldHVybiB0cmVlOworfQorI2VuZGlmCisgICAgCiB2
b2lkIEFYT2JqZWN0Q2FjaGU6OmRlZmVyUmVjb21wdXRlSXNJZ25vcmVkSWZOZWVkZWQoRWxlbWVu
dCogZWxlbWVudCkKIHsKICAgICBpZiAoIW5vZGVBbmRSZW5kZXJlckFyZVZhbGlkKGVsZW1lbnQp
KQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJ
KHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw5IEBACiAKICNwcmFnbWEgb25j
ZQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyNpbmNsdWRlICJB
WElzb2xhdGVkVHJlZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiQVhUZXh0U3RhdGVDaGFuZ2VJbnRl
bnQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiUmFuZ2Uu
aCIKQEAgLTM5LDYgKzQyLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKK2NsYXNzIEFYSXNvbGF0ZWRUcmVlTm9kZTsK
KyNlbmRpZgogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MQXJlYUVsZW1lbnQ7CiBjbGFzcyBI
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDsKQEAgLTE4MCw2ICsxODYsMTMgQEAKICAgICB2b2lk
IGRlZmVyQXR0cmlidXRlQ2hhbmdlSWZOZWVkZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIEVsZW1l
bnQqKTsKICAgICB2b2lkIHJlY29tcHV0ZUlzSWdub3JlZChSZW5kZXJPYmplY3QqIHJlbmRlcmVy
KTsKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgV0VCQ09S
RV9FWFBPUlQgUmVmPEFYSXNvbGF0ZWRUcmVlPiBnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlU
cmVlSWZOZWVkZWQoKTsKKworICAgIHZvaWQgYXNzb2NpYXRlSXNvbGF0ZWRUcmVlTm9kZShBY2Nl
c3NpYmlsaXR5T2JqZWN0JiwgQVhJc29sYXRlZFRyZWVOb2RlJiwgQVhJc29sYXRlZFRyZWVJRCk7
CisgICAgUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gY3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5
VHJlZShBY2Nlc3NpYmlsaXR5T2JqZWN0JiwgQVhJRCwgQVhJc29sYXRlZFRyZWUmLCBWZWN0b3I8
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+Jik7CisjZW5kaWYKKyAgICAKICNpZiBIQVZFKEFD
Q0VTU0lCSUxJVFkpCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNz
aWJpbGl0eSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGRpc2FibGVBY2Nlc3Np
YmlsaXR5KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaAkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDYgKzI5LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCkBAIC04OSwx
NTcgKzkwLDYgQEAKIGNsYXNzIFNjcm9sbFZpZXc7CiBjbGFzcyBXaWRnZXQ7CiAKLXR5cGVkZWYg
dW5zaWduZWQgQVhJRDsKLQotZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7Ci0gICAgQW5u
b3RhdGlvbiA9IDEsCi0gICAgQXBwbGljYXRpb24sCi0gICAgQXBwbGljYXRpb25BbGVydCwKLSAg
ICBBcHBsaWNhdGlvbkFsZXJ0RGlhbG9nLAotICAgIEFwcGxpY2F0aW9uRGlhbG9nLAotICAgIEFw
cGxpY2F0aW9uR3JvdXAsCi0gICAgQXBwbGljYXRpb25Mb2csCi0gICAgQXBwbGljYXRpb25NYXJx
dWVlLAotICAgIEFwcGxpY2F0aW9uU3RhdHVzLAotICAgIEFwcGxpY2F0aW9uVGV4dEdyb3VwLAot
ICAgIEFwcGxpY2F0aW9uVGltZXIsCi0gICAgQXVkaW8sCi0gICAgQmxvY2txdW90ZSwKLSAgICBC
cm93c2VyLAotICAgIEJ1c3lJbmRpY2F0b3IsCi0gICAgQnV0dG9uLAotICAgIENhbnZhcywKLSAg
ICBDYXB0aW9uLAotICAgIENlbGwsCi0gICAgQ2hlY2tCb3gsCi0gICAgQ29sb3JXZWxsLAotICAg
IENvbHVtbiwKLSAgICBDb2x1bW5IZWFkZXIsCi0gICAgQ29tYm9Cb3gsCi0gICAgRGVmaW5pdGlv
biwKLSAgICBEZXNjcmlwdGlvbkxpc3QsCi0gICAgRGVzY3JpcHRpb25MaXN0VGVybSwKLSAgICBE
ZXNjcmlwdGlvbkxpc3REZXRhaWwsCi0gICAgRGV0YWlscywKLSAgICBEaXJlY3RvcnksCi0gICAg
RGlzY2xvc3VyZVRyaWFuZ2xlLAotICAgIERpdiwKLSAgICBEb2N1bWVudCwKLSAgICBEb2N1bWVu
dEFydGljbGUsCi0gICAgRG9jdW1lbnRNYXRoLAotICAgIERvY3VtZW50Tm90ZSwKLSAgICBEcmF3
ZXIsCi0gICAgRWRpdGFibGVUZXh0LAotICAgIEZlZWQsCi0gICAgRmlndXJlLAotICAgIEZvb3Rl
ciwKLSAgICBGb290bm90ZSwKLSAgICBGb3JtLAotICAgIEdyYXBoaWNzRG9jdW1lbnQsCi0gICAg
R3JhcGhpY3NPYmplY3QsCi0gICAgR3JhcGhpY3NTeW1ib2wsCi0gICAgR3JpZCwKLSAgICBHcmlk
Q2VsbCwKLSAgICBHcm91cCwKLSAgICBHcm93QXJlYSwKLSAgICBIZWFkaW5nLAotICAgIEhlbHBU
YWcsCi0gICAgSG9yaXpvbnRhbFJ1bGUsCi0gICAgSWdub3JlZCwKLSAgICBJbmxpbmUsCi0gICAg
SW1hZ2UsCi0gICAgSW1hZ2VNYXAsCi0gICAgSW1hZ2VNYXBMaW5rLAotICAgIEluY3JlbWVudG9y
LAotICAgIExhYmVsLAotICAgIExhbmRtYXJrQmFubmVyLAotICAgIExhbmRtYXJrQ29tcGxlbWVu
dGFyeSwKLSAgICBMYW5kbWFya0NvbnRlbnRJbmZvLAotICAgIExhbmRtYXJrRG9jUmVnaW9uLAot
ICAgIExhbmRtYXJrTWFpbiwKLSAgICBMYW5kbWFya05hdmlnYXRpb24sCi0gICAgTGFuZG1hcmtS
ZWdpb24sCi0gICAgTGFuZG1hcmtTZWFyY2gsCi0gICAgTGVnZW5kLAotICAgIExpbmssCi0gICAg
TGlzdCwKLSAgICBMaXN0Qm94LAotICAgIExpc3RCb3hPcHRpb24sCi0gICAgTGlzdEl0ZW0sCi0g
ICAgTGlzdE1hcmtlciwKLSAgICBNYXJrLAotICAgIE1hdGhFbGVtZW50LAotICAgIE1hdHRlLAot
ICAgIE1lbnUsCi0gICAgTWVudUJhciwKLSAgICBNZW51QnV0dG9uLAotICAgIE1lbnVJdGVtLAot
ICAgIE1lbnVJdGVtQ2hlY2tib3gsCi0gICAgTWVudUl0ZW1SYWRpbywKLSAgICBNZW51TGlzdFBv
cHVwLAotICAgIE1lbnVMaXN0T3B0aW9uLAotICAgIE91dGxpbmUsCi0gICAgUGFyYWdyYXBoLAot
ICAgIFBvcFVwQnV0dG9uLAotICAgIFByZSwKLSAgICBQcmVzZW50YXRpb25hbCwKLSAgICBQcm9n
cmVzc0luZGljYXRvciwKLSAgICBSYWRpb0J1dHRvbiwKLSAgICBSYWRpb0dyb3VwLAotICAgIFJv
d0hlYWRlciwKLSAgICBSb3csCi0gICAgUm93R3JvdXAsCi0gICAgUnVieUJhc2UsCi0gICAgUnVi
eUJsb2NrLAotICAgIFJ1YnlJbmxpbmUsCi0gICAgUnVieVJ1biwKLSAgICBSdWJ5VGV4dCwKLSAg
ICBSdWxlciwKLSAgICBSdWxlck1hcmtlciwKLSAgICBTY3JvbGxBcmVhLAotICAgIFNjcm9sbEJh
ciwKLSAgICBTZWFyY2hGaWVsZCwKLSAgICBTaGVldCwKLSAgICBTbGlkZXIsCi0gICAgU2xpZGVy
VGh1bWIsCi0gICAgU3BpbkJ1dHRvbiwKLSAgICBTcGluQnV0dG9uUGFydCwKLSAgICBTcGxpdEdy
b3VwLAotICAgIFNwbGl0dGVyLAotICAgIFN0YXRpY1RleHQsCi0gICAgU3VtbWFyeSwKLSAgICBT
d2l0Y2gsCi0gICAgU3lzdGVtV2lkZSwKLSAgICBTVkdSb290LAotICAgIFNWR1RleHQsCi0gICAg
U1ZHVFNwYW4sCi0gICAgU1ZHVGV4dFBhdGgsCi0gICAgVGFiR3JvdXAsCi0gICAgVGFiTGlzdCwK
LSAgICBUYWJQYW5lbCwKLSAgICBUYWIsCi0gICAgVGFibGUsCi0gICAgVGFibGVIZWFkZXJDb250
YWluZXIsCi0gICAgVGV4dEFyZWEsCi0gICAgVGV4dEdyb3VwLAotICAgIFRlcm0sCi0gICAgVGlt
ZSwKLSAgICBUcmVlLAotICAgIFRyZWVHcmlkLAotICAgIFRyZWVJdGVtLAotICAgIFRleHRGaWVs
ZCwKLSAgICBUb2dnbGVCdXR0b24sCi0gICAgVG9vbGJhciwKLSAgICBVbmtub3duLAotICAgIFVz
ZXJJbnRlcmZhY2VUb29sdGlwLAotICAgIFZhbHVlSW5kaWNhdG9yLAotICAgIFZpZGVvLAotICAg
IFdlYkFwcGxpY2F0aW9uLAotICAgIFdlYkFyZWEsCi0gICAgV2ViQ29yZUxpbmssCi0gICAgV2lu
ZG93LAotfTsKLQogZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZSB7CiAgICAgQWx0
ZXJuYXRpdmUsCiAgICAgQ2hpbGRyZW4sCkBAIC00OTEsNyArMzQxLDcgQEAKICAgICAKIGJvb2wg
bm9kZUhhc1ByZXNlbnRhdGlvblJvbGUoTm9kZSopOwogICAgIAotY2xhc3MgQWNjZXNzaWJpbGl0
eU9iamVjdCA6IHB1YmxpYyBSZWZDb3VudGVkPEFjY2Vzc2liaWxpdHlPYmplY3Q+IHsKK2NsYXNz
IEFjY2Vzc2liaWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2Jq
ZWN0PiwgcHVibGljIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UgewogcHJvdGVjdGVkOgog
ICAgIEFjY2Vzc2liaWxpdHlPYmplY3QoKSA9IGRlZmF1bHQ7CiAgICAgCkBAIC0xMTU5LDcgKzEw
MDksMTAgQEAKICAgICBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEgbV9pc0ln
bm9yZWRGcm9tUGFyZW50RGF0YSB7IH07CiAgICAgYm9vbCBtX2NoaWxkcmVuRGlydHkgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9zdWJ0cmVlRGlydHkgeyBmYWxzZSB9OwotCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBib29sIG1faXNvbGF0ZWRUcmVlTm9kZUlu
aXRpYWxpemVkIHsgZmFsc2UgfTsKKyNlbmRpZgorICAgIAogICAgIHZvaWQgc2V0SXNJZ25vcmVk
RnJvbVBhcmVudERhdGEoQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhJiBkYXRh
KSB7IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEgPSBkYXRhOyB9CiAKICAgICB2aXJ0dWFsIGJv
b2wgY29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJ
bnRlcmZhY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDE5MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3R5cGVkZWYgdW5zaWduZWQgQVhJRDsKK2V4dGVybiBjb25z
dCBBWElEIEludmFsaWRBWElEOworCitlbnVtIGNsYXNzIEFjY2Vzc2liaWxpdHlSb2xlIHsKKyAg
ICBBbm5vdGF0aW9uID0gMSwKKyAgICBBcHBsaWNhdGlvbiwKKyAgICBBcHBsaWNhdGlvbkFsZXJ0
LAorICAgIEFwcGxpY2F0aW9uQWxlcnREaWFsb2csCisgICAgQXBwbGljYXRpb25EaWFsb2csCisg
ICAgQXBwbGljYXRpb25Hcm91cCwKKyAgICBBcHBsaWNhdGlvbkxvZywKKyAgICBBcHBsaWNhdGlv
bk1hcnF1ZWUsCisgICAgQXBwbGljYXRpb25TdGF0dXMsCisgICAgQXBwbGljYXRpb25UZXh0R3Jv
dXAsCisgICAgQXBwbGljYXRpb25UaW1lciwKKyAgICBBdWRpbywKKyAgICBCbG9ja3F1b3RlLAor
ICAgIEJyb3dzZXIsCisgICAgQnVzeUluZGljYXRvciwKKyAgICBCdXR0b24sCisgICAgQ2FudmFz
LAorICAgIENhcHRpb24sCisgICAgQ2VsbCwKKyAgICBDaGVja0JveCwKKyAgICBDb2xvcldlbGws
CisgICAgQ29sdW1uLAorICAgIENvbHVtbkhlYWRlciwKKyAgICBDb21ib0JveCwKKyAgICBEZWZp
bml0aW9uLAorICAgIERlc2NyaXB0aW9uTGlzdCwKKyAgICBEZXNjcmlwdGlvbkxpc3RUZXJtLAor
ICAgIERlc2NyaXB0aW9uTGlzdERldGFpbCwKKyAgICBEZXRhaWxzLAorICAgIERpcmVjdG9yeSwK
KyAgICBEaXNjbG9zdXJlVHJpYW5nbGUsCisgICAgRGl2LAorICAgIERvY3VtZW50LAorICAgIERv
Y3VtZW50QXJ0aWNsZSwKKyAgICBEb2N1bWVudE1hdGgsCisgICAgRG9jdW1lbnROb3RlLAorICAg
IERyYXdlciwKKyAgICBFZGl0YWJsZVRleHQsCisgICAgRmVlZCwKKyAgICBGaWd1cmUsCisgICAg
Rm9vdGVyLAorICAgIEZvb3Rub3RlLAorICAgIEZvcm0sCisgICAgR3JhcGhpY3NEb2N1bWVudCwK
KyAgICBHcmFwaGljc09iamVjdCwKKyAgICBHcmFwaGljc1N5bWJvbCwKKyAgICBHcmlkLAorICAg
IEdyaWRDZWxsLAorICAgIEdyb3VwLAorICAgIEdyb3dBcmVhLAorICAgIEhlYWRpbmcsCisgICAg
SGVscFRhZywKKyAgICBIb3Jpem9udGFsUnVsZSwKKyAgICBJZ25vcmVkLAorICAgIElubGluZSwK
KyAgICBJbWFnZSwKKyAgICBJbWFnZU1hcCwKKyAgICBJbWFnZU1hcExpbmssCisgICAgSW5jcmVt
ZW50b3IsCisgICAgTGFiZWwsCisgICAgTGFuZG1hcmtCYW5uZXIsCisgICAgTGFuZG1hcmtDb21w
bGVtZW50YXJ5LAorICAgIExhbmRtYXJrQ29udGVudEluZm8sCisgICAgTGFuZG1hcmtEb2NSZWdp
b24sCisgICAgTGFuZG1hcmtNYWluLAorICAgIExhbmRtYXJrTmF2aWdhdGlvbiwKKyAgICBMYW5k
bWFya1JlZ2lvbiwKKyAgICBMYW5kbWFya1NlYXJjaCwKKyAgICBMZWdlbmQsCisgICAgTGluaywK
KyAgICBMaXN0LAorICAgIExpc3RCb3gsCisgICAgTGlzdEJveE9wdGlvbiwKKyAgICBMaXN0SXRl
bSwKKyAgICBMaXN0TWFya2VyLAorICAgIE1hcmssCisgICAgTWF0aEVsZW1lbnQsCisgICAgTWF0
dGUsCisgICAgTWVudSwKKyAgICBNZW51QmFyLAorICAgIE1lbnVCdXR0b24sCisgICAgTWVudUl0
ZW0sCisgICAgTWVudUl0ZW1DaGVja2JveCwKKyAgICBNZW51SXRlbVJhZGlvLAorICAgIE1lbnVM
aXN0UG9wdXAsCisgICAgTWVudUxpc3RPcHRpb24sCisgICAgT3V0bGluZSwKKyAgICBQYXJhZ3Jh
cGgsCisgICAgUG9wVXBCdXR0b24sCisgICAgUHJlLAorICAgIFByZXNlbnRhdGlvbmFsLAorICAg
IFByb2dyZXNzSW5kaWNhdG9yLAorICAgIFJhZGlvQnV0dG9uLAorICAgIFJhZGlvR3JvdXAsCisg
ICAgUm93SGVhZGVyLAorICAgIFJvdywKKyAgICBSb3dHcm91cCwKKyAgICBSdWJ5QmFzZSwKKyAg
ICBSdWJ5QmxvY2ssCisgICAgUnVieUlubGluZSwKKyAgICBSdWJ5UnVuLAorICAgIFJ1YnlUZXh0
LAorICAgIFJ1bGVyLAorICAgIFJ1bGVyTWFya2VyLAorICAgIFNjcm9sbEFyZWEsCisgICAgU2Ny
b2xsQmFyLAorICAgIFNlYXJjaEZpZWxkLAorICAgIFNoZWV0LAorICAgIFNsaWRlciwKKyAgICBT
bGlkZXJUaHVtYiwKKyAgICBTcGluQnV0dG9uLAorICAgIFNwaW5CdXR0b25QYXJ0LAorICAgIFNw
bGl0R3JvdXAsCisgICAgU3BsaXR0ZXIsCisgICAgU3RhdGljVGV4dCwKKyAgICBTdW1tYXJ5LAor
ICAgIFN3aXRjaCwKKyAgICBTeXN0ZW1XaWRlLAorICAgIFNWR1Jvb3QsCisgICAgU1ZHVGV4dCwK
KyAgICBTVkdUU3BhbiwKKyAgICBTVkdUZXh0UGF0aCwKKyAgICBUYWJHcm91cCwKKyAgICBUYWJM
aXN0LAorICAgIFRhYlBhbmVsLAorICAgIFRhYiwKKyAgICBUYWJsZSwKKyAgICBUYWJsZUhlYWRl
ckNvbnRhaW5lciwKKyAgICBUZXh0QXJlYSwKKyAgICBUZXh0R3JvdXAsCisgICAgVGVybSwKKyAg
ICBUaW1lLAorICAgIFRyZWUsCisgICAgVHJlZUdyaWQsCisgICAgVHJlZUl0ZW0sCisgICAgVGV4
dEZpZWxkLAorICAgIFRvZ2dsZUJ1dHRvbiwKKyAgICBUb29sYmFyLAorICAgIFVua25vd24sCisg
ICAgVXNlckludGVyZmFjZVRvb2x0aXAsCisgICAgVmFsdWVJbmRpY2F0b3IsCisgICAgVmlkZW8s
CisgICAgV2ViQXBwbGljYXRpb24sCisgICAgV2ViQXJlYSwKKyAgICBXZWJDb3JlTGluaywKKyAg
ICBXaW5kb3csCit9OworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKK3B1
YmxpYzoKKyAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlKCkgPSBkZWZh
dWx0OworCisgICAgdmlydHVhbCBib29sIGlzTWVkaWFDb250cm9sTGFiZWwoKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCA9IDA7Cisg
ICAgdmlydHVhbCBib29sIGlzQXR0YWNobWVudCgpIGNvbnN0ID0gMDsKK307CisKK30KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTI2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBWElz
b2xhdGVkVHJlZS5oIgorCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCisjaW5jbHVk
ZSAiUGFnZS5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisgICAgCitzdGF0aWMgdW5zaWduZWQgc190cmVlSURDb3VudCA9IDA7CisKK0hh
c2hNYXA8QVhJc29sYXRlZFRyZWVJRCwgUmVmPEFYSXNvbGF0ZWRUcmVlPj4mIEFYSXNvbGF0ZWRU
cmVlOjp0cmVlQ2FjaGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPEFY
SXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKK30KKworQVhJc29sYXRlZFRyZWU6OkFYSXNvbGF0ZWRUcmVlKCkKKyAgICA6IG1fdHJlZUlE
KCsrc190cmVlSURDb3VudCkKK3sKK30KKworQVhJc29sYXRlZFRyZWU6On5BWElzb2xhdGVkVHJl
ZSgpID0gZGVmYXVsdDsKKworUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWElzb2xhdGVkVHJlZTo6Y3Jl
YXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZSgpKTsKK30K
KyAgICAKK1JlZlB0cjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJRChB
WElzb2xhdGVkVHJlZUlEIHRyZWVJRCkKK3sKKyAgICByZXR1cm4gdHJlZUNhY2hlKCkuZ2V0KHRy
ZWVJRCk7Cit9CisKK1JlZjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQ
YWdlSUQodWludDY0X3QgcGFnZUlEKQoreworICAgIHN0YXRpYyBMb2NrIGNhY2hlTG9jazsKKyAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDx1aW50NjRfdCwgUmVmPEFYSXNvbGF0ZWRU
cmVlPj4+IHBhZ2VNYXA7CisKKyAgICBjYWNoZUxvY2subG9jaygpOworICAgIGlmIChBWElzb2xh
dGVkVHJlZSogdHJlZSA9IHBhZ2VNYXAuZ2V0KCkuZ2V0KHBhZ2VJRCkpIHsKKyAgICAgICAgUmVm
PEFYSXNvbGF0ZWRUcmVlPiBuZXdUcmVlID0gbWFrZVJlZigqdHJlZSk7CisgICAgICAgIGNhY2hl
TG9jay51bmxvY2soKTsKKyAgICAgICAgcmV0dXJuIG5ld1RyZWU7CisgICAgfQorICAgIAorICAg
IFJlZjxBWElzb2xhdGVkVHJlZT4gbmV3VHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjpjcmVhdGUoKTsK
KyAgICBwYWdlTWFwLmdldCgpLnNldChwYWdlSUQsIG5ld1RyZWUuY29weVJlZigpKTsKKyAgICB0
cmVlQ2FjaGUoKS5zZXQobmV3VHJlZS0+dHJlZUlkZW50aWZpZXIoKSwgbmV3VHJlZS5jb3B5UmVm
KCkpOworICAgIGNhY2hlTG9jay51bmxvY2soKTsKKyAgICByZXR1cm4gbmV3VHJlZTsKK30KKyAg
ICAKK1JlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlOjpub2RlRm9ySUQo
QVhJRCBheElEKSBjb25zdAoreworICAgIGlmICghYXhJRCkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgcmV0dXJuIG1fcmVhZGVyVGhyZWFkTm9kZU1hcC5nZXQoYXhJRCk7Cit9CisKK1Jl
ZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlOjpyb290Tm9kZSgpCit7Cisg
ICAgcmV0dXJuIG5vZGVGb3JJRChtX3Jvb3ROb2RlSUQpOworfQorCit2b2lkIEFYSXNvbGF0ZWRU
cmVlOjpyZW1vdmVOb2RlKEFYSUQgYXhJRCkKK3sKKyAgICBtX2NoYW5nZUxvZ0xvY2subG9jaygp
OworICAgIG1fcGVuZGluZ1JlbW92YWxzLmFwcGVuZChheElEKTsKKyAgICBtX2NoYW5nZUxvZ0xv
Y2sudW5sb2NrKCk7Cit9CisKK3ZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGVuZE5vZGVDaGFuZ2Vz
KFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4mIGxvZykKK3sKKyAgICBtX2NoYW5n
ZUxvZ0xvY2subG9jaygpOworICAgIG1fcGVuZGluZ0FwcGVuZHMuYXBwZW5kVmVjdG9yKGxvZyk7
CisgICAgbV9jaGFuZ2VMb2dMb2NrLnVubG9jaygpOworfQorICAgIAordm9pZCBBWElzb2xhdGVk
VHJlZTo6YXBwbHlQZW5kaW5nQ2hhbmdlcygpCit7CisgICAgbV9jaGFuZ2VMb2dMb2NrLmxvY2so
KTsKKyAgICBWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+IGFwcGVuZENvcHkoV1RG
TW92ZShtX3BlbmRpbmdBcHBlbmRzKSk7CisgICAgVmVjdG9yPEFYSUQ+IHJlbW92ZUNvcHkoV1RG
TW92ZShtX3BlbmRpbmdSZW1vdmFscykpOworICAgIG1fY2hhbmdlTG9nTG9jay51bmxvY2soKTsK
KworICAgIGZvciAoYXV0byYgaXRlbSA6IGFwcGVuZENvcHkpIHsKKyAgICAgICAgbV9yZWFkZXJU
aHJlYWROb2RlTWFwLnNldChpdGVtLT5pZGVudGlmaWVyKCksICppdGVtKTsKKyAgICAgICAgaWYg
KGl0ZW0tPmlzUm9vdE5vZGUoKSkKKyAgICAgICAgICAgIG1fcm9vdE5vZGVJRCA9IGl0ZW0tPmlk
ZW50aWZpZXIoKTsKKyAgICB9CisKKyAgICBmb3IgKGF1dG8gaXRlbSA6IHJlbW92ZUNvcHkpCisg
ICAgICAgIG1fcmVhZGVyVGhyZWFkTm9kZU1hcC5yZW1vdmUoaXRlbSk7Cit9CisgICAgCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRy
ZWUvQVhJc29sYXRlZFRyZWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFlfSVNPTEFURURfVFJFRSkKKworI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgor
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIFBhZ2U7CisKK3R5cGVkZWYgdW5zaWduZWQgQVhJc29sYXRlZFRyZWVJRDsKKyAgICAK
K2NsYXNzIEFYSXNvbGF0ZWRUcmVlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEFYSXNv
bGF0ZWRUcmVlPiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQVhJc29sYXRlZFRyZWUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKworcHVibGljOgorICAgIHN0YXRpYyBSZWY8QVhJc29s
YXRlZFRyZWU+IGNyZWF0ZSgpOworICAgIHZpcnR1YWwgfkFYSXNvbGF0ZWRUcmVlKCk7CisKKyAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPEFYSXNvbGF0ZWRUcmVlPiB0cmVlRm9yUGFnZUlE
KHVpbnQ2NF90KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmUHRyPEFYSXNvbGF0ZWRU
cmVlPiB0cmVlRm9ySUQoQVhJc29sYXRlZFRyZWVJRCk7CisKKyAgICBXRUJDT1JFX0VYUE9SVCBS
ZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiByb290Tm9kZSgpOworICAgIFJlZlB0cjxBWElzb2xh
dGVkVHJlZU5vZGU+IG5vZGVGb3JJRChBWElEKSBjb25zdDsKKworICAgIC8vIENhbGwgb24gbWFp
biB0aHJlYWQKKyAgICB2b2lkIGFwcGVuZE5vZGVDaGFuZ2VzKFZlY3RvcjxSZWZQdHI8QVhJc29s
YXRlZFRyZWVOb2RlPj4mKTsKKyAgICB2b2lkIHJlbW92ZU5vZGUoQVhJRCk7CisKKyAgICAvLyBD
YWxsIG9uIEFYIHRocmVhZAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHlQZW5kaW5nQ2hh
bmdlcygpOworICAgIAorICAgIEFYSXNvbGF0ZWRUcmVlSUQgdHJlZUlkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBtX3RyZWVJRDsgfQorICAgIAorcHJpdmF0ZToKKyAgICBBWElzb2xhdGVkVHJl
ZSgpOworCisgICAgc3RhdGljIEhhc2hNYXA8QVhJc29sYXRlZFRyZWVJRCwgUmVmPEFYSXNvbGF0
ZWRUcmVlPj4mIHRyZWVDYWNoZSgpOworICAgIAorICAgIC8vIE9ubHkgYWNjZXNzIG9uIEFYIHRo
cmVhZCByZXF1ZXN0aW5nIGRhdGEuCisgICAgSGFzaE1hcDxBWElELCBSZWY8QVhJc29sYXRlZFRy
ZWVOb2RlPj4gbV9yZWFkZXJUaHJlYWROb2RlTWFwOworICAgIAorICAgIC8vIFdyaXR0ZW4gdG8g
YnkgbWFpbiB0aHJlYWQgdW5kZXIgbG9jaywgYWNjZXNzZWQgYW5kIGFwcGxpZWQgYnkgQVggdGhy
ZWFkLgorICAgIFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbV9wZW5kaW5nQXBw
ZW5kczsKKyAgICBWZWN0b3I8QVhJRD4gbV9wZW5kaW5nUmVtb3ZhbHM7CisgICAgTG9jayBtX2No
YW5nZUxvZ0xvY2s7CisKKyAgICBBWElzb2xhdGVkVHJlZUlEIG1fdHJlZUlEOworICAgIEFYSUQg
bV9yb290Tm9kZUlEOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRU
cmVlTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKKworI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitBWElzb2xhdGVkVHJlZU5vZGU6
OkFYSXNvbGF0ZWRUcmVlTm9kZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCisg
ICAgOiBtX2lkZW50aWZpZXIob2JqZWN0LmF4T2JqZWN0SUQoKSkKKyAgICAsIG1fcmVsYXRpb25z
aGlwKEFYSXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwOjpjcmVhdGUoKSkKK3sKKyAgICBpbml0aWFs
aXplQXR0cmlidXRlRGF0YShvYmplY3QpOworfQorCitSZWY8QVhJc29sYXRlZFRyZWVOb2RlPiBB
WElzb2xhdGVkVHJlZU5vZGU6OmNyZWF0ZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmpl
Y3QpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQVhJc29sYXRlZFRyZWVOb2RlKG9iamVj
dCkpOworfQorICAgIAorQVhJc29sYXRlZFRyZWVOb2RlOjp+QVhJc29sYXRlZFRyZWVOb2RlKCkg
PSBkZWZhdWx0OworCit2b2lkIEFYSXNvbGF0ZWRUcmVlTm9kZTo6aW5pdGlhbGl6ZUF0dHJpYnV0
ZURhdGEoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQoreworICAgIHNldFByb3Bl
cnR5KEFYUHJvcGVydHlOYW1lOjpSb2xlVmFsdWUsIHN0YXRpY19jYXN0PGludD4ob2JqZWN0LnJv
bGVWYWx1ZSgpKSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVu
dCwgb2JqZWN0LmlzQXR0YWNobWVudCgpKTsKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFt
ZTo6SXNNZWRpYUNvbnRyb2xMYWJlbCwgb2JqZWN0LmlzTWVkaWFDb250cm9sTGFiZWwoKSk7Cit9
CisgICAgCit2b2lkIEFYSXNvbGF0ZWRUcmVlTm9kZTo6c2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQmJiB2YWx1ZSwgYm9vbCBzaG91
bGRSZW1vdmUpCit7CisgICAgaWYgKHNob3VsZFJlbW92ZSkKKyAgICAgICAgbV9hdHRyaWJ1dGVN
YXAucmVtb3ZlKHByb3BlcnR5TmFtZSk7CisgICAgZWxzZQorICAgICAgICBtX2F0dHJpYnV0ZU1h
cC5zZXQocHJvcGVydHlOYW1lLCB2YWx1ZSk7Cit9CisgICAgCitkb3VibGUgQVhJc29sYXRlZFRy
ZWVOb2RlOjpkb3VibGVBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUp
IGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5h
bWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGRvdWJsZSYgdHlwZWRW
YWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7
CisgICAgICAgIHJldHVybiAwLjA7CisgICAgfSk7Cit9CisKK3Vuc2lnbmVkIEFYSXNvbGF0ZWRU
cmVlTm9kZTo6dW5zaWduZWRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0
eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKHVuc2lnbmVkJiB0
eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0
byYpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfSk7Cit9CisKK2Jvb2wgQVhJc29sYXRlZFRy
ZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBj
b25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1l
KTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChib29sJiB0eXBlZFZhbHVl
KSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0pOworfQorCitjb25zdCBTdHJpbmcmIEFYSXNvbGF0
ZWRUcmVlTm9kZTo6c3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVy
dHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChTdHJpbmcmIHR5
cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRv
JikgeworICAgICAgICByZXR1cm4gbnVsbEF0b20oKTsKKyAgICB9KTsKK30KKworaW50IEFYSXNv
bGF0ZWRUcmVlTm9kZTo6aW50QXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVy
dHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChpbnQmIHR5cGVk
VmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikg
eworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKworI3ByYWdtYSBtYXJrIC0gT3ZlcnJp
ZGVzCisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9k
ZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTU1
IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKworI2lu
Y2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKKyNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJl
ZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCisjaWYgUExBVEZPUk0oQ09DT0EpCitP
QkpDX0NMQVNTIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyOworI2VuZGlmCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdDsKKworY2xhc3MgQVhJ
c29sYXRlZFRyZWVSZWxhdGlvbnNoaXAgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QVhJ
c29sYXRlZFRyZWVSZWxhdGlvbnNoaXA+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEFYSXNv
bGF0ZWRUcmVlUmVsYXRpb25zaGlwPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEFY
SXNvbGF0ZWRUcmVlUmVsYXRpb25zaGlwKCkpOyB9CisgICAgdmlydHVhbCB+QVhJc29sYXRlZFRy
ZWVSZWxhdGlvbnNoaXAoKSA9IGRlZmF1bHQ7CisKKyAgICBBWElzb2xhdGVkVHJlZVJlbGF0aW9u
c2hpcChjb25zdCBBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcCYgcmVsYXRpb25zaGlwKQorICAg
ICAgICA6IG1fcGFyZW50KHJlbGF0aW9uc2hpcC5tX3BhcmVudCkKKyAgICAgICAgLCBtX2NoaWxk
cmVuKHJlbGF0aW9uc2hpcC5tX2NoaWxkcmVuKQorICAgIHsKKyAgICB9CisgICAgCisgICAgQVhJ
c29sYXRlZFRyZWVSZWxhdGlvbnNoaXAmIG9wZXJhdG9yPShjb25zdCBBWElzb2xhdGVkVHJlZVJl
bGF0aW9uc2hpcCYgcmVsYXRpb25zaGlwKQorICAgIHsKKyAgICAgICAgbV9wYXJlbnQgPSByZWxh
dGlvbnNoaXAubV9wYXJlbnQ7CisgICAgICAgIG1fY2hpbGRyZW4gPSByZWxhdGlvbnNoaXAubV9j
aGlsZHJlbjsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAgIHZvaWQgc2V0UGFy
ZW50KEFYSUQgcGFyZW50KSB7IG1fcGFyZW50ID0gcGFyZW50OyB9CisgICAgQVhJRCBwYXJlbnQo
KSBjb25zdCB7IHJldHVybiBtX3BhcmVudDsgfQorCisgICAgVmVjdG9yPEFYSUQ+JiBjaGlsZHJl
bigpIHsgcmV0dXJuIG1fY2hpbGRyZW47IH07CisKK3ByaXZhdGU6CisgICAgQVhJc29sYXRlZFRy
ZWVSZWxhdGlvbnNoaXAoKSB7IH0KKworICAgIEFYSUQgbV9wYXJlbnQ7CisgICAgVmVjdG9yPEFY
SUQ+IG1fY2hpbGRyZW47Cit9OworCisgICAgCitjbGFzcyBBWElzb2xhdGVkVHJlZU5vZGUgZmlu
YWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSwgcHVibGljIFRocmVhZFNh
ZmVSZWZDb3VudGVkPEFYSXNvbGF0ZWRUcmVlTm9kZT4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxB
WElzb2xhdGVkVHJlZU5vZGU+IHsKKyAgICAKK2VudW0gY2xhc3MgQVhQcm9wZXJ0eU5hbWUgOiB1
aW50MTZfdCB7CisgICAgTm9uZSA9IDAsCisgICAgUm9sZVZhbHVlID0gMSwKKyAgICBJc0F0dGFj
aG1lbnQsCisgICAgSXNNZWRpYUNvbnRyb2xMYWJlbCwKK307CisKK3N0cnVjdCBBWFByb3BlcnR5
SGFzaFRyYWl0cyA6IFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8QVhQcm9wZXJ0eU5hbWU+IHsK
KyAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gZmFsc2U7CisgICAgc3Rh
dGljIEFYUHJvcGVydHlOYW1lIGVtcHR5VmFsdWUoKSB7IHJldHVybiBBWFByb3BlcnR5TmFtZTo6
Tm9uZTsgfTsKKyAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoQVhQcm9wZXJ0
eU5hbWUmIHNsb3QpCisgICAgeworICAgICAgICBzbG90ID0gc3RhdGljX2Nhc3Q8QVhQcm9wZXJ0
eU5hbWU+KHN0YXRpY19jYXN0PGludD4oQVhQcm9wZXJ0eU5hbWU6Ok5vbmUpIC0gMSk7CisgICAg
fQorICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKEFYUHJvcGVydHlOYW1lIHZhbHVlKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4odmFsdWUpID09IHN0YXRpY19j
YXN0PGludD4oQVhQcm9wZXJ0eU5hbWU6Ok5vbmUpIC0gMTsKKyAgICB9Cit9OworCitwcm90ZWN0
ZWQ6CisgICAgQVhJc29sYXRlZFRyZWVOb2RlKCkgPSBkZWZhdWx0OworCitwdWJsaWM6CisgICAg
c3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+IGNyZWF0ZShjb25zdCBBY2Nlc3NpYmlsaXR5
T2JqZWN0Jik7CisgICAgdmlydHVhbCB+QVhJc29sYXRlZFRyZWVOb2RlKCk7CisKKyAgICBBWElE
IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KKyAgICAKKyAgICBS
ZWY8QVhJc29sYXRlZFRyZWVSZWxhdGlvbnNoaXA+IHJlbGF0aW9uc2hpcCgpIHsgcmV0dXJuIG1f
cmVsYXRpb25zaGlwLmNvcHlSZWYoKTsgfQorICAgIAorICAgIGJvb2wgaXNSb290Tm9kZSgpIGNv
bnN0IHsgcmV0dXJuIG1faXNSb290Tm9kZTsgfQorICAgIHZvaWQgc2V0SXNSb290Tm9kZShib29s
IHZhbHVlKSB7IG1faXNSb290Tm9kZSA9IHZhbHVlOyB9CisgICAgCisjaWYgUExBVEZPUk0oQ09D
T0EpCisgICAgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIoKSBjb25zdCB7
IHJldHVybiBtX3dyYXBwZXIuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFdyYXBwZXIoV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIpCisgICAgeworICAgICAgICBtX3dyYXBwZXIg
PSB3cmFwcGVyOworICAgIH0KKyNlbmRpZgorCitwcml2YXRlOgorICAgIEFYSXNvbGF0ZWRUcmVl
Tm9kZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisgICAgdm9pZCBpbml0aWFsaXplQXR0
cmlidXRlRGF0YShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisKKyAgICBib29sIGlzTWVk
aWFDb250cm9sTGFiZWwoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWU6OklzTWVkaWFDb250cm9sTGFiZWwpOyB9CisgICAgYm9vbCBpc0F0
dGFjaG1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCk7IH0KKyAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5
Um9sZT4oaW50QXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OlJvbGVWYWx1ZSkpOyB9CisK
KyAgICB1c2luZyBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQgPSBWYXJpYW50PHN0ZDo6bnVsbHB0cl90
LCBTdHJpbmcsIGJvb2wsIGludCwgdW5zaWduZWQsIGRvdWJsZT47CisgICAgdm9pZCBzZXRQcm9w
ZXJ0eShBWFByb3BlcnR5TmFtZSwgQXR0cmlidXRlVmFsdWVWYXJpYW50JiYsIGJvb2wgc2hvdWxk
UmVtb3ZlID0gZmFsc2UpOworCisgICAgYm9vbCBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0
eU5hbWUpIGNvbnN0OworICAgIGNvbnN0IFN0cmluZyYgc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGludCBpbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZSkgY29uc3Q7CisgICAgdW5zaWduZWQgdW5zaWduZWRBdHRyaWJ1dGVWYWx1ZShBWFByb3Bl
cnR5TmFtZSkgY29uc3Q7CisgICAgZG91YmxlIGRvdWJsZUF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVy
dHlOYW1lKSBjb25zdDsKKworICAgIEFYSUQgbV9pZGVudGlmaWVyOworICAgIGJvb2wgbV9pc1Jv
b3ROb2RlOworICAgIFJlZjxBWElzb2xhdGVkVHJlZVJlbGF0aW9uc2hpcD4gbV9yZWxhdGlvbnNo
aXA7CisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXRhaW5QdHI8V2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXI+IG1fd3JhcHBlcjsKKyNlbmRpZgorCisgICAgLy8gV2UgZG9uJ3QgbWFy
ayB0aGlzIGNvbnN0IGJlY2F1c2UgZXZlbiB0aG91Z2ggYXR0cmlidXRlcyBkb24ndCBjaGFuZ2Ug
YWZ0ZXIgaW5pdGlhbCBjcmVhdGlvbiwKKyAgICAvLyB3ZSBtYXkgY29weSBhbiBleGlzdGluZyBu
b2RlIGFuZCByZXBsYWNlIHNwZWNpZmljIHZhbHVlcywKKyAgICBIYXNoTWFwPEFYUHJvcGVydHlO
YW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQsIFdURjo6SW50SGFzaDxBWFByb3BlcnR5TmFtZT4s
IEFYUHJvcGVydHlIYXNoVHJhaXRzPiBtX2F0dHJpYnV0ZU1hcDsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2Fj
aGVNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
QVhPYmplY3RDYWNoZU1hYy5tbQkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MjgsNiArMjgsNyBAQAogCiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBQTEFURk9STShNQUMp
CiAKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eU9iamVjdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVRhYmxlLmgiCiAjaW1wb3J0ICJSZW5k
ZXJPYmplY3QuaCIKQEAgLTIzNyw2ICsyMzgsMTQgQEAKICAgICBvYmotPnNldFdyYXBwZXIobnVs
bHB0cik7CiB9CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQordm9p
ZCBBWE9iamVjdENhY2hlOjphc3NvY2lhdGVJc29sYXRlZFRyZWVOb2RlKEFjY2Vzc2liaWxpdHlP
YmplY3QmIG9iamVjdCwgQVhJc29sYXRlZFRyZWVOb2RlJiBub2RlLCBBWElzb2xhdGVkVHJlZUlE
IHRyZWVJRCkKK3sKKyAgICBvYmplY3Qud3JhcHBlcigpLmlzb2xhdGVkVHJlZUlkZW50aWZpZXIg
PSB0cmVlSUQ7CisgICAgbm9kZS5zZXRXcmFwcGVyKG9iamVjdC53cmFwcGVyKCkpOworfQorI2Vu
ZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIoQWNjZXNzaWJpbGl0
eU9iamVjdCogb2JqKQogewogICAgIFJldGFpblB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlcj4gd3JhcHBlciA9IGFkb3B0TlMoW1tXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBh
bGxvY10gaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0Om9ial0pOwpJbmRleDogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMSArMjksMTggQEAKICNpZm5kZWYgV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlX2gKICNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJCYXNlX2gKIAorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlLmgiCiAjaW5jbHVk
ZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3Jh
cGhpY3MuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZhcmlhbnQu
aD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCitjbGFzcyBBWElzb2xhdGVkVHJlZU5vZGU7CisjZW5kaWYKIHN0cnVjdCBBY2Nlc3Np
YmlsaXR5U2VhcmNoQ3JpdGVyaWE7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgRmxvYXRQb2ludDsK
QEAgLTQ0LDEzICs1MSwyNiBAQAogCiBAaW50ZXJmYWNlIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQmFzZSA6IE5TT2JqZWN0IHsKICAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBtX29iamVjdDsKKyAgICBXZWJDb3JlOjpBWElEIF9pZGVudGlmaWVyOwogfQogIAogLSAoaWQp
aW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0OihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
KilheE9iamVjdDsKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFJlZlB0cjxXZWJDb3JlOjpBWElzb2xhdGVk
VHJlZU5vZGU+IGlzb2xhdGVkVHJlZU5vZGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWdu
KSBXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUlEIGlzb2xhdGVkVHJlZUlkZW50aWZpZXI7CisjZW5k
aWYKKwogLSAodm9pZClkZXRhY2g7CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFdl
YkNvcmU6OkFYSUQgaWRlbnRpZmllcjsKKwogLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dCopYWNjZXNzaWJpbGl0eU9iamVjdDsKIC0gKEJPT0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3Jl
OwogCisvLyBUaGlzIGNhbiBiZSBlaXRoZXIgYW4gQWNjZXNzaWJpbGl0eU9iamVjdCBvciBhbiBB
WElzb2xhdGVkVHJlZU5vZGUKKy0gKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZh
Y2UqKWF4QmFja2luZ09iamVjdDsKKwogLy8gVGhlc2UgYXJlIHByZS1maXhlZCB3aXRoIGJhc2Ug
c28gdGhhdCBBcHBLaXQgZG9lcyBub3QgZW5kIHVwIGNhbGxpbmcgaW50byB0aGVzZSBkaXJlY3Rs
eSAoYnlwYXNzaW5nIHNhZmV0eSBjaGVja3MpLgogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJp
bGl0eVRpdGxlOwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJCYXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkocmV2aXNpb24g
MjQwMjQ2KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMCArMzEsMTMg
QEAKIAogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIAorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWUu
aCIKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2ltcG9ydCAiQVhPYmplY3RDYWNo
ZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmgiCiAjaW1wb3J0ICJBY2Nl
c3NpYmlsaXR5TGlzdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIKKyNpbXBv
cnQgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmgiCiAj
aW1wb3J0ICJBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIgpAQCAtMjcwLDYgKzI3Myw4IEBACiAK
IEBpbXBsZW1lbnRhdGlvbiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UKIAorQHN5
bnRoZXNpemUgaWRlbnRpZmllcj1faWRlbnRpZmllcjsKKwogLSAoaWQpaW5pdFdpdGhBY2Nlc3Np
YmlsaXR5T2JqZWN0OihBY2Nlc3NpYmlsaXR5T2JqZWN0KilheE9iamVjdAogewogICAgIGlmICgh
KHNlbGYgPSBbc3VwZXIgaW5pdF0pKQpAQCAtMjc2LDE2ICsyODEsMzAgQEAKICAgICAgICAgcmV0
dXJuIG5pbDsKIAogICAgIG1fb2JqZWN0ID0gYXhPYmplY3Q7CisgICAgX2lkZW50aWZpZXIgPSBt
X29iamVjdC0+YXhPYmplY3RJRCgpOwogICAgIHJldHVybiBzZWxmOwogfQogCisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKy0gKFJlZlB0cjxXZWJDb3JlOjpBWElzb2xh
dGVkVHJlZU5vZGU+KWlzb2xhdGVkVHJlZU5vZGUKK3sKKyAgICByZXR1cm4gQVhJc29sYXRlZFRy
ZWU6OnRyZWVGb3JJRChfaXNvbGF0ZWRUcmVlSWRlbnRpZmllciktPm5vZGVGb3JJRChfaWRlbnRp
Zmllcik7Cit9CisKKyNlbmRpZgorCiAtICh2b2lkKWRldGFjaAogewogICAgIG1fb2JqZWN0ID0g
bnVsbHB0cjsKKyAgICBfaWRlbnRpZmllciA9IDA7CiB9CiAKIC0gKEJPT0wpdXBkYXRlT2JqZWN0
QmFja2luZ1N0b3JlCiB7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkK
KyAgICBBWElzb2xhdGVkVHJlZTo6dHJlZUZvcklEKHNlbGYuaXNvbGF0ZWRUcmVlSWRlbnRpZmll
ciktPmFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKyAgICByZXR1cm4gX2lkZW50aWZpZXI7CisjZWxz
ZQogICAgIC8vIENhbGxpbmcgdXBkYXRlQmFja2luZ1N0b3JlKCkgY2FuIGludmFsaWRhdGUgdGhp
cyBlbGVtZW50IHNvIHNlbGYgbXVzdCBiZSByZXRhaW5lZC4KICAgICAvLyBJZiBpdCBkb2VzIGJl
Y29tZSBpbnZhbGlkYXRlZCwgbV9vYmplY3Qgd2lsbCBiZSBuaWwuCiAgICAgQ0ZSZXRhaW4oKF9f
YnJpZGdlIENGVHlwZVJlZilzZWxmKTsKQEAgLTI5OSw2ICszMTgsNyBAQAogICAgICAgICByZXR1
cm4gTk87CiAgICAgCiAgICAgcmV0dXJuIFlFUzsKKyNlbmRpZgogfQogCiAtIChpZClhdHRhY2ht
ZW50VmlldwpAQCAtMzYwLDExICszODAsMjEgQEAKICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmlu
Z107CiB9CiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVjdCBzZWxmLmF4QmFja2luZ09iamVjdAor
LSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSopYXhCYWNraW5nT2JqZWN0
Cit7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICByZXR1cm4g
c2VsZi5pc29sYXRlZFRyZWVOb2RlLmdldCgpOworI2Vsc2UKKyAgICByZXR1cm4gbV9vYmplY3Q7
CisjZW5kaWYKK30KKwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
CiB7CiAgICAgLy8gU3RhdGljIHRleHQgb2JqZWN0cyBzaG91bGQgbm90IGhhdmUgYSBkZXNjcmlw
dGlvbi4gSXRzIGNvbnRlbnQgaXMgY29tbXVuaWNhdGVkIGluIGl0cyBBWFZhbHVlLgogICAgIC8v
IE9uZSBleGNlcHRpb24gaXMgdGhlIG1lZGlhIGNvbnRyb2wgbGFiZWxzIHRoYXQgaGF2ZSBhIHZh
bHVlIGFuZCBhIGRlc2NyaXB0aW9uLiBUaG9zZSBhcmUgc2V0IHByb2dyYW1hdGljYWxseS4KLSAg
ICBpZiAobV9vYmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNU
ZXh0ICYmICFtX29iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQorICAgIGlmIChfYXhCYWNr
aW5nT2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dCAm
JiAhX2F4QmFja2luZ09iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQogICAgICAgICByZXR1
cm4gW05TU3RyaW5nIHN0cmluZ107CiAgICAgCiAgICAgVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0
PiB0ZXh0T3JkZXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5t
bQkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQx
Niw2ICs0MTYsOCBAQAogI2RlZmluZSBOU0FjY2Vzc2liaWxpdHlSZWxhdGl2ZUZyYW1lQXR0cmli
dXRlIEAiQVhSZWxhdGl2ZUZyYW1lIgogI2VuZGlmCiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVj
dCBzZWxmLmF4QmFja2luZ09iamVjdAorCiBleHRlcm4gIkMiIEFYVUlFbGVtZW50UmVmIE5TQWNj
ZXNzaWJpbGl0eUNyZWF0ZUFYVUlFbGVtZW50UmVmKGlkIGVsZW1lbnQpOwogCiBAaW1wbGVtZW50
YXRpb24gV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIKQEAgLTE5NzAsMTAgKzE5NzIsMTAg
QEAKIC0gKE5TU3RyaW5nKilyb2xlCiB7CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElP
TlNfQkVHSU4KLSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKQorICAgIGlmIChfYXhC
YWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRh
Y2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVJv
bGVBdHRyaWJ1dGVdOwogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAotICAg
IEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUgPSBtX29iamVjdC0+cm9sZVZhbHVlKCk7CisgICAgQWNj
ZXNzaWJpbGl0eVJvbGUgcm9sZSA9IF9heEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpOwogCiAg
ICAgaWYgKHJvbGUgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OkxhYmVsICYmIGlzPEFjY2Vzc2liaWxp
dHlMYWJlbD4oKm1fb2JqZWN0KSAmJiBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5TGFiZWw+KCptX29i
amVjdCkuY29udGFpbnNPbmx5U3RhdGljVGV4dCgpKQogICAgICAgICByb2xlID0gQWNjZXNzaWJp
bGl0eVJvbGU6OlN0YXRpY1RleHQ7CkBAIC0yMDAwLDcgKzIwMDIsNyBAQAogICAgIGlmIChtX29i
amVjdC0+aXNTZWFyY2hGaWVsZCgpKQogICAgICAgICByZXR1cm4gTlNBY2Nlc3NpYmlsaXR5U2Vh
cmNoRmllbGRTdWJyb2xlOwogICAgIAotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkp
IHsKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAg
TlNWaWV3KiBhdHRhY2hWaWV3ID0gW3NlbGYgYXR0YWNobWVudFZpZXddOwogICAgICAgICBpZiAo
W1thdHRhY2hWaWV3IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6
TlNBY2Nlc3NpYmlsaXR5U3Vicm9sZUF0dHJpYnV0ZV0pCiAgICAgICAgICAgICByZXR1cm4gW2F0
dGFjaFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVN1YnJv
bGVBdHRyaWJ1dGVdOwpAQCAtMjIxMSw3ICsyMjEzLDcgQEAKIAogICAgIEFMTE9XX0RFUFJFQ0FU
RURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgLy8gYXR0YWNobWVudHMgaGF2ZSB0aGUgQVhJbWFn
ZSByb2xlLCBidXQgYSBkaWZmZXJlbnQgc3Vicm9sZQotICAgIGlmIChtX29iamVjdC0+aXNBdHRh
Y2htZW50KCkpCisgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKQogICAg
ICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
VmFsdWU6TlNBY2Nlc3NpYmlsaXR5Um9sZURlc2NyaXB0aW9uQXR0cmlidXRlXTsKICAgICBBTExP
V19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIApAQCAtMjU2OCw3ICsyNTcwLDcgQEAKICAg
ICAgICAgcmV0dXJuIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDogbV9vYmplY3QtPmlzVmlzaXRl
ZCgpXTsKICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0Fj
Y2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0
dGFjaG1lbnQoKSkgeworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50
KCkpIHsKICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmls
aXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0
cmlidXRlXSkKICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBh
Y2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1dGVd
OwogICAgICAgICB9CkBAIC0yNTg1LDcgKzI1ODcsNyBAQAogICAgIH0KICAgICAKICAgICBpZiAo
W2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlv
bkF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewor
ICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAg
ICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFt
ZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmls
aXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdOwog
ICAgICAgICB9CkBAIC0yNTkzLDcgKzI1OTUsNyBAQAogICAgIH0KICAgICAKICAgICBpZiAoW2F0
dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0
ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAgICBp
ZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlmIChb
W1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRh
aW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFs
dWU6TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdOwogICAgICAgICB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyMTUsNiArODIxNSwxMSBAQAogCiAg
ICAgcmV0dXJuICptX2xvZ2dlcjsKIH0KKyAgICAKK09wdGlvbmFsPHVpbnQ2NF90PiBEb2N1bWVu
dDo6cGFnZUlEKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZS0+bG9hZGVyKCkuY2xpZW50
KCkucGFnZUlEKCk7Cit9CiAKIHZvaWQgRG9jdW1lbnQ6Omhhc1N0b3JhZ2VBY2Nlc3MoUmVmPERl
ZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJl
dmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC02NDgsNiArNjQ4LDcgQEAKICAgICBXRUJDT1JFX0VYUE9SVCBBWE9iamVjdENh
Y2hlKiBheE9iamVjdENhY2hlKCkgY29uc3Q7CiAgICAgdm9pZCBjbGVhckFYT2JqZWN0Q2FjaGUo
KTsKIAorICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBwYWdlSUQoKSBjb25zdDsKICAgICAvLyB0byBn
ZXQgdmlzdWFsbHkgb3JkZXJlZCBoZWJyZXcgYW5kIGFyYWJpYyBwYWdlcyByaWdodAogICAgIHZv
aWQgc2V0VmlzdWFsbHlPcmRlcmVkKCk7CiAgICAgYm9vbCB2aXN1YWxseU9yZGVyZWQoKSBjb25z
dCB7IHJldHVybiBtX3Zpc3VhbGx5T3JkZXJlZDsgfQpJbmRleDogU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0
MDI0NikKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNv
bT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdEJhc2UubW06CisgICAgICAgICgtW1dLQWNjZXNzaWJpbGl0eVdlYlBh
Z2VPYmplY3RCYXNlIGFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcl0pOgorCiAyMDE5LTAx
LTIxICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxl
bWVudCBtZXNzYWdlIGhhbmRsZXJzIGZvciBOZXR3b3JrUHJvY2Vzcy1iYXNlZCBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzCkluZGV4OiBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDIwNikKKysrIFNvdXJjZS9X
ZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29w
eSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9U
T1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNo
ID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5BQkxF
X0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25l
b3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3Ig
PSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBACiAKIEVOQUJMRV9YU0xUID0g
RU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElD
QVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RS
QUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5U
QUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
RVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRB
TCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
Q1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlT
U0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJM
RV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VS
Q0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0Vf
V09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RB
VElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxF
X1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJF
QU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJH
UFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VP
YmplY3RCYXNlLmgJKHJldmlzaW9uIDI0MDI0NikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMiw3ICszMiw5IEBACiAKIEBpbnRlcmZhY2UgV0tBY2Nlc3NpYmlsaXR5V2Vi
UGFnZU9iamVjdEJhc2UgOiBOU09iamVjdCB7CiAgICAgV2ViS2l0OjpXZWJQYWdlKiBtX3BhZ2U7
CisgICAgdWludDY0X3QgbV9wYWdlSUQ7CiAgICAgaWQgbV9wYXJlbnQ7CisgICAgYm9vbCBtX2hh
c1BsdWdpbjsKIH0KIAogLSAodm9pZClzZXRXZWJQYWdlOihXZWJLaXQ6OldlYlBhZ2UqKXBhZ2U7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdEJhc2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCShy
ZXZpc2lvbiAyNDAyNDYpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
V0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTM0
LDYgKzM0LDcgQEAKICNpbXBvcnQgIldLU2hhcmVkQVBJQ2FzdC5oIgogI2ltcG9ydCAiV0tTdHJp
bmcuaCIKICNpbXBvcnQgIldLU3RyaW5nQ0YuaCIKKyNpbXBvcnQgPFdlYkNvcmUvQVhJc29sYXRl
ZFRyZWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQVhPYmplY3RDYWNoZS5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9Eb2N1bWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZS5oPgpAQCAtNDcsMzMgKzQ4
LDczIEBACiAKIEBpbXBsZW1lbnRhdGlvbiBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFz
ZQogCi0tIChpZClhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXIKKy0gKFdlYkNvcmU6OkFY
T2JqZWN0Q2FjaGUqKWF4T2JqZWN0Q2FjaGUKIHsKLSAgICBpZiAoIVdlYkNvcmU6OkFYT2JqZWN0
Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCi0gICAgICAgIFdlYkNvcmU6OkFYT2JqZWN0
Q2FjaGU6OmVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKLQotICAgIGlmICghbV9wYWdlKQotICAgICAg
ICByZXR1cm4gbmlsOwotICAgIAotICAgIE5TT2JqZWN0KiBtYWluRnJhbWVQbHVnaW5BY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlciA9IG1fcGFnZS0+YWNjZXNzaWJpbGl0eU9iamVjdEZvck1haW5G
cmFtZVBsdWdpbigpOwotICAgIGlmIChtYWluRnJhbWVQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlcikKLSAgICAgICAgcmV0dXJuIG1haW5GcmFtZVBsdWdpbkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyOwotCiAgICAgV2ViQ29yZTo6UGFnZSogcGFnZSA9IG1fcGFnZS0+Y29yZVBhZ2Uo
KTsKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBuaWw7Ci0gICAgCiAgICAgV2ViQ29y
ZTo6RnJhbWUmIGNvcmUgPSBwYWdlLT5tYWluRnJhbWUoKTsKICAgICBpZiAoIWNvcmUuZG9jdW1l
bnQoKSkKICAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIHJldHVybiBjb3JlLmRvY3VtZW50KCkt
PmF4T2JqZWN0Q2FjaGUoKTsKK30KKworLSAoaWQpYWNjZXNzaWJpbGl0eVBsdWdpbk9iamVjdAor
eworICAgIGF1dG8gcmV0cmlldmVCbG9jayA9IFsmc2VsZl0oKSAtPiBpZCB7CisgICAgICAgIGlk
IGF4UGx1Z2luID0gbmlsOworICAgICAgICBhdXRvIGRpc3BhdGNoQmxvY2sgPSBbJmF4UGx1Z2lu
LCAmc2VsZl0geworICAgICAgICAgICAgaWYgKHNlbGYtPm1fcGFnZSkKKyAgICAgICAgICAgICAg
ICBheFBsdWdpbiA9IHNlbGYtPm1fcGFnZS0+YWNjZXNzaWJpbGl0eU9iamVjdEZvck1haW5GcmFt
ZVBsdWdpbigpOworICAgICAgICB9OworCisgICAgICAgIGlmIChSdW5Mb29wOjppc01haW4oKSkK
KyAgICAgICAgICAgIGRpc3BhdGNoQmxvY2soKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
ZGlzcGF0Y2hfc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBkaXNwYXRjaEJsb2NrKTsK
KyAgICAgICAgcmV0dXJuIGF4UGx1Z2luOworICAgIH07CiAgICAgCi0gICAgV2ViQ29yZTo6QVhP
YmplY3RDYWNoZSogY2FjaGUgPSBjb3JlLmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKTsKLSAg
ICBpZiAoIWNhY2hlKQotICAgICAgICByZXR1cm4gbmlsOwotICAgIAotICAgIGlmIChXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiByb290ID0gY2FjaGUtPnJvb3RPYmplY3QoKSkKLSAgICAg
ICAgcmV0dXJuIHJvb3QtPndyYXBwZXIoKTsKLSAgICAKKyAgICByZXR1cm4gcmV0cmlldmVCbG9j
aygpOworfQorCistIChpZClhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXIKK3sKKyAgICBp
ZiAoIVdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCisgICAg
ICAgIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKKworICAg
IGlmIChtX2hhc1BsdWdpbikKKyAgICAgICAgcmV0dXJuIHNlbGYuYWNjZXNzaWJpbGl0eVBsdWdp
bk9iamVjdDsKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAg
YXV0byBnZW5lcmF0ZUJsb2NrID0gWyZdIHsKKyAgICAgICAgYXV0byBkaXNwYXRjaEJsb2NrID0g
WyZzZWxmXSB7CisgICAgICAgICAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBbc2VsZiBh
eE9iamVjdENhY2hlXSkgeworICAgICAgICAgICAgICAgIGF1dG8gdHJlZSA9IGNhY2hlLT5nZW5l
cmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlSWZOZWVkZWQoKTsKKyAgICAgICAgICAgICAgICB0
cmVlLT5hcHBseVBlbmRpbmdDaGFuZ2VzKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisK
KyAgICAgICAgaWYgKFJ1bkxvb3A6OmlzTWFpbigpKQorICAgICAgICAgICAgZGlzcGF0Y2hCbG9j
aygpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBkaXNwYXRjaF9zeW5jKGRpc3BhdGNoX2dl
dF9tYWluX3F1ZXVlKCksIGRpc3BhdGNoQmxvY2spOworICAgIH07CisKKyAgICBhdXRvIHRyZWUg
PSBBWElzb2xhdGVkVHJlZTo6dHJlZUZvclBhZ2VJRChtX3BhZ2VJRCk7CisgICAgYXV0byByb290
Tm9kZSA9IHRyZWUtPnJvb3ROb2RlKCk7CisgICAgaWYgKCFyb290Tm9kZSkKKyAgICAgICAgZ2Vu
ZXJhdGVCbG9jaygpOworCisgICAgaWYgKChyb290Tm9kZSA9IHRyZWUtPnJvb3ROb2RlKCkpKQor
ICAgICAgICByZXR1cm4gcm9vdE5vZGUtPndyYXBwZXIoKTsKKyNlbHNlCisgICAgaWYgKEFYT2Jq
ZWN0Q2FjaGUqIGNhY2hlID0gW3NlbGYgYXhPYmplY3RDYWNoZV0pIHsKKyAgICAgICAgaWYgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIHJvb3QgPSBjYWNoZS0+cm9vdE9iamVjdCgpKQor
ICAgICAgICAgICAgcmV0dXJuIHJvb3QtPndyYXBwZXIoKTsKKyAgICB9CisjZW5kaWYKICAgICBy
ZXR1cm4gbmlsOwogfQogCkBAIC04MCw2ICsxMjEsMTQgQEAKIC0gKHZvaWQpc2V0V2ViUGFnZToo
V2ViUGFnZSopcGFnZQogewogICAgIG1fcGFnZSA9IHBhZ2U7CisgICAgCisgICAgaWYgKHBhZ2Up
IHsKKyAgICAgICAgbV9wYWdlSUQgPSBwYWdlLT5wYWdlSUQoKTsKKyAgICAgICAgbV9oYXNQbHVn
aW4gPSBwYWdlLT5hY2Nlc3NpYmlsaXR5T2JqZWN0Rm9yTWFpbkZyYW1lUGx1Z2luKCk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgbV9wYWdlSUQgPSAwOworICAgICAgICBtX2hhc1BsdWdpbiA9IGZh
bHNlOworICAgIH0KIH0KIAogLSAodm9pZClzZXRSZW1vdGVQYXJlbnQ6KGlkKXBhcmVudApJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMjQ2KQorKysgU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTktMDEtMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnOgorCiAyMDE5LTAxLTE1ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVc2UgcmVmZXJlbmNlcyByYXRoZXIgdGhhbiBwb2ludGVycyBmb3IgcmVnaXN0ZXIvdW5y
ZWdpc3RlciBmdW5jdGlvbnMsIGFuZCBtb3JlCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwkocmV2aXNpb24gMjQwMjA2KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYg
KzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNP
TEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8k
KFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVf
QVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQ
TEVfUEFZOwpAQCAtNDA2LDQgKzQwOCw0IEBACiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7
CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZF
U1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxF
X0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9D
U1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RB
UktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lO
VEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMp
ICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJ
T05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FS
RF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFC
TEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFC
TEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9T
VEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVF
U1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NB
R0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05f
Rk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NS
RUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkg
JChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJM
RV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dS
QURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VY
UEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9L
RVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9U
T0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklE
RU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VC
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9f
VVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOwpJbmRleDogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQkocmV2aXNpb24gMjQwMjQ2KQor
KysgU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0x
ODcsNiArMTg3LDcgQEAKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU01PT1RIX1ND
Uk9MTElORyAiVG9nZ2xlIHNtb290aCBzY3JvbGxpbmciIFBSSVZBVEUgT04pCiAgICAgV0VCS0lU
X09QVElPTl9ERUZJTkUoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMgIlRvZ2dsZSBTcGVlY2ggU3lu
dGhlc2lzIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfU1BFTExDSEVDSyAiVG9nZ2xlIFNwZWxsY2hlY2tpbmcgc3VwcG9ydCAocmVxdWly
ZXMgRW5jaGFudCkiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFICJUb2dnbGUgc3RhdGljIGFjY2Vzc2liaWxpdHkg
dHJlZSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfU1RSRUFNU19BUEkgIlRvZ2dsZSBTdHJlYW1zIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9OKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TVkdfRk9OVFMgIlRvZ2dsZSBTVkcgRm9u
dHMgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04gIlRvZ2dsZSB0ZWxlcGhvbmUgbnVtYmVyIGRldGVj
dGlvbiBzdXBwb3J0IiBQUklWQVRFIE9GRikKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDI0NikKKysrIFRvb2xzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTExICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBh
IHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMy
OTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDE5LTAxLTIxICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAg
ICAgICAgIFtHVEtdW1dQRV0gbGliZ2NyeXB0LTEuNy42IGNhbid0IGJlIGNvbXBpbGVkIG9uIFVi
dW50dSAxOC4xMApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyNDAyMDYpCisr
KyBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7
CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBM
RV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
QVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNiw0ICs0MDgsNCBAQAog
CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1Nf
Q09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9O
UykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tF
WUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VT
VE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9M
T0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JL
RVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VC
X1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlO
R19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkg
JChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVO
QUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9D
X0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlO
VElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURf
T00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9D
U1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9O
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxF
X0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05F
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExF
UlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVO
QUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVf
V0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360093</attachid>
            <date>2019-01-25 02:16:06 -0800</date>
            <delta_ts>2019-01-25 02:50:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>105247</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTI1ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0yNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmUgdXNhZ2Ugb2YgaW50ZXJuYWwgbWFjcm8gZnJvbSBwcml2YXRlIGhl
YWRlcgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwNDcwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7
CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBM
RV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
QVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNyw0ICs0MDksNCBAQAog
CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1Nf
Q09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9O
UykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tF
WUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VT
VE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9M
T0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JL
RVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VC
X1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlO
R19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkg
JChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVO
QUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9D
X0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlO
VElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURf
T00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9D
U1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9O
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxF
X0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05F
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExF
UlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVO
QUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVf
V0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQAogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVz
L3dlYnNvY2tldHMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvd2VidnIiCiAgICAgIiR7
V0VCQ09SRV9ESVJ9L2FjY2Vzc2liaWxpdHkiCisgICAgIiR7V0VCQ09SRV9ESVJ9L2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlIgogICAgICIke1dFQkNPUkVfRElSfS9hbmltYXRpb24iCiAgICAg
IiR7V0VCQ09SRV9ESVJ9L2JpbmRpbmdzIgogICAgICIke1dFQkNPUkVfRElSfS9iaW5kaW5ncy9q
cyIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDc4IEBACisyMDE5LTAxLTI1ICBDaHJp
cyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVj
ZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcy
MDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW4gb3JkZXIgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSB3aGVuIHJlcXVlc3RpbmcgdGhlIGFjY2Vz
c2liaWxpdHkgaGllcmFyY2h5LCB3ZSBpbnRyb2R1Y2UgdGhlIGlkZWEgb2YgYSAic3RhdGljIGFj
Y2Vzc2liaWxpdHkgdHJlZSIgd2hpY2ggCisgICAgICAgIGNvdWxkIGJlIGFjY2Vzc2VkIG9uIGEg
ZGlmZmVyZW50IHRocmVhZCBieSBhc3Npc3RpdmUgdGVjaG5vbG9naWVzLgorICAgICAgICBUaGF0
IGlzIGFjY29tcGxpc2hlZCBieSBzdG9yaW5nIGFsbCB0aGUgZGF0YSBuZWVkZWQgdG8gYW5zd2Vy
IGFjY2Vzc2liaWxpdHkgYXR0cmlidXRlIHF1ZXJpZXMgaW4gYSBzdGF0aWMgb2JqZWN0IHRoYXQg
bWlycm9ycyB0aGUgCisgICAgICAgICJsaXZlIiBBY2Nlc3NpYmlsaXR5T2JqZWN0cyAod2hpY2gg
aW50ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVzKS4KKyAgICAgICAgVGhlc2Ug
c3RhdGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFmdGVyIGxheW91dCBpcyBkb25l
IGFuZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBUaGV5IGFyZSB0aGVuIHN0b3Jl
ZCBpbiB0aGUgc3RhdGljIHRyZWUgCisgICAgICAgIHJlcHJlc2VudGF0aW9uIGFuZCBhYmxlIHRv
IGJlIHJlYWQgZnJvbSBhbnl3aGVyZS4KKyAgICAgICAgVGFjdGljYWxseSB0aGlzIGlzIGRvbmUg
d2l0aCBBWElzb2xhdGVkVHJlZU5vZGVzIGluc2lkZSBvZiBhbiBBWElzb2xhdGVkVHJlZS4gVGhl
IFRyZWVOb2RlcyBpbXBsZW1lbnQgYW4gQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSBzaGFy
ZWQgCisgICAgICAgIHdpdGggQWNjZXNzaWJpbGl0eU9iamVjdC4KKyAgICAgICAgVGhpcyBhbGxv
d3MgdGhlIHdyYXBwZXJzIHRvIGFjY2VzcyBlaXRoZXIgb25lIGRlcGVuZGluZyBvbiBjb25kaXRp
b25zIGFuZCBwbGF0Zm9ybXMgd2l0aG91dCBzaWduaWZpY2FudCBjb2RlIGR1cGxpY2F0aW9uIG9y
IHJlLW9yZ2FuaXphdGlvbi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFNvdXJj
ZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OmNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9pc29sYXRlZHRyZWU6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpB
WElzb2xhdGVkVHJlZTo6dHJlZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlOjpBWElzb2xhdGVkVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9ySUQpOgor
ICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6Om5vZGVGb3JJRCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6cm9vdE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJ
c29sYXRlZFRyZWU6OnJlbW92ZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRy
ZWU6OmFwcGVuZE5vZGVDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVl
OjphcHBseVBlbmRpbmdDaGFuZ2VzKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlOjp0cmVlSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcDogQWRkZWQuCisgICAgICAgICAgICBU
byBub3RlOiB3ZSBkb24ndCBtYXJrIHRoZSBhdHRyaWJ1dGUgbWFwIGNvbnN0IGJlY2F1c2UgZXZl
biB0aG91Z2ggYXR0cmlidXRlcyBkb24ndCBjaGFuZ2UgYWZ0ZXIgaW5pdGlhbCBjcmVhdGlvbiwK
KyAgICAgICAgICAgIHdlIG1heSBjb3B5IGFuIGV4aXN0aW5nIG5vZGUgYW5kIHJlcGxhY2Ugc3Bl
Y2lmaWMgdmFsdWVzLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpBWElz
b2xhdGVkVHJlZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjppbml0aWFsaXpl
QXR0cmlidXRlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OnNl
dFByb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6ZG91Ymxl
QXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVO
b2RlOjp1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFY
SXNvbGF0ZWRUcmVlTm9kZTo6Ym9vbEF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6c3RyaW5nQXR0cmlidXRlVmFsdWUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjppbnRBdHRyaWJ1dGVWYWx1ZSBj
b25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVOb2RlLmg6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2Fj
aGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphc3NvY2lhdGVJc29s
YXRlZFRyZWVOb2RlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckJhc2UuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZSBpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6XSk6Cisg
ICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBpc29sYXRlZFRyZWVO
b2RlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBkZXRh
Y2hdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIHVwZGF0
ZU9iamVjdEJhY2tpbmdTdG9yZV0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlckJhc2UgYXhCYWNraW5nT2JqZWN0XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyQmFzZSBiYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uXSk6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMu
bW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHJvbGVdKToKKyAg
ICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgc3Vicm9sZV0pOgorICAgICAg
ICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByb2xlRGVzY3JpcHRpb25dKToKKyAg
ICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJp
YnV0ZVZhbHVlOl0pOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6cGFnZUlEIGNvbnN0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoK
KwogMjAxOS0wMS0yNCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtMRkNdW0JGQ11bTWFyZ2luQ29sbGFwc2luZ10gUmVmYWN0b3IgTWFyZ2luQ29sbGFwc2U6OnVw
ZGF0ZUNvbGxhcHNlZE1hcmdpbkFmdGVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwNDcw
KQorKysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsK
IAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExF
X1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9B
UFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9p
cGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA3LDQgKzQwOSw0IEBACiAK
IEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JB
VElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19D
T05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FS
RF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05T
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZ
Qk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNU
T01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
TUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVS
RSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9O
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xP
QURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktF
UikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJf
UlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5H
X0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAk
KEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5B
QkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFC
TEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0Nf
TE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5U
SU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9P
TSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NT
UykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04p
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVf
RkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
RlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZF
UikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRU
UklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRf
Rk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FH
RSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVS
UykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5B
QkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
QVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDEtMjUgIENocmlzIEZsZWl6YWNoICA8Y2Zs
ZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGlzb2xhdGVkIGFjY2Vz
c2liaWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTI0ICBFcmljIENhcmxzb24gIDxl
cmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFNpbGVuY2UgTWVkaWFQbGF5
ZXIgY29tcGlsZSB3YXJuaW5ncwpJbmRleDogU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQw
NDcwKQorKysgU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJM
RV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBF
TkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBM
RV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNyw0ICs0MDks
NCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJN
SVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9J
TlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5B
QkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFC
TEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NU
UkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dF
QkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1Qp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBP
U0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1Nf
VFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktf
TU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVS
QUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQo
RU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05f
T0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9D
T0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVf
TEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVf
TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01B
Q19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFO
REFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Qp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VS
Q0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0Vf
SEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChF
TkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNDA1LDYgKzQwNSw4IEBACiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlU
cmVlLmNwcAogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZUl0ZW0uY3BwCiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmNwcAorYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZU5vZGUuY3BwCiAKIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuY3BwCiBhbmlt
YXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0MDQ3MCkK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtNjk2LDYgKzY5Niw3IEBACiAJCTI2RjlBODM4MThBMDQ2QUMwMEFFQjg4
QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0
Q29uZmlndXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4QSAvKiBW
aWV3cG9ydENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3Vy
YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkyOTE0RTMwODFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNB
QjVBNDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OworCQkyOTM2
QkY1QzIxRDY5RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2
OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZF
MDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyog
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjk0ODlGQzcxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2li
aWxpdHlTY3JvbGxWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9sbFZp
ZXcuaCAqLzsgfTsKIAkJMjk3QkUzRDUxNkMwM0MwODAwMzMxNkJEIC8qIFBsYXRmb3JtU3BlZWNo
U3ludGhlc2lzVXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyNTI3Q0M5MTE2QkY4QkExMDA5RERBQzAgLyogUGxhdGZvcm1TcGVlY2hTeW50
aGVzaXNVdHRlcmFuY2UuaCAqLzsgfTsKQEAgLTcxNyw2ICs3MTgsOCBAQAogCQkyOUE4MTI0MzBG
QkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3guaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjI1MEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5TGlzdEJveC5oICovOyB9OwogCQkyOUE4MTI0OTBGQkI5Q0E5MDA1MTAy
OTMgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTI0NTBGQkI5Q0E5MDA1MTAyOTMg
LyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjlBQ0IyMTIxNDNFNzEyODAwNkJDQTVG
IC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJp
bGl0eU1vY2tPYmplY3QuaCAqLzsgfTsKKwkJMjlBRTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFY
SXNvbGF0ZWRUcmVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyOUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyOUFFMjEzNTIxQUJB
NDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJ
c29sYXRlZFRyZWVOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMjlEN0JDRkExNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
OUQ3QkNGOTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLzsg
fTsKIAkJMjlGQUY0QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3Vw
TWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUZB
RjRCNTE5NUFCMDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyQjM2NUM4NDE1
MjUxMTlFMDA5MUQyN0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2MDAwREJCQ0Q4IC8qIFJl
bmRlclNWR0VsbGlwc2UuaCAqLzsgfTsKQEAgLTY1ODQsNiArNjU4Nyw3IEBACiAJCTI4REI5QkM3
MjAyMEVBMDQwMEU1NEEwNyAvKiBQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyOTE0RTMwNTFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0
eUF0dGFjaG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNj
ZXNzaWJpbGl0eUF0dGFjaG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
OTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8q
IEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJp
bGl0eU9iamVjdEludGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNF
QUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyog
QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMjk0OTg2ODExOTUzNDE5NDAwNzJEMkJEIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFj
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFVuZG9JbnNl
cnRpb25NYXJrdXBNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NjMxLDYg
KzY2MzUsMTAgQEAKIAkJMjlBODEyNDcwRkJCOUNBOTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVN
YWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBWE9iamVjdENh
Y2hlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFDQjIxMTE0M0U3MTI4
MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMjlBQ0IyMTMxNDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlN
b2NrT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vz
c2liaWxpdHlNb2NrT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlB
RTIxMkIyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEFYSXNvbGF0ZWRUcmVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJD
MjFBQjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBBWElzb2xhdGVkVHJlZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUy
MTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQVhJc29sYXRlZFRyZWVOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5
QUUyMTM0MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQVhJc29sYXRlZFRyZWVOb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMjlEN0JDRjUxNDQ0QUY1ODAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0
dG9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxp
dHlTcGluQnV0dG9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlEN0JDRjkx
NDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RTA0QTI3QkVEMkY4MUY5OEU5MDIyQiAvKiBKU0JlZm9y
ZVVubG9hZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQmVmb3Jl
VW5sb2FkRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjU0LDYgKzE3
MjYyLDcgQEAKIAkJMjlBODEyMDQwRkJCOUI0MTAwNTEwMjkzIC8qIGFjY2Vzc2liaWxpdHkgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTI5QUUyMTI5MjFB
QjlFQ0IwMDg2OTI4MyAvKiBpc29sYXRlZHRyZWUgKi8sCiAJCQkJQUFBNzI4RUYxNkQxRDhCQzAw
RDNCQkM2IC8qIGlvcyAqLywKIAkJCQkyOUE4MTIwNTBGQkI5QjUyMDA1MTAyOTMgLyogbWFjICov
LAogCQkJCTI5ODFDQTlEMTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQu
Y3BwICovLApAQCAtMTcyOTIsNiArMTczMDEsNyBAQAogCQkJCTI5ODU3MDkzMTVDQzUzMkQwMDYz
NTVDRCAvKiBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oICovLAogCQkJCTI5ODFDQUE1MTMxODIy
RUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAqLywKIAkJCQkyOUE4MTIxODBG
QkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdC5oICovLAorCQkJCTI5MzZCRjVB
MjFENjk5OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggKi8sCiAJ
CQkJQTQwOUM5ODIxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGlj
YXRvci5jcHAgKi8sCiAJCQkJQTQwOUM5ODMxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxp
dHlQcm9ncmVzc0luZGljYXRvci5oICovLAogCQkJCTI5ODFDQUE2MTMxODIyRUMwMEQxMkYyQSAv
KiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAqLywKQEAgLTE3MzQ3LDYgKzE3MzU3LDE3
IEBACiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJ
MjlBRTIxMjkyMUFCOUVDQjAwODY5MjgzIC8qIGlzb2xhdGVkdHJlZSAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMjlBRTIxMkIyMUFCOUVFQjAwODY5Mjgz
IC8qIEFYSXNvbGF0ZWRUcmVlLmggKi8sCisJCQkJMjlBRTIxMkMyMUFCOUVFQjAwODY5MjgzIC8q
IEFYSXNvbGF0ZWRUcmVlLmNwcCAqLywKKwkJCQkyOUFFMjEzMzIxQUJBNDhBMDA4NjkyODMgLyog
QVhJc29sYXRlZFRyZWVOb2RlLmggKi8sCisJCQkJMjlBRTIxMzQyMUFCQTQ4QTAwODY5MjgzIC8q
IEFYSXNvbGF0ZWRUcmVlTm9kZS5jcHAgKi8sCisJCQkpOworCQkJcGF0aCA9IGlzb2xhdGVkdHJl
ZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTJEMDYyMTQ2MURBNjM5RUMw
MEE3RkIyNiAvKiBsZWdhY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKApAQCAtMjk5NzIsNiArMjk5OTMsNyBAQAogCQkJCTFBRTJBQTk4MEExQ0REMkQwMEI0MkIy
NSAvKiBKU0hUTUxJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU3RTk3MEEx
QTgzRTMwMDdGQjhDNSAvKiBKU0hUTUxJbnB1dEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTgzNkIwOTU2MUY1RjM0RDkwMDNDMzcwMiAvKiBKU0hUTUxJbnB1dEVsZW1lbnRFbnRyaWVzQVBJ
LmggaW4gSGVhZGVycyAqLywKKwkJCQkyOTM2QkY1QzIxRDY5RTRCMDA0QThGQzkgLyogQWNjZXNz
aWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTYxNDhBNzkxMkU0
MUUzQjAwNDRBNzg0IC8qIEpTSFRNTEtleWdlbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBRTJBQjIyMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMYWJlbEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBRTJBQjI0MEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMZWdlbmRFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMxNDI3LDYgKzMxNDQ5LDcgQEAKIAkJCQk1MTQwNUM4
OTE5MEIwMTQ0MDA3NTRGOTQgLyogU2VsZWN0aW9uUmVjdEdhdGhlcmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFNDRCNEJCNDE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk0MzJEM0ZFODE4QTg2NTg0MDBEN0RDMDMgLyogU2VsZWN0b3JDaGVj
a2VyVGVzdEZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMzUyMUFCQTQ4QTAw
ODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjZCOTk5
OTcxODA0RDU0MjAwRDAxMTIxIC8qIFNlbGVjdG9yQ29tcGlsZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQxNTA3MTU4MTY4NTA2NzMwMEMzQzdCMyAvKiBTZWxlY3RvckZpbHRlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDMxMDdCRTIxOENDMTlERTAwQ0MxOEU4IC8qIFNlbGVjdG9yUHNldWRvVHlw
ZU1hcC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjM2Miw2ICszMjM4NSw3IEBACiAJCQkJOTc3RTJF
MEYxMkYwRkM5QzAwQzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTU0MTZGRTYxODgxMEVGODAwMDlGQzVGIC8qIFlvdVR1YmVFbWJlZFNoYWRvd0VsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNTUxNUY1MTkxODMwQTMwMDk2ODdEMiAvKiBZb3VU
dWJlUGx1Z2luUmVwbGFjZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5QUUyMTJEMjFBQjlF
RUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1Mzcz
NTMxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkocmV2aXNpb24gMjQw
NDcwKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsOCBAQAogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNo
ZS5oIgogCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWUuaCIKKyNpbmNsdWRlICJBWElzb2xhdGVk
VHJlZU5vZGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaCIKICNpbmNsdWRl
ICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFS
SUFHcmlkUm93LmgiCkBAIC0xMTUsNiArMTE3LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxO
YW1lczsKIAorY29uc3QgQVhJRCBJbnZhbGlkQVhJRCA9IDA7CisKIC8vIFBvc3QgdmFsdWUgY2hh
bmdlIG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxkcyBvciBlbGVtZW50cyBjb250YWlu
ZWQgaW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRlcnZhbCB0byB0aHdhcnQgYW5hbHlz
aXMgb2YgdHlwaW5nIGNhZGVuY2UKIHN0YXRpYyBjb25zdCBTZWNvbmRzIGFjY2Vzc2liaWxpdHlQ
YXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwgeyAyNV9tcyB9Owogc3RhdGlj
IGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9u
SW50ZXJ2YWwgeyAyMF9tcyB9OwpAQCAtNzIzLDYgKzcyNywxMCBAQAogICAgIG9iamVjdC0+c2V0
QVhPYmplY3RJRCgwKTsKIAogICAgIG1faWRzSW5Vc2UucmVtb3ZlKGF4SUQpOworI2lmIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgaWYgKGF1dG8gcGFnZUlEID0gbV9k
b2N1bWVudC5wYWdlSUQoKSkKKyAgICAgICAgQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQo
KnBhZ2VJRCktPnJlbW92ZU5vZGUoYXhJRCk7CisjZW5kaWYKIAogICAgIEFTU0VSVChtX29iamVj
dHMuc2l6ZSgpID49IG1faWRzSW5Vc2Uuc2l6ZSgpKTsKIH0KQEAgLTI5MDcsNiArMjkxNSwzNyBA
QAogICAgIG1fZGVmZXJyZWRGb2N1c2VkTm9kZUNoYW5nZS5jbGVhcigpOwogfQogICAgIAorI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitSZWY8QVhJc29sYXRlZFRyZWVO
b2RlPiBBWE9iamVjdENhY2hlOjpjcmVhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlKEFjY2Vz
c2liaWxpdHlPYmplY3QmIG9iamVjdCwgQVhJRCBwYXJlbnRJRCwgQVhJc29sYXRlZFRyZWUmIHRy
ZWUsIFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4mIG5vZGVzKQoreworICAgIGF1
dG8gaXNvbGF0ZWRUcmVlTm9kZSA9IEFYSXNvbGF0ZWRUcmVlTm9kZTo6Y3JlYXRlKG9iamVjdCk7
CisgICAgbm9kZXMuYXBwZW5kKGlzb2xhdGVkVHJlZU5vZGUucHRyKCkpOworCisgICAgaXNvbGF0
ZWRUcmVlTm9kZS0+c2V0UGFyZW50KHBhcmVudElEKTsKKyAgICBhc3NvY2lhdGVJc29sYXRlZFRy
ZWVOb2RlKG9iamVjdCwgaXNvbGF0ZWRUcmVlTm9kZSwgdHJlZS50cmVlSWRlbnRpZmllcigpKTsK
KworICAgIGZvciAoYXV0byBjaGlsZCA6IG9iamVjdC5jaGlsZHJlbigpKSB7CisgICAgICAgIGF1
dG8gc3RhdGljQ2hpbGQgPSBjcmVhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlKCpjaGlsZCwg
aXNvbGF0ZWRUcmVlTm9kZS0+aWRlbnRpZmllcigpLCB0cmVlLCBub2Rlcyk7CisgICAgICAgIGlz
b2xhdGVkVHJlZU5vZGUtPmNoaWxkcmVuKCkuYXBwZW5kKHN0YXRpY0NoaWxkLT5pZGVudGlmaWVy
KCkpOworICAgIH0KKworICAgIHJldHVybiBpc29sYXRlZFRyZWVOb2RlOworfQorICAgIAorUmVm
PEFYSXNvbGF0ZWRUcmVlPiBBWE9iamVjdENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkQWNjZXNzaWJp
bGl0eVRyZWUoKQoreworICAgIFJFTEVBU0VfQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKworICAg
IGF1dG8gdHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKCptX2RvY3VtZW50LnBh
Z2VJRCgpKTsKKyAgICBWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+IG5vZGVzOwor
ICAgIGF1dG8gcm9vdCA9IGNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKnJvb3RPYmpl
Y3QoKSwgSW52YWxpZEFYSUQsIHRyZWUsIG5vZGVzKTsKKyAgICByb290LT5zZXRJc1Jvb3ROb2Rl
KHRydWUpOworICAgIHRyZWUtPmFwcGVuZE5vZGVDaGFuZ2VzKG5vZGVzKTsKKworICAgIHJldHVy
biB0cmVlOworfQorI2VuZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmRlZmVyUmVjb21w
dXRlSXNJZ25vcmVkSWZOZWVkZWQoRWxlbWVudCogZWxlbWVudCkKIHsKICAgICBpZiAoIW5vZGVB
bmRSZW5kZXJlckFyZVZhbGlkKGVsZW1lbnQpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NSw2ICsyNSw5IEBACiAKICNwcmFnbWEgb25jZQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlf
SVNPTEFURURfVFJFRSkKKyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZS5oIgorI2VuZGlmCiAjaW5j
bHVkZSAiQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5
T2JqZWN0LmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKQEAgLTM5LDYgKzQyLDkgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkK
K2NsYXNzIEFYSXNvbGF0ZWRUcmVlTm9kZTsKKyNlbmRpZgogY2xhc3MgRG9jdW1lbnQ7CiBjbGFz
cyBIVE1MQXJlYUVsZW1lbnQ7CiBjbGFzcyBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDsKQEAg
LTE4MCw2ICsxODYsMTMgQEAKICAgICB2b2lkIGRlZmVyQXR0cmlidXRlQ2hhbmdlSWZOZWVkZWQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIEVsZW1lbnQqKTsKICAgICB2b2lkIHJlY29tcHV0ZUlzSWdu
b3JlZChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKTsKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpCisgICAgV0VCQ09SRV9FWFBPUlQgUmVmPEFYSXNvbGF0ZWRUcmVlPiBn
ZW5lcmF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKTsKKworICAgIHZvaWQgYXNzb2NpYXRl
SXNvbGF0ZWRUcmVlTm9kZShBY2Nlc3NpYmlsaXR5T2JqZWN0JiwgQVhJc29sYXRlZFRyZWVOb2Rl
JiwgQVhJc29sYXRlZFRyZWVJRCk7CisgICAgUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gY3JlYXRl
SXNvbGF0ZWRBY2Nlc3NpYmlsaXR5VHJlZShBY2Nlc3NpYmlsaXR5T2JqZWN0JiwgQVhJRCwgQVhJ
c29sYXRlZFRyZWUmLCBWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+Jik7CisjZW5k
aWYKKyAgICAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAgICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRp
YyB2b2lkIGRpc2FibGVBY2Nlc3NpYmlsaXR5KCk7CkBAIC0xODcsNiArMjAwLDcgQEAKICAgICAv
LyBFbmhhbmNlZCB1c2VyIGludGVyZmFjZSBhY2Nlc3NpYmlsaXR5IGNhbiBiZSB0b2dnbGVkIGJ5
IHRoZSBhc3Npc3RpdmUgdGVjaG5vbG9neS4KICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9p
ZCBzZXRFbmhhbmNlZFVzZXJJbnRlcmZhY2VBY2Nlc3NpYmlsaXR5KGJvb2wgZmxhZyk7CiAgICAg
CisgICAgLy8gTm90ZTogdGhlc2UgbWF5IGJlIGNhbGxlZCBmcm9tIGEgbm9uLW1haW4gdGhyZWFk
IGNvbmN1cnJlbnRseSBhcyBvdGhlciByZWFkZXJzLgogICAgIHN0YXRpYyBib29sIGFjY2Vzc2li
aWxpdHlFbmFibGVkKCkgeyByZXR1cm4gZ0FjY2Vzc2liaWxpdHlFbmFibGVkOyB9CiAgICAgc3Rh
dGljIGJvb2wgYWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQoKSB7IHJl
dHVybiBnQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQ7IH0KICNlbHNl
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaAkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcg
QEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRGb3JtQ29u
dHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCkBAIC04OSwxNTcgKzkwLDYg
QEAKIGNsYXNzIFNjcm9sbFZpZXc7CiBjbGFzcyBXaWRnZXQ7CiAKLXR5cGVkZWYgdW5zaWduZWQg
QVhJRDsKLQotZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7Ci0gICAgQW5ub3RhdGlvbiA9
IDEsCi0gICAgQXBwbGljYXRpb24sCi0gICAgQXBwbGljYXRpb25BbGVydCwKLSAgICBBcHBsaWNh
dGlvbkFsZXJ0RGlhbG9nLAotICAgIEFwcGxpY2F0aW9uRGlhbG9nLAotICAgIEFwcGxpY2F0aW9u
R3JvdXAsCi0gICAgQXBwbGljYXRpb25Mb2csCi0gICAgQXBwbGljYXRpb25NYXJxdWVlLAotICAg
IEFwcGxpY2F0aW9uU3RhdHVzLAotICAgIEFwcGxpY2F0aW9uVGV4dEdyb3VwLAotICAgIEFwcGxp
Y2F0aW9uVGltZXIsCi0gICAgQXVkaW8sCi0gICAgQmxvY2txdW90ZSwKLSAgICBCcm93c2VyLAot
ICAgIEJ1c3lJbmRpY2F0b3IsCi0gICAgQnV0dG9uLAotICAgIENhbnZhcywKLSAgICBDYXB0aW9u
LAotICAgIENlbGwsCi0gICAgQ2hlY2tCb3gsCi0gICAgQ29sb3JXZWxsLAotICAgIENvbHVtbiwK
LSAgICBDb2x1bW5IZWFkZXIsCi0gICAgQ29tYm9Cb3gsCi0gICAgRGVmaW5pdGlvbiwKLSAgICBE
ZXNjcmlwdGlvbkxpc3QsCi0gICAgRGVzY3JpcHRpb25MaXN0VGVybSwKLSAgICBEZXNjcmlwdGlv
bkxpc3REZXRhaWwsCi0gICAgRGV0YWlscywKLSAgICBEaXJlY3RvcnksCi0gICAgRGlzY2xvc3Vy
ZVRyaWFuZ2xlLAotICAgIERpdiwKLSAgICBEb2N1bWVudCwKLSAgICBEb2N1bWVudEFydGljbGUs
Ci0gICAgRG9jdW1lbnRNYXRoLAotICAgIERvY3VtZW50Tm90ZSwKLSAgICBEcmF3ZXIsCi0gICAg
RWRpdGFibGVUZXh0LAotICAgIEZlZWQsCi0gICAgRmlndXJlLAotICAgIEZvb3RlciwKLSAgICBG
b290bm90ZSwKLSAgICBGb3JtLAotICAgIEdyYXBoaWNzRG9jdW1lbnQsCi0gICAgR3JhcGhpY3NP
YmplY3QsCi0gICAgR3JhcGhpY3NTeW1ib2wsCi0gICAgR3JpZCwKLSAgICBHcmlkQ2VsbCwKLSAg
ICBHcm91cCwKLSAgICBHcm93QXJlYSwKLSAgICBIZWFkaW5nLAotICAgIEhlbHBUYWcsCi0gICAg
SG9yaXpvbnRhbFJ1bGUsCi0gICAgSWdub3JlZCwKLSAgICBJbmxpbmUsCi0gICAgSW1hZ2UsCi0g
ICAgSW1hZ2VNYXAsCi0gICAgSW1hZ2VNYXBMaW5rLAotICAgIEluY3JlbWVudG9yLAotICAgIExh
YmVsLAotICAgIExhbmRtYXJrQmFubmVyLAotICAgIExhbmRtYXJrQ29tcGxlbWVudGFyeSwKLSAg
ICBMYW5kbWFya0NvbnRlbnRJbmZvLAotICAgIExhbmRtYXJrRG9jUmVnaW9uLAotICAgIExhbmRt
YXJrTWFpbiwKLSAgICBMYW5kbWFya05hdmlnYXRpb24sCi0gICAgTGFuZG1hcmtSZWdpb24sCi0g
ICAgTGFuZG1hcmtTZWFyY2gsCi0gICAgTGVnZW5kLAotICAgIExpbmssCi0gICAgTGlzdCwKLSAg
ICBMaXN0Qm94LAotICAgIExpc3RCb3hPcHRpb24sCi0gICAgTGlzdEl0ZW0sCi0gICAgTGlzdE1h
cmtlciwKLSAgICBNYXJrLAotICAgIE1hdGhFbGVtZW50LAotICAgIE1hdHRlLAotICAgIE1lbnUs
Ci0gICAgTWVudUJhciwKLSAgICBNZW51QnV0dG9uLAotICAgIE1lbnVJdGVtLAotICAgIE1lbnVJ
dGVtQ2hlY2tib3gsCi0gICAgTWVudUl0ZW1SYWRpbywKLSAgICBNZW51TGlzdFBvcHVwLAotICAg
IE1lbnVMaXN0T3B0aW9uLAotICAgIE91dGxpbmUsCi0gICAgUGFyYWdyYXBoLAotICAgIFBvcFVw
QnV0dG9uLAotICAgIFByZSwKLSAgICBQcmVzZW50YXRpb25hbCwKLSAgICBQcm9ncmVzc0luZGlj
YXRvciwKLSAgICBSYWRpb0J1dHRvbiwKLSAgICBSYWRpb0dyb3VwLAotICAgIFJvd0hlYWRlciwK
LSAgICBSb3csCi0gICAgUm93R3JvdXAsCi0gICAgUnVieUJhc2UsCi0gICAgUnVieUJsb2NrLAot
ICAgIFJ1YnlJbmxpbmUsCi0gICAgUnVieVJ1biwKLSAgICBSdWJ5VGV4dCwKLSAgICBSdWxlciwK
LSAgICBSdWxlck1hcmtlciwKLSAgICBTY3JvbGxBcmVhLAotICAgIFNjcm9sbEJhciwKLSAgICBT
ZWFyY2hGaWVsZCwKLSAgICBTaGVldCwKLSAgICBTbGlkZXIsCi0gICAgU2xpZGVyVGh1bWIsCi0g
ICAgU3BpbkJ1dHRvbiwKLSAgICBTcGluQnV0dG9uUGFydCwKLSAgICBTcGxpdEdyb3VwLAotICAg
IFNwbGl0dGVyLAotICAgIFN0YXRpY1RleHQsCi0gICAgU3VtbWFyeSwKLSAgICBTd2l0Y2gsCi0g
ICAgU3lzdGVtV2lkZSwKLSAgICBTVkdSb290LAotICAgIFNWR1RleHQsCi0gICAgU1ZHVFNwYW4s
Ci0gICAgU1ZHVGV4dFBhdGgsCi0gICAgVGFiR3JvdXAsCi0gICAgVGFiTGlzdCwKLSAgICBUYWJQ
YW5lbCwKLSAgICBUYWIsCi0gICAgVGFibGUsCi0gICAgVGFibGVIZWFkZXJDb250YWluZXIsCi0g
ICAgVGV4dEFyZWEsCi0gICAgVGV4dEdyb3VwLAotICAgIFRlcm0sCi0gICAgVGltZSwKLSAgICBU
cmVlLAotICAgIFRyZWVHcmlkLAotICAgIFRyZWVJdGVtLAotICAgIFRleHRGaWVsZCwKLSAgICBU
b2dnbGVCdXR0b24sCi0gICAgVG9vbGJhciwKLSAgICBVbmtub3duLAotICAgIFVzZXJJbnRlcmZh
Y2VUb29sdGlwLAotICAgIFZhbHVlSW5kaWNhdG9yLAotICAgIFZpZGVvLAotICAgIFdlYkFwcGxp
Y2F0aW9uLAotICAgIFdlYkFyZWEsCi0gICAgV2ViQ29yZUxpbmssCi0gICAgV2luZG93LAotfTsK
LQogZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZSB7CiAgICAgQWx0ZXJuYXRpdmUs
CiAgICAgQ2hpbGRyZW4sCkBAIC00OTEsNyArMzQxLDcgQEAKICAgICAKIGJvb2wgbm9kZUhhc1By
ZXNlbnRhdGlvblJvbGUoTm9kZSopOwogICAgIAotY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdCA6
IHB1YmxpYyBSZWZDb3VudGVkPEFjY2Vzc2liaWxpdHlPYmplY3Q+IHsKK2NsYXNzIEFjY2Vzc2li
aWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0PiwgcHVi
bGljIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UgewogcHJvdGVjdGVkOgogICAgIEFjY2Vz
c2liaWxpdHlPYmplY3QoKSA9IGRlZmF1bHQ7CiAgICAgCkBAIC0xMTU5LDcgKzEwMDksMTAgQEAK
ICAgICBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEgbV9pc0lnbm9yZWRGcm9t
UGFyZW50RGF0YSB7IH07CiAgICAgYm9vbCBtX2NoaWxkcmVuRGlydHkgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9zdWJ0cmVlRGlydHkgeyBmYWxzZSB9OwotCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFlfSVNPTEFURURfVFJFRSkKKyAgICBib29sIG1faXNvbGF0ZWRUcmVlTm9kZUluaXRpYWxpemVk
IHsgZmFsc2UgfTsKKyNlbmRpZgorICAgIAogICAgIHZvaWQgc2V0SXNJZ25vcmVkRnJvbVBhcmVu
dERhdGEoQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhJiBkYXRhKSB7IG1faXNJ
Z25vcmVkRnJvbVBhcmVudERhdGEgPSBkYXRhOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY29tcHV0
ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDE5MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3R5cGVkZWYgdW5zaWduZWQgQVhJRDsKK2V4dGVybiBjb25zdCBBWElEIElu
dmFsaWRBWElEOworCitlbnVtIGNsYXNzIEFjY2Vzc2liaWxpdHlSb2xlIHsKKyAgICBBbm5vdGF0
aW9uID0gMSwKKyAgICBBcHBsaWNhdGlvbiwKKyAgICBBcHBsaWNhdGlvbkFsZXJ0LAorICAgIEFw
cGxpY2F0aW9uQWxlcnREaWFsb2csCisgICAgQXBwbGljYXRpb25EaWFsb2csCisgICAgQXBwbGlj
YXRpb25Hcm91cCwKKyAgICBBcHBsaWNhdGlvbkxvZywKKyAgICBBcHBsaWNhdGlvbk1hcnF1ZWUs
CisgICAgQXBwbGljYXRpb25TdGF0dXMsCisgICAgQXBwbGljYXRpb25UZXh0R3JvdXAsCisgICAg
QXBwbGljYXRpb25UaW1lciwKKyAgICBBdWRpbywKKyAgICBCbG9ja3F1b3RlLAorICAgIEJyb3dz
ZXIsCisgICAgQnVzeUluZGljYXRvciwKKyAgICBCdXR0b24sCisgICAgQ2FudmFzLAorICAgIENh
cHRpb24sCisgICAgQ2VsbCwKKyAgICBDaGVja0JveCwKKyAgICBDb2xvcldlbGwsCisgICAgQ29s
dW1uLAorICAgIENvbHVtbkhlYWRlciwKKyAgICBDb21ib0JveCwKKyAgICBEZWZpbml0aW9uLAor
ICAgIERlc2NyaXB0aW9uTGlzdCwKKyAgICBEZXNjcmlwdGlvbkxpc3RUZXJtLAorICAgIERlc2Ny
aXB0aW9uTGlzdERldGFpbCwKKyAgICBEZXRhaWxzLAorICAgIERpcmVjdG9yeSwKKyAgICBEaXNj
bG9zdXJlVHJpYW5nbGUsCisgICAgRGl2LAorICAgIERvY3VtZW50LAorICAgIERvY3VtZW50QXJ0
aWNsZSwKKyAgICBEb2N1bWVudE1hdGgsCisgICAgRG9jdW1lbnROb3RlLAorICAgIERyYXdlciwK
KyAgICBFZGl0YWJsZVRleHQsCisgICAgRmVlZCwKKyAgICBGaWd1cmUsCisgICAgRm9vdGVyLAor
ICAgIEZvb3Rub3RlLAorICAgIEZvcm0sCisgICAgR3JhcGhpY3NEb2N1bWVudCwKKyAgICBHcmFw
aGljc09iamVjdCwKKyAgICBHcmFwaGljc1N5bWJvbCwKKyAgICBHcmlkLAorICAgIEdyaWRDZWxs
LAorICAgIEdyb3VwLAorICAgIEdyb3dBcmVhLAorICAgIEhlYWRpbmcsCisgICAgSGVscFRhZywK
KyAgICBIb3Jpem9udGFsUnVsZSwKKyAgICBJZ25vcmVkLAorICAgIElubGluZSwKKyAgICBJbWFn
ZSwKKyAgICBJbWFnZU1hcCwKKyAgICBJbWFnZU1hcExpbmssCisgICAgSW5jcmVtZW50b3IsCisg
ICAgTGFiZWwsCisgICAgTGFuZG1hcmtCYW5uZXIsCisgICAgTGFuZG1hcmtDb21wbGVtZW50YXJ5
LAorICAgIExhbmRtYXJrQ29udGVudEluZm8sCisgICAgTGFuZG1hcmtEb2NSZWdpb24sCisgICAg
TGFuZG1hcmtNYWluLAorICAgIExhbmRtYXJrTmF2aWdhdGlvbiwKKyAgICBMYW5kbWFya1JlZ2lv
biwKKyAgICBMYW5kbWFya1NlYXJjaCwKKyAgICBMZWdlbmQsCisgICAgTGluaywKKyAgICBMaXN0
LAorICAgIExpc3RCb3gsCisgICAgTGlzdEJveE9wdGlvbiwKKyAgICBMaXN0SXRlbSwKKyAgICBM
aXN0TWFya2VyLAorICAgIE1hcmssCisgICAgTWF0aEVsZW1lbnQsCisgICAgTWF0dGUsCisgICAg
TWVudSwKKyAgICBNZW51QmFyLAorICAgIE1lbnVCdXR0b24sCisgICAgTWVudUl0ZW0sCisgICAg
TWVudUl0ZW1DaGVja2JveCwKKyAgICBNZW51SXRlbVJhZGlvLAorICAgIE1lbnVMaXN0UG9wdXAs
CisgICAgTWVudUxpc3RPcHRpb24sCisgICAgT3V0bGluZSwKKyAgICBQYXJhZ3JhcGgsCisgICAg
UG9wVXBCdXR0b24sCisgICAgUHJlLAorICAgIFByZXNlbnRhdGlvbmFsLAorICAgIFByb2dyZXNz
SW5kaWNhdG9yLAorICAgIFJhZGlvQnV0dG9uLAorICAgIFJhZGlvR3JvdXAsCisgICAgUm93SGVh
ZGVyLAorICAgIFJvdywKKyAgICBSb3dHcm91cCwKKyAgICBSdWJ5QmFzZSwKKyAgICBSdWJ5Qmxv
Y2ssCisgICAgUnVieUlubGluZSwKKyAgICBSdWJ5UnVuLAorICAgIFJ1YnlUZXh0LAorICAgIFJ1
bGVyLAorICAgIFJ1bGVyTWFya2VyLAorICAgIFNjcm9sbEFyZWEsCisgICAgU2Nyb2xsQmFyLAor
ICAgIFNlYXJjaEZpZWxkLAorICAgIFNoZWV0LAorICAgIFNsaWRlciwKKyAgICBTbGlkZXJUaHVt
YiwKKyAgICBTcGluQnV0dG9uLAorICAgIFNwaW5CdXR0b25QYXJ0LAorICAgIFNwbGl0R3JvdXAs
CisgICAgU3BsaXR0ZXIsCisgICAgU3RhdGljVGV4dCwKKyAgICBTdW1tYXJ5LAorICAgIFN3aXRj
aCwKKyAgICBTeXN0ZW1XaWRlLAorICAgIFNWR1Jvb3QsCisgICAgU1ZHVGV4dCwKKyAgICBTVkdU
U3BhbiwKKyAgICBTVkdUZXh0UGF0aCwKKyAgICBUYWJHcm91cCwKKyAgICBUYWJMaXN0LAorICAg
IFRhYlBhbmVsLAorICAgIFRhYiwKKyAgICBUYWJsZSwKKyAgICBUYWJsZUhlYWRlckNvbnRhaW5l
ciwKKyAgICBUZXh0QXJlYSwKKyAgICBUZXh0R3JvdXAsCisgICAgVGVybSwKKyAgICBUaW1lLAor
ICAgIFRyZWUsCisgICAgVHJlZUdyaWQsCisgICAgVHJlZUl0ZW0sCisgICAgVGV4dEZpZWxkLAor
ICAgIFRvZ2dsZUJ1dHRvbiwKKyAgICBUb29sYmFyLAorICAgIFVua25vd24sCisgICAgVXNlcklu
dGVyZmFjZVRvb2x0aXAsCisgICAgVmFsdWVJbmRpY2F0b3IsCisgICAgVmlkZW8sCisgICAgV2Vi
QXBwbGljYXRpb24sCisgICAgV2ViQXJlYSwKKyAgICBXZWJDb3JlTGluaywKKyAgICBXaW5kb3cs
Cit9OworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKK3B1YmxpYzoKKyAg
ICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlKCkgPSBkZWZhdWx0OworCisg
ICAgdmlydHVhbCBib29sIGlzTWVkaWFDb250cm9sTGFiZWwoKSBjb25zdCA9IDA7CisgICAgdmly
dHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCA9IDA7CisgICAgdmlydHVh
bCBib29sIGlzQXR0YWNobWVudCgpIGNvbnN0ID0gMDsKK307CisKK30KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTI3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xB
VEVEX1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBWElzb2xhdGVkVHJl
ZS5oIgorCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCisjaW5jbHVkZSAiUGFnZS5o
IgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisgICAgCitzdGF0aWMgdW5zaWduZWQgc190cmVlSURDb3VudCA9IDA7CisKK0hhc2hNYXA8QVhJ
c29sYXRlZFRyZWVJRCwgUmVmPEFYSXNvbGF0ZWRUcmVlPj4mIEFYSXNvbGF0ZWRUcmVlOjp0cmVl
Q2FjaGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPEFYSXNvbGF0ZWRU
cmVlSUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KKwor
QVhJc29sYXRlZFRyZWU6OkFYSXNvbGF0ZWRUcmVlKCkKKyAgICA6IG1fdHJlZUlEKCsrc190cmVl
SURDb3VudCkKK3sKK30KKworQVhJc29sYXRlZFRyZWU6On5BWElzb2xhdGVkVHJlZSgpID0gZGVm
YXVsdDsKKworUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWElzb2xhdGVkVHJlZTo6Y3JlYXRlKCkKK3sK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZSgpKTsKK30KKyAgICAKK1Jl
ZlB0cjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJRChBWElzb2xhdGVk
VHJlZUlEIHRyZWVJRCkKK3sKKyAgICByZXR1cm4gdHJlZUNhY2hlKCkuZ2V0KHRyZWVJRCk7Cit9
CisKK1JlZjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQodWlu
dDY0X3QgcGFnZUlEKQoreworICAgIHN0YXRpYyBMb2NrIGNhY2hlTG9jazsKKyAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDx1aW50NjRfdCwgUmVmPEFYSXNvbGF0ZWRUcmVlPj4+IHBh
Z2VNYXA7CisKKyAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKGNhY2hlTG9jayk7CisKKyAgICBjYWNo
ZUxvY2subG9jaygpOworICAgIGlmIChBWElzb2xhdGVkVHJlZSogdHJlZSA9IHBhZ2VNYXAuZ2V0
KCkuZ2V0KHBhZ2VJRCkpIHsKKyAgICAgICAgUmVmPEFYSXNvbGF0ZWRUcmVlPiBuZXdUcmVlID0g
bWFrZVJlZigqdHJlZSk7CisgICAgICAgIHJldHVybiBuZXdUcmVlOworICAgIH0KKworICAgIFJl
ZjxBWElzb2xhdGVkVHJlZT4gbmV3VHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjpjcmVhdGUoKTsKKyAg
ICBwYWdlTWFwLmdldCgpLnNldChwYWdlSUQsIG5ld1RyZWUuY29weVJlZigpKTsKKyAgICB0cmVl
Q2FjaGUoKS5zZXQobmV3VHJlZS0+dHJlZUlkZW50aWZpZXIoKSwgbmV3VHJlZS5jb3B5UmVmKCkp
OworICAgIHJldHVybiBuZXdUcmVlOworfQorICAgIAorUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9k
ZT4gQVhJc29sYXRlZFRyZWU6Om5vZGVGb3JJRChBWElEIGF4SUQpIGNvbnN0Cit7CisgICAgQVNT
RVJUKCFpc01haW5UaHJlYWQoKSk7CisgICAgaWYgKCFheElEKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICByZXR1cm4gbV9yZWFkZXJUaHJlYWROb2RlTWFwLmdldChheElEKTsKK30KKwor
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gQVhJc29sYXRlZFRyZWU6OnJvb3ROb2RlKCkKK3sK
KyAgICByZXR1cm4gbm9kZUZvcklEKG1fcm9vdE5vZGVJRCk7Cit9CisKK3ZvaWQgQVhJc29sYXRl
ZFRyZWU6OnJlbW92ZU5vZGUoQVhJRCBheElEKQoreworICAgIExvY2tlcjxMb2NrPiBsb2NrZXIo
bV9jaGFuZ2VMb2dMb2NrKTsKKyAgICBtX3BlbmRpbmdSZW1vdmFscy5hcHBlbmQoYXhJRCk7Cit9
CisKK3ZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGVuZE5vZGVDaGFuZ2VzKFZlY3RvcjxSZWZQdHI8
QVhJc29sYXRlZFRyZWVOb2RlPj4mIGxvZykKK3sKKyAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKG1f
Y2hhbmdlTG9nTG9jayk7CisgICAgbV9wZW5kaW5nQXBwZW5kcy5hcHBlbmRWZWN0b3IobG9nKTsK
K30KKyAgICAKK3ZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGluZ0NoYW5nZXMoKQorewor
ICAgIFJFTEVBU0VfQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisKKyAgICBtX2NoYW5nZUxvZ0xv
Y2subG9jaygpOworICAgIFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gYXBwZW5k
Q29weSh7IFdURk1vdmUobV9wZW5kaW5nQXBwZW5kcykgfSk7CisgICAgVmVjdG9yPEFYSUQ+IHJl
bW92ZUNvcHkoeyBXVEZNb3ZlKG1fcGVuZGluZ1JlbW92YWxzKSB9KTsKKyAgICBtX2NoYW5nZUxv
Z0xvY2sudW5sb2NrKCk7CisKKyAgICBmb3IgKGF1dG8mIGl0ZW0gOiBhcHBlbmRDb3B5KSB7Cisg
ICAgICAgIG1fcmVhZGVyVGhyZWFkTm9kZU1hcC5zZXQoaXRlbS0+aWRlbnRpZmllcigpLCAqaXRl
bSk7CisgICAgICAgIGlmIChpdGVtLT5pc1Jvb3ROb2RlKCkpCisgICAgICAgICAgICBtX3Jvb3RO
b2RlSUQgPSBpdGVtLT5pZGVudGlmaWVyKCk7CisgICAgfQorCisgICAgZm9yIChhdXRvIGl0ZW0g
OiByZW1vdmVDb3B5KQorICAgICAgICBtX3JlYWRlclRocmVhZE5vZGVNYXAucmVtb3ZlKGl0ZW0p
OworfQorICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaAkobm9u
ZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkVHJlZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJBWElzb2xh
dGVkVHJlZU5vZGUuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBQYWdlOworCit0eXBlZGVmIHVuc2lnbmVkIEFYSXNvbGF0
ZWRUcmVlSUQ7CisgICAgCitjbGFzcyBBWElzb2xhdGVkVHJlZSA6IHB1YmxpYyBUaHJlYWRTYWZl
UmVmQ291bnRlZDxBWElzb2xhdGVkVHJlZT4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFY
SXNvbGF0ZWRUcmVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUmVmPEFYSXNvbGF0ZWRUcmVlPiBjcmVhdGUoKTsKKyAgICB2aXJ0dWFsIH5BWElzb2xh
dGVkVHJlZSgpOworCisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJl
ZT4gdHJlZUZvclBhZ2VJRCh1aW50NjRfdCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJl
ZlB0cjxBWElzb2xhdGVkVHJlZT4gdHJlZUZvcklEKEFYSXNvbGF0ZWRUcmVlSUQpOworCisgICAg
V0VCQ09SRV9FWFBPUlQgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gcm9vdE5vZGUoKTsKKyAg
ICBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiBub2RlRm9ySUQoQVhJRCkgY29uc3Q7CisKKyAg
ICAvLyBDYWxsIG9uIG1haW4gdGhyZWFkCisgICAgdm9pZCBhcHBlbmROb2RlQ2hhbmdlcyhWZWN0
b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+Jik7CisgICAgdm9pZCByZW1vdmVOb2RlKEFY
SUQpOworCisgICAgLy8gQ2FsbCBvbiBBWCB0aHJlYWQKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKworICAgIEFYSXNvbGF0ZWRUcmVlSUQgdHJlZUlkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3RyZWVJRDsgfQorCitwcml2YXRlOgorICAgIEFYSXNv
bGF0ZWRUcmVlKCk7CisKKyAgICBzdGF0aWMgSGFzaE1hcDxBWElzb2xhdGVkVHJlZUlELCBSZWY8
QVhJc29sYXRlZFRyZWU+PiYgdHJlZUNhY2hlKCk7CisKKyAgICAvLyBPbmx5IGFjY2VzcyBvbiBB
WCB0aHJlYWQgcmVxdWVzdGluZyBkYXRhLgorICAgIEhhc2hNYXA8QVhJRCwgUmVmPEFYSXNvbGF0
ZWRUcmVlTm9kZT4+IG1fcmVhZGVyVGhyZWFkTm9kZU1hcDsKKworICAgIC8vIFdyaXR0ZW4gdG8g
YnkgbWFpbiB0aHJlYWQgdW5kZXIgbG9jaywgYWNjZXNzZWQgYW5kIGFwcGxpZWQgYnkgQVggdGhy
ZWFkLgorICAgIFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbV9wZW5kaW5nQXBw
ZW5kczsKKyAgICBWZWN0b3I8QVhJRD4gbV9wZW5kaW5nUmVtb3ZhbHM7CisgICAgTG9jayBtX2No
YW5nZUxvZ0xvY2s7CisKKyAgICBBWElzb2xhdGVkVHJlZUlEIG1fdHJlZUlEOworICAgIEFYSUQg
bV9yb290Tm9kZUlEOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRU
cmVlTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKKworI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitBWElzb2xhdGVkVHJlZU5vZGU6
OkFYSXNvbGF0ZWRUcmVlTm9kZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCisg
ICAgOiBtX2lkZW50aWZpZXIob2JqZWN0LmF4T2JqZWN0SUQoKSkKK3sKKyAgICBpbml0aWFsaXpl
QXR0cmlidXRlRGF0YShvYmplY3QpOworfQorCitSZWY8QVhJc29sYXRlZFRyZWVOb2RlPiBBWElz
b2xhdGVkVHJlZU5vZGU6OmNyZWF0ZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3Qp
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQVhJc29sYXRlZFRyZWVOb2RlKG9iamVjdCkp
OworfQorICAgIAorQVhJc29sYXRlZFRyZWVOb2RlOjp+QVhJc29sYXRlZFRyZWVOb2RlKCkgPSBk
ZWZhdWx0OworCit2b2lkIEFYSXNvbGF0ZWRUcmVlTm9kZTo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURh
dGEoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQoreworICAgIHNldFByb3BlcnR5
KEFYUHJvcGVydHlOYW1lOjpSb2xlVmFsdWUsIHN0YXRpY19jYXN0PGludD4ob2JqZWN0LnJvbGVW
YWx1ZSgpKSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCwg
b2JqZWN0LmlzQXR0YWNobWVudCgpKTsKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
SXNNZWRpYUNvbnRyb2xMYWJlbCwgb2JqZWN0LmlzTWVkaWFDb250cm9sTGFiZWwoKSk7Cit9Cisg
ICAgCit2b2lkIEFYSXNvbGF0ZWRUcmVlTm9kZTo6c2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWUg
cHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQmJiB2YWx1ZSwgYm9vbCBzaG91bGRS
ZW1vdmUpCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBpZiAoc2hvdWxkUmVt
b3ZlKQorICAgICAgICBtX2F0dHJpYnV0ZU1hcC5yZW1vdmUocHJvcGVydHlOYW1lKTsKKyAgICBl
bHNlCisgICAgICAgIG1fYXR0cmlidXRlTWFwLnNldChwcm9wZXJ0eU5hbWUsIHZhbHVlKTsKK30K
KyAgICAKK2RvdWJsZSBBWElzb2xhdGVkVHJlZU5vZGU6OmRvdWJsZUF0dHJpYnV0ZVZhbHVlKEFY
UHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9h
dHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24o
dmFsdWUsIFsmXSAoZG91YmxlJiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZh
bHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIDAuMDsKKyAgICB9KTsK
K30KKwordW5zaWduZWQgQVhJc29sYXRlZFRyZWVOb2RlOjp1bnNpZ25lZEF0dHJpYnV0ZVZhbHVl
KEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0g
bV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNo
T24odmFsdWUsIFsmXSAodW5zaWduZWQmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5
cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9
KTsKK30KKworYm9vbCBBWElzb2xhdGVkVHJlZU5vZGU6OmJvb2xBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0
cmlidXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZh
bHVlLCBbJl0gKGJvb2wmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7
CisgICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSk7Cit9
CisKK2NvbnN0IFN0cmluZyYgQVhJc29sYXRlZFRyZWVOb2RlOjpzdHJpbmdBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9
IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRj
aE9uKHZhbHVlLCBbJl0gKFN0cmluZyYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlw
ZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiBudWxsQXRvbSgp
OworICAgIH0pOworfQorCitpbnQgQVhJc29sYXRlZFRyZWVOb2RlOjppbnRBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9
IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRj
aE9uKHZhbHVlLCBbJl0gKGludCYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRW
YWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0pOwor
fQorCisjcHJhZ21hIG1hcmsgLSBPdmVycmlkZXMKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTAgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJ
TElUWV9JU09MQVRFRF9UUkVFKQorCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEludGVy
ZmFjZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WYXJp
YW50Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+
CisKKyNpZiBQTEFURk9STShDT0NPQSkKK09CSkNfQ0xBU1MgV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXI7CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBBY2Nlc3Np
YmlsaXR5T2JqZWN0OworCitjbGFzcyBBWElzb2xhdGVkVHJlZU5vZGUgZmluYWwgOiBwdWJsaWMg
QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSwgcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVk
PEFYSXNvbGF0ZWRUcmVlTm9kZT4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxBWElzb2xhdGVkVHJl
ZU5vZGU+IHsKKworcHVibGljOgorICAgIGVudW0gY2xhc3MgQVhQcm9wZXJ0eU5hbWUgOiB1aW50
OF90IHsKKyAgICAgICAgTm9uZSA9IDAsCisgICAgICAgIFJvbGVWYWx1ZSA9IDEsCisgICAgICAg
IElzQXR0YWNobWVudCwKKyAgICAgICAgSXNNZWRpYUNvbnRyb2xMYWJlbCwKKyAgICB9OworCisg
ICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+IGNyZWF0ZShjb25zdCBBY2Nlc3NpYmls
aXR5T2JqZWN0Jik7CisgICAgdmlydHVhbCB+QVhJc29sYXRlZFRyZWVOb2RlKCk7CisKKyAgICBB
WElEIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KKworICAgIGJv
b2wgaXNSb290Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNSb290Tm9kZTsgfQorICAgIHZvaWQg
c2V0SXNSb290Tm9kZShib29sIHZhbHVlKSB7IG1faXNSb290Tm9kZSA9IHZhbHVlOyB9CisKKyAg
ICB2b2lkIHNldFBhcmVudChBWElEIHBhcmVudCkgeyBtX3BhcmVudCA9IHBhcmVudDsgfQorICAg
IEFYSUQgcGFyZW50KCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnQ7IH0KKworICAgIFZlY3RvcjxB
WElEPiYgY2hpbGRyZW4oKSB7IHJldHVybiBtX2NoaWxkcmVuOyB9OworCisjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIoKSBjb25z
dCB7IHJldHVybiBtX3dyYXBwZXIuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFdyYXBwZXIoV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIpIHsgbV93cmFwcGVyID0gd3JhcHBlcjsg
fQorI2VuZGlmCisKK3Byb3RlY3RlZDoKKyAgICBBWElzb2xhdGVkVHJlZU5vZGUoKSA9IGRlZmF1
bHQ7CisKK3ByaXZhdGU6CisgICAgQVhJc29sYXRlZFRyZWVOb2RlKGNvbnN0IEFjY2Vzc2liaWxp
dHlPYmplY3QmKTsKKyAgICB2b2lkIGluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKGNvbnN0IEFjY2Vz
c2liaWxpdHlPYmplY3QmKTsKKworICAgIGJvb2wgaXNNZWRpYUNvbnRyb2xMYWJlbCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNN
ZWRpYUNvbnRyb2xMYWJlbCk7IH0KKyAgICBib29sIGlzQXR0YWNobWVudCgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNBdHRhY2ht
ZW50KTsgfQorICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIHN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlSb2xlPihpbnRBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZTo6Um9sZVZhbHVlKSk7IH0KKworICAgIHVzaW5nIEF0dHJpYnV0ZVZh
bHVlVmFyaWFudCA9IFZhcmlhbnQ8c3RkOjpudWxscHRyX3QsIFN0cmluZywgYm9vbCwgaW50LCB1
bnNpZ25lZCwgZG91YmxlPjsKKyAgICB2b2lkIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lLCBB
dHRyaWJ1dGVWYWx1ZVZhcmlhbnQmJiwgYm9vbCBzaG91bGRSZW1vdmUgPSBmYWxzZSk7CisKKyAg
ICBib29sIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgY29u
c3QgU3RyaW5nJiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7Cisg
ICAgaW50IGludEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICB1bnNp
Z25lZCB1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBk
b3VibGUgZG91YmxlQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworCisgICAg
QVhJRCBtX3BhcmVudDsKKyAgICBBWElEIG1faWRlbnRpZmllcjsKKyAgICBib29sIG1faXNSb290
Tm9kZTsKKyAgICBWZWN0b3I8QVhJRD4gbV9jaGlsZHJlbjsKKworI2lmIFBMQVRGT1JNKENPQ09B
KQorICAgIFJldGFpblB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gbV93cmFwcGVy
OworI2VuZGlmCisKKyAgICBIYXNoTWFwPEFYUHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZh
cmlhbnQsIFdURjo6SW50SGFzaDxBWFByb3BlcnR5TmFtZT4sIFdURjo6U3Ryb25nRW51bUhhc2hU
cmFpdHM8QVhQcm9wZXJ0eU5hbWU+PiBtX2F0dHJpYnV0ZU1hcDsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2Fj
aGVNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
QVhPYmplY3RDYWNoZU1hYy5tbQkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MjgsNiArMjgsNyBAQAogCiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBQTEFURk9STShNQUMp
CiAKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eU9iamVjdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVRhYmxlLmgiCiAjaW1wb3J0ICJSZW5k
ZXJPYmplY3QuaCIKQEAgLTIzNyw2ICsyMzgsMTUgQEAKICAgICBvYmotPnNldFdyYXBwZXIobnVs
bHB0cik7CiB9CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQordm9p
ZCBBWE9iamVjdENhY2hlOjphc3NvY2lhdGVJc29sYXRlZFRyZWVOb2RlKEFjY2Vzc2liaWxpdHlP
YmplY3QmIG9iamVjdCwgQVhJc29sYXRlZFRyZWVOb2RlJiBub2RlLCBBWElzb2xhdGVkVHJlZUlE
IHRyZWVJRCkKK3sKKyAgICBBU1NFUlQoIW9iamVjdC53cmFwcGVyKCkuaXNvbGF0ZWRUcmVlSWRl
bnRpZmllcik7CisgICAgb2JqZWN0LndyYXBwZXIoKS5pc29sYXRlZFRyZWVJZGVudGlmaWVyID0g
dHJlZUlEOworICAgIG5vZGUuc2V0V3JhcHBlcihvYmplY3Qud3JhcHBlcigpKTsKK30KKyNlbmRp
ZgorCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVj
dCogb2JqKQogewogICAgIFJldGFpblB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4g
d3JhcHBlciA9IGFkb3B0TlMoW1tXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhbGxvY10g
aW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0Om9ial0pOwpJbmRleDogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJCYXNlLmgJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMSArMjksMTggQEAKICNpZm5kZWYgV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJCYXNlX2gKICNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXJCYXNlX2gKIAorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlLmgiCiAjaW5jbHVkZSAiQWNj
ZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3Mu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KKyNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBY2Nl
c3NpYmlsaXR5T2JqZWN0OworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CitjbGFzcyBBWElzb2xhdGVkVHJlZU5vZGU7CisjZW5kaWYKIHN0cnVjdCBBY2Nlc3NpYmlsaXR5
U2VhcmNoQ3JpdGVyaWE7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgRmxvYXRQb2ludDsKQEAgLTQ0
LDEzICs1MSwyNiBAQAogCiBAaW50ZXJmYWNlIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QmFzZSA6IE5TT2JqZWN0IHsKICAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBtX29i
amVjdDsKKyAgICBXZWJDb3JlOjpBWElEIF9pZGVudGlmaWVyOwogfQogIAogLSAoaWQpaW5pdFdp
dGhBY2Nlc3NpYmlsaXR5T2JqZWN0OihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KilheE9i
amVjdDsKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitAcHJvcGVy
dHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFJlZlB0cjxXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5v
ZGU+IGlzb2xhdGVkVHJlZU5vZGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZUlEIGlzb2xhdGVkVHJlZUlkZW50aWZpZXI7CisjZW5kaWYKKwog
LSAodm9pZClkZXRhY2g7CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFdlYkNvcmU6
OkFYSUQgaWRlbnRpZmllcjsKKwogLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCopYWNj
ZXNzaWJpbGl0eU9iamVjdDsKIC0gKEJPT0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3JlOwogCisv
LyBUaGlzIGNhbiBiZSBlaXRoZXIgYW4gQWNjZXNzaWJpbGl0eU9iamVjdCBvciBhbiBBWElzb2xh
dGVkVHJlZU5vZGUKKy0gKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UqKWF4
QmFja2luZ09iamVjdDsKKwogLy8gVGhlc2UgYXJlIHByZS1maXhlZCB3aXRoIGJhc2Ugc28gdGhh
dCBBcHBLaXQgZG9lcyBub3QgZW5kIHVwIGNhbGxpbmcgaW50byB0aGVzZSBkaXJlY3RseSAoYnlw
YXNzaW5nIHNhZmV0eSBjaGVja3MpLgogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eVRp
dGxlOwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uOwpJbmRleDog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXJCYXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
bWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkocmV2aXNpb24gMjQwNDcw
KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJCYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMCArMzEsMTMgQEAKIAog
I2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIAorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWUuaCIKKyNp
bXBvcnQgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2ltcG9ydCAiQVhPYmplY3RDYWNoZS5oIgog
I2ltcG9ydCAiQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmls
aXR5TGlzdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIKKyNpbXBvcnQgIkFj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmgiCiAjaW1wb3J0
ICJBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIgpAQCAtMjcwLDYgKzI3Myw4IEBACiAKIEBpbXBs
ZW1lbnRhdGlvbiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UKIAorQHN5bnRoZXNp
emUgaWRlbnRpZmllcj1faWRlbnRpZmllcjsKKwogLSAoaWQpaW5pdFdpdGhBY2Nlc3NpYmlsaXR5
T2JqZWN0OihBY2Nlc3NpYmlsaXR5T2JqZWN0KilheE9iamVjdAogewogICAgIGlmICghKHNlbGYg
PSBbc3VwZXIgaW5pdF0pKQpAQCAtMjc2LDE2ICsyODEsMzEgQEAKICAgICAgICAgcmV0dXJuIG5p
bDsKIAogICAgIG1fb2JqZWN0ID0gYXhPYmplY3Q7CisgICAgX2lkZW50aWZpZXIgPSBtX29iamVj
dC0+YXhPYmplY3RJRCgpOwogICAgIHJldHVybiBzZWxmOwogfQogCisjaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKy0gKFJlZlB0cjxXZWJDb3JlOjpBWElzb2xhdGVkVHJl
ZU5vZGU+KWlzb2xhdGVkVHJlZU5vZGUKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCghaXNNYWluVGhy
ZWFkKCkpOworICAgIHJldHVybiBBWElzb2xhdGVkVHJlZTo6dHJlZUZvcklEKF9pc29sYXRlZFRy
ZWVJZGVudGlmaWVyKS0+bm9kZUZvcklEKF9pZGVudGlmaWVyKTsKK30KKyNlbmRpZgorCiAtICh2
b2lkKWRldGFjaAogewogICAgIG1fb2JqZWN0ID0gbnVsbHB0cjsKKyAgICBfaWRlbnRpZmllciA9
IDA7CiB9CiAKIC0gKEJPT0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3JlCiB7CisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBSRUxFQVNFX0FTU0VSVCghaXNNYWlu
VGhyZWFkKCkpOworICAgIEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9ySUQoc2VsZi5pc29sYXRlZFRy
ZWVJZGVudGlmaWVyKS0+YXBwbHlQZW5kaW5nQ2hhbmdlcygpOworICAgIHJldHVybiBfaWRlbnRp
ZmllcjsKKyNlbHNlCiAgICAgLy8gQ2FsbGluZyB1cGRhdGVCYWNraW5nU3RvcmUoKSBjYW4gaW52
YWxpZGF0ZSB0aGlzIGVsZW1lbnQgc28gc2VsZiBtdXN0IGJlIHJldGFpbmVkLgogICAgIC8vIElm
IGl0IGRvZXMgYmVjb21lIGludmFsaWRhdGVkLCBtX29iamVjdCB3aWxsIGJlIG5pbC4KICAgICBD
RlJldGFpbigoX19icmlkZ2UgQ0ZUeXBlUmVmKXNlbGYpOwpAQCAtMjk5LDYgKzMxOSw3IEBACiAg
ICAgICAgIHJldHVybiBOTzsKICAgICAKICAgICByZXR1cm4gWUVTOworI2VuZGlmCiB9CiAKIC0g
KGlkKWF0dGFjaG1lbnRWaWV3CkBAIC0zNjAsMTEgKzM4MSwyMSBAQAogICAgIHJldHVybiBbTlNT
dHJpbmcgc3RyaW5nXTsKIH0KIAorI2RlZmluZSBfYXhCYWNraW5nT2JqZWN0IHNlbGYuYXhCYWNr
aW5nT2JqZWN0CistIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlKilheEJh
Y2tpbmdPYmplY3QKK3sKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQor
ICAgIHJldHVybiBzZWxmLmlzb2xhdGVkVHJlZU5vZGUuZ2V0KCk7CisjZWxzZQorICAgIHJldHVy
biBtX29iamVjdDsKKyNlbmRpZgorfQorCiAtIChOU1N0cmluZyAqKWJhc2VBY2Nlc3NpYmlsaXR5
RGVzY3JpcHRpb24KIHsKICAgICAvLyBTdGF0aWMgdGV4dCBvYmplY3RzIHNob3VsZCBub3QgaGF2
ZSBhIGRlc2NyaXB0aW9uLiBJdHMgY29udGVudCBpcyBjb21tdW5pY2F0ZWQgaW4gaXRzIEFYVmFs
dWUuCiAgICAgLy8gT25lIGV4Y2VwdGlvbiBpcyB0aGUgbWVkaWEgY29udHJvbCBsYWJlbHMgdGhh
dCBoYXZlIGEgdmFsdWUgYW5kIGEgZGVzY3JpcHRpb24uIFRob3NlIGFyZSBzZXQgcHJvZ3JhbWF0
aWNhbGx5LgotICAgIGlmIChtX29iamVjdC0+cm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJv
bGU6OlN0YXRpY1RleHQgJiYgIW1fb2JqZWN0LT5pc01lZGlhQ29udHJvbExhYmVsKCkpCisgICAg
aWYgKF9heEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpT
dGF0aWNUZXh0ICYmICFfYXhCYWNraW5nT2JqZWN0LT5pc01lZGlhQ29udHJvbExhYmVsKCkpCiAg
ICAgICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nXTsKICAgICAKICAgICBWZWN0b3I8QWNjZXNz
aWJpbGl0eVRleHQ+IHRleHRPcmRlcjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyTWFjLm1tCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQkod29ya2luZyBj
b3B5KQpAQCAtNDE2LDYgKzQxNiw4IEBACiAjZGVmaW5lIE5TQWNjZXNzaWJpbGl0eVJlbGF0aXZl
RnJhbWVBdHRyaWJ1dGUgQCJBWFJlbGF0aXZlRnJhbWUiCiAjZW5kaWYKIAorI2RlZmluZSBfYXhC
YWNraW5nT2JqZWN0IHNlbGYuYXhCYWNraW5nT2JqZWN0CisKIGV4dGVybiAiQyIgQVhVSUVsZW1l
bnRSZWYgTlNBY2Nlc3NpYmlsaXR5Q3JlYXRlQVhVSUVsZW1lbnRSZWYoaWQgZWxlbWVudCk7CiAK
IEBpbXBsZW1lbnRhdGlvbiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcgpAQCAtMTk3MCwx
MCArMTk3MiwxMCBAQAogLSAoTlNTdHJpbmcqKXJvbGUKIHsKICAgICBBTExPV19ERVBSRUNBVEVE
X0RFQ0xBUkFUSU9OU19CRUdJTgotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpCisg
ICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKQogICAgICAgICByZXR1cm4g
W1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nl
c3NpYmlsaXR5Um9sZUF0dHJpYnV0ZV07CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElP
TlNfRU5ECi0gICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSA9IG1fb2JqZWN0LT5yb2xlVmFsdWUo
KTsKKyAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlID0gX2F4QmFja2luZ09iamVjdC0+cm9sZVZh
bHVlKCk7CiAKICAgICBpZiAocm9sZSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGFiZWwgJiYgaXM8
QWNjZXNzaWJpbGl0eUxhYmVsPigqbV9vYmplY3QpICYmIGRvd25jYXN0PEFjY2Vzc2liaWxpdHlM
YWJlbD4oKm1fb2JqZWN0KS5jb250YWluc09ubHlTdGF0aWNUZXh0KCkpCiAgICAgICAgIHJvbGUg
PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dDsKQEAgLTIwMDAsNyArMjAwMiw3IEBACiAg
ICAgaWYgKG1fb2JqZWN0LT5pc1NlYXJjaEZpZWxkKCkpCiAgICAgICAgIHJldHVybiBOU0FjY2Vz
c2liaWxpdHlTZWFyY2hGaWVsZFN1YnJvbGU7CiAgICAgCi0gICAgaWYgKG1fb2JqZWN0LT5pc0F0
dGFjaG1lbnQoKSkgeworICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkg
ewogICAgICAgICBOU1ZpZXcqIGF0dGFjaFZpZXcgPSBbc2VsZiBhdHRhY2htZW50Vmlld107CiAg
ICAgICAgIGlmIChbW2F0dGFjaFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250
YWluc09iamVjdDpOU0FjY2Vzc2liaWxpdHlTdWJyb2xlQXR0cmlidXRlXSkKICAgICAgICAgICAg
IHJldHVybiBbYXR0YWNoVmlldyBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3Np
YmlsaXR5U3Vicm9sZUF0dHJpYnV0ZV07CkBAIC0yMjExLDcgKzIyMTMsNyBAQAogCiAgICAgQUxM
T1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KICAgICAvLyBhdHRhY2htZW50cyBoYXZl
IHRoZSBBWEltYWdlIHJvbGUsIGJ1dCBhIGRpZmZlcmVudCBzdWJyb2xlCi0gICAgaWYgKG1fb2Jq
ZWN0LT5pc0F0dGFjaG1lbnQoKSkKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2ht
ZW50KCkpCiAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxp
dHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlSb2xlRGVzY3JpcHRpb25BdHRyaWJ1dGVd
OwogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogCkBAIC0yNTY4LDcgKzI1
NzAsNyBAQAogICAgICAgICByZXR1cm4gW05TTnVtYmVyIG51bWJlcldpdGhCb29sOiBtX29iamVj
dC0+aXNWaXNpdGVkKCldOwogICAgIAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9T
dHJpbmc6IE5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9v
YmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5p
c0F0dGFjaG1lbnQoKSkgewogICAgICAgICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXdd
IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmls
aXR5VGl0bGVBdHRyaWJ1dGVdKQogICAgICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNo
bWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlUaXRs
ZUF0dHJpYnV0ZV07CiAgICAgICAgIH0KQEAgLTI1ODUsNyArMjU4Nyw3IEBACiAgICAgfQogICAg
IAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0
eURlc2NyaXB0aW9uQXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNo
bWVudCgpKSB7CisgICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkg
ewogICAgICAgICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlB
dHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25B
dHRyaWJ1dGVdKQogICAgICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXdd
IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbkF0
dHJpYnV0ZV07CiAgICAgICAgIH0KQEAgLTI1OTMsNyArMjU5NSw3IEBACiAgICAgfQogICAgIAog
ICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eVZh
bHVlQXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7
CisgICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAg
ICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVO
YW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdKQogICAg
ICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlB
dHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV07CiAgICAgICAgIH0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODIxNyw2ICs4MjE3
LDExIEBACiAKICAgICByZXR1cm4gKm1fbG9nZ2VyOwogfQorICAgIAorT3B0aW9uYWw8dWludDY0
X3Q+IERvY3VtZW50OjpwYWdlSUQoKSBjb25zdAoreworICAgIHJldHVybiBtX2ZyYW1lLT5sb2Fk
ZXIoKS5jbGllbnQoKS5wYWdlSUQoKTsKK30KIAogdm9pZCBEb2N1bWVudDo6aGFzU3RvcmFnZUFj
Y2VzcyhSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTY0OCw2ICs2NDgsNyBAQAogICAgIFdFQkNPUkVfRVhQT1JU
IEFYT2JqZWN0Q2FjaGUqIGF4T2JqZWN0Q2FjaGUoKSBjb25zdDsKICAgICB2b2lkIGNsZWFyQVhP
YmplY3RDYWNoZSgpOwogCisgICAgT3B0aW9uYWw8dWludDY0X3Q+IHBhZ2VJRCgpIGNvbnN0Owog
ICAgIC8vIHRvIGdldCB2aXN1YWxseSBvcmRlcmVkIGhlYnJldyBhbmQgYXJhYmljIHBhZ2VzIHJp
Z2h0CiAgICAgdm9pZCBzZXRWaXN1YWxseU9yZGVyZWQoKTsKICAgICBib29sIHZpc3VhbGx5T3Jk
ZXJlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlzdWFsbHlPcmRlcmVkOyB9CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwko
cmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wMS0yNSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXph
Y2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJp
bGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9X
S0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbToKKyAgICAgICAgKC1bV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdEJhc2UgYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyXSk6
CisKIDIwMTktMDEtMjQgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgaU9TOiBTcGxpdCBrZXlib2FyZCBzaG91bGQgbm90IHNocmluayB2aXN1YWxWaWV3cG9ydC5o
ZWlnaHQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYktpdC9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAt
NDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9ICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNIKSk7
CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFCTEVfQVBQTEVf
UEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVO
QUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJM
RV9BUFBMRV9QQVk7CkBAIC00MDcsNCArNDA5LDQgQEAKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVf
WFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9N
QU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElP
TlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFC
TEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQ
T1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFU
VVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVS
U0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tF
WUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAk
KEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAk
KEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRf
UkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMp
ICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJf
TUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklB
VElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZV
TExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VN
QkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09O
SUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJP
QVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
Q19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FE
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JU
QykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19B
UEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChF
TkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tB
Y2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJh
c2UuaAkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTMyLDcgKzMyLDkgQEAKIAogQGludGVyZmFjZSBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2Jq
ZWN0QmFzZSA6IE5TT2JqZWN0IHsKICAgICBXZWJLaXQ6OldlYlBhZ2UqIG1fcGFnZTsKKyAgICB1
aW50NjRfdCBtX3BhZ2VJRDsKICAgICBpZCBtX3BhcmVudDsKKyAgICBib29sIG1faGFzUGx1Z2lu
OwogfQogCiAtICh2b2lkKXNldFdlYlBhZ2U6KFdlYktpdDo6V2ViUGFnZSopcGFnZTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQ
YWdlT2JqZWN0QmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0JKHJldmlzaW9u
IDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vz
c2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQs
NyBAQAogI2ltcG9ydCAiV0tTaGFyZWRBUElDYXN0LmgiCiAjaW1wb3J0ICJXS1N0cmluZy5oIgog
I2ltcG9ydCAiV0tTdHJpbmdDRi5oIgorI2ltcG9ydCA8V2ViQ29yZS9BWElzb2xhdGVkVHJlZS5o
PgogI2ltcG9ydCA8V2ViQ29yZS9BWE9iamVjdENhY2hlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Rv
Y3VtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lLmg+CkBAIC00NywzMyArNDgsNzMgQEAK
IAogQGltcGxlbWVudGF0aW9uIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlCiAKLS0g
KGlkKWFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcgorLSAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZSopYXhPYmplY3RDYWNoZQogewotICAgIGlmICghV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKLSAgICAgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
ZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwotCi0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVy
biBuaWw7Ci0gICAgCi0gICAgTlNPYmplY3QqIG1haW5GcmFtZVBsdWdpbkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyID0gbV9wYWdlLT5hY2Nlc3NpYmlsaXR5T2JqZWN0Rm9yTWFpbkZyYW1lUGx1
Z2luKCk7Ci0gICAgaWYgKG1haW5GcmFtZVBsdWdpbkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
KQotICAgICAgICByZXR1cm4gbWFpbkZyYW1lUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXI7Ci0KICAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gbV9wYWdlLT5jb3JlUGFnZSgpOwogICAg
IGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIG5pbDsKLSAgICAKICAgICBXZWJDb3JlOjpGcmFt
ZSYgY29yZSA9IHBhZ2UtPm1haW5GcmFtZSgpOwogICAgIGlmICghY29yZS5kb2N1bWVudCgpKQog
ICAgICAgICByZXR1cm4gbmlsOworCisgICAgcmV0dXJuIGNvcmUuZG9jdW1lbnQoKS0+YXhPYmpl
Y3RDYWNoZSgpOworfQorCistIChpZClhY2Nlc3NpYmlsaXR5UGx1Z2luT2JqZWN0Cit7CisgICAg
YXV0byByZXRyaWV2ZUJsb2NrID0gWyZzZWxmXSgpIC0+IGlkIHsKKyAgICAgICAgaWQgYXhQbHVn
aW4gPSBuaWw7CisgICAgICAgIGF1dG8gZGlzcGF0Y2hCbG9jayA9IFsmYXhQbHVnaW4sICZzZWxm
XSB7CisgICAgICAgICAgICBpZiAoc2VsZi0+bV9wYWdlKQorICAgICAgICAgICAgICAgIGF4UGx1
Z2luID0gc2VsZi0+bV9wYWdlLT5hY2Nlc3NpYmlsaXR5T2JqZWN0Rm9yTWFpbkZyYW1lUGx1Z2lu
KCk7CisgICAgICAgIH07CisKKyAgICAgICAgaWYgKGlzTWFpblRocmVhZCgpKQorICAgICAgICAg
ICAgZGlzcGF0Y2hCbG9jaygpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjYWxsT25NYWlu
VGhyZWFkQW5kV2FpdChkaXNwYXRjaEJsb2NrKTsKKyAgICAgICAgcmV0dXJuIGF4UGx1Z2luOwor
ICAgIH07CiAgICAgCi0gICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogY2FjaGUgPSBjb3JlLmRv
Y3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKTsKLSAgICBpZiAoIWNhY2hlKQotICAgICAgICByZXR1
cm4gbmlsOwotICAgIAotICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiByb290
ID0gY2FjaGUtPnJvb3RPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIHJvb3QtPndyYXBwZXIoKTsK
LSAgICAKKyAgICByZXR1cm4gcmV0cmlldmVCbG9jaygpOworfQorCistIChpZClhY2Nlc3NpYmls
aXR5Um9vdE9iamVjdFdyYXBwZXIKK3sKKyAgICBpZiAoIVdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6
OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCisgICAgICAgIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6
OmVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKKworICAgIGlmIChtX2hhc1BsdWdpbikKKyAgICAgICAg
cmV0dXJuIHNlbGYuYWNjZXNzaWJpbGl0eVBsdWdpbk9iamVjdDsKKworI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgYXV0byBnZW5lcmF0ZUJsb2NrID0gWyZdIHsK
KyAgICAgICAgYXV0byBkaXNwYXRjaEJsb2NrID0gWyZzZWxmXSB7CisgICAgICAgICAgICBpZiAo
QVhPYmplY3RDYWNoZSogY2FjaGUgPSBbc2VsZiBheE9iamVjdENhY2hlXSkgeworICAgICAgICAg
ICAgICAgIGNhY2hlLT5nZW5lcmF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfTsKKworICAgICAgICBpZiAoaXNNYWluVGhyZWFkKCkpCisgICAg
ICAgICAgICBkaXNwYXRjaEJsb2NrKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNhbGxP
bk1haW5UaHJlYWRBbmRXYWl0KGRpc3BhdGNoQmxvY2spOworICAgIH07CisKKyAgICBhdXRvIHRy
ZWUgPSBBWElzb2xhdGVkVHJlZTo6dHJlZUZvclBhZ2VJRChtX3BhZ2VJRCk7CisgICAgYXV0byBy
b290Tm9kZSA9IHRyZWUtPnJvb3ROb2RlKCk7CisgICAgaWYgKCFyb290Tm9kZSkKKyAgICAgICAg
Z2VuZXJhdGVCbG9jaygpOworCisgICAgdHJlZS0+YXBwbHlQZW5kaW5nQ2hhbmdlcygpOworICAg
IGlmICgocm9vdE5vZGUgPSB0cmVlLT5yb290Tm9kZSgpKSkKKyAgICAgICAgcmV0dXJuIHJvb3RO
b2RlLT53cmFwcGVyKCk7CisjZWxzZQorICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9IFtz
ZWxmIGF4T2JqZWN0Q2FjaGVdKSB7CisgICAgICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0KiByb290ID0gY2FjaGUtPnJvb3RPYmplY3QoKSkKKyAgICAgICAgICAgIHJldHVybiBy
b290LT53cmFwcGVyKCk7CisgICAgfQorI2VuZGlmCiAgICAgcmV0dXJuIG5pbDsKIH0KIApAQCAt
ODAsNiArMTIxLDE0IEBACiAtICh2b2lkKXNldFdlYlBhZ2U6KFdlYlBhZ2UqKXBhZ2UKIHsKICAg
ICBtX3BhZ2UgPSBwYWdlOworICAgIAorICAgIGlmIChwYWdlKSB7CisgICAgICAgIG1fcGFnZUlE
ID0gcGFnZS0+cGFnZUlEKCk7CisgICAgICAgIG1faGFzUGx1Z2luID0gcGFnZS0+YWNjZXNzaWJp
bGl0eU9iamVjdEZvck1haW5GcmFtZVBsdWdpbigpOworICAgIH0gZWxzZSB7CisgICAgICAgIG1f
cGFnZUlEID0gMDsKKyAgICAgICAgbV9oYXNQbHVnaW4gPSBmYWxzZTsKKyAgICB9CiB9CiAKIC0g
KHZvaWQpc2V0UmVtb3RlUGFyZW50OihpZClwYXJlbnQKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTI1ICBDaHJp
cyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVj
ZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcy
MDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0wMS0yNCAg
Sm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgQWQgQ2xp
Y2sgQXR0cmlidXRpb24gYXMgYW4gaW50ZXJuYWwvZXhwZXJpbWVudGFsIGZlYXR1cmUKSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
d29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18k
KFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
X2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitF
TkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZ
ID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExF
X1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9u
ZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDcsNCArNDA5LDQgQEAKIAogRU5B
QkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FS
RF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9Q
Uk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNf
VklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
V0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5B
QkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVf
QVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09Q
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdf
QVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAk
KEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNU
X0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAk
KEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJV
VEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRI
TikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFT
U0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQo
RU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvY21ha2UvV2ViS2l0RmVh
dHVyZXMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNt
YWtlCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21h
a2UJKHdvcmtpbmcgY29weSkKQEAgLTE5Myw2ICsxOTMsNyBAQAogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HICJUb2dnbGUgc21vb3RoIHNjcm9sbGluZyIg
UFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUyAiVG9nZ2xlIFNwZWVjaCBTeW50aGVzaXMgQVBJIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TUEVMTENIRUNLICJUb2dnbGUgU3BlbGxj
aGVja2luZyBzdXBwb3J0IChyZXF1aXJlcyBFbmNoYW50KSIgUFJJVkFURSBPRkYpCisgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElDX1RSRUUgIlRvZ2ds
ZSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TVFJFQU1TX0FQSSAiVG9nZ2xlIFN0cmVhbXMgQVBJ
IHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NW
R19GT05UUyAiVG9nZ2xlIFNWRyBGb250cyBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTiAiVG9nZ2xl
IHRlbGVwaG9uZSBudW1iZXIgZGV0ZWN0aW9uIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQpJbmRleDog
VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24g
MjQwNDcwKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTktMDEtMjUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMDEtMjQgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRh
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIG1hY09TIEpTQyBib3QgY29uZmlndXJhdGlv
bnMKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwNDcwKQorKysgVG9vbHMv
VGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29y
a2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdL
X0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2Nv
Y29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFC
TEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0g
JChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BB
WV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNp
bXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDcsNCArNDA5LDQgQEAKIAogRU5BQkxF
X1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJM
RV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dS
QURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VY
UEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9L
RVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9U
T0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklE
RU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VC
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9f
VVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJ
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAk
KEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJ
VF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVO
QUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRU
SU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
U0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVB
TVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VC
X0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VN
QkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360097</attachid>
            <date>2019-01-25 02:50:15 -0800</date>
            <delta_ts>2019-01-25 14:00:16 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>105278</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTI1ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0yNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmUgdXNhZ2Ugb2YgaW50ZXJuYWwgbWFjcm8gZnJvbSBwcml2YXRlIGhl
YWRlcgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwNDcwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7
CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBM
RV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
QVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNyw0ICs0MDksNCBAQAog
CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1Nf
Q09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9O
UykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tF
WUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VT
VE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9M
T0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JL
RVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VC
X1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlO
R19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkg
JChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVO
QUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9D
X0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlO
VElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURf
T00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9D
U1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9O
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxF
X0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05F
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExF
UlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVO
QUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVf
V0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQAogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVz
L3dlYnNvY2tldHMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvd2VidnIiCiAgICAgIiR7
V0VCQ09SRV9ESVJ9L2FjY2Vzc2liaWxpdHkiCisgICAgIiR7V0VCQ09SRV9ESVJ9L2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlIgogICAgICIke1dFQkNPUkVfRElSfS9hbmltYXRpb24iCiAgICAg
IiR7V0VCQ09SRV9ESVJ9L2JpbmRpbmdzIgogICAgICIke1dFQkNPUkVfRElSfS9iaW5kaW5ncy9q
cyIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDc4IEBACisyMDE5LTAxLTI1ICBDaHJp
cyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVj
ZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcy
MDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW4gb3JkZXIgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSB3aGVuIHJlcXVlc3RpbmcgdGhlIGFjY2Vz
c2liaWxpdHkgaGllcmFyY2h5LCB3ZSBpbnRyb2R1Y2UgdGhlIGlkZWEgb2YgYSAic3RhdGljIGFj
Y2Vzc2liaWxpdHkgdHJlZSIgd2hpY2ggCisgICAgICAgIGNvdWxkIGJlIGFjY2Vzc2VkIG9uIGEg
ZGlmZmVyZW50IHRocmVhZCBieSBhc3Npc3RpdmUgdGVjaG5vbG9naWVzLgorICAgICAgICBUaGF0
IGlzIGFjY29tcGxpc2hlZCBieSBzdG9yaW5nIGFsbCB0aGUgZGF0YSBuZWVkZWQgdG8gYW5zd2Vy
IGFjY2Vzc2liaWxpdHkgYXR0cmlidXRlIHF1ZXJpZXMgaW4gYSBzdGF0aWMgb2JqZWN0IHRoYXQg
bWlycm9ycyB0aGUgCisgICAgICAgICJsaXZlIiBBY2Nlc3NpYmlsaXR5T2JqZWN0cyAod2hpY2gg
aW50ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVzKS4KKyAgICAgICAgVGhlc2Ug
c3RhdGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFmdGVyIGxheW91dCBpcyBkb25l
IGFuZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBUaGV5IGFyZSB0aGVuIHN0b3Jl
ZCBpbiB0aGUgc3RhdGljIHRyZWUgCisgICAgICAgIHJlcHJlc2VudGF0aW9uIGFuZCBhYmxlIHRv
IGJlIHJlYWQgZnJvbSBhbnl3aGVyZS4KKyAgICAgICAgVGFjdGljYWxseSB0aGlzIGlzIGRvbmUg
d2l0aCBBWElzb2xhdGVkVHJlZU5vZGVzIGluc2lkZSBvZiBhbiBBWElzb2xhdGVkVHJlZS4gVGhl
IFRyZWVOb2RlcyBpbXBsZW1lbnQgYW4gQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSBzaGFy
ZWQgCisgICAgICAgIHdpdGggQWNjZXNzaWJpbGl0eU9iamVjdC4KKyAgICAgICAgVGhpcyBhbGxv
d3MgdGhlIHdyYXBwZXJzIHRvIGFjY2VzcyBlaXRoZXIgb25lIGRlcGVuZGluZyBvbiBjb25kaXRp
b25zIGFuZCBwbGF0Zm9ybXMgd2l0aG91dCBzaWduaWZpY2FudCBjb2RlIGR1cGxpY2F0aW9uIG9y
IHJlLW9yZ2FuaXphdGlvbi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFNvdXJj
ZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OmNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9pc29sYXRlZHRyZWU6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpB
WElzb2xhdGVkVHJlZTo6dHJlZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlOjpBWElzb2xhdGVkVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9ySUQpOgor
ICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6Om5vZGVGb3JJRCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6cm9vdE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJ
c29sYXRlZFRyZWU6OnJlbW92ZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRy
ZWU6OmFwcGVuZE5vZGVDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVl
OjphcHBseVBlbmRpbmdDaGFuZ2VzKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlOjp0cmVlSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcDogQWRkZWQuCisgICAgICAgICAgICBU
byBub3RlOiB3ZSBkb24ndCBtYXJrIHRoZSBhdHRyaWJ1dGUgbWFwIGNvbnN0IGJlY2F1c2UgZXZl
biB0aG91Z2ggYXR0cmlidXRlcyBkb24ndCBjaGFuZ2UgYWZ0ZXIgaW5pdGlhbCBjcmVhdGlvbiwK
KyAgICAgICAgICAgIHdlIG1heSBjb3B5IGFuIGV4aXN0aW5nIG5vZGUgYW5kIHJlcGxhY2Ugc3Bl
Y2lmaWMgdmFsdWVzLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpBWElz
b2xhdGVkVHJlZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjppbml0aWFsaXpl
QXR0cmlidXRlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OnNl
dFByb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6ZG91Ymxl
QXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVO
b2RlOjp1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFY
SXNvbGF0ZWRUcmVlTm9kZTo6Ym9vbEF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6c3RyaW5nQXR0cmlidXRlVmFsdWUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjppbnRBdHRyaWJ1dGVWYWx1ZSBj
b25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVOb2RlLmg6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2Fj
aGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphc3NvY2lhdGVJc29s
YXRlZFRyZWVOb2RlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckJhc2UuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZSBpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6XSk6Cisg
ICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBpc29sYXRlZFRyZWVO
b2RlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBkZXRh
Y2hdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIHVwZGF0
ZU9iamVjdEJhY2tpbmdTdG9yZV0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlckJhc2UgYXhCYWNraW5nT2JqZWN0XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyQmFzZSBiYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uXSk6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMu
bW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHJvbGVdKToKKyAg
ICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgc3Vicm9sZV0pOgorICAgICAg
ICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByb2xlRGVzY3JpcHRpb25dKToKKyAg
ICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJp
YnV0ZVZhbHVlOl0pOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6cGFnZUlEIGNvbnN0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoK
KwogMjAxOS0wMS0yNCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtMRkNdW0JGQ11bTWFyZ2luQ29sbGFwc2luZ10gUmVmYWN0b3IgTWFyZ2luQ29sbGFwc2U6OnVw
ZGF0ZUNvbGxhcHNlZE1hcmdpbkFmdGVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwNDcw
KQorKysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsK
IAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExF
X1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9B
UFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9p
cGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA3LDQgKzQwOSw0IEBACiAK
IEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JB
VElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19D
T05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FS
RF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05T
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZ
Qk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNU
T01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
TUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVS
RSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9O
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xP
QURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktF
UikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJf
UlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5H
X0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAk
KEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5B
QkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFC
TEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0Nf
TE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5U
SU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9P
TSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NT
UykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04p
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVf
RkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
RlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZF
UikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRU
UklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRf
Rk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FH
RSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVS
UykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5B
QkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
QVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDEtMjUgIENocmlzIEZsZWl6YWNoICA8Y2Zs
ZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGlzb2xhdGVkIGFjY2Vz
c2liaWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTI0ICBFcmljIENhcmxzb24gIDxl
cmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFNpbGVuY2UgTWVkaWFQbGF5
ZXIgY29tcGlsZSB3YXJuaW5ncwpJbmRleDogU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQw
NDcwKQorKysgU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJM
RV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBF
TkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBM
RV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNyw0ICs0MDks
NCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJN
SVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9J
TlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5B
QkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFC
TEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NU
UkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dF
QkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1Qp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBP
U0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1Nf
VFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktf
TU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVS
QUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQo
RU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05f
T0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9D
T0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVf
TEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVf
TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01B
Q19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFO
REFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Qp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VS
Q0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0Vf
SEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChF
TkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNDA1LDYgKzQwNSw4IEBACiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlU
cmVlLmNwcAogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZUl0ZW0uY3BwCiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmNwcAorYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZU5vZGUuY3BwCiAKIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuY3BwCiBhbmlt
YXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0MDQ3MCkK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtNjk2LDYgKzY5Niw3IEBACiAJCTI2RjlBODM4MThBMDQ2QUMwMEFFQjg4
QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0
Q29uZmlndXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4QSAvKiBW
aWV3cG9ydENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3Vy
YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkyOTE0RTMwODFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNB
QjVBNDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OworCQkyOTM2
QkY1QzIxRDY5RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2
OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZF
MDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyog
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjk0ODlGQzcxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2li
aWxpdHlTY3JvbGxWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9sbFZp
ZXcuaCAqLzsgfTsKIAkJMjk3QkUzRDUxNkMwM0MwODAwMzMxNkJEIC8qIFBsYXRmb3JtU3BlZWNo
U3ludGhlc2lzVXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyNTI3Q0M5MTE2QkY4QkExMDA5RERBQzAgLyogUGxhdGZvcm1TcGVlY2hTeW50
aGVzaXNVdHRlcmFuY2UuaCAqLzsgfTsKQEAgLTcxNyw2ICs3MTgsOCBAQAogCQkyOUE4MTI0MzBG
QkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3guaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjI1MEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5TGlzdEJveC5oICovOyB9OwogCQkyOUE4MTI0OTBGQkI5Q0E5MDA1MTAy
OTMgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTI0NTBGQkI5Q0E5MDA1MTAyOTMg
LyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjlBQ0IyMTIxNDNFNzEyODAwNkJDQTVG
IC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJp
bGl0eU1vY2tPYmplY3QuaCAqLzsgfTsKKwkJMjlBRTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFY
SXNvbGF0ZWRUcmVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyOUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyOUFFMjEzNTIxQUJB
NDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJ
c29sYXRlZFRyZWVOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMjlEN0JDRkExNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
OUQ3QkNGOTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLzsg
fTsKIAkJMjlGQUY0QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3Vw
TWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUZB
RjRCNTE5NUFCMDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyQjM2NUM4NDE1
MjUxMTlFMDA5MUQyN0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2MDAwREJCQ0Q4IC8qIFJl
bmRlclNWR0VsbGlwc2UuaCAqLzsgfTsKQEAgLTY1ODQsNiArNjU4Nyw3IEBACiAJCTI4REI5QkM3
MjAyMEVBMDQwMEU1NEEwNyAvKiBQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyOTE0RTMwNTFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0
eUF0dGFjaG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNj
ZXNzaWJpbGl0eUF0dGFjaG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
OTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8q
IEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJp
bGl0eU9iamVjdEludGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNF
QUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyog
QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMjk0OTg2ODExOTUzNDE5NDAwNzJEMkJEIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFj
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFVuZG9JbnNl
cnRpb25NYXJrdXBNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NjMxLDYg
KzY2MzUsMTAgQEAKIAkJMjlBODEyNDcwRkJCOUNBOTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVN
YWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBWE9iamVjdENh
Y2hlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFDQjIxMTE0M0U3MTI4
MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMjlBQ0IyMTMxNDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlN
b2NrT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vz
c2liaWxpdHlNb2NrT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlB
RTIxMkIyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEFYSXNvbGF0ZWRUcmVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJD
MjFBQjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBBWElzb2xhdGVkVHJlZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUy
MTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQVhJc29sYXRlZFRyZWVOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5
QUUyMTM0MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQVhJc29sYXRlZFRyZWVOb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMjlEN0JDRjUxNDQ0QUY1ODAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0
dG9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxp
dHlTcGluQnV0dG9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlEN0JDRjkx
NDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RTA0QTI3QkVEMkY4MUY5OEU5MDIyQiAvKiBKU0JlZm9y
ZVVubG9hZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQmVmb3Jl
VW5sb2FkRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjU0LDYgKzE3
MjYyLDcgQEAKIAkJMjlBODEyMDQwRkJCOUI0MTAwNTEwMjkzIC8qIGFjY2Vzc2liaWxpdHkgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTI5QUUyMTI5MjFB
QjlFQ0IwMDg2OTI4MyAvKiBpc29sYXRlZHRyZWUgKi8sCiAJCQkJQUFBNzI4RUYxNkQxRDhCQzAw
RDNCQkM2IC8qIGlvcyAqLywKIAkJCQkyOUE4MTIwNTBGQkI5QjUyMDA1MTAyOTMgLyogbWFjICov
LAogCQkJCTI5ODFDQTlEMTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQu
Y3BwICovLApAQCAtMTcyOTIsNiArMTczMDEsNyBAQAogCQkJCTI5ODU3MDkzMTVDQzUzMkQwMDYz
NTVDRCAvKiBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oICovLAogCQkJCTI5ODFDQUE1MTMxODIy
RUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAqLywKIAkJCQkyOUE4MTIxODBG
QkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdC5oICovLAorCQkJCTI5MzZCRjVB
MjFENjk5OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggKi8sCiAJ
CQkJQTQwOUM5ODIxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGlj
YXRvci5jcHAgKi8sCiAJCQkJQTQwOUM5ODMxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxp
dHlQcm9ncmVzc0luZGljYXRvci5oICovLAogCQkJCTI5ODFDQUE2MTMxODIyRUMwMEQxMkYyQSAv
KiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAqLywKQEAgLTE3MzQ3LDYgKzE3MzU3LDE3
IEBACiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJ
MjlBRTIxMjkyMUFCOUVDQjAwODY5MjgzIC8qIGlzb2xhdGVkdHJlZSAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMjlBRTIxMkIyMUFCOUVFQjAwODY5Mjgz
IC8qIEFYSXNvbGF0ZWRUcmVlLmggKi8sCisJCQkJMjlBRTIxMkMyMUFCOUVFQjAwODY5MjgzIC8q
IEFYSXNvbGF0ZWRUcmVlLmNwcCAqLywKKwkJCQkyOUFFMjEzMzIxQUJBNDhBMDA4NjkyODMgLyog
QVhJc29sYXRlZFRyZWVOb2RlLmggKi8sCisJCQkJMjlBRTIxMzQyMUFCQTQ4QTAwODY5MjgzIC8q
IEFYSXNvbGF0ZWRUcmVlTm9kZS5jcHAgKi8sCisJCQkpOworCQkJcGF0aCA9IGlzb2xhdGVkdHJl
ZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTJEMDYyMTQ2MURBNjM5RUMw
MEE3RkIyNiAvKiBsZWdhY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKApAQCAtMjk5NzIsNiArMjk5OTMsNyBAQAogCQkJCTFBRTJBQTk4MEExQ0REMkQwMEI0MkIy
NSAvKiBKU0hUTUxJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU3RTk3MEEx
QTgzRTMwMDdGQjhDNSAvKiBKU0hUTUxJbnB1dEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTgzNkIwOTU2MUY1RjM0RDkwMDNDMzcwMiAvKiBKU0hUTUxJbnB1dEVsZW1lbnRFbnRyaWVzQVBJ
LmggaW4gSGVhZGVycyAqLywKKwkJCQkyOTM2QkY1QzIxRDY5RTRCMDA0QThGQzkgLyogQWNjZXNz
aWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTYxNDhBNzkxMkU0
MUUzQjAwNDRBNzg0IC8qIEpTSFRNTEtleWdlbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBRTJBQjIyMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMYWJlbEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBRTJBQjI0MEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMZWdlbmRFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMxNDI3LDYgKzMxNDQ5LDcgQEAKIAkJCQk1MTQwNUM4
OTE5MEIwMTQ0MDA3NTRGOTQgLyogU2VsZWN0aW9uUmVjdEdhdGhlcmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFNDRCNEJCNDE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk0MzJEM0ZFODE4QTg2NTg0MDBEN0RDMDMgLyogU2VsZWN0b3JDaGVj
a2VyVGVzdEZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMzUyMUFCQTQ4QTAw
ODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjZCOTk5
OTcxODA0RDU0MjAwRDAxMTIxIC8qIFNlbGVjdG9yQ29tcGlsZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQxNTA3MTU4MTY4NTA2NzMwMEMzQzdCMyAvKiBTZWxlY3RvckZpbHRlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDMxMDdCRTIxOENDMTlERTAwQ0MxOEU4IC8qIFNlbGVjdG9yUHNldWRvVHlw
ZU1hcC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjM2Miw2ICszMjM4NSw3IEBACiAJCQkJOTc3RTJF
MEYxMkYwRkM5QzAwQzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTU0MTZGRTYxODgxMEVGODAwMDlGQzVGIC8qIFlvdVR1YmVFbWJlZFNoYWRvd0VsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNTUxNUY1MTkxODMwQTMwMDk2ODdEMiAvKiBZb3VU
dWJlUGx1Z2luUmVwbGFjZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5QUUyMTJEMjFBQjlF
RUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1Mzcz
NTMxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkocmV2aXNpb24gMjQw
NDcwKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsOCBAQAogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNo
ZS5oIgogCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWUuaCIKKyNpbmNsdWRlICJBWElzb2xhdGVk
VHJlZU5vZGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaCIKICNpbmNsdWRl
ICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFS
SUFHcmlkUm93LmgiCkBAIC0xMTUsNiArMTE3LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxO
YW1lczsKIAorY29uc3QgQVhJRCBJbnZhbGlkQVhJRCA9IDA7CisKIC8vIFBvc3QgdmFsdWUgY2hh
bmdlIG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxkcyBvciBlbGVtZW50cyBjb250YWlu
ZWQgaW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRlcnZhbCB0byB0aHdhcnQgYW5hbHlz
aXMgb2YgdHlwaW5nIGNhZGVuY2UKIHN0YXRpYyBjb25zdCBTZWNvbmRzIGFjY2Vzc2liaWxpdHlQ
YXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwgeyAyNV9tcyB9Owogc3RhdGlj
IGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9u
SW50ZXJ2YWwgeyAyMF9tcyB9OwpAQCAtNzIzLDYgKzcyNywxMCBAQAogICAgIG9iamVjdC0+c2V0
QVhPYmplY3RJRCgwKTsKIAogICAgIG1faWRzSW5Vc2UucmVtb3ZlKGF4SUQpOworI2lmIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgaWYgKGF1dG8gcGFnZUlEID0gbV9k
b2N1bWVudC5wYWdlSUQoKSkKKyAgICAgICAgQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQo
KnBhZ2VJRCktPnJlbW92ZU5vZGUoYXhJRCk7CisjZW5kaWYKIAogICAgIEFTU0VSVChtX29iamVj
dHMuc2l6ZSgpID49IG1faWRzSW5Vc2Uuc2l6ZSgpKTsKIH0KQEAgLTI5MDcsNiArMjkxNSwzNyBA
QAogICAgIG1fZGVmZXJyZWRGb2N1c2VkTm9kZUNoYW5nZS5jbGVhcigpOwogfQogICAgIAorI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitSZWY8QVhJc29sYXRlZFRyZWVO
b2RlPiBBWE9iamVjdENhY2hlOjpjcmVhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlKEFjY2Vz
c2liaWxpdHlPYmplY3QmIG9iamVjdCwgQVhJRCBwYXJlbnRJRCwgQVhJc29sYXRlZFRyZWUmIHRy
ZWUsIFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4mIG5vZGVzKQoreworICAgIGF1
dG8gaXNvbGF0ZWRUcmVlTm9kZSA9IEFYSXNvbGF0ZWRUcmVlTm9kZTo6Y3JlYXRlKG9iamVjdCk7
CisgICAgbm9kZXMuYXBwZW5kKGlzb2xhdGVkVHJlZU5vZGUucHRyKCkpOworCisgICAgaXNvbGF0
ZWRUcmVlTm9kZS0+c2V0UGFyZW50KHBhcmVudElEKTsKKyAgICBhc3NvY2lhdGVJc29sYXRlZFRy
ZWVOb2RlKG9iamVjdCwgaXNvbGF0ZWRUcmVlTm9kZSwgdHJlZS50cmVlSWRlbnRpZmllcigpKTsK
KworICAgIGZvciAoYXV0byBjaGlsZCA6IG9iamVjdC5jaGlsZHJlbigpKSB7CisgICAgICAgIGF1
dG8gc3RhdGljQ2hpbGQgPSBjcmVhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlKCpjaGlsZCwg
aXNvbGF0ZWRUcmVlTm9kZS0+aWRlbnRpZmllcigpLCB0cmVlLCBub2Rlcyk7CisgICAgICAgIGlz
b2xhdGVkVHJlZU5vZGUtPmNoaWxkcmVuKCkuYXBwZW5kKHN0YXRpY0NoaWxkLT5pZGVudGlmaWVy
KCkpOworICAgIH0KKworICAgIHJldHVybiBpc29sYXRlZFRyZWVOb2RlOworfQorICAgIAorUmVm
PEFYSXNvbGF0ZWRUcmVlPiBBWE9iamVjdENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkQWNjZXNzaWJp
bGl0eVRyZWUoKQoreworICAgIFJFTEVBU0VfQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKworICAg
IGF1dG8gdHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKCptX2RvY3VtZW50LnBh
Z2VJRCgpKTsKKyAgICBWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+IG5vZGVzOwor
ICAgIGF1dG8gcm9vdCA9IGNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKnJvb3RPYmpl
Y3QoKSwgSW52YWxpZEFYSUQsIHRyZWUsIG5vZGVzKTsKKyAgICByb290LT5zZXRJc1Jvb3ROb2Rl
KHRydWUpOworICAgIHRyZWUtPmFwcGVuZE5vZGVDaGFuZ2VzKG5vZGVzKTsKKworICAgIHJldHVy
biB0cmVlOworfQorI2VuZGlmCisgICAgCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmRlZmVyUmVjb21w
dXRlSXNJZ25vcmVkSWZOZWVkZWQoRWxlbWVudCogZWxlbWVudCkKIHsKICAgICBpZiAoIW5vZGVB
bmRSZW5kZXJlckFyZVZhbGlkKGVsZW1lbnQpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NSw2ICsyNSw5IEBACiAKICNwcmFnbWEgb25jZQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlf
SVNPTEFURURfVFJFRSkKKyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZS5oIgorI2VuZGlmCiAjaW5j
bHVkZSAiQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5
T2JqZWN0LmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKQEAgLTM5LDYgKzQyLDkgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkK
K2NsYXNzIEFYSXNvbGF0ZWRUcmVlTm9kZTsKKyNlbmRpZgogY2xhc3MgRG9jdW1lbnQ7CiBjbGFz
cyBIVE1MQXJlYUVsZW1lbnQ7CiBjbGFzcyBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDsKQEAg
LTE4MCw2ICsxODYsMTMgQEAKICAgICB2b2lkIGRlZmVyQXR0cmlidXRlQ2hhbmdlSWZOZWVkZWQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIEVsZW1lbnQqKTsKICAgICB2b2lkIHJlY29tcHV0ZUlzSWdu
b3JlZChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKTsKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpCisgICAgV0VCQ09SRV9FWFBPUlQgUmVmPEFYSXNvbGF0ZWRUcmVlPiBn
ZW5lcmF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKTsKKworICAgIHZvaWQgYXNzb2NpYXRl
SXNvbGF0ZWRUcmVlTm9kZShBY2Nlc3NpYmlsaXR5T2JqZWN0JiwgQVhJc29sYXRlZFRyZWVOb2Rl
JiwgQVhJc29sYXRlZFRyZWVJRCk7CisgICAgUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gY3JlYXRl
SXNvbGF0ZWRBY2Nlc3NpYmlsaXR5VHJlZShBY2Nlc3NpYmlsaXR5T2JqZWN0JiwgQVhJRCwgQVhJ
c29sYXRlZFRyZWUmLCBWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+Jik7CisjZW5k
aWYKKyAgICAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAgICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRp
YyB2b2lkIGRpc2FibGVBY2Nlc3NpYmlsaXR5KCk7CkBAIC0xODcsNiArMjAwLDcgQEAKICAgICAv
LyBFbmhhbmNlZCB1c2VyIGludGVyZmFjZSBhY2Nlc3NpYmlsaXR5IGNhbiBiZSB0b2dnbGVkIGJ5
IHRoZSBhc3Npc3RpdmUgdGVjaG5vbG9neS4KICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9p
ZCBzZXRFbmhhbmNlZFVzZXJJbnRlcmZhY2VBY2Nlc3NpYmlsaXR5KGJvb2wgZmxhZyk7CiAgICAg
CisgICAgLy8gTm90ZTogdGhlc2UgbWF5IGJlIGNhbGxlZCBmcm9tIGEgbm9uLW1haW4gdGhyZWFk
IGNvbmN1cnJlbnRseSBhcyBvdGhlciByZWFkZXJzLgogICAgIHN0YXRpYyBib29sIGFjY2Vzc2li
aWxpdHlFbmFibGVkKCkgeyByZXR1cm4gZ0FjY2Vzc2liaWxpdHlFbmFibGVkOyB9CiAgICAgc3Rh
dGljIGJvb2wgYWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQoKSB7IHJl
dHVybiBnQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQ7IH0KICNlbHNl
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaAkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcg
QEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRGb3JtQ29u
dHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCkBAIC04OSwxNTcgKzkwLDYg
QEAKIGNsYXNzIFNjcm9sbFZpZXc7CiBjbGFzcyBXaWRnZXQ7CiAKLXR5cGVkZWYgdW5zaWduZWQg
QVhJRDsKLQotZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7Ci0gICAgQW5ub3RhdGlvbiA9
IDEsCi0gICAgQXBwbGljYXRpb24sCi0gICAgQXBwbGljYXRpb25BbGVydCwKLSAgICBBcHBsaWNh
dGlvbkFsZXJ0RGlhbG9nLAotICAgIEFwcGxpY2F0aW9uRGlhbG9nLAotICAgIEFwcGxpY2F0aW9u
R3JvdXAsCi0gICAgQXBwbGljYXRpb25Mb2csCi0gICAgQXBwbGljYXRpb25NYXJxdWVlLAotICAg
IEFwcGxpY2F0aW9uU3RhdHVzLAotICAgIEFwcGxpY2F0aW9uVGV4dEdyb3VwLAotICAgIEFwcGxp
Y2F0aW9uVGltZXIsCi0gICAgQXVkaW8sCi0gICAgQmxvY2txdW90ZSwKLSAgICBCcm93c2VyLAot
ICAgIEJ1c3lJbmRpY2F0b3IsCi0gICAgQnV0dG9uLAotICAgIENhbnZhcywKLSAgICBDYXB0aW9u
LAotICAgIENlbGwsCi0gICAgQ2hlY2tCb3gsCi0gICAgQ29sb3JXZWxsLAotICAgIENvbHVtbiwK
LSAgICBDb2x1bW5IZWFkZXIsCi0gICAgQ29tYm9Cb3gsCi0gICAgRGVmaW5pdGlvbiwKLSAgICBE
ZXNjcmlwdGlvbkxpc3QsCi0gICAgRGVzY3JpcHRpb25MaXN0VGVybSwKLSAgICBEZXNjcmlwdGlv
bkxpc3REZXRhaWwsCi0gICAgRGV0YWlscywKLSAgICBEaXJlY3RvcnksCi0gICAgRGlzY2xvc3Vy
ZVRyaWFuZ2xlLAotICAgIERpdiwKLSAgICBEb2N1bWVudCwKLSAgICBEb2N1bWVudEFydGljbGUs
Ci0gICAgRG9jdW1lbnRNYXRoLAotICAgIERvY3VtZW50Tm90ZSwKLSAgICBEcmF3ZXIsCi0gICAg
RWRpdGFibGVUZXh0LAotICAgIEZlZWQsCi0gICAgRmlndXJlLAotICAgIEZvb3RlciwKLSAgICBG
b290bm90ZSwKLSAgICBGb3JtLAotICAgIEdyYXBoaWNzRG9jdW1lbnQsCi0gICAgR3JhcGhpY3NP
YmplY3QsCi0gICAgR3JhcGhpY3NTeW1ib2wsCi0gICAgR3JpZCwKLSAgICBHcmlkQ2VsbCwKLSAg
ICBHcm91cCwKLSAgICBHcm93QXJlYSwKLSAgICBIZWFkaW5nLAotICAgIEhlbHBUYWcsCi0gICAg
SG9yaXpvbnRhbFJ1bGUsCi0gICAgSWdub3JlZCwKLSAgICBJbmxpbmUsCi0gICAgSW1hZ2UsCi0g
ICAgSW1hZ2VNYXAsCi0gICAgSW1hZ2VNYXBMaW5rLAotICAgIEluY3JlbWVudG9yLAotICAgIExh
YmVsLAotICAgIExhbmRtYXJrQmFubmVyLAotICAgIExhbmRtYXJrQ29tcGxlbWVudGFyeSwKLSAg
ICBMYW5kbWFya0NvbnRlbnRJbmZvLAotICAgIExhbmRtYXJrRG9jUmVnaW9uLAotICAgIExhbmRt
YXJrTWFpbiwKLSAgICBMYW5kbWFya05hdmlnYXRpb24sCi0gICAgTGFuZG1hcmtSZWdpb24sCi0g
ICAgTGFuZG1hcmtTZWFyY2gsCi0gICAgTGVnZW5kLAotICAgIExpbmssCi0gICAgTGlzdCwKLSAg
ICBMaXN0Qm94LAotICAgIExpc3RCb3hPcHRpb24sCi0gICAgTGlzdEl0ZW0sCi0gICAgTGlzdE1h
cmtlciwKLSAgICBNYXJrLAotICAgIE1hdGhFbGVtZW50LAotICAgIE1hdHRlLAotICAgIE1lbnUs
Ci0gICAgTWVudUJhciwKLSAgICBNZW51QnV0dG9uLAotICAgIE1lbnVJdGVtLAotICAgIE1lbnVJ
dGVtQ2hlY2tib3gsCi0gICAgTWVudUl0ZW1SYWRpbywKLSAgICBNZW51TGlzdFBvcHVwLAotICAg
IE1lbnVMaXN0T3B0aW9uLAotICAgIE91dGxpbmUsCi0gICAgUGFyYWdyYXBoLAotICAgIFBvcFVw
QnV0dG9uLAotICAgIFByZSwKLSAgICBQcmVzZW50YXRpb25hbCwKLSAgICBQcm9ncmVzc0luZGlj
YXRvciwKLSAgICBSYWRpb0J1dHRvbiwKLSAgICBSYWRpb0dyb3VwLAotICAgIFJvd0hlYWRlciwK
LSAgICBSb3csCi0gICAgUm93R3JvdXAsCi0gICAgUnVieUJhc2UsCi0gICAgUnVieUJsb2NrLAot
ICAgIFJ1YnlJbmxpbmUsCi0gICAgUnVieVJ1biwKLSAgICBSdWJ5VGV4dCwKLSAgICBSdWxlciwK
LSAgICBSdWxlck1hcmtlciwKLSAgICBTY3JvbGxBcmVhLAotICAgIFNjcm9sbEJhciwKLSAgICBT
ZWFyY2hGaWVsZCwKLSAgICBTaGVldCwKLSAgICBTbGlkZXIsCi0gICAgU2xpZGVyVGh1bWIsCi0g
ICAgU3BpbkJ1dHRvbiwKLSAgICBTcGluQnV0dG9uUGFydCwKLSAgICBTcGxpdEdyb3VwLAotICAg
IFNwbGl0dGVyLAotICAgIFN0YXRpY1RleHQsCi0gICAgU3VtbWFyeSwKLSAgICBTd2l0Y2gsCi0g
ICAgU3lzdGVtV2lkZSwKLSAgICBTVkdSb290LAotICAgIFNWR1RleHQsCi0gICAgU1ZHVFNwYW4s
Ci0gICAgU1ZHVGV4dFBhdGgsCi0gICAgVGFiR3JvdXAsCi0gICAgVGFiTGlzdCwKLSAgICBUYWJQ
YW5lbCwKLSAgICBUYWIsCi0gICAgVGFibGUsCi0gICAgVGFibGVIZWFkZXJDb250YWluZXIsCi0g
ICAgVGV4dEFyZWEsCi0gICAgVGV4dEdyb3VwLAotICAgIFRlcm0sCi0gICAgVGltZSwKLSAgICBU
cmVlLAotICAgIFRyZWVHcmlkLAotICAgIFRyZWVJdGVtLAotICAgIFRleHRGaWVsZCwKLSAgICBU
b2dnbGVCdXR0b24sCi0gICAgVG9vbGJhciwKLSAgICBVbmtub3duLAotICAgIFVzZXJJbnRlcmZh
Y2VUb29sdGlwLAotICAgIFZhbHVlSW5kaWNhdG9yLAotICAgIFZpZGVvLAotICAgIFdlYkFwcGxp
Y2F0aW9uLAotICAgIFdlYkFyZWEsCi0gICAgV2ViQ29yZUxpbmssCi0gICAgV2luZG93LAotfTsK
LQogZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZSB7CiAgICAgQWx0ZXJuYXRpdmUs
CiAgICAgQ2hpbGRyZW4sCkBAIC00OTEsNyArMzQxLDcgQEAKICAgICAKIGJvb2wgbm9kZUhhc1By
ZXNlbnRhdGlvblJvbGUoTm9kZSopOwogICAgIAotY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdCA6
IHB1YmxpYyBSZWZDb3VudGVkPEFjY2Vzc2liaWxpdHlPYmplY3Q+IHsKK2NsYXNzIEFjY2Vzc2li
aWxpdHlPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0PiwgcHVi
bGljIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UgewogcHJvdGVjdGVkOgogICAgIEFjY2Vz
c2liaWxpdHlPYmplY3QoKSA9IGRlZmF1bHQ7CiAgICAgCkBAIC0xMTU5LDcgKzEwMDksMTAgQEAK
ICAgICBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEgbV9pc0lnbm9yZWRGcm9t
UGFyZW50RGF0YSB7IH07CiAgICAgYm9vbCBtX2NoaWxkcmVuRGlydHkgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9zdWJ0cmVlRGlydHkgeyBmYWxzZSB9OwotCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFlfSVNPTEFURURfVFJFRSkKKyAgICBib29sIG1faXNvbGF0ZWRUcmVlTm9kZUluaXRpYWxpemVk
IHsgZmFsc2UgfTsKKyNlbmRpZgorICAgIAogICAgIHZvaWQgc2V0SXNJZ25vcmVkRnJvbVBhcmVu
dERhdGEoQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhJiBkYXRhKSB7IG1faXNJ
Z25vcmVkRnJvbVBhcmVudERhdGEgPSBkYXRhOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY29tcHV0
ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDE5MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3R5cGVkZWYgdW5zaWduZWQgQVhJRDsKK2V4dGVybiBjb25zdCBBWElEIElu
dmFsaWRBWElEOworCitlbnVtIGNsYXNzIEFjY2Vzc2liaWxpdHlSb2xlIHsKKyAgICBBbm5vdGF0
aW9uID0gMSwKKyAgICBBcHBsaWNhdGlvbiwKKyAgICBBcHBsaWNhdGlvbkFsZXJ0LAorICAgIEFw
cGxpY2F0aW9uQWxlcnREaWFsb2csCisgICAgQXBwbGljYXRpb25EaWFsb2csCisgICAgQXBwbGlj
YXRpb25Hcm91cCwKKyAgICBBcHBsaWNhdGlvbkxvZywKKyAgICBBcHBsaWNhdGlvbk1hcnF1ZWUs
CisgICAgQXBwbGljYXRpb25TdGF0dXMsCisgICAgQXBwbGljYXRpb25UZXh0R3JvdXAsCisgICAg
QXBwbGljYXRpb25UaW1lciwKKyAgICBBdWRpbywKKyAgICBCbG9ja3F1b3RlLAorICAgIEJyb3dz
ZXIsCisgICAgQnVzeUluZGljYXRvciwKKyAgICBCdXR0b24sCisgICAgQ2FudmFzLAorICAgIENh
cHRpb24sCisgICAgQ2VsbCwKKyAgICBDaGVja0JveCwKKyAgICBDb2xvcldlbGwsCisgICAgQ29s
dW1uLAorICAgIENvbHVtbkhlYWRlciwKKyAgICBDb21ib0JveCwKKyAgICBEZWZpbml0aW9uLAor
ICAgIERlc2NyaXB0aW9uTGlzdCwKKyAgICBEZXNjcmlwdGlvbkxpc3RUZXJtLAorICAgIERlc2Ny
aXB0aW9uTGlzdERldGFpbCwKKyAgICBEZXRhaWxzLAorICAgIERpcmVjdG9yeSwKKyAgICBEaXNj
bG9zdXJlVHJpYW5nbGUsCisgICAgRGl2LAorICAgIERvY3VtZW50LAorICAgIERvY3VtZW50QXJ0
aWNsZSwKKyAgICBEb2N1bWVudE1hdGgsCisgICAgRG9jdW1lbnROb3RlLAorICAgIERyYXdlciwK
KyAgICBFZGl0YWJsZVRleHQsCisgICAgRmVlZCwKKyAgICBGaWd1cmUsCisgICAgRm9vdGVyLAor
ICAgIEZvb3Rub3RlLAorICAgIEZvcm0sCisgICAgR3JhcGhpY3NEb2N1bWVudCwKKyAgICBHcmFw
aGljc09iamVjdCwKKyAgICBHcmFwaGljc1N5bWJvbCwKKyAgICBHcmlkLAorICAgIEdyaWRDZWxs
LAorICAgIEdyb3VwLAorICAgIEdyb3dBcmVhLAorICAgIEhlYWRpbmcsCisgICAgSGVscFRhZywK
KyAgICBIb3Jpem9udGFsUnVsZSwKKyAgICBJZ25vcmVkLAorICAgIElubGluZSwKKyAgICBJbWFn
ZSwKKyAgICBJbWFnZU1hcCwKKyAgICBJbWFnZU1hcExpbmssCisgICAgSW5jcmVtZW50b3IsCisg
ICAgTGFiZWwsCisgICAgTGFuZG1hcmtCYW5uZXIsCisgICAgTGFuZG1hcmtDb21wbGVtZW50YXJ5
LAorICAgIExhbmRtYXJrQ29udGVudEluZm8sCisgICAgTGFuZG1hcmtEb2NSZWdpb24sCisgICAg
TGFuZG1hcmtNYWluLAorICAgIExhbmRtYXJrTmF2aWdhdGlvbiwKKyAgICBMYW5kbWFya1JlZ2lv
biwKKyAgICBMYW5kbWFya1NlYXJjaCwKKyAgICBMZWdlbmQsCisgICAgTGluaywKKyAgICBMaXN0
LAorICAgIExpc3RCb3gsCisgICAgTGlzdEJveE9wdGlvbiwKKyAgICBMaXN0SXRlbSwKKyAgICBM
aXN0TWFya2VyLAorICAgIE1hcmssCisgICAgTWF0aEVsZW1lbnQsCisgICAgTWF0dGUsCisgICAg
TWVudSwKKyAgICBNZW51QmFyLAorICAgIE1lbnVCdXR0b24sCisgICAgTWVudUl0ZW0sCisgICAg
TWVudUl0ZW1DaGVja2JveCwKKyAgICBNZW51SXRlbVJhZGlvLAorICAgIE1lbnVMaXN0UG9wdXAs
CisgICAgTWVudUxpc3RPcHRpb24sCisgICAgT3V0bGluZSwKKyAgICBQYXJhZ3JhcGgsCisgICAg
UG9wVXBCdXR0b24sCisgICAgUHJlLAorICAgIFByZXNlbnRhdGlvbmFsLAorICAgIFByb2dyZXNz
SW5kaWNhdG9yLAorICAgIFJhZGlvQnV0dG9uLAorICAgIFJhZGlvR3JvdXAsCisgICAgUm93SGVh
ZGVyLAorICAgIFJvdywKKyAgICBSb3dHcm91cCwKKyAgICBSdWJ5QmFzZSwKKyAgICBSdWJ5Qmxv
Y2ssCisgICAgUnVieUlubGluZSwKKyAgICBSdWJ5UnVuLAorICAgIFJ1YnlUZXh0LAorICAgIFJ1
bGVyLAorICAgIFJ1bGVyTWFya2VyLAorICAgIFNjcm9sbEFyZWEsCisgICAgU2Nyb2xsQmFyLAor
ICAgIFNlYXJjaEZpZWxkLAorICAgIFNoZWV0LAorICAgIFNsaWRlciwKKyAgICBTbGlkZXJUaHVt
YiwKKyAgICBTcGluQnV0dG9uLAorICAgIFNwaW5CdXR0b25QYXJ0LAorICAgIFNwbGl0R3JvdXAs
CisgICAgU3BsaXR0ZXIsCisgICAgU3RhdGljVGV4dCwKKyAgICBTdW1tYXJ5LAorICAgIFN3aXRj
aCwKKyAgICBTeXN0ZW1XaWRlLAorICAgIFNWR1Jvb3QsCisgICAgU1ZHVGV4dCwKKyAgICBTVkdU
U3BhbiwKKyAgICBTVkdUZXh0UGF0aCwKKyAgICBUYWJHcm91cCwKKyAgICBUYWJMaXN0LAorICAg
IFRhYlBhbmVsLAorICAgIFRhYiwKKyAgICBUYWJsZSwKKyAgICBUYWJsZUhlYWRlckNvbnRhaW5l
ciwKKyAgICBUZXh0QXJlYSwKKyAgICBUZXh0R3JvdXAsCisgICAgVGVybSwKKyAgICBUaW1lLAor
ICAgIFRyZWUsCisgICAgVHJlZUdyaWQsCisgICAgVHJlZUl0ZW0sCisgICAgVGV4dEZpZWxkLAor
ICAgIFRvZ2dsZUJ1dHRvbiwKKyAgICBUb29sYmFyLAorICAgIFVua25vd24sCisgICAgVXNlcklu
dGVyZmFjZVRvb2x0aXAsCisgICAgVmFsdWVJbmRpY2F0b3IsCisgICAgVmlkZW8sCisgICAgV2Vi
QXBwbGljYXRpb24sCisgICAgV2ViQXJlYSwKKyAgICBXZWJDb3JlTGluaywKKyAgICBXaW5kb3cs
Cit9OworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKK3B1YmxpYzoKKyAg
ICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlKCkgPSBkZWZhdWx0OworCisg
ICAgdmlydHVhbCBib29sIGlzTWVkaWFDb250cm9sTGFiZWwoKSBjb25zdCA9IDA7CisgICAgdmly
dHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCA9IDA7CisgICAgdmlydHVh
bCBib29sIGlzQXR0YWNobWVudCgpIGNvbnN0ID0gMDsKK307CisKK30KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTI3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xB
VEVEX1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBWElzb2xhdGVkVHJl
ZS5oIgorCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCisjaW5jbHVkZSAiUGFnZS5o
IgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisgICAgCitzdGF0aWMgdW5zaWduZWQgc190cmVlSURDb3VudCA9IDA7CisKK0hhc2hNYXA8QVhJ
c29sYXRlZFRyZWVJRCwgUmVmPEFYSXNvbGF0ZWRUcmVlPj4mIEFYSXNvbGF0ZWRUcmVlOjp0cmVl
Q2FjaGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPEFYSXNvbGF0ZWRU
cmVlSUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KKwor
QVhJc29sYXRlZFRyZWU6OkFYSXNvbGF0ZWRUcmVlKCkKKyAgICA6IG1fdHJlZUlEKCsrc190cmVl
SURDb3VudCkKK3sKK30KKworQVhJc29sYXRlZFRyZWU6On5BWElzb2xhdGVkVHJlZSgpID0gZGVm
YXVsdDsKKworUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWElzb2xhdGVkVHJlZTo6Y3JlYXRlKCkKK3sK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZSgpKTsKK30KKyAgICAKK1Jl
ZlB0cjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJRChBWElzb2xhdGVk
VHJlZUlEIHRyZWVJRCkKK3sKKyAgICByZXR1cm4gdHJlZUNhY2hlKCkuZ2V0KHRyZWVJRCk7Cit9
CisKK1JlZjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQodWlu
dDY0X3QgcGFnZUlEKQoreworICAgIHN0YXRpYyBMb2NrIGNhY2hlTG9jazsKKyAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDx1aW50NjRfdCwgUmVmPEFYSXNvbGF0ZWRUcmVlPj4+IHBh
Z2VNYXA7CisKKyAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKGNhY2hlTG9jayk7CisKKyAgICBjYWNo
ZUxvY2subG9jaygpOworICAgIGlmIChBWElzb2xhdGVkVHJlZSogdHJlZSA9IHBhZ2VNYXAuZ2V0
KCkuZ2V0KHBhZ2VJRCkpIHsKKyAgICAgICAgUmVmPEFYSXNvbGF0ZWRUcmVlPiBuZXdUcmVlID0g
bWFrZVJlZigqdHJlZSk7CisgICAgICAgIHJldHVybiBuZXdUcmVlOworICAgIH0KKworICAgIFJl
ZjxBWElzb2xhdGVkVHJlZT4gbmV3VHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjpjcmVhdGUoKTsKKyAg
ICBwYWdlTWFwLmdldCgpLnNldChwYWdlSUQsIG5ld1RyZWUuY29weVJlZigpKTsKKyAgICB0cmVl
Q2FjaGUoKS5zZXQobmV3VHJlZS0+dHJlZUlkZW50aWZpZXIoKSwgbmV3VHJlZS5jb3B5UmVmKCkp
OworICAgIHJldHVybiBuZXdUcmVlOworfQorICAgIAorUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9k
ZT4gQVhJc29sYXRlZFRyZWU6Om5vZGVGb3JJRChBWElEIGF4SUQpIGNvbnN0Cit7CisgICAgQVNT
RVJUKCFpc01haW5UaHJlYWQoKSk7CisgICAgaWYgKCFheElEKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICByZXR1cm4gbV9yZWFkZXJUaHJlYWROb2RlTWFwLmdldChheElEKTsKK30KKwor
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gQVhJc29sYXRlZFRyZWU6OnJvb3ROb2RlKCkKK3sK
KyAgICByZXR1cm4gbm9kZUZvcklEKG1fcm9vdE5vZGVJRCk7Cit9CisKK3ZvaWQgQVhJc29sYXRl
ZFRyZWU6OnJlbW92ZU5vZGUoQVhJRCBheElEKQoreworICAgIExvY2tlcjxMb2NrPiBsb2NrZXIo
bV9jaGFuZ2VMb2dMb2NrKTsKKyAgICBtX3BlbmRpbmdSZW1vdmFscy5hcHBlbmQoYXhJRCk7Cit9
CisKK3ZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGVuZE5vZGVDaGFuZ2VzKFZlY3RvcjxSZWZQdHI8
QVhJc29sYXRlZFRyZWVOb2RlPj4mIGxvZykKK3sKKyAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKG1f
Y2hhbmdlTG9nTG9jayk7CisgICAgbV9wZW5kaW5nQXBwZW5kcy5hcHBlbmRWZWN0b3IobG9nKTsK
K30KKyAgICAKK3ZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGluZ0NoYW5nZXMoKQorewor
ICAgIFJFTEVBU0VfQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisKKyAgICBtX2NoYW5nZUxvZ0xv
Y2subG9jaygpOworICAgIFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gYXBwZW5k
Q29weSh7IFdURk1vdmUobV9wZW5kaW5nQXBwZW5kcykgfSk7CisgICAgVmVjdG9yPEFYSUQ+IHJl
bW92ZUNvcHkoeyBXVEZNb3ZlKG1fcGVuZGluZ1JlbW92YWxzKSB9KTsKKyAgICBtX2NoYW5nZUxv
Z0xvY2sudW5sb2NrKCk7CisKKyAgICBmb3IgKGF1dG8mIGl0ZW0gOiBhcHBlbmRDb3B5KSB7Cisg
ICAgICAgIG1fcmVhZGVyVGhyZWFkTm9kZU1hcC5zZXQoaXRlbS0+aWRlbnRpZmllcigpLCAqaXRl
bSk7CisgICAgICAgIGlmIChpdGVtLT5pc1Jvb3ROb2RlKCkpCisgICAgICAgICAgICBtX3Jvb3RO
b2RlSUQgPSBpdGVtLT5pZGVudGlmaWVyKCk7CisgICAgfQorCisgICAgZm9yIChhdXRvIGl0ZW0g
OiByZW1vdmVDb3B5KQorICAgICAgICBtX3JlYWRlclRocmVhZE5vZGVNYXAucmVtb3ZlKGl0ZW0p
OworfQorICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaAkobm9u
ZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkVHJlZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJBWElzb2xh
dGVkVHJlZU5vZGUuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBQYWdlOworCit0eXBlZGVmIHVuc2lnbmVkIEFYSXNvbGF0
ZWRUcmVlSUQ7CisgICAgCitjbGFzcyBBWElzb2xhdGVkVHJlZSA6IHB1YmxpYyBUaHJlYWRTYWZl
UmVmQ291bnRlZDxBWElzb2xhdGVkVHJlZT4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFY
SXNvbGF0ZWRUcmVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUmVmPEFYSXNvbGF0ZWRUcmVlPiBjcmVhdGUoKTsKKyAgICB2aXJ0dWFsIH5BWElzb2xh
dGVkVHJlZSgpOworCisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJl
ZT4gdHJlZUZvclBhZ2VJRCh1aW50NjRfdCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJl
ZlB0cjxBWElzb2xhdGVkVHJlZT4gdHJlZUZvcklEKEFYSXNvbGF0ZWRUcmVlSUQpOworCisgICAg
V0VCQ09SRV9FWFBPUlQgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4gcm9vdE5vZGUoKTsKKyAg
ICBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiBub2RlRm9ySUQoQVhJRCkgY29uc3Q7CisKKyAg
ICAvLyBDYWxsIG9uIG1haW4gdGhyZWFkCisgICAgdm9pZCBhcHBlbmROb2RlQ2hhbmdlcyhWZWN0
b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+Jik7CisgICAgdm9pZCByZW1vdmVOb2RlKEFY
SUQpOworCisgICAgLy8gQ2FsbCBvbiBBWCB0aHJlYWQKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKworICAgIEFYSXNvbGF0ZWRUcmVlSUQgdHJlZUlkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3RyZWVJRDsgfQorCitwcml2YXRlOgorICAgIEFYSXNv
bGF0ZWRUcmVlKCk7CisKKyAgICBzdGF0aWMgSGFzaE1hcDxBWElzb2xhdGVkVHJlZUlELCBSZWY8
QVhJc29sYXRlZFRyZWU+PiYgdHJlZUNhY2hlKCk7CisKKyAgICAvLyBPbmx5IGFjY2VzcyBvbiBB
WCB0aHJlYWQgcmVxdWVzdGluZyBkYXRhLgorICAgIEhhc2hNYXA8QVhJRCwgUmVmPEFYSXNvbGF0
ZWRUcmVlTm9kZT4+IG1fcmVhZGVyVGhyZWFkTm9kZU1hcDsKKworICAgIC8vIFdyaXR0ZW4gdG8g
YnkgbWFpbiB0aHJlYWQgdW5kZXIgbG9jaywgYWNjZXNzZWQgYW5kIGFwcGxpZWQgYnkgQVggdGhy
ZWFkLgorICAgIFZlY3RvcjxSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gbV9wZW5kaW5nQXBw
ZW5kczsKKyAgICBWZWN0b3I8QVhJRD4gbV9wZW5kaW5nUmVtb3ZhbHM7CisgICAgTG9jayBtX2No
YW5nZUxvZ0xvY2s7CisKKyAgICBBWElzb2xhdGVkVHJlZUlEIG1fdHJlZUlEOworICAgIEFYSUQg
bV9yb290Tm9kZUlEOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRU
cmVlTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKKworI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitBWElzb2xhdGVkVHJlZU5vZGU6
OkFYSXNvbGF0ZWRUcmVlTm9kZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCisg
ICAgOiBtX2lkZW50aWZpZXIob2JqZWN0LmF4T2JqZWN0SUQoKSkKK3sKKyAgICBpbml0aWFsaXpl
QXR0cmlidXRlRGF0YShvYmplY3QpOworfQorCitSZWY8QVhJc29sYXRlZFRyZWVOb2RlPiBBWElz
b2xhdGVkVHJlZU5vZGU6OmNyZWF0ZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3Qp
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQVhJc29sYXRlZFRyZWVOb2RlKG9iamVjdCkp
OworfQorICAgIAorQVhJc29sYXRlZFRyZWVOb2RlOjp+QVhJc29sYXRlZFRyZWVOb2RlKCkgPSBk
ZWZhdWx0OworCit2b2lkIEFYSXNvbGF0ZWRUcmVlTm9kZTo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURh
dGEoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQoreworICAgIHNldFByb3BlcnR5
KEFYUHJvcGVydHlOYW1lOjpSb2xlVmFsdWUsIHN0YXRpY19jYXN0PGludD4ob2JqZWN0LnJvbGVW
YWx1ZSgpKSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCwg
b2JqZWN0LmlzQXR0YWNobWVudCgpKTsKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
SXNNZWRpYUNvbnRyb2xMYWJlbCwgb2JqZWN0LmlzTWVkaWFDb250cm9sTGFiZWwoKSk7Cit9Cisg
ICAgCit2b2lkIEFYSXNvbGF0ZWRUcmVlTm9kZTo6c2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWUg
cHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQmJiB2YWx1ZSwgYm9vbCBzaG91bGRS
ZW1vdmUpCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBpZiAoc2hvdWxkUmVt
b3ZlKQorICAgICAgICBtX2F0dHJpYnV0ZU1hcC5yZW1vdmUocHJvcGVydHlOYW1lKTsKKyAgICBl
bHNlCisgICAgICAgIG1fYXR0cmlidXRlTWFwLnNldChwcm9wZXJ0eU5hbWUsIHZhbHVlKTsKK30K
KyAgICAKK2RvdWJsZSBBWElzb2xhdGVkVHJlZU5vZGU6OmRvdWJsZUF0dHJpYnV0ZVZhbHVlKEFY
UHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9h
dHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24o
dmFsdWUsIFsmXSAoZG91YmxlJiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZh
bHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIDAuMDsKKyAgICB9KTsK
K30KKwordW5zaWduZWQgQVhJc29sYXRlZFRyZWVOb2RlOjp1bnNpZ25lZEF0dHJpYnV0ZVZhbHVl
KEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0g
bV9hdHRyaWJ1dGVNYXAuZ2V0KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNo
T24odmFsdWUsIFsmXSAodW5zaWduZWQmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5
cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9
KTsKK30KKworYm9vbCBBWElzb2xhdGVkVHJlZU5vZGU6OmJvb2xBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0
cmlidXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZh
bHVlLCBbJl0gKGJvb2wmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7
CisgICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSk7Cit9
CisKK2NvbnN0IFN0cmluZyYgQVhJc29sYXRlZFRyZWVOb2RlOjpzdHJpbmdBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9
IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRj
aE9uKHZhbHVlLCBbJl0gKFN0cmluZyYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlw
ZWRWYWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiBudWxsQXRvbSgp
OworICAgIH0pOworfQorCitpbnQgQVhJc29sYXRlZFRyZWVOb2RlOjppbnRBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9
IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRj
aE9uKHZhbHVlLCBbJl0gKGludCYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRW
YWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0pOwor
fQorCisjcHJhZ21hIG1hcmsgLSBPdmVycmlkZXMKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTAgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJ
TElUWV9JU09MQVRFRF9UUkVFKQorCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEludGVy
ZmFjZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WYXJp
YW50Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+
CisKKyNpZiBQTEFURk9STShDT0NPQSkKK09CSkNfQ0xBU1MgV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXI7CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBBY2Nlc3Np
YmlsaXR5T2JqZWN0OworCitjbGFzcyBBWElzb2xhdGVkVHJlZU5vZGUgZmluYWwgOiBwdWJsaWMg
QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSwgcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVk
PEFYSXNvbGF0ZWRUcmVlTm9kZT4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxBWElzb2xhdGVkVHJl
ZU5vZGU+IHsKKworcHVibGljOgorICAgIGVudW0gY2xhc3MgQVhQcm9wZXJ0eU5hbWUgOiB1aW50
OF90IHsKKyAgICAgICAgTm9uZSA9IDAsCisgICAgICAgIFJvbGVWYWx1ZSA9IDEsCisgICAgICAg
IElzQXR0YWNobWVudCwKKyAgICAgICAgSXNNZWRpYUNvbnRyb2xMYWJlbCwKKyAgICB9OworCisg
ICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+IGNyZWF0ZShjb25zdCBBY2Nlc3NpYmls
aXR5T2JqZWN0Jik7CisgICAgdmlydHVhbCB+QVhJc29sYXRlZFRyZWVOb2RlKCk7CisKKyAgICBB
WElEIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KKworICAgIGJv
b2wgaXNSb290Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNSb290Tm9kZTsgfQorICAgIHZvaWQg
c2V0SXNSb290Tm9kZShib29sIHZhbHVlKSB7IG1faXNSb290Tm9kZSA9IHZhbHVlOyB9CisKKyAg
ICB2b2lkIHNldFBhcmVudChBWElEIHBhcmVudCkgeyBtX3BhcmVudCA9IHBhcmVudDsgfQorICAg
IEFYSUQgcGFyZW50KCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnQ7IH0KKworICAgIFZlY3RvcjxB
WElEPiYgY2hpbGRyZW4oKSB7IHJldHVybiBtX2NoaWxkcmVuOyB9OworCisjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIoKSBjb25z
dCB7IHJldHVybiBtX3dyYXBwZXIuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFdyYXBwZXIoV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIpIHsgbV93cmFwcGVyID0gd3JhcHBlcjsg
fQorI2VuZGlmCisKK3Byb3RlY3RlZDoKKyAgICBBWElzb2xhdGVkVHJlZU5vZGUoKSA9IGRlZmF1
bHQ7CisKK3ByaXZhdGU6CisgICAgQVhJc29sYXRlZFRyZWVOb2RlKGNvbnN0IEFjY2Vzc2liaWxp
dHlPYmplY3QmKTsKKyAgICB2b2lkIGluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKGNvbnN0IEFjY2Vz
c2liaWxpdHlPYmplY3QmKTsKKworICAgIGJvb2wgaXNNZWRpYUNvbnRyb2xMYWJlbCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNN
ZWRpYUNvbnRyb2xMYWJlbCk7IH0KKyAgICBib29sIGlzQXR0YWNobWVudCgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNBdHRhY2ht
ZW50KTsgfQorICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIHN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlSb2xlPihpbnRBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZTo6Um9sZVZhbHVlKSk7IH0KKworICAgIHVzaW5nIEF0dHJpYnV0ZVZh
bHVlVmFyaWFudCA9IFZhcmlhbnQ8c3RkOjpudWxscHRyX3QsIFN0cmluZywgYm9vbCwgaW50LCB1
bnNpZ25lZCwgZG91YmxlPjsKKyAgICB2b2lkIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lLCBB
dHRyaWJ1dGVWYWx1ZVZhcmlhbnQmJiwgYm9vbCBzaG91bGRSZW1vdmUgPSBmYWxzZSk7CisKKyAg
ICBib29sIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgY29u
c3QgU3RyaW5nJiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7Cisg
ICAgaW50IGludEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICB1bnNp
Z25lZCB1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKyAgICBk
b3VibGUgZG91YmxlQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworCisgICAg
QVhJRCBtX3BhcmVudDsKKyAgICBBWElEIG1faWRlbnRpZmllcjsKKyAgICBib29sIG1faXNSb290
Tm9kZTsKKyAgICBWZWN0b3I8QVhJRD4gbV9jaGlsZHJlbjsKKworI2lmIFBMQVRGT1JNKENPQ09B
KQorICAgIFJldGFpblB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gbV93cmFwcGVy
OworI2VuZGlmCisKKyAgICBIYXNoTWFwPEFYUHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZh
cmlhbnQsIFdURjo6SW50SGFzaDxBWFByb3BlcnR5TmFtZT4sIFdURjo6U3Ryb25nRW51bUhhc2hU
cmFpdHM8QVhQcm9wZXJ0eU5hbWU+PiBtX2F0dHJpYnV0ZU1hcDsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2Fj
aGVNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
QVhPYmplY3RDYWNoZU1hYy5tbQkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MjgsNiArMjgsNyBAQAogCiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBQTEFURk9STShNQUMp
CiAKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eU9iamVjdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVRhYmxlLmgiCiAjaW1wb3J0ICJSZW5k
ZXJPYmplY3QuaCIKQEAgLTIzNyw2ICsyMzgsMTUgQEAKICAgICBvYmotPnNldFdyYXBwZXIobnVs
bHB0cik7CiB9CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQordm9p
ZCBBWE9iamVjdENhY2hlOjphc3NvY2lhdGVJc29sYXRlZFRyZWVOb2RlKEFjY2Vzc2liaWxpdHlP
YmplY3QmIG9iamVjdCwgQVhJc29sYXRlZFRyZWVOb2RlJiBub2RlLCBBWElzb2xhdGVkVHJlZUlE
IHRyZWVJRCkKK3sKKyAgICBBU1NFUlQoIW9iamVjdC53cmFwcGVyKCkuaXNvbGF0ZWRUcmVlSWRl
bnRpZmllcik7CisgICAgb2JqZWN0LndyYXBwZXIoKS5pc29sYXRlZFRyZWVJZGVudGlmaWVyID0g
dHJlZUlEOworICAgIG5vZGUuc2V0V3JhcHBlcihvYmplY3Qud3JhcHBlcigpKTsKK30KKyNlbmRp
ZgorCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVj
dCogb2JqKQogewogICAgIFJldGFpblB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4g
d3JhcHBlciA9IGFkb3B0TlMoW1tXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhbGxvY10g
aW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0Om9ial0pOwpJbmRleDogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJCYXNlLmgJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMSArMjksMTggQEAKICNpZm5kZWYgV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJCYXNlX2gKICNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXJCYXNlX2gKIAorI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlLmgiCiAjaW5jbHVkZSAiQWNj
ZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3Mu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KKyNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBY2Nl
c3NpYmlsaXR5T2JqZWN0OworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CitjbGFzcyBBWElzb2xhdGVkVHJlZU5vZGU7CisjZW5kaWYKIHN0cnVjdCBBY2Nlc3NpYmlsaXR5
U2VhcmNoQ3JpdGVyaWE7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgRmxvYXRQb2ludDsKQEAgLTQ0
LDEzICs1MSwyNiBAQAogCiBAaW50ZXJmYWNlIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QmFzZSA6IE5TT2JqZWN0IHsKICAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBtX29i
amVjdDsKKyAgICBXZWJDb3JlOjpBWElEIF9pZGVudGlmaWVyOwogfQogIAogLSAoaWQpaW5pdFdp
dGhBY2Nlc3NpYmlsaXR5T2JqZWN0OihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KilheE9i
amVjdDsKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitAcHJvcGVy
dHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFJlZlB0cjxXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5v
ZGU+IGlzb2xhdGVkVHJlZU5vZGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZUlEIGlzb2xhdGVkVHJlZUlkZW50aWZpZXI7CisjZW5kaWYKKwog
LSAodm9pZClkZXRhY2g7CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFdlYkNvcmU6
OkFYSUQgaWRlbnRpZmllcjsKKwogLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCopYWNj
ZXNzaWJpbGl0eU9iamVjdDsKIC0gKEJPT0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3JlOwogCisv
LyBUaGlzIGNhbiBiZSBlaXRoZXIgYW4gQWNjZXNzaWJpbGl0eU9iamVjdCBvciBhbiBBWElzb2xh
dGVkVHJlZU5vZGUKKy0gKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UqKWF4
QmFja2luZ09iamVjdDsKKwogLy8gVGhlc2UgYXJlIHByZS1maXhlZCB3aXRoIGJhc2Ugc28gdGhh
dCBBcHBLaXQgZG9lcyBub3QgZW5kIHVwIGNhbGxpbmcgaW50byB0aGVzZSBkaXJlY3RseSAoYnlw
YXNzaW5nIHNhZmV0eSBjaGVja3MpLgogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eVRp
dGxlOwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uOwpJbmRleDog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXJCYXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
bWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkocmV2aXNpb24gMjQwNDcw
KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJCYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMCArMzEsMTMgQEAKIAog
I2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIAorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWUuaCIKKyNp
bXBvcnQgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgogI2ltcG9ydCAiQVhPYmplY3RDYWNoZS5oIgog
I2ltcG9ydCAiQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmls
aXR5TGlzdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIKKyNpbXBvcnQgIkFj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmgiCiAjaW1wb3J0
ICJBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIgpAQCAtMjcwLDYgKzI3Myw4IEBACiAKIEBpbXBs
ZW1lbnRhdGlvbiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UKIAorQHN5bnRoZXNp
emUgaWRlbnRpZmllcj1faWRlbnRpZmllcjsKKwogLSAoaWQpaW5pdFdpdGhBY2Nlc3NpYmlsaXR5
T2JqZWN0OihBY2Nlc3NpYmlsaXR5T2JqZWN0KilheE9iamVjdAogewogICAgIGlmICghKHNlbGYg
PSBbc3VwZXIgaW5pdF0pKQpAQCAtMjc2LDE2ICsyODEsMzEgQEAKICAgICAgICAgcmV0dXJuIG5p
bDsKIAogICAgIG1fb2JqZWN0ID0gYXhPYmplY3Q7CisgICAgX2lkZW50aWZpZXIgPSBtX29iamVj
dC0+YXhPYmplY3RJRCgpOwogICAgIHJldHVybiBzZWxmOwogfQogCisjaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKy0gKFJlZlB0cjxXZWJDb3JlOjpBWElzb2xhdGVkVHJl
ZU5vZGU+KWlzb2xhdGVkVHJlZU5vZGUKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCghaXNNYWluVGhy
ZWFkKCkpOworICAgIHJldHVybiBBWElzb2xhdGVkVHJlZTo6dHJlZUZvcklEKF9pc29sYXRlZFRy
ZWVJZGVudGlmaWVyKS0+bm9kZUZvcklEKF9pZGVudGlmaWVyKTsKK30KKyNlbmRpZgorCiAtICh2
b2lkKWRldGFjaAogewogICAgIG1fb2JqZWN0ID0gbnVsbHB0cjsKKyAgICBfaWRlbnRpZmllciA9
IDA7CiB9CiAKIC0gKEJPT0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3JlCiB7CisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBSRUxFQVNFX0FTU0VSVCghaXNNYWlu
VGhyZWFkKCkpOworICAgIEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9ySUQoc2VsZi5pc29sYXRlZFRy
ZWVJZGVudGlmaWVyKS0+YXBwbHlQZW5kaW5nQ2hhbmdlcygpOworICAgIHJldHVybiBfaWRlbnRp
ZmllcjsKKyNlbHNlCiAgICAgLy8gQ2FsbGluZyB1cGRhdGVCYWNraW5nU3RvcmUoKSBjYW4gaW52
YWxpZGF0ZSB0aGlzIGVsZW1lbnQgc28gc2VsZiBtdXN0IGJlIHJldGFpbmVkLgogICAgIC8vIElm
IGl0IGRvZXMgYmVjb21lIGludmFsaWRhdGVkLCBtX29iamVjdCB3aWxsIGJlIG5pbC4KICAgICBD
RlJldGFpbigoX19icmlkZ2UgQ0ZUeXBlUmVmKXNlbGYpOwpAQCAtMjk5LDYgKzMxOSw3IEBACiAg
ICAgICAgIHJldHVybiBOTzsKICAgICAKICAgICByZXR1cm4gWUVTOworI2VuZGlmCiB9CiAKIC0g
KGlkKWF0dGFjaG1lbnRWaWV3CkBAIC0zNjAsMTEgKzM4MSwyMSBAQAogICAgIHJldHVybiBbTlNT
dHJpbmcgc3RyaW5nXTsKIH0KIAorI2RlZmluZSBfYXhCYWNraW5nT2JqZWN0IHNlbGYuYXhCYWNr
aW5nT2JqZWN0CistIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlKilheEJh
Y2tpbmdPYmplY3QKK3sKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQor
ICAgIHJldHVybiBzZWxmLmlzb2xhdGVkVHJlZU5vZGUuZ2V0KCk7CisjZWxzZQorICAgIHJldHVy
biBtX29iamVjdDsKKyNlbmRpZgorfQorCiAtIChOU1N0cmluZyAqKWJhc2VBY2Nlc3NpYmlsaXR5
RGVzY3JpcHRpb24KIHsKICAgICAvLyBTdGF0aWMgdGV4dCBvYmplY3RzIHNob3VsZCBub3QgaGF2
ZSBhIGRlc2NyaXB0aW9uLiBJdHMgY29udGVudCBpcyBjb21tdW5pY2F0ZWQgaW4gaXRzIEFYVmFs
dWUuCiAgICAgLy8gT25lIGV4Y2VwdGlvbiBpcyB0aGUgbWVkaWEgY29udHJvbCBsYWJlbHMgdGhh
dCBoYXZlIGEgdmFsdWUgYW5kIGEgZGVzY3JpcHRpb24uIFRob3NlIGFyZSBzZXQgcHJvZ3JhbWF0
aWNhbGx5LgotICAgIGlmIChtX29iamVjdC0+cm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJv
bGU6OlN0YXRpY1RleHQgJiYgIW1fb2JqZWN0LT5pc01lZGlhQ29udHJvbExhYmVsKCkpCisgICAg
aWYgKF9heEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpT
dGF0aWNUZXh0ICYmICFfYXhCYWNraW5nT2JqZWN0LT5pc01lZGlhQ29udHJvbExhYmVsKCkpCiAg
ICAgICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nXTsKICAgICAKICAgICBWZWN0b3I8QWNjZXNz
aWJpbGl0eVRleHQ+IHRleHRPcmRlcjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyTWFjLm1tCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQkod29ya2luZyBj
b3B5KQpAQCAtNDE2LDYgKzQxNiw4IEBACiAjZGVmaW5lIE5TQWNjZXNzaWJpbGl0eVJlbGF0aXZl
RnJhbWVBdHRyaWJ1dGUgQCJBWFJlbGF0aXZlRnJhbWUiCiAjZW5kaWYKIAorI2RlZmluZSBfYXhC
YWNraW5nT2JqZWN0IHNlbGYuYXhCYWNraW5nT2JqZWN0CisKIGV4dGVybiAiQyIgQVhVSUVsZW1l
bnRSZWYgTlNBY2Nlc3NpYmlsaXR5Q3JlYXRlQVhVSUVsZW1lbnRSZWYoaWQgZWxlbWVudCk7CiAK
IEBpbXBsZW1lbnRhdGlvbiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcgpAQCAtMTk3MCwx
MCArMTk3MiwxMCBAQAogLSAoTlNTdHJpbmcqKXJvbGUKIHsKICAgICBBTExPV19ERVBSRUNBVEVE
X0RFQ0xBUkFUSU9OU19CRUdJTgotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpCisg
ICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKQogICAgICAgICByZXR1cm4g
W1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nl
c3NpYmlsaXR5Um9sZUF0dHJpYnV0ZV07CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElP
TlNfRU5ECi0gICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSA9IG1fb2JqZWN0LT5yb2xlVmFsdWUo
KTsKKyAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlID0gX2F4QmFja2luZ09iamVjdC0+cm9sZVZh
bHVlKCk7CiAKICAgICBpZiAocm9sZSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGFiZWwgJiYgaXM8
QWNjZXNzaWJpbGl0eUxhYmVsPigqbV9vYmplY3QpICYmIGRvd25jYXN0PEFjY2Vzc2liaWxpdHlM
YWJlbD4oKm1fb2JqZWN0KS5jb250YWluc09ubHlTdGF0aWNUZXh0KCkpCiAgICAgICAgIHJvbGUg
PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dDsKQEAgLTIwMDAsNyArMjAwMiw3IEBACiAg
ICAgaWYgKG1fb2JqZWN0LT5pc1NlYXJjaEZpZWxkKCkpCiAgICAgICAgIHJldHVybiBOU0FjY2Vz
c2liaWxpdHlTZWFyY2hGaWVsZFN1YnJvbGU7CiAgICAgCi0gICAgaWYgKG1fb2JqZWN0LT5pc0F0
dGFjaG1lbnQoKSkgeworICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkg
ewogICAgICAgICBOU1ZpZXcqIGF0dGFjaFZpZXcgPSBbc2VsZiBhdHRhY2htZW50Vmlld107CiAg
ICAgICAgIGlmIChbW2F0dGFjaFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250
YWluc09iamVjdDpOU0FjY2Vzc2liaWxpdHlTdWJyb2xlQXR0cmlidXRlXSkKICAgICAgICAgICAg
IHJldHVybiBbYXR0YWNoVmlldyBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3Np
YmlsaXR5U3Vicm9sZUF0dHJpYnV0ZV07CkBAIC0yMjExLDcgKzIyMTMsNyBAQAogCiAgICAgQUxM
T1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KICAgICAvLyBhdHRhY2htZW50cyBoYXZl
IHRoZSBBWEltYWdlIHJvbGUsIGJ1dCBhIGRpZmZlcmVudCBzdWJyb2xlCi0gICAgaWYgKG1fb2Jq
ZWN0LT5pc0F0dGFjaG1lbnQoKSkKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2ht
ZW50KCkpCiAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxp
dHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlSb2xlRGVzY3JpcHRpb25BdHRyaWJ1dGVd
OwogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogCkBAIC0yNTY4LDcgKzI1
NzAsNyBAQAogICAgICAgICByZXR1cm4gW05TTnVtYmVyIG51bWJlcldpdGhCb29sOiBtX29iamVj
dC0+aXNWaXNpdGVkKCldOwogICAgIAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9T
dHJpbmc6IE5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9v
YmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5p
c0F0dGFjaG1lbnQoKSkgewogICAgICAgICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXdd
IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmls
aXR5VGl0bGVBdHRyaWJ1dGVdKQogICAgICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNo
bWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlUaXRs
ZUF0dHJpYnV0ZV07CiAgICAgICAgIH0KQEAgLTI1ODUsNyArMjU4Nyw3IEBACiAgICAgfQogICAg
IAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0
eURlc2NyaXB0aW9uQXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNo
bWVudCgpKSB7CisgICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkg
ewogICAgICAgICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlB
dHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25B
dHRyaWJ1dGVdKQogICAgICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXdd
IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbkF0
dHJpYnV0ZV07CiAgICAgICAgIH0KQEAgLTI1OTMsNyArMjU5NSw3IEBACiAgICAgfQogICAgIAog
ICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eVZh
bHVlQXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7
CisgICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAg
ICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVO
YW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdKQogICAg
ICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlB
dHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV07CiAgICAgICAgIH0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODIxNyw2ICs4MjE3
LDExIEBACiAKICAgICByZXR1cm4gKm1fbG9nZ2VyOwogfQorICAgIAorT3B0aW9uYWw8dWludDY0
X3Q+IERvY3VtZW50OjpwYWdlSUQoKSBjb25zdAoreworICAgIHJldHVybiBtX2ZyYW1lLT5sb2Fk
ZXIoKS5jbGllbnQoKS5wYWdlSUQoKTsKK30KIAogdm9pZCBEb2N1bWVudDo6aGFzU3RvcmFnZUFj
Y2VzcyhSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTY0OCw2ICs2NDgsNyBAQAogICAgIFdFQkNPUkVfRVhQT1JU
IEFYT2JqZWN0Q2FjaGUqIGF4T2JqZWN0Q2FjaGUoKSBjb25zdDsKICAgICB2b2lkIGNsZWFyQVhP
YmplY3RDYWNoZSgpOwogCisgICAgT3B0aW9uYWw8dWludDY0X3Q+IHBhZ2VJRCgpIGNvbnN0Owog
ICAgIC8vIHRvIGdldCB2aXN1YWxseSBvcmRlcmVkIGhlYnJldyBhbmQgYXJhYmljIHBhZ2VzIHJp
Z2h0CiAgICAgdm9pZCBzZXRWaXN1YWxseU9yZGVyZWQoKTsKICAgICBib29sIHZpc3VhbGx5T3Jk
ZXJlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlzdWFsbHlPcmRlcmVkOyB9CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwko
cmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wMS0yNSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXph
Y2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJp
bGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9X
S0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbToKKyAgICAgICAgKC1bV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdEJhc2UgYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyXSk6
CisKIDIwMTktMDEtMjQgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgaU9TOiBTcGxpdCBrZXlib2FyZCBzaG91bGQgbm90IHNocmluayB2aXN1YWxWaWV3cG9ydC5o
ZWlnaHQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYktpdC9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAt
NDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9ICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNIKSk7
CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFCTEVfQVBQTEVf
UEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVO
QUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJM
RV9BUFBMRV9QQVk7CkBAIC00MDcsNCArNDA5LDQgQEAKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVf
WFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9N
QU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElP
TlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFC
TEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQ
T1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFU
VVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVS
U0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tF
WUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAk
KEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAk
KEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRf
UkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMp
ICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJf
TUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklB
VElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZV
TExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VN
QkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09O
SUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJP
QVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
Q19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FE
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JU
QykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19B
UEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChF
TkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tB
Y2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJh
c2UuaAkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTMyLDcgKzMyLDkgQEAKIAogQGludGVyZmFjZSBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2Jq
ZWN0QmFzZSA6IE5TT2JqZWN0IHsKICAgICBXZWJLaXQ6OldlYlBhZ2UqIG1fcGFnZTsKKyAgICB1
aW50NjRfdCBtX3BhZ2VJRDsKICAgICBpZCBtX3BhcmVudDsKKyAgICBib29sIG1faGFzUGx1Z2lu
OwogfQogCiAtICh2b2lkKXNldFdlYlBhZ2U6KFdlYktpdDo6V2ViUGFnZSopcGFnZTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQ
YWdlT2JqZWN0QmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0JKHJldmlzaW9u
IDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vz
c2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQs
NyBAQAogI2ltcG9ydCAiV0tTaGFyZWRBUElDYXN0LmgiCiAjaW1wb3J0ICJXS1N0cmluZy5oIgog
I2ltcG9ydCAiV0tTdHJpbmdDRi5oIgorI2ltcG9ydCA8V2ViQ29yZS9BWElzb2xhdGVkVHJlZS5o
PgogI2ltcG9ydCA8V2ViQ29yZS9BWE9iamVjdENhY2hlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Rv
Y3VtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lLmg+CkBAIC00NywzMyArNDgsNzIgQEAK
IAogQGltcGxlbWVudGF0aW9uIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlCiAKLS0g
KGlkKWFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcgorLSAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZSopYXhPYmplY3RDYWNoZQogewotICAgIGlmICghV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKLSAgICAgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
ZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwotCi0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVy
biBuaWw7Ci0gICAgCi0gICAgTlNPYmplY3QqIG1haW5GcmFtZVBsdWdpbkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyID0gbV9wYWdlLT5hY2Nlc3NpYmlsaXR5T2JqZWN0Rm9yTWFpbkZyYW1lUGx1
Z2luKCk7Ci0gICAgaWYgKG1haW5GcmFtZVBsdWdpbkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
KQotICAgICAgICByZXR1cm4gbWFpbkZyYW1lUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXI7Ci0KICAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gbV9wYWdlLT5jb3JlUGFnZSgpOwogICAg
IGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIG5pbDsKLSAgICAKICAgICBXZWJDb3JlOjpGcmFt
ZSYgY29yZSA9IHBhZ2UtPm1haW5GcmFtZSgpOwogICAgIGlmICghY29yZS5kb2N1bWVudCgpKQog
ICAgICAgICByZXR1cm4gbmlsOworCisgICAgcmV0dXJuIGNvcmUuZG9jdW1lbnQoKS0+YXhPYmpl
Y3RDYWNoZSgpOworfQorCistIChpZClhY2Nlc3NpYmlsaXR5UGx1Z2luT2JqZWN0Cit7CisgICAg
YXV0byByZXRyaWV2ZUJsb2NrID0gWyZzZWxmXSgpIC0+IGlkIHsKKyAgICAgICAgaWQgYXhQbHVn
aW4gPSBuaWw7CisgICAgICAgIGF1dG8gZGlzcGF0Y2hCbG9jayA9IFsmYXhQbHVnaW4sICZzZWxm
XSB7CisgICAgICAgICAgICBpZiAoc2VsZi0+bV9wYWdlKQorICAgICAgICAgICAgICAgIGF4UGx1
Z2luID0gc2VsZi0+bV9wYWdlLT5hY2Nlc3NpYmlsaXR5T2JqZWN0Rm9yTWFpbkZyYW1lUGx1Z2lu
KCk7CisgICAgICAgIH07CisKKyAgICAgICAgaWYgKGlzTWFpblRocmVhZCgpKQorICAgICAgICAg
ICAgZGlzcGF0Y2hCbG9jaygpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjYWxsT25NYWlu
VGhyZWFkQW5kV2FpdChbJmRpc3BhdGNoQmxvY2tdIHsgZGlzcGF0Y2hCbG9jaygpOyB9KTsKKyAg
ICAgICAgcmV0dXJuIGF4UGx1Z2luOworICAgIH07CiAgICAgCi0gICAgV2ViQ29yZTo6QVhPYmpl
Y3RDYWNoZSogY2FjaGUgPSBjb3JlLmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKTsKLSAgICBp
ZiAoIWNhY2hlKQotICAgICAgICByZXR1cm4gbmlsOwotICAgIAotICAgIGlmIChXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiByb290ID0gY2FjaGUtPnJvb3RPYmplY3QoKSkKLSAgICAgICAg
cmV0dXJuIHJvb3QtPndyYXBwZXIoKTsKLSAgICAKKyAgICByZXR1cm4gcmV0cmlldmVCbG9jaygp
OworfQorCistIChpZClhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXIKK3sKKyAgICBpZiAo
IVdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCisgICAgICAg
IFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKKworICAgIGlm
IChtX2hhc1BsdWdpbikKKyAgICAgICAgcmV0dXJuIHNlbGYuYWNjZXNzaWJpbGl0eVBsdWdpbk9i
amVjdDsKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgYXV0
byBnZW5lcmF0ZUJsb2NrID0gWyZdIHsKKyAgICAgICAgYXV0byBkaXNwYXRjaEJsb2NrID0gWyZz
ZWxmXSB7CisgICAgICAgICAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBbc2VsZiBheE9i
amVjdENhY2hlXSkKKyAgICAgICAgICAgICAgICBjYWNoZS0+Z2VuZXJhdGVJc29sYXRlZEFjY2Vz
c2liaWxpdHlUcmVlKCk7CisgICAgICAgIH07CisKKyAgICAgICAgaWYgKGlzTWFpblRocmVhZCgp
KQorICAgICAgICAgICAgZGlzcGF0Y2hCbG9jaygpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBjYWxsT25NYWluVGhyZWFkQW5kV2FpdChbJmRpc3BhdGNoQmxvY2tdIHsgZGlzcGF0Y2hCbG9j
aygpOyB9KTsKKyAgICB9OworCisgICAgYXV0byB0cmVlID0gQVhJc29sYXRlZFRyZWU6OnRyZWVG
b3JQYWdlSUQobV9wYWdlSUQpOworICAgIGF1dG8gcm9vdE5vZGUgPSB0cmVlLT5yb290Tm9kZSgp
OworICAgIGlmICghcm9vdE5vZGUpCisgICAgICAgIGdlbmVyYXRlQmxvY2soKTsKKworICAgIHRy
ZWUtPmFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKyAgICBpZiAoKHJvb3ROb2RlID0gdHJlZS0+cm9v
dE5vZGUoKSkpCisgICAgICAgIHJldHVybiByb290Tm9kZS0+d3JhcHBlcigpOworI2Vsc2UKKyAg
ICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBbc2VsZiBheE9iamVjdENhY2hlXSkgeworICAg
ICAgICBpZiAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogcm9vdCA9IGNhY2hlLT5yb290
T2JqZWN0KCkpCisgICAgICAgICAgICByZXR1cm4gcm9vdC0+d3JhcHBlcigpOworICAgIH0KKyNl
bmRpZgogICAgIHJldHVybiBuaWw7CiB9CiAKQEAgLTgwLDYgKzEyMCwxNCBAQAogLSAodm9pZClz
ZXRXZWJQYWdlOihXZWJQYWdlKilwYWdlCiB7CiAgICAgbV9wYWdlID0gcGFnZTsKKyAgICAKKyAg
ICBpZiAocGFnZSkgeworICAgICAgICBtX3BhZ2VJRCA9IHBhZ2UtPnBhZ2VJRCgpOworICAgICAg
ICBtX2hhc1BsdWdpbiA9IHBhZ2UtPmFjY2Vzc2liaWxpdHlPYmplY3RGb3JNYWluRnJhbWVQbHVn
aW4oKTsKKyAgICB9IGVsc2UgeworICAgICAgICBtX3BhZ2VJRCA9IDA7CisgICAgICAgIG1faGFz
UGx1Z2luID0gZmFsc2U7CisgICAgfQogfQogCiAtICh2b2lkKXNldFJlbW90ZVBhcmVudDooaWQp
cGFyZW50CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDA0NzAp
CisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxMyBAQAorMjAxOS0wMS0yNSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBw
bGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0
cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMz
NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWc6CisKIDIwMTktMDEtMjQgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRkIEFkIENsaWNrIEF0dHJpYnV0aW9uIGFzIGFuIGludGVy
bmFsL2V4cGVyaW1lbnRhbCBmZWF0dXJlCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQw
LDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdL
X1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQ
TEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVf
UEFZOwpAQCAtNDA3LDQgKzQwOSw0IEBACiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1Qp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBP
U0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1Nf
VFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktf
TU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVS
QUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQo
RU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05f
T0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9D
T0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVf
TEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVf
TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01B
Q19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFO
REFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Qp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VS
Q0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0Vf
SEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChF
TkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9B
UFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJ
RU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVS
SU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQp
ICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlf
QVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NP
TF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9f
VE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQo
RU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNF
U19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5B
QkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dF
Qk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQp
OwpJbmRleDogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQkocmV2aXNpb24gMjQwNDcwKQorKysg
U291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xOTMs
NiArMTkzLDcgQEAKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU01PT1RIX1NDUk9M
TElORyAiVG9nZ2xlIHNtb290aCBzY3JvbGxpbmciIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09Q
VElPTl9ERUZJTkUoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMgIlRvZ2dsZSBTcGVlY2ggU3ludGhl
c2lzIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfU1BFTExDSEVDSyAiVG9nZ2xlIFNwZWxsY2hlY2tpbmcgc3VwcG9ydCAocmVxdWlyZXMg
RW5jaGFudCkiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9B
Q0NFU1NJQklMSVRZX1NUQVRJQ19UUkVFICJUb2dnbGUgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJl
ZSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
U1RSRUFNU19BUEkgIlRvZ2dsZSBTdHJlYW1zIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAg
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TVkdfRk9OVFMgIlRvZ2dsZSBTVkcgRm9udHMg
c3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfVEVM
RVBIT05FX05VTUJFUl9ERVRFQ1RJT04gIlRvZ2dsZSB0ZWxlcGhvbmUgbnVtYmVyIGRldGVjdGlv
biBzdXBwb3J0IiBQUklWQVRFIE9GRikKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFRvb2xzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTI1ICBDaHJpcyBGbGVp
emFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0
YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5
LTAxLTI0ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVw
ZGF0ZSBtYWNPUyBKU0MgYm90IGNvbmZpZ3VyYXRpb25zCkluZGV4OiBUb29scy9UZXN0V2ViS2l0
QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDgg
QEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSA9IDsKKwogRU5BQkxFX0FQUExFX1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BM
QVRGT1JNX05BTUUpKTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVf
UEFZOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZ
OwpAQCAtNDA3LDQgKzQwOSw0IEBACiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lU
SU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19Q
QUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQ
RURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9E
RV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNU
SU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5B
QkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JT
RVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RF
X0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFM
T05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9Q
T0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0Vf
VVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFO
RExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAk
KEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFC
TEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
QkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBM
SUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5U
UykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQo
RU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRU
UklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9N
QU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9P
TEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RS
RUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19F
TEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1F
VEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360161</attachid>
            <date>2019-01-25 14:00:16 -0800</date>
            <delta_ts>2019-01-26 20:04:48 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>105770</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTI1ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0yNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmUgdXNhZ2Ugb2YgaW50ZXJuYWwgbWFjcm8gZnJvbSBwcml2YXRlIGhl
YWRlcgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwNDcwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7
CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBM
RV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
QVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNyw0ICs0MDksNCBAQAog
CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1Nf
Q09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9O
UykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tF
WUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VT
VE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9M
T0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JL
RVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VC
X1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlO
R19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkg
JChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVO
QUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9D
X0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlO
VElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURf
T00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9D
U1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9O
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxF
X0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05F
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExF
UlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVO
QUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVf
V0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQAogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVz
L3dlYnNvY2tldHMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvd2VidnIiCiAgICAgIiR7
V0VCQ09SRV9ESVJ9L2FjY2Vzc2liaWxpdHkiCisgICAgIiR7V0VCQ09SRV9ESVJ9L2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlIgogICAgICIke1dFQkNPUkVfRElSfS9hbmltYXRpb24iCiAgICAg
IiR7V0VCQ09SRV9ESVJ9L2JpbmRpbmdzIgogICAgICIke1dFQkNPUkVfRElSfS9iaW5kaW5ncy9q
cyIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDc4IEBACisyMDE5LTAxLTI1ICBDaHJp
cyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVj
ZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcy
MDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW4gb3JkZXIgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSB3aGVuIHJlcXVlc3RpbmcgdGhlIGFjY2Vz
c2liaWxpdHkgaGllcmFyY2h5LCB3ZSBpbnRyb2R1Y2UgdGhlIGlkZWEgb2YgYSAic3RhdGljIGFj
Y2Vzc2liaWxpdHkgdHJlZSIgd2hpY2ggCisgICAgICAgIGNvdWxkIGJlIGFjY2Vzc2VkIG9uIGEg
ZGlmZmVyZW50IHRocmVhZCBieSBhc3Npc3RpdmUgdGVjaG5vbG9naWVzLgorICAgICAgICBUaGF0
IGlzIGFjY29tcGxpc2hlZCBieSBzdG9yaW5nIGFsbCB0aGUgZGF0YSBuZWVkZWQgdG8gYW5zd2Vy
IGFjY2Vzc2liaWxpdHkgYXR0cmlidXRlIHF1ZXJpZXMgaW4gYSBzdGF0aWMgb2JqZWN0IHRoYXQg
bWlycm9ycyB0aGUgCisgICAgICAgICJsaXZlIiBBY2Nlc3NpYmlsaXR5T2JqZWN0cyAod2hpY2gg
aW50ZXJhY3Qgd2l0aCBib3RoIERPTSBhbmQgUmVuZGVyIHRyZWVzKS4KKyAgICAgICAgVGhlc2Ug
c3RhdGljIG9iamVjdHMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFmdGVyIGxheW91dCBpcyBkb25l
IGFuZCBmaW5hbCB0YXNrcyBhcmUgYmVpbmcgcGVyZm9ybWVkLiBUaGV5IGFyZSB0aGVuIHN0b3Jl
ZCBpbiB0aGUgc3RhdGljIHRyZWUgCisgICAgICAgIHJlcHJlc2VudGF0aW9uIGFuZCBhYmxlIHRv
IGJlIHJlYWQgZnJvbSBhbnl3aGVyZS4KKyAgICAgICAgVGFjdGljYWxseSB0aGlzIGlzIGRvbmUg
d2l0aCBBWElzb2xhdGVkVHJlZU5vZGVzIGluc2lkZSBvZiBhbiBBWElzb2xhdGVkVHJlZS4gVGhl
IFRyZWVOb2RlcyBpbXBsZW1lbnQgYW4gQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSBzaGFy
ZWQgCisgICAgICAgIHdpdGggQWNjZXNzaWJpbGl0eU9iamVjdC4KKyAgICAgICAgVGhpcyBhbGxv
d3MgdGhlIHdyYXBwZXJzIHRvIGFjY2VzcyBlaXRoZXIgb25lIGRlcGVuZGluZyBvbiBjb25kaXRp
b25zIGFuZCBwbGF0Zm9ybXMgd2l0aG91dCBzaWduaWZpY2FudCBjb2RlIGR1cGxpY2F0aW9uIG9y
IHJlLW9yZ2FuaXphdGlvbi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFNvdXJj
ZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OmNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6Z2VuZXJhdGVTdGF0aWNBY2Nlc3NpYmlsaXR5VHJlZUlmTmVlZGVkKToK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9pc29sYXRlZHRyZWU6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpB
WElzb2xhdGVkVHJlZTo6dHJlZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRU
cmVlOjpBWElzb2xhdGVkVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9ySUQpOgor
ICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6Om5vZGVGb3JJRCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6cm9vdE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJ
c29sYXRlZFRyZWU6OnJlbW92ZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRy
ZWU6OmFwcGVuZE5vZGVDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVl
OjphcHBseVBlbmRpbmdDaGFuZ2VzKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlOjp0cmVlSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcDogQWRkZWQuCisgICAgICAgICAgICBU
byBub3RlOiB3ZSBkb24ndCBtYXJrIHRoZSBhdHRyaWJ1dGUgbWFwIGNvbnN0IGJlY2F1c2UgZXZl
biB0aG91Z2ggYXR0cmlidXRlcyBkb24ndCBjaGFuZ2UgYWZ0ZXIgaW5pdGlhbCBjcmVhdGlvbiwK
KyAgICAgICAgICAgIHdlIG1heSBjb3B5IGFuIGV4aXN0aW5nIG5vZGUgYW5kIHJlcGxhY2Ugc3Bl
Y2lmaWMgdmFsdWVzLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpBWElz
b2xhdGVkVHJlZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjppbml0aWFsaXpl
QXR0cmlidXRlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OnNl
dFByb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6ZG91Ymxl
QXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVO
b2RlOjp1bnNpZ25lZEF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFY
SXNvbGF0ZWRUcmVlTm9kZTo6Ym9vbEF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6c3RyaW5nQXR0cmlidXRlVmFsdWUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjppbnRBdHRyaWJ1dGVWYWx1ZSBj
b25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWVOb2RlLmg6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2Fj
aGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphc3NvY2lhdGVJc29s
YXRlZFRyZWVOb2RlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckJhc2UuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyQmFzZSBpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6XSk6Cisg
ICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBpc29sYXRlZFRyZWVO
b2RlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBkZXRh
Y2hdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIHVwZGF0
ZU9iamVjdEJhY2tpbmdTdG9yZV0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlckJhc2UgYXhCYWNraW5nT2JqZWN0XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyQmFzZSBiYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uXSk6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMu
bW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHJvbGVdKToKKyAg
ICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgc3Vicm9sZV0pOgorICAgICAg
ICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByb2xlRGVzY3JpcHRpb25dKToKKyAg
ICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJp
YnV0ZVZhbHVlOl0pOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6cGFnZUlEIGNvbnN0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoK
KwogMjAxOS0wMS0yNCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtMRkNdW0JGQ11bTWFyZ2luQ29sbGFwc2luZ10gUmVmYWN0b3IgTWFyZ2luQ29sbGFwc2U6OnVw
ZGF0ZUNvbGxhcHNlZE1hcmdpbkFmdGVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwNDcw
KQorKysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORzsK
IAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQUExF
X1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9B
UFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BBWV9p
cGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA3LDQgKzQwOSw0IEBACiAK
IEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JB
VElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19D
T05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FS
RF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05T
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZ
Qk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNU
T01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
TUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVS
RSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9O
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xP
QURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktF
UikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJf
UlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5H
X0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAk
KEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5B
QkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFC
TEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0Nf
TE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5U
SU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9P
TSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NT
UykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04p
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVf
RkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
RlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZF
UikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRU
UklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRf
Rk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FH
RSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVS
UykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5B
QkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
QVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDEtMjUgIENocmlzIEZsZWl6YWNoICA8Y2Zs
ZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGlzb2xhdGVkIGFjY2Vz
c2liaWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTI0ICBFcmljIENhcmxzb24gIDxl
cmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFNpbGVuY2UgTWVkaWFQbGF5
ZXIgY29tcGlsZSB3YXJuaW5ncwpJbmRleDogU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQw
NDcwKQorKysgU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJM
RV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBF
TkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBM
RV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNyw0ICs0MDks
NCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJN
SVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9J
TlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5B
QkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFC
TEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NU
UkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dF
QkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1Qp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBP
U0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1Nf
VFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktf
TU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVS
QUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQo
RU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05f
T0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9D
T0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVf
TEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVf
TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01B
Q19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFO
REFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Qp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VS
Q0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0Vf
SEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChF
TkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNDA1LDYgKzQwNSw4IEBACiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlU
cmVlLmNwcAogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZUl0ZW0uY3BwCiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmNwcAorYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZU5vZGUuY3BwCiAKIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuY3BwCiBhbmlt
YXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0MDQ3MCkK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtNjk2LDYgKzY5Niw3IEBACiAJCTI2RjlBODM4MThBMDQ2QUMwMEFFQjg4
QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0
Q29uZmlndXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4QSAvKiBW
aWV3cG9ydENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3Vy
YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkyOTE0RTMwODFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNB
QjVBNDQwMDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OworCQkyOTM2
QkY1QzIxRDY5RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2
OTk5RTAwNEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZF
MDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyog
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjk0ODlGQzcxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2li
aWxpdHlTY3JvbGxWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9sbFZp
ZXcuaCAqLzsgfTsKIAkJMjk3QkUzRDUxNkMwM0MwODAwMzMxNkJEIC8qIFBsYXRmb3JtU3BlZWNo
U3ludGhlc2lzVXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyNTI3Q0M5MTE2QkY4QkExMDA5RERBQzAgLyogUGxhdGZvcm1TcGVlY2hTeW50
aGVzaXNVdHRlcmFuY2UuaCAqLzsgfTsKQEAgLTcxNyw2ICs3MTgsOCBAQAogCQkyOUE4MTI0MzBG
QkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3guaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjI1MEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5TGlzdEJveC5oICovOyB9OwogCQkyOUE4MTI0OTBGQkI5Q0E5MDA1MTAy
OTMgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTI0NTBGQkI5Q0E5MDA1MTAyOTMg
LyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjlBQ0IyMTIxNDNFNzEyODAwNkJDQTVG
IC8qIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJp
bGl0eU1vY2tPYmplY3QuaCAqLzsgfTsKKwkJMjlBRTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFY
SXNvbGF0ZWRUcmVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyOUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyOUFFMjEzNTIxQUJB
NDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJ
c29sYXRlZFRyZWVOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMjlEN0JDRkExNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
OUQ3QkNGOTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLzsg
fTsKIAkJMjlGQUY0QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3Vw
TWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUZB
RjRCNTE5NUFCMDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyQjM2NUM4NDE1
MjUxMTlFMDA5MUQyN0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2MDAwREJCQ0Q4IC8qIFJl
bmRlclNWR0VsbGlwc2UuaCAqLzsgfTsKQEAgLTY1ODQsNiArNjU4Nyw3IEBACiAJCTI4REI5QkM3
MjAyMEVBMDQwMEU1NEEwNyAvKiBQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyOTE0RTMwNTFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0
eUF0dGFjaG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNj
ZXNzaWJpbGl0eUF0dGFjaG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
OTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8q
IEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJp
bGl0eU9iamVjdEludGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNF
QUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyog
QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMjk0OTg2ODExOTUzNDE5NDAwNzJEMkJEIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFj
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFVuZG9JbnNl
cnRpb25NYXJrdXBNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NjMxLDYg
KzY2MzUsMTAgQEAKIAkJMjlBODEyNDcwRkJCOUNBOTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVN
YWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBWE9iamVjdENh
Y2hlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFDQjIxMTE0M0U3MTI4
MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMjlBQ0IyMTMxNDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlN
b2NrT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vz
c2liaWxpdHlNb2NrT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlB
RTIxMkIyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEFYSXNvbGF0ZWRUcmVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJD
MjFBQjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBBWElzb2xhdGVkVHJlZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUy
MTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQVhJc29sYXRlZFRyZWVOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5
QUUyMTM0MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQVhJc29sYXRlZFRyZWVOb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMjlEN0JDRjUxNDQ0QUY1ODAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0
dG9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxp
dHlTcGluQnV0dG9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlEN0JDRjkx
NDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5RTA0QTI3QkVEMkY4MUY5OEU5MDIyQiAvKiBKU0JlZm9y
ZVVubG9hZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQmVmb3Jl
VW5sb2FkRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjU0LDYgKzE3
MjYyLDcgQEAKIAkJMjlBODEyMDQwRkJCOUI0MTAwNTEwMjkzIC8qIGFjY2Vzc2liaWxpdHkgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTI5QUUyMTI5MjFB
QjlFQ0IwMDg2OTI4MyAvKiBpc29sYXRlZHRyZWUgKi8sCiAJCQkJQUFBNzI4RUYxNkQxRDhCQzAw
RDNCQkM2IC8qIGlvcyAqLywKIAkJCQkyOUE4MTIwNTBGQkI5QjUyMDA1MTAyOTMgLyogbWFjICov
LAogCQkJCTI5ODFDQTlEMTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQu
Y3BwICovLApAQCAtMTcyOTIsNiArMTczMDEsNyBAQAogCQkJCTI5ODU3MDkzMTVDQzUzMkQwMDYz
NTVDRCAvKiBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oICovLAogCQkJCTI5ODFDQUE1MTMxODIy
RUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAqLywKIAkJCQkyOUE4MTIxODBG
QkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdC5oICovLAorCQkJCTI5MzZCRjVB
MjFENjk5OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggKi8sCiAJ
CQkJQTQwOUM5ODIxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGlj
YXRvci5jcHAgKi8sCiAJCQkJQTQwOUM5ODMxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxp
dHlQcm9ncmVzc0luZGljYXRvci5oICovLAogCQkJCTI5ODFDQUE2MTMxODIyRUMwMEQxMkYyQSAv
KiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAqLywKQEAgLTE3MzQ3LDYgKzE3MzU3LDE3
IEBACiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJ
MjlBRTIxMjkyMUFCOUVDQjAwODY5MjgzIC8qIGlzb2xhdGVkdHJlZSAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMjlBRTIxMkIyMUFCOUVFQjAwODY5Mjgz
IC8qIEFYSXNvbGF0ZWRUcmVlLmggKi8sCisJCQkJMjlBRTIxMkMyMUFCOUVFQjAwODY5MjgzIC8q
IEFYSXNvbGF0ZWRUcmVlLmNwcCAqLywKKwkJCQkyOUFFMjEzMzIxQUJBNDhBMDA4NjkyODMgLyog
QVhJc29sYXRlZFRyZWVOb2RlLmggKi8sCisJCQkJMjlBRTIxMzQyMUFCQTQ4QTAwODY5MjgzIC8q
IEFYSXNvbGF0ZWRUcmVlTm9kZS5jcHAgKi8sCisJCQkpOworCQkJcGF0aCA9IGlzb2xhdGVkdHJl
ZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTJEMDYyMTQ2MURBNjM5RUMw
MEE3RkIyNiAvKiBsZWdhY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKApAQCAtMjk5NzIsNiArMjk5OTMsNyBAQAogCQkJCTFBRTJBQTk4MEExQ0REMkQwMEI0MkIy
NSAvKiBKU0hUTUxJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU3RTk3MEEx
QTgzRTMwMDdGQjhDNSAvKiBKU0hUTUxJbnB1dEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTgzNkIwOTU2MUY1RjM0RDkwMDNDMzcwMiAvKiBKU0hUTUxJbnB1dEVsZW1lbnRFbnRyaWVzQVBJ
LmggaW4gSGVhZGVycyAqLywKKwkJCQkyOTM2QkY1QzIxRDY5RTRCMDA0QThGQzkgLyogQWNjZXNz
aWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTYxNDhBNzkxMkU0
MUUzQjAwNDRBNzg0IC8qIEpTSFRNTEtleWdlbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBRTJBQjIyMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMYWJlbEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBRTJBQjI0MEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMZWdlbmRFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMxNDI3LDYgKzMxNDQ5LDcgQEAKIAkJCQk1MTQwNUM4
OTE5MEIwMTQ0MDA3NTRGOTQgLyogU2VsZWN0aW9uUmVjdEdhdGhlcmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFNDRCNEJCNDE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk0MzJEM0ZFODE4QTg2NTg0MDBEN0RDMDMgLyogU2VsZWN0b3JDaGVj
a2VyVGVzdEZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMzUyMUFCQTQ4QTAw
ODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjZCOTk5
OTcxODA0RDU0MjAwRDAxMTIxIC8qIFNlbGVjdG9yQ29tcGlsZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQxNTA3MTU4MTY4NTA2NzMwMEMzQzdCMyAvKiBTZWxlY3RvckZpbHRlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDMxMDdCRTIxOENDMTlERTAwQ0MxOEU4IC8qIFNlbGVjdG9yUHNldWRvVHlw
ZU1hcC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjM2Miw2ICszMjM4NSw3IEBACiAJCQkJOTc3RTJF
MEYxMkYwRkM5QzAwQzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTU0MTZGRTYxODgxMEVGODAwMDlGQzVGIC8qIFlvdVR1YmVFbWJlZFNoYWRvd0VsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNTUxNUY1MTkxODMwQTMwMDk2ODdEMiAvKiBZb3VU
dWJlUGx1Z2luUmVwbGFjZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5QUUyMTJEMjFBQjlF
RUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1Mzcz
NTMxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkocmV2aXNpb24gMjQw
NDcwKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsOCBAQAogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNo
ZS5oIgogCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWUuaCIKKyNpbmNsdWRlICJBWElzb2xhdGVk
VHJlZU5vZGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaCIKICNpbmNsdWRl
ICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFS
SUFHcmlkUm93LmgiCkBAIC0xMTUsNiArMTE3LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxO
YW1lczsKIAorY29uc3QgQVhJRCBJbnZhbGlkQVhJRCA9IDA7CisKIC8vIFBvc3QgdmFsdWUgY2hh
bmdlIG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxkcyBvciBlbGVtZW50cyBjb250YWlu
ZWQgaW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRlcnZhbCB0byB0aHdhcnQgYW5hbHlz
aXMgb2YgdHlwaW5nIGNhZGVuY2UKIHN0YXRpYyBjb25zdCBTZWNvbmRzIGFjY2Vzc2liaWxpdHlQ
YXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwgeyAyNV9tcyB9Owogc3RhdGlj
IGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9u
SW50ZXJ2YWwgeyAyMF9tcyB9OwpAQCAtNzIzLDYgKzcyNywxMCBAQAogICAgIG9iamVjdC0+c2V0
QVhPYmplY3RJRCgwKTsKIAogICAgIG1faWRzSW5Vc2UucmVtb3ZlKGF4SUQpOworI2lmIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgaWYgKGF1dG8gcGFnZUlEID0gbV9k
b2N1bWVudC5wYWdlSUQoKSkKKyAgICAgICAgQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQo
KnBhZ2VJRCwgZmFsc2UpLT5yZW1vdmVOb2RlKGF4SUQpOworI2VuZGlmCiAKICAgICBBU1NFUlQo
bV9vYmplY3RzLnNpemUoKSA+PSBtX2lkc0luVXNlLnNpemUoKSk7CiB9CkBAIC0yOTA3LDYgKzI5
MTUsMzcgQEAKICAgICBtX2RlZmVycmVkRm9jdXNlZE5vZGVDaGFuZ2UuY2xlYXIoKTsKIH0KICAg
ICAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorUmVmPEFYSXNvbGF0
ZWRUcmVlTm9kZT4gQVhPYmplY3RDYWNoZTo6Y3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5VHJl
ZShBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QsIEFYSUQgcGFyZW50SUQsIEFYSXNvbGF0ZWRU
cmVlJiB0cmVlLCBWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9kZT4+JiBub2RlcykKK3sK
KyAgICBhdXRvIGlzb2xhdGVkVHJlZU5vZGUgPSBBWElzb2xhdGVkVHJlZU5vZGU6OmNyZWF0ZShv
YmplY3QpOworICAgIG5vZGVzLmFwcGVuZChpc29sYXRlZFRyZWVOb2RlLnB0cigpKTsKKworICAg
IGlzb2xhdGVkVHJlZU5vZGUtPnNldFBhcmVudChwYXJlbnRJRCk7CisgICAgYXNzb2NpYXRlSXNv
bGF0ZWRUcmVlTm9kZShvYmplY3QsIGlzb2xhdGVkVHJlZU5vZGUsIHRyZWUudHJlZUlkZW50aWZp
ZXIoKSk7CisKKyAgICBmb3IgKGF1dG8gY2hpbGQgOiBvYmplY3QuY2hpbGRyZW4oKSkgeworICAg
ICAgICBhdXRvIHN0YXRpY0NoaWxkID0gY3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5VHJlZSgq
Y2hpbGQsIGlzb2xhdGVkVHJlZU5vZGUtPmlkZW50aWZpZXIoKSwgdHJlZSwgbm9kZXMpOworICAg
ICAgICBpc29sYXRlZFRyZWVOb2RlLT5hcHBlbmRDaGlsZChzdGF0aWNDaGlsZC0+aWRlbnRpZmll
cigpKTsKKyAgICB9CisKKyAgICByZXR1cm4gaXNvbGF0ZWRUcmVlTm9kZTsKK30KKyAgICAKK1Jl
ZjxBWElzb2xhdGVkVHJlZT4gQVhPYmplY3RDYWNoZTo6Z2VuZXJhdGVJc29sYXRlZEFjY2Vzc2li
aWxpdHlUcmVlKCkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAg
ICBhdXRvIHRyZWUgPSBBWElzb2xhdGVkVHJlZTo6dHJlZUZvclBhZ2VJRCgqbV9kb2N1bWVudC5w
YWdlSUQoKSwgdHJ1ZSk7CisgICAgVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiBu
b2RlczsKKyAgICBhdXRvIHJvb3QgPSBjcmVhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlKCpy
b290T2JqZWN0KCksIEludmFsaWRBWElELCB0cmVlLCBub2Rlcyk7CisgICAgcm9vdC0+c2V0SXNS
b290Tm9kZSh0cnVlKTsKKyAgICB0cmVlLT5hcHBlbmROb2RlQ2hhbmdlcyhub2Rlcyk7CisKKyAg
ICByZXR1cm4gdHJlZTsKK30KKyNlbmRpZgorICAgIAogdm9pZCBBWE9iamVjdENhY2hlOjpkZWZl
clJlY29tcHV0ZUlzSWdub3JlZElmTmVlZGVkKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgaWYg
KCFub2RlQW5kUmVuZGVyZXJBcmVWYWxpZChlbGVtZW50KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCShyZXZpc2lvbiAyNDA0NzApCisrKyBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkod29ya2luZyBjb3B5
KQpAQCAtMjUsNiArMjUsOSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWUuaCIKKyNlbmRp
ZgogI2luY2x1ZGUgIkFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50LmgiCiAjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCkBAIC0zOSw2ICs0Miw5IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCitjbGFzcyBBWElzb2xhdGVkVHJlZU5vZGU7CisjZW5kaWYKIGNsYXNzIERvY3VtZW50
OwogY2xhc3MgSFRNTEFyZWFFbGVtZW50OwogY2xhc3MgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1l
bnQ7CkBAIC0xODAsNiArMTg2LDEzIEBACiAgICAgdm9pZCBkZWZlckF0dHJpYnV0ZUNoYW5nZUlm
TmVlZGVkKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBFbGVtZW50Kik7CiAgICAgdm9pZCByZWNvbXB1
dGVJc0lnbm9yZWQoUmVuZGVyT2JqZWN0KiByZW5kZXJlcik7CiAKKyNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIFdFQkNPUkVfRVhQT1JUIFJlZjxBWElzb2xhdGVk
VHJlZT4gZ2VuZXJhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlKCk7CisKKyAgICB2b2lkIGFz
c29jaWF0ZUlzb2xhdGVkVHJlZU5vZGUoQWNjZXNzaWJpbGl0eU9iamVjdCYsIEFYSXNvbGF0ZWRU
cmVlTm9kZSYsIEFYSXNvbGF0ZWRUcmVlSUQpOworICAgIFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+
IGNyZWF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoQWNjZXNzaWJpbGl0eU9iamVjdCYsIEFY
SUQsIEFYSXNvbGF0ZWRUcmVlJiwgVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYp
OworI2VuZGlmCisgICAgCiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyB2b2lkIGVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKICAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgdm9pZCBkaXNhYmxlQWNjZXNzaWJpbGl0eSgpOwpAQCAtMTg3LDYgKzIwMCw3IEBA
CiAgICAgLy8gRW5oYW5jZWQgdXNlciBpbnRlcmZhY2UgYWNjZXNzaWJpbGl0eSBjYW4gYmUgdG9n
Z2xlZCBieSB0aGUgYXNzaXN0aXZlIHRlY2hub2xvZ3kuCiAgICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIHZvaWQgc2V0RW5oYW5jZWRVc2VySW50ZXJmYWNlQWNjZXNzaWJpbGl0eShib29sIGZsYWcp
OwogICAgIAorICAgIC8vIE5vdGU6IHRoZXNlIG1heSBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWlu
IHRocmVhZCBjb25jdXJyZW50bHkgYXMgb3RoZXIgcmVhZGVycy4KICAgICBzdGF0aWMgYm9vbCBh
Y2Nlc3NpYmlsaXR5RW5hYmxlZCgpIHsgcmV0dXJuIGdBY2Nlc3NpYmlsaXR5RW5hYmxlZDsgfQog
ICAgIHN0YXRpYyBib29sIGFjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VFbmFibGVk
KCkgeyByZXR1cm4gZ0FjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VFbmFibGVkOyB9
CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmgJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2
ICsyOSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVj
dEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0
Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgpAQCAtODksMTU3
ICs5MCw2IEBACiBjbGFzcyBTY3JvbGxWaWV3OwogY2xhc3MgV2lkZ2V0OwogCi10eXBlZGVmIHVu
c2lnbmVkIEFYSUQ7Ci0KLWVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUgewotICAgIEFubm90
YXRpb24gPSAxLAotICAgIEFwcGxpY2F0aW9uLAotICAgIEFwcGxpY2F0aW9uQWxlcnQsCi0gICAg
QXBwbGljYXRpb25BbGVydERpYWxvZywKLSAgICBBcHBsaWNhdGlvbkRpYWxvZywKLSAgICBBcHBs
aWNhdGlvbkdyb3VwLAotICAgIEFwcGxpY2F0aW9uTG9nLAotICAgIEFwcGxpY2F0aW9uTWFycXVl
ZSwKLSAgICBBcHBsaWNhdGlvblN0YXR1cywKLSAgICBBcHBsaWNhdGlvblRleHRHcm91cCwKLSAg
ICBBcHBsaWNhdGlvblRpbWVyLAotICAgIEF1ZGlvLAotICAgIEJsb2NrcXVvdGUsCi0gICAgQnJv
d3NlciwKLSAgICBCdXN5SW5kaWNhdG9yLAotICAgIEJ1dHRvbiwKLSAgICBDYW52YXMsCi0gICAg
Q2FwdGlvbiwKLSAgICBDZWxsLAotICAgIENoZWNrQm94LAotICAgIENvbG9yV2VsbCwKLSAgICBD
b2x1bW4sCi0gICAgQ29sdW1uSGVhZGVyLAotICAgIENvbWJvQm94LAotICAgIERlZmluaXRpb24s
Ci0gICAgRGVzY3JpcHRpb25MaXN0LAotICAgIERlc2NyaXB0aW9uTGlzdFRlcm0sCi0gICAgRGVz
Y3JpcHRpb25MaXN0RGV0YWlsLAotICAgIERldGFpbHMsCi0gICAgRGlyZWN0b3J5LAotICAgIERp
c2Nsb3N1cmVUcmlhbmdsZSwKLSAgICBEaXYsCi0gICAgRG9jdW1lbnQsCi0gICAgRG9jdW1lbnRB
cnRpY2xlLAotICAgIERvY3VtZW50TWF0aCwKLSAgICBEb2N1bWVudE5vdGUsCi0gICAgRHJhd2Vy
LAotICAgIEVkaXRhYmxlVGV4dCwKLSAgICBGZWVkLAotICAgIEZpZ3VyZSwKLSAgICBGb290ZXIs
Ci0gICAgRm9vdG5vdGUsCi0gICAgRm9ybSwKLSAgICBHcmFwaGljc0RvY3VtZW50LAotICAgIEdy
YXBoaWNzT2JqZWN0LAotICAgIEdyYXBoaWNzU3ltYm9sLAotICAgIEdyaWQsCi0gICAgR3JpZENl
bGwsCi0gICAgR3JvdXAsCi0gICAgR3Jvd0FyZWEsCi0gICAgSGVhZGluZywKLSAgICBIZWxwVGFn
LAotICAgIEhvcml6b250YWxSdWxlLAotICAgIElnbm9yZWQsCi0gICAgSW5saW5lLAotICAgIElt
YWdlLAotICAgIEltYWdlTWFwLAotICAgIEltYWdlTWFwTGluaywKLSAgICBJbmNyZW1lbnRvciwK
LSAgICBMYWJlbCwKLSAgICBMYW5kbWFya0Jhbm5lciwKLSAgICBMYW5kbWFya0NvbXBsZW1lbnRh
cnksCi0gICAgTGFuZG1hcmtDb250ZW50SW5mbywKLSAgICBMYW5kbWFya0RvY1JlZ2lvbiwKLSAg
ICBMYW5kbWFya01haW4sCi0gICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAotICAgIExhbmRtYXJrUmVn
aW9uLAotICAgIExhbmRtYXJrU2VhcmNoLAotICAgIExlZ2VuZCwKLSAgICBMaW5rLAotICAgIExp
c3QsCi0gICAgTGlzdEJveCwKLSAgICBMaXN0Qm94T3B0aW9uLAotICAgIExpc3RJdGVtLAotICAg
IExpc3RNYXJrZXIsCi0gICAgTWFyaywKLSAgICBNYXRoRWxlbWVudCwKLSAgICBNYXR0ZSwKLSAg
ICBNZW51LAotICAgIE1lbnVCYXIsCi0gICAgTWVudUJ1dHRvbiwKLSAgICBNZW51SXRlbSwKLSAg
ICBNZW51SXRlbUNoZWNrYm94LAotICAgIE1lbnVJdGVtUmFkaW8sCi0gICAgTWVudUxpc3RQb3B1
cCwKLSAgICBNZW51TGlzdE9wdGlvbiwKLSAgICBPdXRsaW5lLAotICAgIFBhcmFncmFwaCwKLSAg
ICBQb3BVcEJ1dHRvbiwKLSAgICBQcmUsCi0gICAgUHJlc2VudGF0aW9uYWwsCi0gICAgUHJvZ3Jl
c3NJbmRpY2F0b3IsCi0gICAgUmFkaW9CdXR0b24sCi0gICAgUmFkaW9Hcm91cCwKLSAgICBSb3dI
ZWFkZXIsCi0gICAgUm93LAotICAgIFJvd0dyb3VwLAotICAgIFJ1YnlCYXNlLAotICAgIFJ1YnlC
bG9jaywKLSAgICBSdWJ5SW5saW5lLAotICAgIFJ1YnlSdW4sCi0gICAgUnVieVRleHQsCi0gICAg
UnVsZXIsCi0gICAgUnVsZXJNYXJrZXIsCi0gICAgU2Nyb2xsQXJlYSwKLSAgICBTY3JvbGxCYXIs
Ci0gICAgU2VhcmNoRmllbGQsCi0gICAgU2hlZXQsCi0gICAgU2xpZGVyLAotICAgIFNsaWRlclRo
dW1iLAotICAgIFNwaW5CdXR0b24sCi0gICAgU3BpbkJ1dHRvblBhcnQsCi0gICAgU3BsaXRHcm91
cCwKLSAgICBTcGxpdHRlciwKLSAgICBTdGF0aWNUZXh0LAotICAgIFN1bW1hcnksCi0gICAgU3dp
dGNoLAotICAgIFN5c3RlbVdpZGUsCi0gICAgU1ZHUm9vdCwKLSAgICBTVkdUZXh0LAotICAgIFNW
R1RTcGFuLAotICAgIFNWR1RleHRQYXRoLAotICAgIFRhYkdyb3VwLAotICAgIFRhYkxpc3QsCi0g
ICAgVGFiUGFuZWwsCi0gICAgVGFiLAotICAgIFRhYmxlLAotICAgIFRhYmxlSGVhZGVyQ29udGFp
bmVyLAotICAgIFRleHRBcmVhLAotICAgIFRleHRHcm91cCwKLSAgICBUZXJtLAotICAgIFRpbWUs
Ci0gICAgVHJlZSwKLSAgICBUcmVlR3JpZCwKLSAgICBUcmVlSXRlbSwKLSAgICBUZXh0RmllbGQs
Ci0gICAgVG9nZ2xlQnV0dG9uLAotICAgIFRvb2xiYXIsCi0gICAgVW5rbm93biwKLSAgICBVc2Vy
SW50ZXJmYWNlVG9vbHRpcCwKLSAgICBWYWx1ZUluZGljYXRvciwKLSAgICBWaWRlbywKLSAgICBX
ZWJBcHBsaWNhdGlvbiwKLSAgICBXZWJBcmVhLAotICAgIFdlYkNvcmVMaW5rLAotICAgIFdpbmRv
dywKLX07Ci0KIGVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVRleHRTb3VyY2UgewogICAgIEFsdGVy
bmF0aXZlLAogICAgIENoaWxkcmVuLApAQCAtNDkxLDcgKzM0MSw3IEBACiAgICAgCiBib29sIG5v
ZGVIYXNQcmVzZW50YXRpb25Sb2xlKE5vZGUqKTsKICAgICAKLWNsYXNzIEFjY2Vzc2liaWxpdHlP
YmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0PiB7CitjbGFzcyBB
Y2Nlc3NpYmlsaXR5T2JqZWN0IDogcHVibGljIFJlZkNvdW50ZWQ8QWNjZXNzaWJpbGl0eU9iamVj
dD4sIHB1YmxpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKIHByb3RlY3RlZDoKICAg
ICBBY2Nlc3NpYmlsaXR5T2JqZWN0KCkgPSBkZWZhdWx0OwogICAgIApAQCAtMTE1OSw3ICsxMDA5
LDEwIEBACiAgICAgQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhIG1faXNJZ25v
cmVkRnJvbVBhcmVudERhdGEgeyB9OwogICAgIGJvb2wgbV9jaGlsZHJlbkRpcnR5IHsgZmFsc2Ug
fTsKICAgICBib29sIG1fc3VidHJlZURpcnR5IHsgZmFsc2UgfTsKLQorI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgYm9vbCBtX2lzb2xhdGVkVHJlZU5vZGVJbml0
aWFsaXplZCB7IGZhbHNlIH07CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHNldElzSWdub3JlZEZy
b21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSYgZGF0YSkg
eyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhID0gZGF0YTsgfQogCiAgICAgdmlydHVhbCBib29s
IGNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpJ
bmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwxOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCit0eXBlZGVmIHVuc2lnbmVkIEFYSUQ7CitleHRlcm4gY29uc3Qg
QVhJRCBJbnZhbGlkQVhJRDsKKworZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7CisgICAg
QW5ub3RhdGlvbiA9IDEsCisgICAgQXBwbGljYXRpb24sCisgICAgQXBwbGljYXRpb25BbGVydCwK
KyAgICBBcHBsaWNhdGlvbkFsZXJ0RGlhbG9nLAorICAgIEFwcGxpY2F0aW9uRGlhbG9nLAorICAg
IEFwcGxpY2F0aW9uR3JvdXAsCisgICAgQXBwbGljYXRpb25Mb2csCisgICAgQXBwbGljYXRpb25N
YXJxdWVlLAorICAgIEFwcGxpY2F0aW9uU3RhdHVzLAorICAgIEFwcGxpY2F0aW9uVGV4dEdyb3Vw
LAorICAgIEFwcGxpY2F0aW9uVGltZXIsCisgICAgQXVkaW8sCisgICAgQmxvY2txdW90ZSwKKyAg
ICBCcm93c2VyLAorICAgIEJ1c3lJbmRpY2F0b3IsCisgICAgQnV0dG9uLAorICAgIENhbnZhcywK
KyAgICBDYXB0aW9uLAorICAgIENlbGwsCisgICAgQ2hlY2tCb3gsCisgICAgQ29sb3JXZWxsLAor
ICAgIENvbHVtbiwKKyAgICBDb2x1bW5IZWFkZXIsCisgICAgQ29tYm9Cb3gsCisgICAgRGVmaW5p
dGlvbiwKKyAgICBEZXNjcmlwdGlvbkxpc3QsCisgICAgRGVzY3JpcHRpb25MaXN0VGVybSwKKyAg
ICBEZXNjcmlwdGlvbkxpc3REZXRhaWwsCisgICAgRGV0YWlscywKKyAgICBEaXJlY3RvcnksCisg
ICAgRGlzY2xvc3VyZVRyaWFuZ2xlLAorICAgIERpdiwKKyAgICBEb2N1bWVudCwKKyAgICBEb2N1
bWVudEFydGljbGUsCisgICAgRG9jdW1lbnRNYXRoLAorICAgIERvY3VtZW50Tm90ZSwKKyAgICBE
cmF3ZXIsCisgICAgRWRpdGFibGVUZXh0LAorICAgIEZlZWQsCisgICAgRmlndXJlLAorICAgIEZv
b3RlciwKKyAgICBGb290bm90ZSwKKyAgICBGb3JtLAorICAgIEdyYXBoaWNzRG9jdW1lbnQsCisg
ICAgR3JhcGhpY3NPYmplY3QsCisgICAgR3JhcGhpY3NTeW1ib2wsCisgICAgR3JpZCwKKyAgICBH
cmlkQ2VsbCwKKyAgICBHcm91cCwKKyAgICBHcm93QXJlYSwKKyAgICBIZWFkaW5nLAorICAgIEhl
bHBUYWcsCisgICAgSG9yaXpvbnRhbFJ1bGUsCisgICAgSWdub3JlZCwKKyAgICBJbmxpbmUsCisg
ICAgSW1hZ2UsCisgICAgSW1hZ2VNYXAsCisgICAgSW1hZ2VNYXBMaW5rLAorICAgIEluY3JlbWVu
dG9yLAorICAgIExhYmVsLAorICAgIExhbmRtYXJrQmFubmVyLAorICAgIExhbmRtYXJrQ29tcGxl
bWVudGFyeSwKKyAgICBMYW5kbWFya0NvbnRlbnRJbmZvLAorICAgIExhbmRtYXJrRG9jUmVnaW9u
LAorICAgIExhbmRtYXJrTWFpbiwKKyAgICBMYW5kbWFya05hdmlnYXRpb24sCisgICAgTGFuZG1h
cmtSZWdpb24sCisgICAgTGFuZG1hcmtTZWFyY2gsCisgICAgTGVnZW5kLAorICAgIExpbmssCisg
ICAgTGlzdCwKKyAgICBMaXN0Qm94LAorICAgIExpc3RCb3hPcHRpb24sCisgICAgTGlzdEl0ZW0s
CisgICAgTGlzdE1hcmtlciwKKyAgICBNYXJrLAorICAgIE1hdGhFbGVtZW50LAorICAgIE1hdHRl
LAorICAgIE1lbnUsCisgICAgTWVudUJhciwKKyAgICBNZW51QnV0dG9uLAorICAgIE1lbnVJdGVt
LAorICAgIE1lbnVJdGVtQ2hlY2tib3gsCisgICAgTWVudUl0ZW1SYWRpbywKKyAgICBNZW51TGlz
dFBvcHVwLAorICAgIE1lbnVMaXN0T3B0aW9uLAorICAgIE91dGxpbmUsCisgICAgUGFyYWdyYXBo
LAorICAgIFBvcFVwQnV0dG9uLAorICAgIFByZSwKKyAgICBQcmVzZW50YXRpb25hbCwKKyAgICBQ
cm9ncmVzc0luZGljYXRvciwKKyAgICBSYWRpb0J1dHRvbiwKKyAgICBSYWRpb0dyb3VwLAorICAg
IFJvd0hlYWRlciwKKyAgICBSb3csCisgICAgUm93R3JvdXAsCisgICAgUnVieUJhc2UsCisgICAg
UnVieUJsb2NrLAorICAgIFJ1YnlJbmxpbmUsCisgICAgUnVieVJ1biwKKyAgICBSdWJ5VGV4dCwK
KyAgICBSdWxlciwKKyAgICBSdWxlck1hcmtlciwKKyAgICBTY3JvbGxBcmVhLAorICAgIFNjcm9s
bEJhciwKKyAgICBTZWFyY2hGaWVsZCwKKyAgICBTaGVldCwKKyAgICBTbGlkZXIsCisgICAgU2xp
ZGVyVGh1bWIsCisgICAgU3BpbkJ1dHRvbiwKKyAgICBTcGluQnV0dG9uUGFydCwKKyAgICBTcGxp
dEdyb3VwLAorICAgIFNwbGl0dGVyLAorICAgIFN0YXRpY1RleHQsCisgICAgU3VtbWFyeSwKKyAg
ICBTd2l0Y2gsCisgICAgU3lzdGVtV2lkZSwKKyAgICBTVkdSb290LAorICAgIFNWR1RleHQsCisg
ICAgU1ZHVFNwYW4sCisgICAgU1ZHVGV4dFBhdGgsCisgICAgVGFiR3JvdXAsCisgICAgVGFiTGlz
dCwKKyAgICBUYWJQYW5lbCwKKyAgICBUYWIsCisgICAgVGFibGUsCisgICAgVGFibGVIZWFkZXJD
b250YWluZXIsCisgICAgVGV4dEFyZWEsCisgICAgVGV4dEdyb3VwLAorICAgIFRlcm0sCisgICAg
VGltZSwKKyAgICBUcmVlLAorICAgIFRyZWVHcmlkLAorICAgIFRyZWVJdGVtLAorICAgIFRleHRG
aWVsZCwKKyAgICBUb2dnbGVCdXR0b24sCisgICAgVG9vbGJhciwKKyAgICBVbmtub3duLAorICAg
IFVzZXJJbnRlcmZhY2VUb29sdGlwLAorICAgIFZhbHVlSW5kaWNhdG9yLAorICAgIFZpZGVvLAor
ICAgIFdlYkFwcGxpY2F0aW9uLAorICAgIFdlYkFyZWEsCisgICAgV2ViQ29yZUxpbmssCisgICAg
V2luZG93LAorfTsKKworY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSB7CitwdWJs
aWM6CisgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSgpID0gZGVmYXVs
dDsKKworICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhQ29udHJvbExhYmVsKCkgY29uc3QgPSAwOwor
ICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgYm9vbCBpc0F0dGFjaG1lbnQoKSBjb25zdCA9IDA7Cit9OworCit9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRy
ZWUvQVhJc29sYXRlZFRyZWUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29s
YXRlZFRyZWUuaCIKKworI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgorI2luY2x1ZGUg
IlBhZ2UuaCIKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworICAgIAorc3RhdGljIHVuc2lnbmVkIHNfdHJlZUlEQ291bnQgPSAwOworCitIYXNo
TWFwPEFYSXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+JiBBWElzb2xhdGVkVHJl
ZTo6dHJlZUNhY2hlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxBWElz
b2xhdGVkVHJlZUlELCBSZWY8QVhJc29sYXRlZFRyZWU+Pj4gbWFwOworICAgIHJldHVybiBtYXA7
Cit9CisKK0FYSXNvbGF0ZWRUcmVlOjpBWElzb2xhdGVkVHJlZSgpCisgICAgOiBtX3RyZWVJRCgr
K3NfdHJlZUlEQ291bnQpCit7Cit9CisKK0FYSXNvbGF0ZWRUcmVlOjp+QVhJc29sYXRlZFRyZWUo
KSA9IGRlZmF1bHQ7CisKK1JlZjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OmNyZWF0
ZSgpCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBBWElzb2xhdGVkVHJlZSgpKTsKK30KKyAgICAKK1JlZlB0cjxBWElzb2xhdGVkVHJlZT4g
QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJRChBWElzb2xhdGVkVHJlZUlEIHRyZWVJRCkKK3sKKyAg
ICByZXR1cm4gdHJlZUNhY2hlKCkuZ2V0KHRyZWVJRCk7Cit9CisKK1JlZlB0cjxBWElzb2xhdGVk
VHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQodWludDY0X3QgcGFnZUlELCBib29s
IGNyZWF0ZSkKK3sKKyAgICBzdGF0aWMgTG9jayBjYWNoZUxvY2s7CisgICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPEhhc2hNYXA8dWludDY0X3QsIFJlZjxBWElzb2xhdGVkVHJlZT4+PiBwYWdlTWFw
OworCisgICAgTG9ja0hvbGRlciBsb2NrZXIoY2FjaGVMb2NrKTsKKworICAgIGlmIChhdXRvIHRy
ZWUgPSBwYWdlTWFwLmdldCgpLmdldChwYWdlSUQpKSB7CisgICAgICAgIHJldHVybiBtYWtlUmVm
UHRyKHRyZWUpOworICAgIH0KKworICAgIGlmICghY3JlYXRlKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICAKKyAgICBSZWZQdHI8QVhJc29sYXRlZFRyZWU+IG5ld1RyZWUgPSBBWElzb2xh
dGVkVHJlZTo6Y3JlYXRlKCk7CisgICAgcGFnZU1hcC5nZXQoKS5zZXQocGFnZUlELCBuZXdUcmVl
LmNvcHlSZWYoKSk7CisgICAgdHJlZUNhY2hlKCkuc2V0KG5ld1RyZWUtPnRyZWVJZGVudGlmaWVy
KCksIG5ld1RyZWUuY29weVJlZigpKTsKKyAgICByZXR1cm4gbmV3VHJlZTsKK30KKyAgICAKK1Jl
ZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0ZWRUcmVlOjpub2RlRm9ySUQoQVhJRCBh
eElEKSBjb25zdAoreworICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOworICAgIGlmICghYXhJ
RCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIG1fcmVhZGVyVGhyZWFkTm9k
ZU1hcC5nZXQoYXhJRCk7Cit9CisKK1JlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IEFYSXNvbGF0
ZWRUcmVlOjpyb290Tm9kZSgpCit7CisgICAgcmV0dXJuIG5vZGVGb3JJRChtX3Jvb3ROb2RlSUQp
OworfQorCit2b2lkIEFYSXNvbGF0ZWRUcmVlOjpyZW1vdmVOb2RlKEFYSUQgYXhJRCkKK3sKKyAg
ICBMb2NrSG9sZGVyIGxvY2tlcihtX2NoYW5nZUxvZ0xvY2spOworICAgIG1fcGVuZGluZ1JlbW92
YWxzLmFwcGVuZChheElEKTsKK30KKwordm9pZCBBWElzb2xhdGVkVHJlZTo6YXBwZW5kTm9kZUNo
YW5nZXMoVmVjdG9yPFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+PiYgbG9nKQoreworICAgIExv
Y2tIb2xkZXIgbG9ja2VyKG1fY2hhbmdlTG9nTG9jayk7CisgICAgbV9wZW5kaW5nQXBwZW5kcy5h
cHBlbmRWZWN0b3IobG9nKTsKK30KKyAgICAKK3ZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGx5UGVu
ZGluZ0NoYW5nZXMoKQoreworICAgIFJFTEVBU0VfQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisK
KyAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2NoYW5nZUxvZ0xvY2spOworICAgIFZlY3RvcjxSZWZQ
dHI8QVhJc29sYXRlZFRyZWVOb2RlPj4gYXBwZW5kQ29weSh7IFdURk1vdmUobV9wZW5kaW5nQXBw
ZW5kcykgfSk7CisgICAgVmVjdG9yPEFYSUQ+IHJlbW92ZUNvcHkoeyBXVEZNb3ZlKG1fcGVuZGlu
Z1JlbW92YWxzKSB9KTsKKyAgICBsb2NrZXIudW5sb2NrRWFybHkoKTsKKworICAgIGZvciAoYXV0
byYgaXRlbSA6IGFwcGVuZENvcHkpIHsKKyAgICAgICAgbV9yZWFkZXJUaHJlYWROb2RlTWFwLnNl
dChpdGVtLT5pZGVudGlmaWVyKCksICppdGVtKTsKKyAgICAgICAgaWYgKGl0ZW0tPmlzUm9vdE5v
ZGUoKSkKKyAgICAgICAgICAgIG1fcm9vdE5vZGVJRCA9IGl0ZW0tPmlkZW50aWZpZXIoKTsKKyAg
ICB9CisKKyAgICBmb3IgKGF1dG8gaXRlbSA6IHJlbW92ZUNvcHkpCisgICAgICAgIG1fcmVhZGVy
VGhyZWFkTm9kZU1hcC5yZW1vdmUoaXRlbSk7Cit9CisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkKKworI2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgorI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRT
YWZlUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBhZ2U7CisK
K3R5cGVkZWYgdW5zaWduZWQgQVhJc29sYXRlZFRyZWVJRDsKKyAgICAKK2NsYXNzIEFYSXNvbGF0
ZWRUcmVlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEFYSXNvbGF0ZWRUcmVlPiB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQVhJc29sYXRlZFRyZWUpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKKworcHVibGljOgorICAgIHN0YXRpYyBSZWY8QVhJc29sYXRlZFRyZWU+IGNyZWF0
ZSgpOworICAgIHZpcnR1YWwgfkFYSXNvbGF0ZWRUcmVlKCk7CisKKyAgICAvLyBDcmVhdGlvbiBt
dXN0IGhhcHBlbiBvbiBtYWluIHRocmVhZC4KKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVm
UHRyPEFYSXNvbGF0ZWRUcmVlPiB0cmVlRm9yUGFnZUlEKHVpbnQ2NF90LCBib29sIGNyZWF0ZSk7
CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZlB0cjxBWElzb2xhdGVkVHJlZT4gdHJlZUZv
cklEKEFYSXNvbGF0ZWRUcmVlSUQpOworCisgICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEFYSXNv
bGF0ZWRUcmVlTm9kZT4gcm9vdE5vZGUoKTsKKyAgICBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2Rl
PiBub2RlRm9ySUQoQVhJRCkgY29uc3Q7CisKKyAgICAvLyBDYWxsIG9uIG1haW4gdGhyZWFkCisg
ICAgdm9pZCBhcHBlbmROb2RlQ2hhbmdlcyhWZWN0b3I8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlTm9k
ZT4+Jik7CisgICAgdm9pZCByZW1vdmVOb2RlKEFYSUQpOworCisgICAgLy8gQ2FsbCBvbiBBWCB0
aHJlYWQKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKwor
ICAgIEFYSXNvbGF0ZWRUcmVlSUQgdHJlZUlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3Ry
ZWVJRDsgfQorCitwcml2YXRlOgorICAgIEFYSXNvbGF0ZWRUcmVlKCk7CisKKyAgICBzdGF0aWMg
SGFzaE1hcDxBWElzb2xhdGVkVHJlZUlELCBSZWY8QVhJc29sYXRlZFRyZWU+PiYgdHJlZUNhY2hl
KCk7CisKKyAgICAvLyBPbmx5IGFjY2VzcyBvbiBBWCB0aHJlYWQgcmVxdWVzdGluZyBkYXRhLgor
ICAgIEhhc2hNYXA8QVhJRCwgUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4+IG1fcmVhZGVyVGhyZWFk
Tm9kZU1hcDsKKworICAgIC8vIFdyaXR0ZW4gdG8gYnkgbWFpbiB0aHJlYWQgdW5kZXIgbG9jaywg
YWNjZXNzZWQgYW5kIGFwcGxpZWQgYnkgQVggdGhyZWFkLgorICAgIFZlY3RvcjxSZWZQdHI8QVhJ
c29sYXRlZFRyZWVOb2RlPj4gbV9wZW5kaW5nQXBwZW5kczsKKyAgICBWZWN0b3I8QVhJRD4gbV9w
ZW5kaW5nUmVtb3ZhbHM7CisgICAgTG9jayBtX2NoYW5nZUxvZ0xvY2s7CisKKyAgICBBWElzb2xh
dGVkVHJlZUlEIG1fdHJlZUlEOworICAgIEFYSUQgbV9yb290Tm9kZUlEOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVO
b2RlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lz
b2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5v
ZGUuaCIKKworI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitBWElzb2xhdGVkVHJlZU5vZGU6OkFYSXNvbGF0ZWRUcmVlTm9kZShjb25zdCBB
Y2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCisgICAgOiBtX2lkZW50aWZpZXIob2JqZWN0LmF4
T2JqZWN0SUQoKSkKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworI2lmICFBU1NFUlRf
RElTQUJMRUQKKyAgICBtX2luaXRpYWxpemVkID0gdHJ1ZTsKKyNlbmRpZgorICAgIGluaXRpYWxp
emVBdHRyaWJ1dGVEYXRhKG9iamVjdCk7Cit9CisKK1JlZjxBWElzb2xhdGVkVHJlZU5vZGU+IEFY
SXNvbGF0ZWRUcmVlTm9kZTo6Y3JlYXRlKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QmIG9iamVj
dCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkVHJlZU5vZGUob2JqZWN0
KSk7Cit9CisgICAgCitBWElzb2xhdGVkVHJlZU5vZGU6On5BWElzb2xhdGVkVHJlZU5vZGUoKSA9
IGRlZmF1bHQ7CisKK3ZvaWQgQVhJc29sYXRlZFRyZWVOb2RlOjppbml0aWFsaXplQXR0cmlidXRl
RGF0YShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCit7CisgICAgc2V0UHJvcGVy
dHkoQVhQcm9wZXJ0eU5hbWU6OlJvbGVWYWx1ZSwgc3RhdGljX2Nhc3Q8aW50PihvYmplY3Qucm9s
ZVZhbHVlKCkpKTsKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNBdHRhY2htZW50
LCBvYmplY3QuaXNBdHRhY2htZW50KCkpOworICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1l
OjpJc01lZGlhQ29udHJvbExhYmVsLCBvYmplY3QuaXNNZWRpYUNvbnRyb2xMYWJlbCgpKTsKK30K
KyAgICAKK3ZvaWQgQVhJc29sYXRlZFRyZWVOb2RlOjpzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFt
ZSBwcm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCYmIHZhbHVlLCBib29sIHNob3Vs
ZFJlbW92ZSkKK3sKKyAgICBBU1NFUlQoIW1faW5pdGlhbGl6ZWQpOworICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7CisgICAgCisgICAgaWYgKHNob3VsZFJlbW92ZSkKKyAgICAgICAgbV9hdHRy
aWJ1dGVNYXAucmVtb3ZlKHByb3BlcnR5TmFtZSk7CisgICAgZWxzZQorICAgICAgICBtX2F0dHJp
YnV0ZU1hcC5zZXQocHJvcGVydHlOYW1lLCB2YWx1ZSk7Cit9CisgICAgCit2b2lkIEFYSXNvbGF0
ZWRUcmVlTm9kZTo6YXBwZW5kQ2hpbGQoQVhJRCBheElEKQoreworICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CisgICAgbV9jaGlsZHJlbi5hcHBlbmQoYXhJRCk7Cit9CisgICAgCitkb3VibGUg
QVhJc29sYXRlZFRyZWVOb2RlOjpkb3VibGVBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFwLmdl
dChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0gKGRv
dWJsZSYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAgICB9LCBb
Jl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiAwLjA7CisgICAgfSk7Cit9CisKK3Vuc2lnbmVk
IEFYSXNvbGF0ZWRUcmVlTm9kZTo6dW5zaWduZWRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFt
ZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRlTWFw
LmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBbJl0g
KHVuc2lnbmVkJiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAg
IH0sIFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfSk7Cit9CisKK2Jvb2wg
QVhJc29sYXRlZFRyZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUgcHJv
cGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1hcC5nZXQo
cHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZdIChib29s
JiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0sIFsmXSAo
YXV0byYpIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0pOworfQorCitjb25zdCBTdHJp
bmcmIEFYSXNvbGF0ZWRUcmVlTm9kZTo6c3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1h
cC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZd
IChTdHJpbmcmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAg
fSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gbnVsbEF0b20oKTsKKyAgICB9KTsKK30K
KworaW50IEFYSXNvbGF0ZWRUcmVlTm9kZTo6aW50QXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1h
cC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZd
IChpbnQmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7CisgICAgfSwg
WyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKworI3ByYWdtYSBt
YXJrIC0gT3ZlcnJpZGVzCisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNv
bGF0ZWRUcmVlTm9kZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTIwIEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6
CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkKKworI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKKyNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYv
VGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgorI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCisjaWYgUExBVEZP
Uk0oQ09DT0EpCitPQkpDX0NMQVNTIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyOworI2Vu
ZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdDsK
KworY2xhc3MgQVhJc29sYXRlZFRyZWVOb2RlIGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxpdHlP
YmplY3RJbnRlcmZhY2UsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxBWElzb2xhdGVkVHJl
ZU5vZGU+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiB7CisKK3B1
YmxpYzoKKyAgICBlbnVtIGNsYXNzIEFYUHJvcGVydHlOYW1lIDogdWludDhfdCB7CisgICAgICAg
IE5vbmUgPSAwLAorICAgICAgICBSb2xlVmFsdWUgPSAxLAorICAgICAgICBJc0F0dGFjaG1lbnQs
CisgICAgICAgIElzTWVkaWFDb250cm9sTGFiZWwsCisgICAgfTsKKworICAgIHN0YXRpYyBSZWY8
QVhJc29sYXRlZFRyZWVOb2RlPiBjcmVhdGUoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYpOwor
ICAgIHZpcnR1YWwgfkFYSXNvbGF0ZWRUcmVlTm9kZSgpOworCisgICAgQVhJRCBpZGVudGlmaWVy
KCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CisKKyAgICBib29sIGlzUm9vdE5vZGUo
KSBjb25zdCB7IHJldHVybiBtX2lzUm9vdE5vZGU7IH0KKyAgICB2b2lkIHNldElzUm9vdE5vZGUo
Ym9vbCB2YWx1ZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAg
ICAgIG1faXNSb290Tm9kZSA9IHZhbHVlOworICAgIH0KKworICAgIHZvaWQgc2V0UGFyZW50KEFY
SUQgcGFyZW50KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICAg
ICAgbV9wYXJlbnQgPSBwYXJlbnQ7CisgICAgfQorICAgIEFYSUQgcGFyZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9wYXJlbnQ7IH0KKworICAgIHZvaWQgYXBwZW5kQ2hpbGQoQVhJRCk7CisgICAgY29u
c3QgVmVjdG9yPEFYSUQ+JiBjaGlsZHJlbigpIHsgcmV0dXJuIG1fY2hpbGRyZW47IH07CisKKyNp
ZiBQTEFURk9STShDT0NPQSkKKyAgICBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciogd3Jh
cHBlcigpIGNvbnN0IHsgcmV0dXJuIG1fd3JhcHBlci5nZXQoKTsgfQorICAgIHZvaWQgc2V0V3Jh
cHBlcihXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciogd3JhcHBlcikgeyBtX3dyYXBwZXIg
PSB3cmFwcGVyOyB9CisjZW5kaWYKKworcHJvdGVjdGVkOgorICAgIEFYSXNvbGF0ZWRUcmVlTm9k
ZSgpID0gZGVmYXVsdDsKKworcHJpdmF0ZToKKyAgICBBWElzb2xhdGVkVHJlZU5vZGUoY29uc3Qg
QWNjZXNzaWJpbGl0eU9iamVjdCYpOworICAgIHZvaWQgaW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEo
Y29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYpOworCisgICAgYm9vbCBpc01lZGlhQ29udHJvbExh
YmVsKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVy
dHlOYW1lOjpJc01lZGlhQ29udHJvbExhYmVsKTsgfQorICAgIGJvb2wgaXNBdHRhY2htZW50KCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1l
OjpJc0F0dGFjaG1lbnQpOyB9CisgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RhdGljX2Nhc3Q8QWNjZXNzaWJpbGl0eVJvbGU+KGludEF0
dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpSb2xlVmFsdWUpKTsgfQorCisgICAgdXNpbmcg
QXR0cmlidXRlVmFsdWVWYXJpYW50ID0gVmFyaWFudDxzdGQ6Om51bGxwdHJfdCwgU3RyaW5nLCBi
b29sLCBpbnQsIHVuc2lnbmVkLCBkb3VibGU+OworICAgIHZvaWQgc2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCYmLCBib29sIHNob3VsZFJlbW92ZSA9IGZh
bHNlKTsKKworICAgIGJvb2wgYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25z
dDsKKyAgICBjb25zdCBTdHJpbmcmIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1l
KSBjb25zdDsKKyAgICBpbnQgaW50QXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0
OworICAgIHVuc2lnbmVkIHVuc2lnbmVkQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNv
bnN0OworICAgIGRvdWJsZSBkb3VibGVBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29u
c3Q7CisKKyAgICBBWElEIG1fcGFyZW50OworICAgIEFYSUQgbV9pZGVudGlmaWVyOworICAgIGJv
b2wgbV9pc1Jvb3ROb2RlOworICAgIGJvb2wgbV9pbml0aWFsaXplZDsKKyAgICBWZWN0b3I8QVhJ
RD4gbV9jaGlsZHJlbjsKKworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFJldGFpblB0cjxXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gbV93cmFwcGVyOworI2VuZGlmCisKKyAgICBIYXNo
TWFwPEFYUHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQsIFdURjo6SW50SGFzaDxB
WFByb3BlcnR5TmFtZT4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8QVhQcm9wZXJ0eU5hbWU+
PiBtX2F0dHJpYnV0ZU1hcDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRSgoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQko
cmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhP
YmplY3RDYWNoZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYg
SEFWRShBQ0NFU1NJQklMSVRZKSAmJiBQTEFURk9STShNQUMpCiAKKyNpbXBvcnQgIkFYSXNvbGF0
ZWRUcmVlTm9kZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2ltcG9ydCAi
QWNjZXNzaWJpbGl0eVRhYmxlLmgiCiAjaW1wb3J0ICJSZW5kZXJPYmplY3QuaCIKQEAgLTIzNyw2
ICsyMzgsMTUgQEAKICAgICBvYmotPnNldFdyYXBwZXIobnVsbHB0cik7CiB9CiAKKyNpZiBFTkFC
TEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQordm9pZCBBWE9iamVjdENhY2hlOjphc3Nv
Y2lhdGVJc29sYXRlZFRyZWVOb2RlKEFjY2Vzc2liaWxpdHlPYmplY3QmIG9iamVjdCwgQVhJc29s
YXRlZFRyZWVOb2RlJiBub2RlLCBBWElzb2xhdGVkVHJlZUlEIHRyZWVJRCkKK3sKKyAgICBBU1NF
UlQoIW9iamVjdC53cmFwcGVyKCkuaXNvbGF0ZWRUcmVlSWRlbnRpZmllcik7CisgICAgb2JqZWN0
LndyYXBwZXIoKS5pc29sYXRlZFRyZWVJZGVudGlmaWVyID0gdHJlZUlEOworICAgIG5vZGUuc2V0
V3JhcHBlcihvYmplY3Qud3JhcHBlcigpKTsKK30KKyNlbmRpZgorCiB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmF0dGFjaFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogewogICAgIFJldGFp
blB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gd3JhcHBlciA9IGFkb3B0TlMoW1tX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhbGxvY10gaW5pdFdpdGhBY2Nlc3NpYmlsaXR5
T2JqZWN0Om9ial0pOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNl
LmgJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSwxMSArMjksMTggQEAKICNpZm5kZWYgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNl
X2gKICNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlX2gKIAorI2luY2x1
ZGUgIkFYSXNvbGF0ZWRUcmVlLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgog
I2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitjbGFzcyBBWElzb2xhdGVkVHJl
ZU5vZGU7CisjZW5kaWYKIHN0cnVjdCBBY2Nlc3NpYmlsaXR5U2VhcmNoQ3JpdGVyaWE7CiBjbGFz
cyBJbnRSZWN0OwogY2xhc3MgRmxvYXRQb2ludDsKQEAgLTQ0LDEzICs1MSwyNiBAQAogCiBAaW50
ZXJmYWNlIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSA6IE5TT2JqZWN0IHsKICAg
ICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBtX29iamVjdDsKKyAgICBXZWJDb3JlOjpB
WElEIF9pZGVudGlmaWVyOwogfQogIAogLSAoaWQpaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0
OihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KilheE9iamVjdDsKKworI2lmIEVOQUJMRShB
Q0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9u
bHkpIFJlZlB0cjxXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU+IGlzb2xhdGVkVHJlZU5vZGU7
CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBXZWJDb3JlOjpBWElzb2xhdGVkVHJlZUlE
IGlzb2xhdGVkVHJlZUlkZW50aWZpZXI7CisjZW5kaWYKKwogLSAodm9pZClkZXRhY2g7CisKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFdlYkNvcmU6OkFYSUQgaWRlbnRpZmllcjsKKwog
LSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCopYWNjZXNzaWJpbGl0eU9iamVjdDsKIC0g
KEJPT0wpdXBkYXRlT2JqZWN0QmFja2luZ1N0b3JlOwogCisvLyBUaGlzIGNhbiBiZSBlaXRoZXIg
YW4gQWNjZXNzaWJpbGl0eU9iamVjdCBvciBhbiBBWElzb2xhdGVkVHJlZU5vZGUKKy0gKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UqKWF4QmFja2luZ09iamVjdDsKKwogLy8g
VGhlc2UgYXJlIHByZS1maXhlZCB3aXRoIGJhc2Ugc28gdGhhdCBBcHBLaXQgZG9lcyBub3QgZW5k
IHVwIGNhbGxpbmcgaW50byB0aGVzZSBkaXJlY3RseSAoYnlwYXNzaW5nIHNhZmV0eSBjaGVja3Mp
LgogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eVRpdGxlOwogLSAoTlNTdHJpbmcgKili
YXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQmFzZS5tbQkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0zMSwxMCArMzEsMTMgQEAKIAogI2lmIEhBVkUoQUNDRVNTSUJJTElU
WSkKIAorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWUuaCIKKyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVl
Tm9kZS5oIgogI2ltcG9ydCAiQVhPYmplY3RDYWNoZS5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eUFSSUFHcmlkUm93LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5TGlzdC5oIgogI2ltcG9ydCAi
QWNjZXNzaWJpbGl0eUxpc3RCb3guaCIKKyNpbXBvcnQgIkFjY2Vzc2liaWxpdHlPYmplY3RJbnRl
cmZhY2UuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCIKICNpbXBvcnQg
IkFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5oIgpAQCAtMjcwLDYgKzI3Myw4IEBACiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlckJhc2UKIAorQHN5bnRoZXNpemUgaWRlbnRpZmllcj1faWRlbnRp
ZmllcjsKKwogLSAoaWQpaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0OihBY2Nlc3NpYmlsaXR5
T2JqZWN0KilheE9iamVjdAogewogICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQpAQCAt
Mjc2LDE2ICsyODEsMzEgQEAKICAgICAgICAgcmV0dXJuIG5pbDsKIAogICAgIG1fb2JqZWN0ID0g
YXhPYmplY3Q7CisgICAgX2lkZW50aWZpZXIgPSBtX29iamVjdC0+YXhPYmplY3RJRCgpOwogICAg
IHJldHVybiBzZWxmOwogfQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJF
RSkKKy0gKFJlZlB0cjxXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU+KWlzb2xhdGVkVHJlZU5v
ZGUKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCghaXNNYWluVGhyZWFkKCkpOworICAgIHJldHVybiBB
WElzb2xhdGVkVHJlZTo6dHJlZUZvcklEKF9pc29sYXRlZFRyZWVJZGVudGlmaWVyKS0+bm9kZUZv
cklEKF9pZGVudGlmaWVyKTsKK30KKyNlbmRpZgorCiAtICh2b2lkKWRldGFjaAogewogICAgIG1f
b2JqZWN0ID0gbnVsbHB0cjsKKyAgICBfaWRlbnRpZmllciA9IDA7CiB9CiAKIC0gKEJPT0wpdXBk
YXRlT2JqZWN0QmFja2luZ1N0b3JlCiB7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkKKyAgICBSRUxFQVNFX0FTU0VSVCghaXNNYWluVGhyZWFkKCkpOworICAgIEFYSXNv
bGF0ZWRUcmVlOjp0cmVlRm9ySUQoc2VsZi5pc29sYXRlZFRyZWVJZGVudGlmaWVyKS0+YXBwbHlQ
ZW5kaW5nQ2hhbmdlcygpOworICAgIHJldHVybiBfaWRlbnRpZmllcjsKKyNlbHNlCiAgICAgLy8g
Q2FsbGluZyB1cGRhdGVCYWNraW5nU3RvcmUoKSBjYW4gaW52YWxpZGF0ZSB0aGlzIGVsZW1lbnQg
c28gc2VsZiBtdXN0IGJlIHJldGFpbmVkLgogICAgIC8vIElmIGl0IGRvZXMgYmVjb21lIGludmFs
aWRhdGVkLCBtX29iamVjdCB3aWxsIGJlIG5pbC4KICAgICBDRlJldGFpbigoX19icmlkZ2UgQ0ZU
eXBlUmVmKXNlbGYpOwpAQCAtMjk5LDYgKzMxOSw3IEBACiAgICAgICAgIHJldHVybiBOTzsKICAg
ICAKICAgICByZXR1cm4gWUVTOworI2VuZGlmCiB9CiAKIC0gKGlkKWF0dGFjaG1lbnRWaWV3CkBA
IC0zNjAsMTEgKzM4MSwyMSBAQAogICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nXTsKIH0KIAor
I2RlZmluZSBfYXhCYWNraW5nT2JqZWN0IHNlbGYuYXhCYWNraW5nT2JqZWN0CistIChXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlKilheEJhY2tpbmdPYmplY3QKK3sKKyNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIHJldHVybiBzZWxmLmlzb2xh
dGVkVHJlZU5vZGUuZ2V0KCk7CisjZWxzZQorICAgIHJldHVybiBtX29iamVjdDsKKyNlbmRpZgor
fQorCiAtIChOU1N0cmluZyAqKWJhc2VBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24KIHsKICAgICAv
LyBTdGF0aWMgdGV4dCBvYmplY3RzIHNob3VsZCBub3QgaGF2ZSBhIGRlc2NyaXB0aW9uLiBJdHMg
Y29udGVudCBpcyBjb21tdW5pY2F0ZWQgaW4gaXRzIEFYVmFsdWUuCiAgICAgLy8gT25lIGV4Y2Vw
dGlvbiBpcyB0aGUgbWVkaWEgY29udHJvbCBsYWJlbHMgdGhhdCBoYXZlIGEgdmFsdWUgYW5kIGEg
ZGVzY3JpcHRpb24uIFRob3NlIGFyZSBzZXQgcHJvZ3JhbWF0aWNhbGx5LgotICAgIGlmIChtX29i
amVjdC0+cm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlN0YXRpY1RleHQgJiYgIW1f
b2JqZWN0LT5pc01lZGlhQ29udHJvbExhYmVsKCkpCisgICAgaWYgKF9heEJhY2tpbmdPYmplY3Qt
PnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNUZXh0ICYmICFfYXhCYWNr
aW5nT2JqZWN0LT5pc01lZGlhQ29udHJvbExhYmVsKCkpCiAgICAgICAgIHJldHVybiBbTlNTdHJp
bmcgc3RyaW5nXTsKICAgICAKICAgICBWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+IHRleHRPcmRl
cjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCShyZXZpc2lv
biAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNDE2LDYgKzQxNiw4
IEBACiAjZGVmaW5lIE5TQWNjZXNzaWJpbGl0eVJlbGF0aXZlRnJhbWVBdHRyaWJ1dGUgQCJBWFJl
bGF0aXZlRnJhbWUiCiAjZW5kaWYKIAorI2RlZmluZSBfYXhCYWNraW5nT2JqZWN0IHNlbGYuYXhC
YWNraW5nT2JqZWN0CisKIGV4dGVybiAiQyIgQVhVSUVsZW1lbnRSZWYgTlNBY2Nlc3NpYmlsaXR5
Q3JlYXRlQVhVSUVsZW1lbnRSZWYoaWQgZWxlbWVudCk7CiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcgpAQCAtMTk3MCwxMCArMTk3MiwxMCBAQAogLSAoTlNT
dHJpbmcqKXJvbGUKIHsKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgot
ICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpCisgICAgaWYgKF9heEJhY2tpbmdPYmpl
Y3QtPmlzQXR0YWNobWVudCgpKQogICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3
XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5Um9sZUF0dHJpYnV0
ZV07CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECi0gICAgQWNjZXNzaWJp
bGl0eVJvbGUgcm9sZSA9IG1fb2JqZWN0LT5yb2xlVmFsdWUoKTsKKyAgICBBY2Nlc3NpYmlsaXR5
Um9sZSByb2xlID0gX2F4QmFja2luZ09iamVjdC0+cm9sZVZhbHVlKCk7CiAKICAgICBpZiAocm9s
ZSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGFiZWwgJiYgaXM8QWNjZXNzaWJpbGl0eUxhYmVsPigq
bV9vYmplY3QpICYmIGRvd25jYXN0PEFjY2Vzc2liaWxpdHlMYWJlbD4oKm1fb2JqZWN0KS5jb250
YWluc09ubHlTdGF0aWNUZXh0KCkpCiAgICAgICAgIHJvbGUgPSBBY2Nlc3NpYmlsaXR5Um9sZTo6
U3RhdGljVGV4dDsKQEAgLTIwMDAsNyArMjAwMiw3IEBACiAgICAgaWYgKG1fb2JqZWN0LT5pc1Nl
YXJjaEZpZWxkKCkpCiAgICAgICAgIHJldHVybiBOU0FjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZFN1
YnJvbGU7CiAgICAgCi0gICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgIGlm
IChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICBOU1ZpZXcqIGF0
dGFjaFZpZXcgPSBbc2VsZiBhdHRhY2htZW50Vmlld107CiAgICAgICAgIGlmIChbW2F0dGFjaFZp
ZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09iamVjdDpOU0FjY2Vzc2li
aWxpdHlTdWJyb2xlQXR0cmlidXRlXSkKICAgICAgICAgICAgIHJldHVybiBbYXR0YWNoVmlldyBh
Y2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5U3Vicm9sZUF0dHJpYnV0
ZV07CkBAIC0yMjExLDcgKzIyMTMsNyBAQAogCiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJB
VElPTlNfQkVHSU4KICAgICAvLyBhdHRhY2htZW50cyBoYXZlIHRoZSBBWEltYWdlIHJvbGUsIGJ1
dCBhIGRpZmZlcmVudCBzdWJyb2xlCi0gICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkK
KyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpCiAgICAgICAgIHJldHVy
biBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0Fj
Y2Vzc2liaWxpdHlSb2xlRGVzY3JpcHRpb25BdHRyaWJ1dGVdOwogICAgIEFMTE9XX0RFUFJFQ0FU
RURfREVDTEFSQVRJT05TX0VORAogCkBAIC0yNTY4LDcgKzI1NzAsNyBAQAogICAgICAgICByZXR1
cm4gW05TTnVtYmVyIG51bWJlcldpdGhCb29sOiBtX29iamVjdC0+aXNWaXNpdGVkKCldOwogICAg
IAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0
eVRpdGxlQXR0cmlidXRlXSkgewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgp
KSB7CisgICAgICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAg
ICAgICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1
dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1dGVdKQog
ICAgICAgICAgICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxp
dHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV07CiAgICAgICAg
IH0KQEAgLTI1ODUsNyArMjU4Nyw3IEBACiAgICAgfQogICAgIAogICAgIGlmIChbYXR0cmlidXRl
TmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0cmlidXRl
XSkgewotICAgICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgICAgIGlm
IChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICAgICAgaWYgKFtb
W3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFp
bnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdKQogICAgICAgICAg
ICAgICAgIHJldHVybiBbW3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1
dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV07CiAgICAgICAgIH0K
QEAgLTI1OTMsNyArMjU5NSw3IEBACiAgICAgfQogICAgIAogICAgIGlmIChbYXR0cmlidXRlTmFt
ZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkgewotICAg
ICAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgICAgIGlmIChfYXhCYWNr
aW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgewogICAgICAgICAgICAgaWYgKFtbW3NlbGYgYXR0
YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6
TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdKQogICAgICAgICAgICAgICAgIHJldHVybiBb
W3NlbGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vz
c2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV07CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODIxNyw2ICs4MjE3LDExIEBACiAKICAgICByZXR1cm4g
Km1fbG9nZ2VyOwogfQorICAgIAorT3B0aW9uYWw8dWludDY0X3Q+IERvY3VtZW50OjpwYWdlSUQo
KSBjb25zdAoreworICAgIHJldHVybiBtX2ZyYW1lLT5sb2FkZXIoKS5jbGllbnQoKS5wYWdlSUQo
KTsKK30KIAogdm9pZCBEb2N1bWVudDo6aGFzU3RvcmFnZUFjY2VzcyhSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmIHByb21pc2UpCiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMjQw
NDcwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTY0OCw2ICs2NDgsNyBAQAogICAgIFdFQkNPUkVfRVhQT1JUIEFYT2JqZWN0Q2FjaGUqIGF4T2Jq
ZWN0Q2FjaGUoKSBjb25zdDsKICAgICB2b2lkIGNsZWFyQVhPYmplY3RDYWNoZSgpOwogCisgICAg
T3B0aW9uYWw8dWludDY0X3Q+IHBhZ2VJRCgpIGNvbnN0OwogICAgIC8vIHRvIGdldCB2aXN1YWxs
eSBvcmRlcmVkIGhlYnJldyBhbmQgYXJhYmljIHBhZ2VzIHJpZ2h0CiAgICAgdm9pZCBzZXRWaXN1
YWxseU9yZGVyZWQoKTsKICAgICBib29sIHZpc3VhbGx5T3JkZXJlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fdmlzdWFsbHlPcmRlcmVkOyB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjQwNDcwKQorKysg
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAor
MjAxOS0wMS0yNSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAg
ICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdl
T2JqZWN0QmFzZS5tbToKKyAgICAgICAgKC1bV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJh
c2UgYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyXSk6CisKIDIwMTktMDEtMjQgIFJ5b3N1
a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgaU9TOiBTcGxpdCBrZXlib2Fy
ZCBzaG91bGQgbm90IHNocmluayB2aXN1YWxWaWV3cG9ydC5oZWlnaHQKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
cmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOwor
CiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFN
RSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFC
TEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDcs
NCArNDA5LDQgQEAKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQ
UExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BB
WV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQ
SSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9K
SVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJ
VCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChF
TkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRF
KSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFU
VElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERG
S0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChF
TkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dF
Ql9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4p
ICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NF
TUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
MykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01B
TklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVO
QUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJM
RV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBP
UlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJT
RUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZ
Qk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQo
RU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQo
RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FU
T1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9S
RVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9N
RVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVM
TFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1C
TFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9i
amVjdEJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UuaAkocmV2aXNpb24gMjQwNDcw
KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0
eVdlYlBhZ2VPYmplY3RCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDkgQEAKIAog
QGludGVyZmFjZSBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZSA6IE5TT2JqZWN0IHsK
ICAgICBXZWJLaXQ6OldlYlBhZ2UqIG1fcGFnZTsKKyAgICB1aW50NjRfdCBtX3BhZ2VJRDsKICAg
ICBpZCBtX3BhcmVudDsKKyAgICBib29sIG1faGFzUGx1Z2luOwogfQogCiAtICh2b2lkKXNldFdl
YlBhZ2U6KFdlYktpdDo6V2ViUGFnZSopcGFnZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0JKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0
QmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQAogI2ltcG9ydCAiV0tTaGFy
ZWRBUElDYXN0LmgiCiAjaW1wb3J0ICJXS1N0cmluZy5oIgogI2ltcG9ydCAiV0tTdHJpbmdDRi5o
IgorI2ltcG9ydCA8V2ViQ29yZS9BWElzb2xhdGVkVHJlZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9B
WE9iamVjdENhY2hlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RvY3VtZW50Lmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0ZyYW1lLmg+CkBAIC00NywzMyArNDgsNzIgQEAKIAogQGltcGxlbWVudGF0aW9uIFdL
QWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlCiAKLS0gKGlkKWFjY2Vzc2liaWxpdHlSb290
T2JqZWN0V3JhcHBlcgorLSAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZSopYXhPYmplY3RDYWNoZQog
ewotICAgIGlmICghV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQo
KSkKLSAgICAgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJpbGl0eSgp
OwotCi0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBuaWw7Ci0gICAgCi0gICAgTlNP
YmplY3QqIG1haW5GcmFtZVBsdWdpbkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyID0gbV9wYWdl
LT5hY2Nlc3NpYmlsaXR5T2JqZWN0Rm9yTWFpbkZyYW1lUGx1Z2luKCk7Ci0gICAgaWYgKG1haW5G
cmFtZVBsdWdpbkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKQotICAgICAgICByZXR1cm4gbWFp
bkZyYW1lUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI7Ci0KICAgICBXZWJDb3JlOjpQ
YWdlKiBwYWdlID0gbV9wYWdlLT5jb3JlUGFnZSgpOwogICAgIGlmICghcGFnZSkKICAgICAgICAg
cmV0dXJuIG5pbDsKLSAgICAKICAgICBXZWJDb3JlOjpGcmFtZSYgY29yZSA9IHBhZ2UtPm1haW5G
cmFtZSgpOwogICAgIGlmICghY29yZS5kb2N1bWVudCgpKQogICAgICAgICByZXR1cm4gbmlsOwor
CisgICAgcmV0dXJuIGNvcmUuZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpOworfQorCistIChp
ZClhY2Nlc3NpYmlsaXR5UGx1Z2luT2JqZWN0Cit7CisgICAgYXV0byByZXRyaWV2ZUJsb2NrID0g
WyZzZWxmXSgpIC0+IGlkIHsKKyAgICAgICAgaWQgYXhQbHVnaW4gPSBuaWw7CisgICAgICAgIGF1
dG8gZGlzcGF0Y2hCbG9jayA9IFsmYXhQbHVnaW4sICZzZWxmXSB7CisgICAgICAgICAgICBpZiAo
c2VsZi0+bV9wYWdlKQorICAgICAgICAgICAgICAgIGF4UGx1Z2luID0gc2VsZi0+bV9wYWdlLT5h
Y2Nlc3NpYmlsaXR5T2JqZWN0Rm9yTWFpbkZyYW1lUGx1Z2luKCk7CisgICAgICAgIH07CisKKyAg
ICAgICAgaWYgKGlzTWFpblRocmVhZCgpKQorICAgICAgICAgICAgZGlzcGF0Y2hCbG9jaygpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBjYWxsT25NYWluVGhyZWFkQW5kV2FpdChbJmRpc3Bh
dGNoQmxvY2tdIHsgZGlzcGF0Y2hCbG9jaygpOyB9KTsKKyAgICAgICAgcmV0dXJuIGF4UGx1Z2lu
OworICAgIH07CiAgICAgCi0gICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogY2FjaGUgPSBjb3Jl
LmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKTsKLSAgICBpZiAoIWNhY2hlKQotICAgICAgICBy
ZXR1cm4gbmlsOwotICAgIAotICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBy
b290ID0gY2FjaGUtPnJvb3RPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIHJvb3QtPndyYXBwZXIo
KTsKLSAgICAKKyAgICByZXR1cm4gcmV0cmlldmVCbG9jaygpOworfQorCistIChpZClhY2Nlc3Np
YmlsaXR5Um9vdE9iamVjdFdyYXBwZXIKK3sKKyAgICBpZiAoIVdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCisgICAgICAgIFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OmVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKKworICAgIGlmIChtX2hhc1BsdWdpbikKKyAgICAg
ICAgcmV0dXJuIHNlbGYuYWNjZXNzaWJpbGl0eVBsdWdpbk9iamVjdDsKKworI2lmIEVOQUJMRShB
Q0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgYXV0byBnZW5lcmF0ZUJsb2NrID0gWyZd
IHsKKyAgICAgICAgYXV0byBkaXNwYXRjaEJsb2NrID0gWyZzZWxmXSB7CisgICAgICAgICAgICBp
ZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBbc2VsZiBheE9iamVjdENhY2hlXSkKKyAgICAgICAg
ICAgICAgICBjYWNoZS0+Z2VuZXJhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlKCk7CisgICAg
ICAgIH07CisKKyAgICAgICAgaWYgKGlzTWFpblRocmVhZCgpKQorICAgICAgICAgICAgZGlzcGF0
Y2hCbG9jaygpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjYWxsT25NYWluVGhyZWFkQW5k
V2FpdChbJmRpc3BhdGNoQmxvY2tdIHsgZGlzcGF0Y2hCbG9jaygpOyB9KTsKKyAgICB9OworCisg
ICAgYXV0byB0cmVlID0gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQobV9wYWdlSUQpOwor
ICAgIGF1dG8gcm9vdE5vZGUgPSB0cmVlLT5yb290Tm9kZSgpOworICAgIGlmICghcm9vdE5vZGUp
CisgICAgICAgIGdlbmVyYXRlQmxvY2soKTsKKworICAgIHRyZWUtPmFwcGx5UGVuZGluZ0NoYW5n
ZXMoKTsKKyAgICBpZiAoKHJvb3ROb2RlID0gdHJlZS0+cm9vdE5vZGUoKSkpCisgICAgICAgIHJl
dHVybiByb290Tm9kZS0+d3JhcHBlcigpOworI2Vsc2UKKyAgICBpZiAoQVhPYmplY3RDYWNoZSog
Y2FjaGUgPSBbc2VsZiBheE9iamVjdENhY2hlXSkgeworICAgICAgICBpZiAoV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU9iamVjdCogcm9vdCA9IGNhY2hlLT5yb290T2JqZWN0KCkpCisgICAgICAgICAg
ICByZXR1cm4gcm9vdC0+d3JhcHBlcigpOworICAgIH0KKyNlbmRpZgogICAgIHJldHVybiBuaWw7
CiB9CiAKQEAgLTgwLDYgKzEyMCwxNCBAQAogLSAodm9pZClzZXRXZWJQYWdlOihXZWJQYWdlKilw
YWdlCiB7CiAgICAgbV9wYWdlID0gcGFnZTsKKyAgICAKKyAgICBpZiAocGFnZSkgeworICAgICAg
ICBtX3BhZ2VJRCA9IHBhZ2UtPnBhZ2VJRCgpOworICAgICAgICBtX2hhc1BsdWdpbiA9IHBhZ2Ut
PmFjY2Vzc2liaWxpdHlPYmplY3RGb3JNYWluRnJhbWVQbHVnaW4oKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBtX3BhZ2VJRCA9IDA7CisgICAgICAgIG1faGFzUGx1Z2luID0gZmFsc2U7CisgICAg
fQogfQogCiAtICh2b2lkKXNldFJlbW90ZVBhcmVudDooaWQpcGFyZW50CkluZGV4OiBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0w
MS0yNSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFY
OiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIw
MTktMDEtMjQgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIEFkIENsaWNrIEF0dHJpYnV0aW9uIGFzIGFuIGludGVybmFsL2V4cGVyaW1lbnRhbCBmZWF0
dXJlCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwNDcwKQor
KysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxF
X0FQUExFX1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVO
QUJMRV9BUFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExF
X1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA3LDQgKzQwOSw0
IEBACiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxF
X0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1J
U1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lO
VEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFC
TEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09O
VEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9T
RVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNF
X1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJM
RV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RS
RUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VC
R1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
ICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9T
SVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NT
X1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19U
WVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hF
TUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19N
T0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJB
Q1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChF
TkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9P
QlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NP
REVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9M
QVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9M
RUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFD
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJ
UFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFC
TEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5E
QUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJD
RV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9I
QU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05U
UykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4p
ICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL2NtYWtl
L1dlYktpdEZlYXR1cmVzLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xOTMsNiArMTkzLDcgQEAKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfU01PT1RIX1NDUk9MTElORyAiVG9nZ2xlIHNtb290aCBz
Y3JvbGxpbmciIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMgIlRvZ2dsZSBTcGVlY2ggU3ludGhlc2lzIEFQSSBzdXBwb3J0IiBQUklW
QVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1BFTExDSEVDSyAiVG9n
Z2xlIFNwZWxsY2hlY2tpbmcgc3VwcG9ydCAocmVxdWlyZXMgRW5jaGFudCkiIFBSSVZBVEUgT0ZG
KQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9BQ0NFU1NJQklMSVRZX1NUQVRJQ19U
UkVFICJUb2dnbGUgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZSBzdXBwb3J0IiBQUklWQVRFIE9G
RikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1RSRUFNU19BUEkgIlRvZ2dsZSBT
dHJlYW1zIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5F
KEVOQUJMRV9TVkdfRk9OVFMgIlRvZ2dsZSBTVkcgRm9udHMgc3VwcG9ydCIgUFJJVkFURSBPTikK
ICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04gIlRvZ2dsZSB0ZWxlcGhvbmUgbnVtYmVyIGRldGVjdGlvbiBzdXBwb3J0IiBQUklWQVRFIE9G
RikKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDI0MDQ3MCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDEzIEBACisyMDE5LTAxLTI1ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRy
ZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0
OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTI0ICBSeWFuIEhhZGRhZCAg
PHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBtYWNPUyBKU0MgYm90IGNv
bmZpZ3VyYXRpb25zCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDQ3MCkK
KysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQ
UExFX1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJM
RV9BUFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BB
WV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA3LDQgKzQwOSw0IEBA
CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
NCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NT
U19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJ
T05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVf
S0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9D
VVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNF
X0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dP
UktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9X
RUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFN
SU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BV
KSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQo
RU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BB
SU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBF
RF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RF
X0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJ
T04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFC
TEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNF
UlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVf
QVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlP
VVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdB
Q1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxP
TkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9V
U0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMp
ICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5E
TEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQo
RU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
R0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwo=
</data>
<flag name="review"
          id="376899"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360262</attachid>
            <date>2019-01-26 20:04:48 -0800</date>
            <delta_ts>2019-01-26 20:16:08 -0800</delta_ts>
            <desc>Landing patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>106549</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTI1ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBO
aXdhLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisKIDIwMTktMDEtMjQgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIHVzYWdlIG9mIGludGVybmFsIG1hY3JvIGZyb20gcHJpdmF0ZSBoZWFk
ZXIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
Zwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
R18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwog
CitFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVf
UEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQ
UExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lw
aG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDcsNCArNDA5LDQgQEAKIAog
RU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NP
TklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlC
T0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RP
TV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VS
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFC
TEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
VklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElD
UykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9S
VEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdf
QVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQo
RU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19M
T09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJ
TkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09N
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NT
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9G
QVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVS
KSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRS
SUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9G
T1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJT
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFC
TEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dF
QkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAko
cmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy93
ZWJzb2NrZXRzIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3dlYnZyIgogICAgICIke1dF
QkNPUkVfRElSfS9hY2Nlc3NpYmlsaXR5IgorICAgICIke1dFQkNPUkVfRElSfS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZSIKICAgICAiJHtXRUJDT1JFX0RJUn0vYW5pbWF0aW9uIgogICAgICIk
e1dFQkNPUkVfRElSfS9iaW5kaW5ncyIKICAgICAiJHtXRUJDT1JFX0RJUn0vYmluZGluZ3MvanMi
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3OCBAQAorMjAxOS0wMS0yNSAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2Ug
YSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAz
Mjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBJbiBv
cmRlciB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIHdoZW4gcmVxdWVzdGluZyB0aGUgYWNjZXNzaWJp
bGl0eSBoaWVyYXJjaHksIHdlIGludHJvZHVjZSB0aGUgaWRlYSBvZiBhICJzdGF0aWMgYWNjZXNz
aWJpbGl0eSB0cmVlIiB3aGljaCAKKyAgICAgICAgY291bGQgYmUgYWNjZXNzZWQgb24gYSBkaWZm
ZXJlbnQgdGhyZWFkIGJ5IGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXMuCisgICAgICAgIFRoYXQgaXMg
YWNjb21wbGlzaGVkIGJ5IHN0b3JpbmcgYWxsIHRoZSBkYXRhIG5lZWRlZCB0byBhbnN3ZXIgYWNj
ZXNzaWJpbGl0eSBhdHRyaWJ1dGUgcXVlcmllcyBpbiBhIHN0YXRpYyBvYmplY3QgdGhhdCBtaXJy
b3JzIHRoZSAKKyAgICAgICAgImxpdmUiIEFjY2Vzc2liaWxpdHlPYmplY3RzICh3aGljaCBpbnRl
cmFjdCB3aXRoIGJvdGggRE9NIGFuZCBSZW5kZXIgdHJlZXMpLgorICAgICAgICBUaGVzZSBzdGF0
aWMgb2JqZWN0cyBhcmUgZ2VuZXJhbGx5IGNyZWF0ZWQgYWZ0ZXIgbGF5b3V0IGlzIGRvbmUgYW5k
IGZpbmFsIHRhc2tzIGFyZSBiZWluZyBwZXJmb3JtZWQuIFRoZXkgYXJlIHRoZW4gc3RvcmVkIGlu
IHRoZSBzdGF0aWMgdHJlZSAKKyAgICAgICAgcmVwcmVzZW50YXRpb24gYW5kIGFibGUgdG8gYmUg
cmVhZCBmcm9tIGFueXdoZXJlLgorICAgICAgICBUYWN0aWNhbGx5IHRoaXMgaXMgZG9uZSB3aXRo
IEFYSXNvbGF0ZWRUcmVlTm9kZXMgaW5zaWRlIG9mIGFuIEFYSXNvbGF0ZWRUcmVlLiBUaGUgVHJl
ZU5vZGVzIGltcGxlbWVudCBhbiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHNoYXJlZCAK
KyAgICAgICAgd2l0aCBBY2Nlc3NpYmlsaXR5T2JqZWN0LgorICAgICAgICBUaGlzIGFsbG93cyB0
aGUgd3JhcHBlcnMgdG8gYWNjZXNzIGVpdGhlciBvbmUgZGVwZW5kaW5nIG9uIGNvbmRpdGlvbnMg
YW5kIHBsYXRmb3JtcyB3aXRob3V0IHNpZ25pZmljYW50IGNvZGUgZHVwbGljYXRpb24gb3IgcmUt
b3JnYW5pemF0aW9uLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
Y3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5VHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjpnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlSWZOZWVkZWQpOgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oOiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZTogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNv
bGF0ZWRUcmVlOjp0cmVlQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6
OkFYSXNvbGF0ZWRUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJRCk6CisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6dHJlZUZvclBhZ2VJRCk6CisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6bm9kZUZvcklEIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkFYSXNvbGF0ZWRUcmVlOjpyb290Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xh
dGVkVHJlZTo6cmVtb3ZlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6
YXBwZW5kTm9kZUNoYW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmFw
cGx5UGVuZGluZ0NoYW5nZXMpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRy
ZWU6OnRyZWVJZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xh
dGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwOiBBZGRlZC4KKyAgICAgICAgICAgIFRvIG5v
dGU6IHdlIGRvbid0IG1hcmsgdGhlIGF0dHJpYnV0ZSBtYXAgY29uc3QgYmVjYXVzZSBldmVuIHRo
b3VnaCBhdHRyaWJ1dGVzIGRvbid0IGNoYW5nZSBhZnRlciBpbml0aWFsIGNyZWF0aW9uLAorICAg
ICAgICAgICAgd2UgbWF5IGNvcHkgYW4gZXhpc3Rpbmcgbm9kZSBhbmQgcmVwbGFjZSBzcGVjaWZp
YyB2YWx1ZXMuCisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OkFYSXNvbGF0
ZWRUcmVlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmluaXRpYWxpemVBdHRy
aWJ1dGVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6c2V0UHJv
cGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpkb3VibGVBdHRy
aWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6
OnVuc2lnbmVkQXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29s
YXRlZFRyZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpzdHJpbmdBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmludEF0dHJpYnV0ZVZhbHVlIGNvbnN0
KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5v
ZGUuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlzb2xhdGVk
VHJlZU5vZGUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQmFzZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJCYXNlIGluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDpdKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGlzb2xhdGVkVHJlZU5vZGVd
KToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGRldGFjaF0p
OgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgdXBkYXRlT2Jq
ZWN0QmFja2luZ1N0b3JlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQmFzZSBheEJhY2tpbmdPYmplY3RdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJCYXNlIGJhc2VBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25dKToKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbToK
KyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgcm9sZV0pOgorICAgICAg
ICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBzdWJyb2xlXSk6CisgICAgICAgICgt
W1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHJvbGVEZXNjcmlwdGlvbl0pOgorICAgICAg
ICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
VmFsdWU6XSk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpwYWdlSUQgY29uc3QpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorCiAy
MDE5LTAxLTI0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xG
Q11bQkZDXVtNYXJnaW5Db2xsYXBzaW5nXSBSZWZhY3RvciBNYXJnaW5Db2xsYXBzZTo6dXBkYXRl
Q29sbGFwc2VkTWFyZ2luQWZ0ZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyNDA0NzApCisr
KyBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
d29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18k
KFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
X2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitF
TkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZ
ID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExF
X1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9u
ZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDcsNCArNDA5LDQgQEAKIAogRU5B
QkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FS
RF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9Q
Uk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNf
VklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
V0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5B
QkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVf
QVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09Q
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdf
QVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAk
KEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNU
X0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAk
KEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJV
VEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRI
TikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFT
U0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQo
RU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0yNSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXph
Y2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgaXNvbGF0ZWQgYWNjZXNzaWJp
bGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTI0ICBFcmljIENhcmxzb24gIDxlcmljLmNh
cmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFNpbGVuY2UgTWVkaWFQbGF5ZXIgY29t
cGlsZSB3YXJuaW5ncwpJbmRleDogU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwNDcwKQor
KysgU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7
CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBM
RV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
QVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNyw0ICs0MDksNCBAQAog
CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1Nf
Q09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9O
UykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tF
WUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VT
VE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9M
T0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JL
RVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VC
X1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlO
R19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkg
JChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVO
QUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9D
X0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlO
VElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURf
T00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9D
U1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9O
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxF
X0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05F
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExF
UlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVO
QUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVf
V0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZp
c2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtNDA1LDYgKzQwNSw4IEBACiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlLmNw
cAogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZUl0ZW0uY3BwCiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmNwcAorYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWUuY3BwCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
VHJlZU5vZGUuY3BwCiAKIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuY3BwCiBhbmltYXRpb24v
QW5pbWF0aW9uUGxheWJhY2tFdmVudC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtNjk2LDYgKzY5Niw3IEBACiAJCTI2RjlBODM4MThBMDQ2QUMwMEFFQjg4QSAvKiBW
aWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmln
dXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9y
dENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTE0
RTMwODFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNBQjVBNDQw
MDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OworCQkyOTM2QkY1QzIx
RDY5RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2OTk5RTAw
NEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZFMDA2N0FD
RjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMjk0ODlGQzcxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2liaWxpdHlT
Y3JvbGxWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCAq
LzsgfTsKIAkJMjk3QkUzRDUxNkMwM0MwODAwMzMxNkJEIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhl
c2lzVXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyNTI3Q0M5MTE2QkY4QkExMDA5RERBQzAgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNV
dHRlcmFuY2UuaCAqLzsgfTsKQEAgLTcxNyw2ICs3MTgsOCBAQAogCQkyOUE4MTI0MzBGQkI5QzFE
MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjI1MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nl
c3NpYmlsaXR5TGlzdEJveC5oICovOyB9OwogCQkyOUE4MTI0OTBGQkI5Q0E5MDA1MTAyOTMgLyog
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTI0NTBGQkI5Q0E5MDA1MTAyOTMgLyogV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjlBQ0IyMTIxNDNFNzEyODAwNkJDQTVGIC8qIEFj
Y2Vzc2liaWxpdHlNb2NrT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyOUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1v
Y2tPYmplY3QuaCAqLzsgfTsKKwkJMjlBRTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0
ZWRUcmVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
OUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyOUFFMjEzNTIxQUJBNDhBMDA4
NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRl
ZFRyZWVOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMjlEN0JDRkExNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUQ3QkNG
OTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLzsgfTsKIAkJ
MjlGQUY0QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUZBRjRCNTE5
NUFCMDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyQjM2NUM4NDE1MjUxMTlF
MDA5MUQyN0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2MDAwREJCQ0Q4IC8qIFJlbmRlclNW
R0VsbGlwc2UuaCAqLzsgfTsKQEAgLTY1ODQsNiArNjU4Nyw3IEBACiAJCTI4REI5QkM3MjAyMEVB
MDQwMEU1NEEwNyAvKiBQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyOTE0RTMwNTFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFj
aG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJp
bGl0eUF0dGFjaG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTE0RTMw
NjFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9i
amVjdEludGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNFQUUxRTEz
NTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNz
aWJpbGl0eVNjcm9sbFZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNj
ZXNzaWJpbGl0eVNjcm9sbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjk0
OTg2ODExOTUzNDE5NDAwNzJEMkJEIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFVuZG9JbnNlcnRpb25N
YXJrdXBNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NjMxLDYgKzY2MzUs
MTAgQEAKIAkJMjlBODEyNDcwRkJCOUNBOTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVNYWMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBWE9iamVjdENhY2hlTWFj
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFDQjIxMTE0M0U3MTI4MDA2QkNB
NUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMjlBQ0IyMTMxNDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2Jq
ZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxp
dHlNb2NrT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMkIy
MUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFYSXNv
bGF0ZWRUcmVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJDMjFBQjlF
RUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBWElz
b2xhdGVkVHJlZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTMzMjFB
QkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVhJ
c29sYXRlZFRyZWVOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTM0
MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQVhJc29sYXRlZFRyZWVOb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMjlEN0JDRjUxNDQ0QUY1ODAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlEN0JDRjkxNDQ0QUY3
RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTI5RTA0QTI3QkVEMkY4MUY5OEU5MDIyQiAvKiBKU0JlZm9yZVVubG9h
ZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQmVmb3JlVW5sb2Fk
RXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjU0LDYgKzE3MjYyLDcg
QEAKIAkJMjlBODEyMDQwRkJCOUI0MTAwNTEwMjkzIC8qIGFjY2Vzc2liaWxpdHkgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTI5QUUyMTI5MjFBQjlFQ0Iw
MDg2OTI4MyAvKiBpc29sYXRlZHRyZWUgKi8sCiAJCQkJQUFBNzI4RUYxNkQxRDhCQzAwRDNCQkM2
IC8qIGlvcyAqLywKIAkJCQkyOUE4MTIwNTBGQkI5QjUyMDA1MTAyOTMgLyogbWFjICovLAogCQkJ
CTI5ODFDQTlEMTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuY3BwICov
LApAQCAtMTcyOTIsNiArMTczMDEsNyBAQAogCQkJCTI5ODU3MDkzMTVDQzUzMkQwMDYzNTVDRCAv
KiBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oICovLAogCQkJCTI5ODFDQUE1MTMxODIyRUMwMEQx
MkYyQSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAqLywKIAkJCQkyOUE4MTIxODBGQkI5QzFE
MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdC5oICovLAorCQkJCTI5MzZCRjVBMjFENjk5
OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggKi8sCiAJCQkJQTQw
OUM5ODIxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5j
cHAgKi8sCiAJCQkJQTQwOUM5ODMxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxpdHlQcm9n
cmVzc0luZGljYXRvci5oICovLAogCQkJCTI5ODFDQUE2MTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAqLywKQEAgLTE3MzQ3LDYgKzE3MzU3LDE3IEBACiAJ
CQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJMjlBRTIx
MjkyMUFCOUVDQjAwODY5MjgzIC8qIGlzb2xhdGVkdHJlZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdy
b3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMjlBRTIxMkIyMUFCOUVFQjAwODY5MjgzIC8qIEFY
SXNvbGF0ZWRUcmVlLmggKi8sCisJCQkJMjlBRTIxMkMyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNv
bGF0ZWRUcmVlLmNwcCAqLywKKwkJCQkyOUFFMjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29s
YXRlZFRyZWVOb2RlLmggKi8sCisJCQkJMjlBRTIxMzQyMUFCQTQ4QTAwODY5MjgzIC8qIEFYSXNv
bGF0ZWRUcmVlTm9kZS5jcHAgKi8sCisJCQkpOworCQkJcGF0aCA9IGlzb2xhdGVkdHJlZTsKKwkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTJEMDYyMTQ2MURBNjM5RUMwMEE3RkIy
NiAvKiBsZWdhY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApA
QCAtMjk5NzIsNiArMjk5OTMsNyBAQAogCQkJCTFBRTJBQTk4MEExQ0REMkQwMEI0MkIyNSAvKiBK
U0hUTUxJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU3RTk3MEExQTgzRTMw
MDdGQjhDNSAvKiBKU0hUTUxJbnB1dEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNkIw
OTU2MUY1RjM0RDkwMDNDMzcwMiAvKiBKU0hUTUxJbnB1dEVsZW1lbnRFbnRyaWVzQVBJLmggaW4g
SGVhZGVycyAqLywKKwkJCQkyOTM2QkY1QzIxRDY5RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0
eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTYxNDhBNzkxMkU0MUUzQjAw
NDRBNzg0IC8qIEpTSFRNTEtleWdlbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTJB
QjIyMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMYWJlbEVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBRTJBQjI0MEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMZWdlbmRFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTMxNDI3LDYgKzMxNDQ5LDcgQEAKIAkJCQk1MTQwNUM4OTE5MEIw
MTQ0MDA3NTRGOTQgLyogU2VsZWN0aW9uUmVjdEdhdGhlcmVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFNDRCNEJCNDE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0MzJEM0ZFODE4QTg2NTg0MDBEN0RDMDMgLyogU2VsZWN0b3JDaGVja2VyVGVz
dEZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMzUyMUFCQTQ4QTAwODY5Mjgz
IC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjZCOTk5OTcxODA0
RDU0MjAwRDAxMTIxIC8qIFNlbGVjdG9yQ29tcGlsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQx
NTA3MTU4MTY4NTA2NzMwMEMzQzdCMyAvKiBTZWxlY3RvckZpbHRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDMxMDdCRTIxOENDMTlERTAwQ0MxOEU4IC8qIFNlbGVjdG9yUHNldWRvVHlwZU1hcC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0zMjM2Miw2ICszMjM4NSw3IEBACiAJCQkJOTc3RTJFMEYxMkYw
RkM5QzAwQzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTU0MTZGRTYxODgxMEVGODAwMDlGQzVGIC8qIFlvdVR1YmVFbWJlZFNoYWRvd0VsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTdBNTUxNUY1MTkxODMwQTMwMDk2ODdEMiAvKiBZb3VUdWJlUGx1
Z2luUmVwbGFjZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5QUUyMTJEMjFBQjlFRUIwMDg2
OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1MzczNTMxMzdC
NjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkocmV2aXNpb24gMjQwNDcwKQor
KysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzIsNiArMzIsOCBAQAogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgog
CisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWUuaCIKKyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5v
ZGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaCIKICNpbmNsdWRlICJBY2Nl
c3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFSSUFHcmlk
Um93LmgiCkBAIC0xMTUsNiArMTE3LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsK
IAorY29uc3QgQVhJRCBJbnZhbGlkQVhJRCA9IDA7CisKIC8vIFBvc3QgdmFsdWUgY2hhbmdlIG5v
dGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxkcyBvciBlbGVtZW50cyBjb250YWluZWQgaW4g
cGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRlcnZhbCB0byB0aHdhcnQgYW5hbHlzaXMgb2Yg
dHlwaW5nIGNhZGVuY2UKIHN0YXRpYyBjb25zdCBTZWNvbmRzIGFjY2Vzc2liaWxpdHlQYXNzd29y
ZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwgeyAyNV9tcyB9Owogc3RhdGljIGNvbnN0
IFNlY29uZHMgYWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2
YWwgeyAyMF9tcyB9OwpAQCAtNzIzLDYgKzcyNywxMCBAQAogICAgIG9iamVjdC0+c2V0QVhPYmpl
Y3RJRCgwKTsKIAogICAgIG1faWRzSW5Vc2UucmVtb3ZlKGF4SUQpOworI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgaWYgKGF1dG8gcGFnZUlEID0gbV9kb2N1bWVu
dC5wYWdlSUQoKSkKKyAgICAgICAgQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQoKnBhZ2VJ
RCktPnJlbW92ZU5vZGUoYXhJRCk7CisjZW5kaWYKIAogICAgIEFTU0VSVChtX29iamVjdHMuc2l6
ZSgpID49IG1faWRzSW5Vc2Uuc2l6ZSgpKTsKIH0KQEAgLTI5MDcsNiArMjkxNSw0MCBAQAogICAg
IG1fZGVmZXJyZWRGb2N1c2VkTm9kZUNoYW5nZS5jbGVhcigpOwogfQogICAgIAorI2lmIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitSZWY8QVhJc29sYXRlZFRyZWVOb2RlPiBB
WE9iamVjdENhY2hlOjpjcmVhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlSGllcmFyY2h5KEFj
Y2Vzc2liaWxpdHlPYmplY3QmIG9iamVjdCwgQVhJRCBwYXJlbnRJRCwgQVhJc29sYXRlZFRyZWUm
IHRyZWUsIFZlY3RvcjxSZWY8QVhJc29sYXRlZFRyZWVOb2RlPj4mIG5vZGVDaGFuZ2VzKQorewor
ICAgIGF1dG8gaXNvbGF0ZWRUcmVlTm9kZSA9IEFYSXNvbGF0ZWRUcmVlTm9kZTo6Y3JlYXRlKG9i
amVjdCk7CisgICAgbm9kZUNoYW5nZXMuYXBwZW5kKGlzb2xhdGVkVHJlZU5vZGUuY29weVJlZigp
KTsKKworICAgIGlzb2xhdGVkVHJlZU5vZGUtPnNldFBhcmVudChwYXJlbnRJRCk7CisgICAgYXNz
b2NpYXRlSXNvbGF0ZWRUcmVlTm9kZShvYmplY3QsIGlzb2xhdGVkVHJlZU5vZGUsIHRyZWUudHJl
ZUlkZW50aWZpZXIoKSk7CisKKyAgICBmb3IgKGF1dG8gY2hpbGQgOiBvYmplY3QuY2hpbGRyZW4o
KSkgeworICAgICAgICBhdXRvIHN0YXRpY0NoaWxkID0gY3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmls
aXR5VHJlZUhpZXJhcmNoeSgqY2hpbGQsIGlzb2xhdGVkVHJlZU5vZGUtPmlkZW50aWZpZXIoKSwg
dHJlZSwgbm9kZUNoYW5nZXMpOworICAgICAgICBpc29sYXRlZFRyZWVOb2RlLT5hcHBlbmRDaGls
ZChzdGF0aWNDaGlsZC0+aWRlbnRpZmllcigpKTsKKyAgICB9CisKKyAgICByZXR1cm4gaXNvbGF0
ZWRUcmVlTm9kZTsKK30KKyAgICAKK1JlZjxBWElzb2xhdGVkVHJlZT4gQVhPYmplY3RDYWNoZTo6
Z2VuZXJhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlKCkKK3sKKyAgICBSRUxFQVNFX0FTU0VS
VChpc01haW5UaHJlYWQoKSk7CisKKyAgICBhdXRvIHRyZWUgPSBBWElzb2xhdGVkVHJlZTo6dHJl
ZUZvclBhZ2VJRCgqbV9kb2N1bWVudC5wYWdlSUQoKSk7CisgICAgaWYgKCF0cmVlKQorICAgICAg
ICB0cmVlID0gQVhJc29sYXRlZFRyZWU6OmNyZWF0ZVRyZWVGb3JQYWdlSUQoKm1fZG9jdW1lbnQu
cGFnZUlEKCkpOworICAgIAorICAgIFZlY3RvcjxSZWY8QVhJc29sYXRlZFRyZWVOb2RlPj4gbm9k
ZUNoYW5nZXM7CisgICAgYXV0byByb290ID0gY3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5VHJl
ZUhpZXJhcmNoeSgqcm9vdE9iamVjdCgpLCBJbnZhbGlkQVhJRCwgKnRyZWUsIG5vZGVDaGFuZ2Vz
KTsKKyAgICByb290LT5zZXRJc1Jvb3ROb2RlKHRydWUpOworICAgIHRyZWUtPmFwcGVuZE5vZGVD
aGFuZ2VzKG5vZGVDaGFuZ2VzKTsKKworICAgIHJldHVybiBtYWtlUmVmKCp0cmVlKTsKK30KKyNl
bmRpZgorICAgIAogdm9pZCBBWE9iamVjdENhY2hlOjpkZWZlclJlY29tcHV0ZUlzSWdub3JlZElm
TmVlZGVkKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgaWYgKCFub2RlQW5kUmVuZGVyZXJBcmVW
YWxpZChlbGVtZW50KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5oCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOSBAQAog
CiAjcHJhZ21hIG9uY2UKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWUuaCIKKyNlbmRpZgogI2luY2x1ZGUgIkFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50LmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2lu
Y2x1ZGUgIlJhbmdlLmgiCkBAIC0zOSw2ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitjbGFzcyBBWElzb2xh
dGVkVHJlZU5vZGU7CisjZW5kaWYKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTEFyZWFFbGVt
ZW50OwogY2xhc3MgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ7CkBAIC0xODAsNiArMTg2LDEz
IEBACiAgICAgdm9pZCBkZWZlckF0dHJpYnV0ZUNoYW5nZUlmTmVlZGVkKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBFbGVtZW50Kik7CiAgICAgdm9pZCByZWNvbXB1dGVJc0lnbm9yZWQoUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlcik7CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KQorICAgIFdFQkNPUkVfRVhQT1JUIFJlZjxBWElzb2xhdGVkVHJlZT4gZ2VuZXJhdGVJc29sYXRl
ZEFjY2Vzc2liaWxpdHlUcmVlKCk7CisKKyAgICB2b2lkIGFzc29jaWF0ZUlzb2xhdGVkVHJlZU5v
ZGUoQWNjZXNzaWJpbGl0eU9iamVjdCYsIEFYSXNvbGF0ZWRUcmVlTm9kZSYsIEFYSXNvbGF0ZWRU
cmVlSUQpOworICAgIFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+IGNyZWF0ZUlzb2xhdGVkQWNjZXNz
aWJpbGl0eVRyZWVIaWVyYXJjaHkoQWNjZXNzaWJpbGl0eU9iamVjdCYsIEFYSUQsIEFYSXNvbGF0
ZWRUcmVlJiwgVmVjdG9yPFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+PiYpOworI2VuZGlmCisgICAg
CiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lk
IGVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBk
aXNhYmxlQWNjZXNzaWJpbGl0eSgpOwpAQCAtMTg3LDYgKzIwMCw3IEBACiAgICAgLy8gRW5oYW5j
ZWQgdXNlciBpbnRlcmZhY2UgYWNjZXNzaWJpbGl0eSBjYW4gYmUgdG9nZ2xlZCBieSB0aGUgYXNz
aXN0aXZlIHRlY2hub2xvZ3kuCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0RW5o
YW5jZWRVc2VySW50ZXJmYWNlQWNjZXNzaWJpbGl0eShib29sIGZsYWcpOwogICAgIAorICAgIC8v
IE5vdGU6IHRoZXNlIG1heSBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRocmVhZCBjb25jdXJy
ZW50bHkgYXMgb3RoZXIgcmVhZGVycy4KICAgICBzdGF0aWMgYm9vbCBhY2Nlc3NpYmlsaXR5RW5h
YmxlZCgpIHsgcmV0dXJuIGdBY2Nlc3NpYmlsaXR5RW5hYmxlZDsgfQogICAgIHN0YXRpYyBib29s
IGFjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VFbmFibGVkKCkgeyByZXR1cm4gZ0Fj
Y2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VFbmFibGVkOyB9CiAjZWxzZQpJbmRleDog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmgJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNw
cmFnbWEgb25jZQogCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgog
I2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgpAQCAtODksMTU3ICs5MCw2IEBACiBjbGFz
cyBTY3JvbGxWaWV3OwogY2xhc3MgV2lkZ2V0OwogCi10eXBlZGVmIHVuc2lnbmVkIEFYSUQ7Ci0K
LWVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUgewotICAgIEFubm90YXRpb24gPSAxLAotICAg
IEFwcGxpY2F0aW9uLAotICAgIEFwcGxpY2F0aW9uQWxlcnQsCi0gICAgQXBwbGljYXRpb25BbGVy
dERpYWxvZywKLSAgICBBcHBsaWNhdGlvbkRpYWxvZywKLSAgICBBcHBsaWNhdGlvbkdyb3VwLAot
ICAgIEFwcGxpY2F0aW9uTG9nLAotICAgIEFwcGxpY2F0aW9uTWFycXVlZSwKLSAgICBBcHBsaWNh
dGlvblN0YXR1cywKLSAgICBBcHBsaWNhdGlvblRleHRHcm91cCwKLSAgICBBcHBsaWNhdGlvblRp
bWVyLAotICAgIEF1ZGlvLAotICAgIEJsb2NrcXVvdGUsCi0gICAgQnJvd3NlciwKLSAgICBCdXN5
SW5kaWNhdG9yLAotICAgIEJ1dHRvbiwKLSAgICBDYW52YXMsCi0gICAgQ2FwdGlvbiwKLSAgICBD
ZWxsLAotICAgIENoZWNrQm94LAotICAgIENvbG9yV2VsbCwKLSAgICBDb2x1bW4sCi0gICAgQ29s
dW1uSGVhZGVyLAotICAgIENvbWJvQm94LAotICAgIERlZmluaXRpb24sCi0gICAgRGVzY3JpcHRp
b25MaXN0LAotICAgIERlc2NyaXB0aW9uTGlzdFRlcm0sCi0gICAgRGVzY3JpcHRpb25MaXN0RGV0
YWlsLAotICAgIERldGFpbHMsCi0gICAgRGlyZWN0b3J5LAotICAgIERpc2Nsb3N1cmVUcmlhbmds
ZSwKLSAgICBEaXYsCi0gICAgRG9jdW1lbnQsCi0gICAgRG9jdW1lbnRBcnRpY2xlLAotICAgIERv
Y3VtZW50TWF0aCwKLSAgICBEb2N1bWVudE5vdGUsCi0gICAgRHJhd2VyLAotICAgIEVkaXRhYmxl
VGV4dCwKLSAgICBGZWVkLAotICAgIEZpZ3VyZSwKLSAgICBGb290ZXIsCi0gICAgRm9vdG5vdGUs
Ci0gICAgRm9ybSwKLSAgICBHcmFwaGljc0RvY3VtZW50LAotICAgIEdyYXBoaWNzT2JqZWN0LAot
ICAgIEdyYXBoaWNzU3ltYm9sLAotICAgIEdyaWQsCi0gICAgR3JpZENlbGwsCi0gICAgR3JvdXAs
Ci0gICAgR3Jvd0FyZWEsCi0gICAgSGVhZGluZywKLSAgICBIZWxwVGFnLAotICAgIEhvcml6b250
YWxSdWxlLAotICAgIElnbm9yZWQsCi0gICAgSW5saW5lLAotICAgIEltYWdlLAotICAgIEltYWdl
TWFwLAotICAgIEltYWdlTWFwTGluaywKLSAgICBJbmNyZW1lbnRvciwKLSAgICBMYWJlbCwKLSAg
ICBMYW5kbWFya0Jhbm5lciwKLSAgICBMYW5kbWFya0NvbXBsZW1lbnRhcnksCi0gICAgTGFuZG1h
cmtDb250ZW50SW5mbywKLSAgICBMYW5kbWFya0RvY1JlZ2lvbiwKLSAgICBMYW5kbWFya01haW4s
Ci0gICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAotICAgIExhbmRtYXJrUmVnaW9uLAotICAgIExhbmRt
YXJrU2VhcmNoLAotICAgIExlZ2VuZCwKLSAgICBMaW5rLAotICAgIExpc3QsCi0gICAgTGlzdEJv
eCwKLSAgICBMaXN0Qm94T3B0aW9uLAotICAgIExpc3RJdGVtLAotICAgIExpc3RNYXJrZXIsCi0g
ICAgTWFyaywKLSAgICBNYXRoRWxlbWVudCwKLSAgICBNYXR0ZSwKLSAgICBNZW51LAotICAgIE1l
bnVCYXIsCi0gICAgTWVudUJ1dHRvbiwKLSAgICBNZW51SXRlbSwKLSAgICBNZW51SXRlbUNoZWNr
Ym94LAotICAgIE1lbnVJdGVtUmFkaW8sCi0gICAgTWVudUxpc3RQb3B1cCwKLSAgICBNZW51TGlz
dE9wdGlvbiwKLSAgICBPdXRsaW5lLAotICAgIFBhcmFncmFwaCwKLSAgICBQb3BVcEJ1dHRvbiwK
LSAgICBQcmUsCi0gICAgUHJlc2VudGF0aW9uYWwsCi0gICAgUHJvZ3Jlc3NJbmRpY2F0b3IsCi0g
ICAgUmFkaW9CdXR0b24sCi0gICAgUmFkaW9Hcm91cCwKLSAgICBSb3dIZWFkZXIsCi0gICAgUm93
LAotICAgIFJvd0dyb3VwLAotICAgIFJ1YnlCYXNlLAotICAgIFJ1YnlCbG9jaywKLSAgICBSdWJ5
SW5saW5lLAotICAgIFJ1YnlSdW4sCi0gICAgUnVieVRleHQsCi0gICAgUnVsZXIsCi0gICAgUnVs
ZXJNYXJrZXIsCi0gICAgU2Nyb2xsQXJlYSwKLSAgICBTY3JvbGxCYXIsCi0gICAgU2VhcmNoRmll
bGQsCi0gICAgU2hlZXQsCi0gICAgU2xpZGVyLAotICAgIFNsaWRlclRodW1iLAotICAgIFNwaW5C
dXR0b24sCi0gICAgU3BpbkJ1dHRvblBhcnQsCi0gICAgU3BsaXRHcm91cCwKLSAgICBTcGxpdHRl
ciwKLSAgICBTdGF0aWNUZXh0LAotICAgIFN1bW1hcnksCi0gICAgU3dpdGNoLAotICAgIFN5c3Rl
bVdpZGUsCi0gICAgU1ZHUm9vdCwKLSAgICBTVkdUZXh0LAotICAgIFNWR1RTcGFuLAotICAgIFNW
R1RleHRQYXRoLAotICAgIFRhYkdyb3VwLAotICAgIFRhYkxpc3QsCi0gICAgVGFiUGFuZWwsCi0g
ICAgVGFiLAotICAgIFRhYmxlLAotICAgIFRhYmxlSGVhZGVyQ29udGFpbmVyLAotICAgIFRleHRB
cmVhLAotICAgIFRleHRHcm91cCwKLSAgICBUZXJtLAotICAgIFRpbWUsCi0gICAgVHJlZSwKLSAg
ICBUcmVlR3JpZCwKLSAgICBUcmVlSXRlbSwKLSAgICBUZXh0RmllbGQsCi0gICAgVG9nZ2xlQnV0
dG9uLAotICAgIFRvb2xiYXIsCi0gICAgVW5rbm93biwKLSAgICBVc2VySW50ZXJmYWNlVG9vbHRp
cCwKLSAgICBWYWx1ZUluZGljYXRvciwKLSAgICBWaWRlbywKLSAgICBXZWJBcHBsaWNhdGlvbiwK
LSAgICBXZWJBcmVhLAotICAgIFdlYkNvcmVMaW5rLAotICAgIFdpbmRvdywKLX07Ci0KIGVudW0g
Y2xhc3MgQWNjZXNzaWJpbGl0eVRleHRTb3VyY2UgewogICAgIEFsdGVybmF0aXZlLAogICAgIENo
aWxkcmVuLApAQCAtNDkxLDcgKzM0MSw3IEBACiAgICAgCiBib29sIG5vZGVIYXNQcmVzZW50YXRp
b25Sb2xlKE5vZGUqKTsKICAgICAKLWNsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3QgOiBwdWJsaWMg
UmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0PiB7CitjbGFzcyBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0IDogcHVibGljIFJlZkNvdW50ZWQ8QWNjZXNzaWJpbGl0eU9iamVjdD4sIHB1YmxpYyBBY2Nl
c3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKIHByb3RlY3RlZDoKICAgICBBY2Nlc3NpYmlsaXR5
T2JqZWN0KCkgPSBkZWZhdWx0OwogICAgIApAQCAtMTE1OSw3ICsxMDA5LDEwIEBACiAgICAgQWNj
ZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhIG1faXNJZ25vcmVkRnJvbVBhcmVudERh
dGEgeyB9OwogICAgIGJvb2wgbV9jaGlsZHJlbkRpcnR5IHsgZmFsc2UgfTsKICAgICBib29sIG1f
c3VidHJlZURpcnR5IHsgZmFsc2UgfTsKLQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xB
VEVEX1RSRUUpCisgICAgYm9vbCBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZCB7IGZhbHNl
IH07CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHNldElzSWdub3JlZEZyb21QYXJlbnREYXRhKEFj
Y2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSYgZGF0YSkgeyBtX2lzSWdub3JlZEZy
b21QYXJlbnREYXRhID0gZGF0YTsgfQogCiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVBY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
SW50ZXJmYWNlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCit0eXBlZGVmIHVuc2lnbmVkIEFYSUQ7CitleHRlcm4gY29uc3QgQVhJRCBJbnZhbGlkQVhJ
RDsKKworZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7CisgICAgQW5ub3RhdGlvbiA9IDEs
CisgICAgQXBwbGljYXRpb24sCisgICAgQXBwbGljYXRpb25BbGVydCwKKyAgICBBcHBsaWNhdGlv
bkFsZXJ0RGlhbG9nLAorICAgIEFwcGxpY2F0aW9uRGlhbG9nLAorICAgIEFwcGxpY2F0aW9uR3Jv
dXAsCisgICAgQXBwbGljYXRpb25Mb2csCisgICAgQXBwbGljYXRpb25NYXJxdWVlLAorICAgIEFw
cGxpY2F0aW9uU3RhdHVzLAorICAgIEFwcGxpY2F0aW9uVGV4dEdyb3VwLAorICAgIEFwcGxpY2F0
aW9uVGltZXIsCisgICAgQXVkaW8sCisgICAgQmxvY2txdW90ZSwKKyAgICBCcm93c2VyLAorICAg
IEJ1c3lJbmRpY2F0b3IsCisgICAgQnV0dG9uLAorICAgIENhbnZhcywKKyAgICBDYXB0aW9uLAor
ICAgIENlbGwsCisgICAgQ2hlY2tCb3gsCisgICAgQ29sb3JXZWxsLAorICAgIENvbHVtbiwKKyAg
ICBDb2x1bW5IZWFkZXIsCisgICAgQ29tYm9Cb3gsCisgICAgRGVmaW5pdGlvbiwKKyAgICBEZXNj
cmlwdGlvbkxpc3QsCisgICAgRGVzY3JpcHRpb25MaXN0VGVybSwKKyAgICBEZXNjcmlwdGlvbkxp
c3REZXRhaWwsCisgICAgRGV0YWlscywKKyAgICBEaXJlY3RvcnksCisgICAgRGlzY2xvc3VyZVRy
aWFuZ2xlLAorICAgIERpdiwKKyAgICBEb2N1bWVudCwKKyAgICBEb2N1bWVudEFydGljbGUsCisg
ICAgRG9jdW1lbnRNYXRoLAorICAgIERvY3VtZW50Tm90ZSwKKyAgICBEcmF3ZXIsCisgICAgRWRp
dGFibGVUZXh0LAorICAgIEZlZWQsCisgICAgRmlndXJlLAorICAgIEZvb3RlciwKKyAgICBGb290
bm90ZSwKKyAgICBGb3JtLAorICAgIEdyYXBoaWNzRG9jdW1lbnQsCisgICAgR3JhcGhpY3NPYmpl
Y3QsCisgICAgR3JhcGhpY3NTeW1ib2wsCisgICAgR3JpZCwKKyAgICBHcmlkQ2VsbCwKKyAgICBH
cm91cCwKKyAgICBHcm93QXJlYSwKKyAgICBIZWFkaW5nLAorICAgIEhlbHBUYWcsCisgICAgSG9y
aXpvbnRhbFJ1bGUsCisgICAgSWdub3JlZCwKKyAgICBJbmxpbmUsCisgICAgSW1hZ2UsCisgICAg
SW1hZ2VNYXAsCisgICAgSW1hZ2VNYXBMaW5rLAorICAgIEluY3JlbWVudG9yLAorICAgIExhYmVs
LAorICAgIExhbmRtYXJrQmFubmVyLAorICAgIExhbmRtYXJrQ29tcGxlbWVudGFyeSwKKyAgICBM
YW5kbWFya0NvbnRlbnRJbmZvLAorICAgIExhbmRtYXJrRG9jUmVnaW9uLAorICAgIExhbmRtYXJr
TWFpbiwKKyAgICBMYW5kbWFya05hdmlnYXRpb24sCisgICAgTGFuZG1hcmtSZWdpb24sCisgICAg
TGFuZG1hcmtTZWFyY2gsCisgICAgTGVnZW5kLAorICAgIExpbmssCisgICAgTGlzdCwKKyAgICBM
aXN0Qm94LAorICAgIExpc3RCb3hPcHRpb24sCisgICAgTGlzdEl0ZW0sCisgICAgTGlzdE1hcmtl
ciwKKyAgICBNYXJrLAorICAgIE1hdGhFbGVtZW50LAorICAgIE1hdHRlLAorICAgIE1lbnUsCisg
ICAgTWVudUJhciwKKyAgICBNZW51QnV0dG9uLAorICAgIE1lbnVJdGVtLAorICAgIE1lbnVJdGVt
Q2hlY2tib3gsCisgICAgTWVudUl0ZW1SYWRpbywKKyAgICBNZW51TGlzdFBvcHVwLAorICAgIE1l
bnVMaXN0T3B0aW9uLAorICAgIE91dGxpbmUsCisgICAgUGFyYWdyYXBoLAorICAgIFBvcFVwQnV0
dG9uLAorICAgIFByZSwKKyAgICBQcmVzZW50YXRpb25hbCwKKyAgICBQcm9ncmVzc0luZGljYXRv
ciwKKyAgICBSYWRpb0J1dHRvbiwKKyAgICBSYWRpb0dyb3VwLAorICAgIFJvd0hlYWRlciwKKyAg
ICBSb3csCisgICAgUm93R3JvdXAsCisgICAgUnVieUJhc2UsCisgICAgUnVieUJsb2NrLAorICAg
IFJ1YnlJbmxpbmUsCisgICAgUnVieVJ1biwKKyAgICBSdWJ5VGV4dCwKKyAgICBSdWxlciwKKyAg
ICBSdWxlck1hcmtlciwKKyAgICBTY3JvbGxBcmVhLAorICAgIFNjcm9sbEJhciwKKyAgICBTZWFy
Y2hGaWVsZCwKKyAgICBTaGVldCwKKyAgICBTbGlkZXIsCisgICAgU2xpZGVyVGh1bWIsCisgICAg
U3BpbkJ1dHRvbiwKKyAgICBTcGluQnV0dG9uUGFydCwKKyAgICBTcGxpdEdyb3VwLAorICAgIFNw
bGl0dGVyLAorICAgIFN0YXRpY1RleHQsCisgICAgU3VtbWFyeSwKKyAgICBTd2l0Y2gsCisgICAg
U3lzdGVtV2lkZSwKKyAgICBTVkdSb290LAorICAgIFNWR1RleHQsCisgICAgU1ZHVFNwYW4sCisg
ICAgU1ZHVGV4dFBhdGgsCisgICAgVGFiR3JvdXAsCisgICAgVGFiTGlzdCwKKyAgICBUYWJQYW5l
bCwKKyAgICBUYWIsCisgICAgVGFibGUsCisgICAgVGFibGVIZWFkZXJDb250YWluZXIsCisgICAg
VGV4dEFyZWEsCisgICAgVGV4dEdyb3VwLAorICAgIFRlcm0sCisgICAgVGltZSwKKyAgICBUcmVl
LAorICAgIFRyZWVHcmlkLAorICAgIFRyZWVJdGVtLAorICAgIFRleHRGaWVsZCwKKyAgICBUb2dn
bGVCdXR0b24sCisgICAgVG9vbGJhciwKKyAgICBVbmtub3duLAorICAgIFVzZXJJbnRlcmZhY2VU
b29sdGlwLAorICAgIFZhbHVlSW5kaWNhdG9yLAorICAgIFZpZGVvLAorICAgIFdlYkFwcGxpY2F0
aW9uLAorICAgIFdlYkFyZWEsCisgICAgV2ViQ29yZUxpbmssCisgICAgV2luZG93LAorfTsKKwor
Y2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSB7CitwdWJsaWM6CisgICAgdmlydHVh
bCB+QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSgpID0gZGVmYXVsdDsKKworICAgIHZpcnR1
YWwgYm9vbCBpc01lZGlhQ29udHJvbExhYmVsKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgQWNj
ZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBp
c0F0dGFjaG1lbnQoKSBjb25zdCA9IDA7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWUuaCIKKwor
I2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0
aWMgTG9jayBzX2NhY2hlTG9jazsKKworc3RhdGljIHVuc2lnbmVkIG5ld1RyZWVJRCgpCit7Cisg
ICAgc3RhdGljIHVuc2lnbmVkIHNfY3VycmVudFRyZWVJRCA9IDA7CisgICAgcmV0dXJuICsrc19j
dXJyZW50VHJlZUlEOworfQorCitIYXNoTWFwPEFYSXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElzb2xh
dGVkVHJlZT4+JiBBWElzb2xhdGVkVHJlZTo6dHJlZVBhZ2VDYWNoZSgpCit7CisgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8QVhJc29sYXRlZFRyZWVJRCwgUmVmPEFYSXNvbGF0ZWRU
cmVlPj4+IG1hcDsKKyAgICByZXR1cm4gbWFwOworfQorCitIYXNoTWFwPEFYSXNvbGF0ZWRUcmVl
SUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+JiBBWElzb2xhdGVkVHJlZTo6dHJlZUlEQ2FjaGUoKQor
eworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPEFYSXNvbGF0ZWRUcmVlSUQsIFJl
ZjxBWElzb2xhdGVkVHJlZT4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KKworQVhJc29sYXRl
ZFRyZWU6OkFYSXNvbGF0ZWRUcmVlKCkKKyAgICA6IG1fdHJlZUlEKG5ld1RyZWVJRCgpKQorewor
fQorCitBWElzb2xhdGVkVHJlZTo6fkFYSXNvbGF0ZWRUcmVlKCkgPSBkZWZhdWx0OworCitSZWY8
QVhJc29sYXRlZFRyZWU+IEFYSXNvbGF0ZWRUcmVlOjpjcmVhdGUoKQoreworICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQVhJc29sYXRlZFRyZWUo
KSk7Cit9CisKK1JlZlB0cjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJ
RChBWElzb2xhdGVkVHJlZUlEIHRyZWVJRCkKK3sKKyAgICByZXR1cm4gdHJlZUlEQ2FjaGUoKS5n
ZXQodHJlZUlEKTsKK30KKworUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWElzb2xhdGVkVHJlZTo6Y3Jl
YXRlVHJlZUZvclBhZ2VJRCh1aW50NjRfdCBwYWdlSUQpCit7CisgICAgTG9ja0hvbGRlciBsb2Nr
ZXIoc19jYWNoZUxvY2spOworCisgICAgYXV0byBuZXdUcmVlID0gQVhJc29sYXRlZFRyZWU6OmNy
ZWF0ZSgpOworICAgIHRyZWVQYWdlQ2FjaGUoKS5zZXQocGFnZUlELCBuZXdUcmVlLmNvcHlSZWYo
KSk7CisgICAgdHJlZUlEQ2FjaGUoKS5zZXQobmV3VHJlZS0+dHJlZUlkZW50aWZpZXIoKSwgbmV3
VHJlZS5jb3B5UmVmKCkpOworICAgIHJldHVybiBuZXdUcmVlOworfQorCitSZWZQdHI8QVhJc29s
YXRlZFRyZWU+IEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKHVpbnQ2NF90IHBhZ2VJRCkK
K3sKKyAgICBMb2NrSG9sZGVyIGxvY2tlcihzX2NhY2hlTG9jayk7CisKKyAgICBpZiAoYXV0byB0
cmVlID0gdHJlZVBhZ2VDYWNoZSgpLmdldChwYWdlSUQpKQorICAgICAgICByZXR1cm4gbWFrZVJl
ZlB0cih0cmVlKTsKKworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QVhJc29sYXRl
ZFRyZWVOb2RlPiBBWElzb2xhdGVkVHJlZTo6bm9kZUZvcklEKEFYSUQgYXhJRCkgY29uc3QKK3sK
KyAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKKyAgICBpZiAoIWF4SUQpCisgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgIHJldHVybiBtX3JlYWRlclRocmVhZE5vZGVNYXAuZ2V0KGF4SUQp
OworfQorCitSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiBBWElzb2xhdGVkVHJlZTo6cm9vdE5v
ZGUoKQoreworICAgIHJldHVybiBub2RlRm9ySUQobV9yb290Tm9kZUlEKTsKK30KKwordm9pZCBB
WElzb2xhdGVkVHJlZTo6cmVtb3ZlTm9kZShBWElEIGF4SUQpCit7CisgICAgTG9ja0hvbGRlciBs
b2NrZXIobV9jaGFuZ2VMb2dMb2NrKTsKKyAgICBtX3BlbmRpbmdSZW1vdmFscy5hcHBlbmQoYXhJ
RCk7Cit9CisKK3ZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGVuZE5vZGVDaGFuZ2VzKFZlY3RvcjxS
ZWY8QVhJc29sYXRlZFRyZWVOb2RlPj4mIGxvZykKK3sKKyAgICBMb2NrSG9sZGVyIGxvY2tlciht
X2NoYW5nZUxvZ0xvY2spOworICAgIGZvciAoYXV0byYgbm9kZSA6IGxvZykKKyAgICAgICAgbV9w
ZW5kaW5nQXBwZW5kcy5hcHBlbmQobm9kZS5jb3B5UmVmKCkpOworfQorCit2b2lkIEFYSXNvbGF0
ZWRUcmVlOjphcHBseVBlbmRpbmdDaGFuZ2VzKCkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCghaXNN
YWluVGhyZWFkKCkpOworCisgICAgTG9ja0hvbGRlciBsb2NrZXIobV9jaGFuZ2VMb2dMb2NrKTsK
KyAgICBWZWN0b3I8UmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4+IGFwcGVuZENvcHkgPSBXVEY6Om1h
cChtX3BlbmRpbmdBcHBlbmRzLCBbJl0gKGNvbnN0IGF1dG8mIG5vZGUpIHsKKyAgICAgICAgcmV0
dXJuIG5vZGUuY29weVJlZigpOworICAgIH0pOworICAgIFZlY3RvcjxBWElEPiByZW1vdmVDb3B5
KHsgV1RGTW92ZShtX3BlbmRpbmdSZW1vdmFscykgfSk7CisgICAgbG9ja2VyLnVubG9ja0Vhcmx5
KCk7CisKKyAgICBmb3IgKGF1dG8mIGl0ZW0gOiBhcHBlbmRDb3B5KSB7CisgICAgICAgIG1fcmVh
ZGVyVGhyZWFkTm9kZU1hcC5hZGQoaXRlbS0+aWRlbnRpZmllcigpLCBpdGVtLmNvcHlSZWYoKSk7
CisgICAgICAgIGlmIChpdGVtLT5pc1Jvb3ROb2RlKCkpCisgICAgICAgICAgICBtX3Jvb3ROb2Rl
SUQgPSBpdGVtLT5pZGVudGlmaWVyKCk7CisgICAgfQorCisgICAgZm9yIChhdXRvIGl0ZW0gOiBy
ZW1vdmVDb3B5KQorICAgICAgICBtX3JlYWRlclRocmVhZE5vZGVNYXAucmVtb3ZlKGl0ZW0pOwor
fQorICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaAkobm9uZXhp
c3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJBWElzb2xhdGVk
VHJlZU5vZGUuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBQYWdlOworCit0eXBlZGVmIHVuc2lnbmVkIEFYSXNvbGF0ZWRU
cmVlSUQ7CisgICAgCitjbGFzcyBBWElzb2xhdGVkVHJlZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVm
Q291bnRlZDxBWElzb2xhdGVkVHJlZT4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFYSXNv
bGF0ZWRUcmVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPEFYSXNvbGF0ZWRUcmVlPiBjcmVhdGUoKTsKKyAgICB2aXJ0dWFsIH5BWElzb2xhdGVk
VHJlZSgpOworCisgICAgLy8gQ3JlYXRpb24gbXVzdCBoYXBwZW4gb24gbWFpbiB0aHJlYWQuCisg
ICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZT4gY3JlYXRlVHJlZUZvclBhZ2VJRCh1aW50NjRf
dCBwYWdlSUQpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8QVhJc29sYXRlZFRy
ZWU+IHRyZWVGb3JQYWdlSUQodWludDY0X3QgcGFnZUlEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiB0cmVlRm9ySUQoQVhJc29sYXRlZFRyZWVJRCk7
CisKKyAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiByb290Tm9k
ZSgpOworICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IG5vZGVGb3JJRChBWElEKSBjb25z
dDsKKworICAgIC8vIENhbGwgb24gbWFpbiB0aHJlYWQKKyAgICB2b2lkIGFwcGVuZE5vZGVDaGFu
Z2VzKFZlY3RvcjxSZWY8QVhJc29sYXRlZFRyZWVOb2RlPj4mKTsKKyAgICB2b2lkIHJlbW92ZU5v
ZGUoQVhJRCk7CisKKyAgICAvLyBDYWxsIG9uIEFYIHRocmVhZAorICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgYXBwbHlQZW5kaW5nQ2hhbmdlcygpOworCisgICAgQVhJc29sYXRlZFRyZWVJRCB0cmVl
SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fdHJlZUlEOyB9CisKK3ByaXZhdGU6CisgICAg
QVhJc29sYXRlZFRyZWUoKTsKKworICAgIHN0YXRpYyBIYXNoTWFwPEFYSXNvbGF0ZWRUcmVlSUQs
IFJlZjxBWElzb2xhdGVkVHJlZT4+JiB0cmVlSURDYWNoZSgpOworICAgIHN0YXRpYyBIYXNoTWFw
PEFYSXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+JiB0cmVlUGFnZUNhY2hlKCk7
CisgICAgCisgICAgLy8gT25seSBhY2Nlc3Mgb24gQVggdGhyZWFkIHJlcXVlc3RpbmcgZGF0YS4K
KyAgICBIYXNoTWFwPEFYSUQsIFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+PiBtX3JlYWRlclRocmVh
ZE5vZGVNYXA7CisKKyAgICAvLyBXcml0dGVuIHRvIGJ5IG1haW4gdGhyZWFkIHVuZGVyIGxvY2ss
IGFjY2Vzc2VkIGFuZCBhcHBsaWVkIGJ5IEFYIHRocmVhZC4KKyAgICBWZWN0b3I8UmVmPEFYSXNv
bGF0ZWRUcmVlTm9kZT4+IG1fcGVuZGluZ0FwcGVuZHM7CisgICAgVmVjdG9yPEFYSUQ+IG1fcGVu
ZGluZ1JlbW92YWxzOworICAgIExvY2sgbV9jaGFuZ2VMb2dMb2NrOworCisgICAgQVhJc29sYXRl
ZFRyZWVJRCBtX3RyZWVJRDsKKyAgICBBWElEIG1fcm9vdE5vZGVJRDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9k
ZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDEyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2Rl
LmgiCisKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworQVhJc29sYXRlZFRyZWVOb2RlOjpBWElzb2xhdGVkVHJlZU5vZGUoY29uc3QgQWNj
ZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQorICAgIDogbV9pZGVudGlmaWVyKG9iamVjdC5heE9i
amVjdElEKCkpCisgICAgLCBtX2luaXRpYWxpemVkKGZhbHNlKQoreworICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7CisgICAgaW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEob2JqZWN0KTsKKyNpZiAh
QVNTRVJUX0RJU0FCTEVECisgICAgbV9pbml0aWFsaXplZCA9IHRydWU7CisjZW5kaWYKK30KKwor
UmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gQVhJc29sYXRlZFRyZWVOb2RlOjpjcmVhdGUoY29uc3Qg
QWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IEFYSXNvbGF0ZWRUcmVlTm9kZShvYmplY3QpKTsKK30KKworQVhJc29sYXRlZFRyZWVOb2RlOjp+
QVhJc29sYXRlZFRyZWVOb2RlKCkgPSBkZWZhdWx0OworCit2b2lkIEFYSXNvbGF0ZWRUcmVlTm9k
ZTo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2Jq
ZWN0KQoreworICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpSb2xlVmFsdWUsIHN0YXRp
Y19jYXN0PGludD4ob2JqZWN0LnJvbGVWYWx1ZSgpKSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWU6OklzQXR0YWNobWVudCwgb2JqZWN0LmlzQXR0YWNobWVudCgpKTsKKyAgICBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNNZWRpYUNvbnRyb2xMYWJlbCwgb2JqZWN0LmlzTWVk
aWFDb250cm9sTGFiZWwoKSk7Cit9CisKK3ZvaWQgQVhJc29sYXRlZFRyZWVOb2RlOjpzZXRQcm9w
ZXJ0eShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCYm
IHZhbHVlLCBib29sIHNob3VsZFJlbW92ZSkKK3sKKyAgICBBU1NFUlQoIW1faW5pdGlhbGl6ZWQp
OworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAgICBpZiAoc2hvdWxkUmVtb3ZlKQor
ICAgICAgICBtX2F0dHJpYnV0ZU1hcC5yZW1vdmUocHJvcGVydHlOYW1lKTsKKyAgICBlbHNlCisg
ICAgICAgIG1fYXR0cmlidXRlTWFwLnNldChwcm9wZXJ0eU5hbWUsIHZhbHVlKTsKK30KKwordm9p
ZCBBWElzb2xhdGVkVHJlZU5vZGU6OmFwcGVuZENoaWxkKEFYSUQgYXhJRCkKK3sKKyAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOworICAgIG1fY2hpbGRyZW4uYXBwZW5kKGF4SUQpOworfQorCitk
b3VibGUgQVhJc29sYXRlZFRyZWVOb2RlOjpkb3VibGVBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRl
TWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBb
Jl0gKGRvdWJsZSYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAg
ICB9LCBbJl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiAwLjA7CisgICAgfSk7Cit9CisKK3Vu
c2lnbmVkIEFYSXNvbGF0ZWRUcmVlTm9kZTo6dW5zaWduZWRBdHRyaWJ1dGVWYWx1ZShBWFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmli
dXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVl
LCBbJl0gKHVuc2lnbmVkJiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVl
OworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfSk7Cit9CisK
K2Jvb2wgQVhJc29sYXRlZFRyZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1h
cC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZd
IChib29sJiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0s
IFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0pOworfQorCitjb25z
dCBTdHJpbmcmIEFYSXNvbGF0ZWRUcmVlTm9kZTo6c3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJp
YnV0ZU1hcC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1
ZSwgWyZdIChTdHJpbmcmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7
CisgICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gbnVsbEF0b20oKTsKKyAgICB9
KTsKK30KKworaW50IEFYSXNvbGF0ZWRUcmVlTm9kZTo6aW50QXR0cmlidXRlVmFsdWUoQVhQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJp
YnV0ZU1hcC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1
ZSwgWyZdIChpbnQmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7Cisg
ICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKyAgICAK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgJKG5vbmV4
aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJ
c29sYXRlZFRyZWVOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjAgQEAKKy8qCisq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorCisjaW5jbHVkZSAiQWNj
ZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Cisj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5o
PgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKKyNpZiBQTEFURk9STShDT0NPQSkKK09CSkNfQ0xBU1Mg
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI7CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworCitjbGFzcyBBWElzb2xhdGVkVHJl
ZU5vZGUgZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSwgcHVibGlj
IFRocmVhZFNhZmVSZWZDb3VudGVkPEFYSXNvbGF0ZWRUcmVlTm9kZT4sIHB1YmxpYyBDYW5NYWtl
V2Vha1B0cjxBWElzb2xhdGVkVHJlZU5vZGU+IHsKKworcHVibGljOgorICAgIGVudW0gY2xhc3Mg
QVhQcm9wZXJ0eU5hbWUgOiB1aW50OF90IHsKKyAgICAgICAgTm9uZSA9IDAsCisgICAgICAgIFJv
bGVWYWx1ZSA9IDEsCisgICAgICAgIElzQXR0YWNobWVudCwKKyAgICAgICAgSXNNZWRpYUNvbnRy
b2xMYWJlbCwKKyAgICB9OworCisgICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+IGNy
ZWF0ZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisgICAgdmlydHVhbCB+QVhJc29sYXRl
ZFRyZWVOb2RlKCk7CisKKyAgICBBWElEIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lk
ZW50aWZpZXI7IH0KKworICAgIGJvb2wgaXNSb290Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNS
b290Tm9kZTsgfQorICAgIHZvaWQgc2V0SXNSb290Tm9kZShib29sIHZhbHVlKQorICAgIHsKKyAg
ICAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICAgICAgbV9pc1Jvb3ROb2RlID0gdmFs
dWU7CisgICAgfQorCisgICAgdm9pZCBzZXRQYXJlbnQoQVhJRCBwYXJlbnQpCisgICAgeworICAg
ICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgICAgICBtX3BhcmVudCA9IHBhcmVudDsK
KyAgICB9CisgICAgQVhJRCBwYXJlbnQoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudDsgfQorCisg
ICAgdm9pZCBhcHBlbmRDaGlsZChBWElEKTsKKyAgICBjb25zdCBWZWN0b3I8QVhJRD4mIGNoaWxk
cmVuKCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZHJlbjsgfTsKKworI2lmIFBMQVRGT1JNKENPQ09B
KQorICAgIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKCkgY29uc3QgeyBy
ZXR1cm4gbV93cmFwcGVyLmdldCgpOyB9CisgICAgdm9pZCBzZXRXcmFwcGVyKFdlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKSB7IG1fd3JhcHBlciA9IHdyYXBwZXI7IH0KKyNl
bmRpZgorCitwcm90ZWN0ZWQ6CisgICAgQVhJc29sYXRlZFRyZWVOb2RlKCkgPSBkZWZhdWx0Owor
Citwcml2YXRlOgorICAgIEFYSXNvbGF0ZWRUcmVlTm9kZShjb25zdCBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0Jik7CisgICAgdm9pZCBpbml0aWFsaXplQXR0cmlidXRlRGF0YShjb25zdCBBY2Nlc3NpYmls
aXR5T2JqZWN0Jik7CisKKyAgICBib29sIGlzTWVkaWFDb250cm9sTGFiZWwoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OklzTWVkaWFD
b250cm9sTGFiZWwpOyB9CisgICAgYm9vbCBpc0F0dGFjaG1lbnQoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCk7
IH0KKyAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5Um9sZT4oaW50QXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWU6OlJvbGVWYWx1ZSkpOyB9CisKKyAgICB1c2luZyBBdHRyaWJ1dGVWYWx1ZVZh
cmlhbnQgPSBWYXJpYW50PHN0ZDo6bnVsbHB0cl90LCBTdHJpbmcsIGJvb2wsIGludCwgdW5zaWdu
ZWQsIGRvdWJsZT47CisgICAgdm9pZCBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZSwgQXR0cmli
dXRlVmFsdWVWYXJpYW50JiYsIGJvb2wgc2hvdWxkUmVtb3ZlID0gZmFsc2UpOworCisgICAgYm9v
bCBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGNvbnN0IFN0
cmluZyYgc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGlu
dCBpbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgdW5zaWduZWQg
dW5zaWduZWRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgZG91Ymxl
IGRvdWJsZUF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKworICAgIEFYSUQg
bV9wYXJlbnQ7CisgICAgQVhJRCBtX2lkZW50aWZpZXI7CisgICAgYm9vbCBtX2lzUm9vdE5vZGU7
CisgICAgYm9vbCBtX2luaXRpYWxpemVkOworICAgIFZlY3RvcjxBWElEPiBtX2NoaWxkcmVuOwor
CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgUmV0YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyPiBtX3dyYXBwZXI7CisjZW5kaWYKKworICAgIEhhc2hNYXA8QVhQcm9wZXJ0eU5h
bWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCwgV1RGOjpJbnRIYXNoPEFYUHJvcGVydHlOYW1lPiwg
V1RGOjpTdHJvbmdFbnVtSGFzaFRyYWl0czxBWFByb3BlcnR5TmFtZT4+IG1fYXR0cmlidXRlTWFw
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKChBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCShyZXZpc2lvbiAyNDA0NzAp
CisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJ
VFkpICYmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCiAj
aW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5VGFi
bGUuaCIKICNpbXBvcnQgIlJlbmRlck9iamVjdC5oIgpAQCAtMjM3LDYgKzIzOCwxNCBAQAogICAg
IG9iai0+c2V0V3JhcHBlcihudWxscHRyKTsKIH0KIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlzb2xhdGVkVHJl
ZU5vZGUoQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0LCBBWElzb2xhdGVkVHJlZU5vZGUmIG5v
ZGUsIEFYSXNvbGF0ZWRUcmVlSUQgdHJlZUlEKQoreworICAgIG9iamVjdC53cmFwcGVyKCkuaXNv
bGF0ZWRUcmVlSWRlbnRpZmllciA9IHRyZWVJRDsKKyAgICBub2RlLnNldFdyYXBwZXIob2JqZWN0
LndyYXBwZXIoKSk7Cit9CisjZW5kaWYKKwogdm9pZCBBWE9iamVjdENhY2hlOjphdHRhY2hXcmFw
cGVyKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaikKIHsKICAgICBSZXRhaW5QdHI8V2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXI+IHdyYXBwZXIgPSBhZG9wdE5TKFtbV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXIgYWxsb2NdIGluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDpvYmpdKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oCShyZXZpc2lvbiAy
NDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjksMTEgKzI5LDE4IEBA
CiAjaWZuZGVmIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZV9oCiAjZGVmaW5lIFdl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZV9oCiAKKyNpbmNsdWRlICJBWElzb2xhdGVk
VHJlZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlIDxDb3Jl
R3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdDsKKyNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKQorY2xhc3MgQVhJc29sYXRlZFRyZWVOb2RlOworI2VuZGlm
CiBzdHJ1Y3QgQWNjZXNzaWJpbGl0eVNlYXJjaENyaXRlcmlhOwogY2xhc3MgSW50UmVjdDsKIGNs
YXNzIEZsb2F0UG9pbnQ7CkBAIC00NCwxMyArNTEsMjYgQEAKIAogQGludGVyZmFjZSBXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgOiBOU09iamVjdCB7CiAgICAgV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU9iamVjdCogbV9vYmplY3Q7CisgICAgV2ViQ29yZTo6QVhJRCBfaWRlbnRpZmll
cjsKIH0KICAKIC0gKGlkKWluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDooV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU9iamVjdCopYXhPYmplY3Q7CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9J
U09MQVRFRF9UUkVFKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBSZWZQdHI8V2Vi
Q29yZTo6QVhJc29sYXRlZFRyZWVOb2RlPiBpc29sYXRlZFRyZWVOb2RlOworQHByb3BlcnR5IChu
b25hdG9taWMsIGFzc2lnbikgV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVJRCBpc29sYXRlZFRyZWVJ
ZGVudGlmaWVyOworI2VuZGlmCisKIC0gKHZvaWQpZGV0YWNoOworCitAcHJvcGVydHkgKG5vbmF0
b21pYywgYXNzaWduKSBXZWJDb3JlOjpBWElEIGlkZW50aWZpZXI7CisKIC0gKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3QqKWFjY2Vzc2liaWxpdHlPYmplY3Q7CiAtIChCT09MKXVwZGF0ZU9i
amVjdEJhY2tpbmdTdG9yZTsKIAorLy8gVGhpcyBjYW4gYmUgZWl0aGVyIGFuIEFjY2Vzc2liaWxp
dHlPYmplY3Qgb3IgYW4gQVhJc29sYXRlZFRyZWVOb2RlCistIChXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0SW50ZXJmYWNlKilheEJhY2tpbmdPYmplY3Q7CisKIC8vIFRoZXNlIGFyZSBwcmUt
Zml4ZWQgd2l0aCBiYXNlIHNvIHRoYXQgQXBwS2l0IGRvZXMgbm90IGVuZCB1cCBjYWxsaW5nIGlu
dG8gdGhlc2UgZGlyZWN0bHkgKGJ5cGFzc2luZyBzYWZldHkgY2hlY2tzKS4KIC0gKE5TU3RyaW5n
ICopYmFzZUFjY2Vzc2liaWxpdHlUaXRsZTsKIC0gKE5TU3RyaW5nICopYmFzZUFjY2Vzc2liaWxp
dHlEZXNjcmlwdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJh
c2UubW0JKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
bWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkod29ya2luZyBjb3B5KQpA
QCAtMzEsMTAgKzMxLDEzIEBACiAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAKKyNpbXBvcnQg
IkFYSXNvbGF0ZWRUcmVlLmgiCisjaW1wb3J0ICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKICNpbXBv
cnQgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5o
IgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxpc3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlM
aXN0Qm94LmgiCisjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCiAjaW1w
b3J0ICJBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5
U2Nyb2xsVmlldy5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCIKQEAgLTI3
MCw2ICsyNzMsMTEgQEAKIAogQGltcGxlbWVudGF0aW9uIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQmFzZQogCitAc3ludGhlc2l6ZSBpZGVudGlmaWVyPV9pZGVudGlmaWVyOworI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitAc3ludGhlc2l6ZSBpc29sYXRlZFRy
ZWVJZGVudGlmaWVyPV9pc29sYXRlZFRyZWVJZGVudGlmaWVyOworI2VuZGlmCisKIC0gKGlkKWlu
aXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDooQWNjZXNzaWJpbGl0eU9iamVjdCopYXhPYmplY3QK
IHsKICAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKQEAgLTI3NiwxNiArMjg0LDM2IEBA
CiAgICAgICAgIHJldHVybiBuaWw7CiAKICAgICBtX29iamVjdCA9IGF4T2JqZWN0OworICAgIF9p
ZGVudGlmaWVyID0gbV9vYmplY3QtPmF4T2JqZWN0SUQoKTsKKwogICAgIHJldHVybiBzZWxmOwog
fQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKy0gKFJlZlB0cjxX
ZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU+KWlzb2xhdGVkVHJlZU5vZGUKK3sKKyAgICBSRUxF
QVNFX0FTU0VSVCghaXNNYWluVGhyZWFkKCkpOworICAgIHJldHVybiBBWElzb2xhdGVkVHJlZTo6
dHJlZUZvcklEKF9pc29sYXRlZFRyZWVJZGVudGlmaWVyKS0+bm9kZUZvcklEKF9pZGVudGlmaWVy
KTsKK30KKyNlbmRpZgorCiAtICh2b2lkKWRldGFjaAogewogICAgIG1fb2JqZWN0ID0gbnVsbHB0
cjsKKyAgICBfaWRlbnRpZmllciA9IDA7CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFKQorICAgIF9pc29sYXRlZFRyZWVJZGVudGlmaWVyID0gMDsKKyNlbmRpZgogfQog
CiAtIChCT09MKXVwZGF0ZU9iamVjdEJhY2tpbmdTdG9yZQogeworI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgUkVMRUFTRV9BU1NFUlQoIWlzTWFpblRocmVhZCgp
KTsKKyAgICBBWElzb2xhdGVkVHJlZTo6dHJlZUZvcklEKHNlbGYuaXNvbGF0ZWRUcmVlSWRlbnRp
ZmllciktPmFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKyAgICByZXR1cm4gX2lkZW50aWZpZXI7Cisj
ZWxzZQogICAgIC8vIENhbGxpbmcgdXBkYXRlQmFja2luZ1N0b3JlKCkgY2FuIGludmFsaWRhdGUg
dGhpcyBlbGVtZW50IHNvIHNlbGYgbXVzdCBiZSByZXRhaW5lZC4KICAgICAvLyBJZiBpdCBkb2Vz
IGJlY29tZSBpbnZhbGlkYXRlZCwgbV9vYmplY3Qgd2lsbCBiZSBuaWwuCiAgICAgQ0ZSZXRhaW4o
KF9fYnJpZGdlIENGVHlwZVJlZilzZWxmKTsKQEAgLTI5OSw2ICszMjcsNyBAQAogICAgICAgICBy
ZXR1cm4gTk87CiAgICAgCiAgICAgcmV0dXJuIFlFUzsKKyNlbmRpZgogfQogCiAtIChpZClhdHRh
Y2htZW50VmlldwpAQCAtMzYwLDExICszODksMjEgQEAKICAgICByZXR1cm4gW05TU3RyaW5nIHN0
cmluZ107CiB9CiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVjdCBzZWxmLmF4QmFja2luZ09iamVj
dAorLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSopYXhCYWNraW5nT2Jq
ZWN0Cit7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICByZXR1
cm4gc2VsZi5pc29sYXRlZFRyZWVOb2RlLmdldCgpOworI2Vsc2UKKyAgICByZXR1cm4gbV9vYmpl
Y3Q7CisjZW5kaWYKK30KKwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0
aW9uCiB7CiAgICAgLy8gU3RhdGljIHRleHQgb2JqZWN0cyBzaG91bGQgbm90IGhhdmUgYSBkZXNj
cmlwdGlvbi4gSXRzIGNvbnRlbnQgaXMgY29tbXVuaWNhdGVkIGluIGl0cyBBWFZhbHVlLgogICAg
IC8vIE9uZSBleGNlcHRpb24gaXMgdGhlIG1lZGlhIGNvbnRyb2wgbGFiZWxzIHRoYXQgaGF2ZSBh
IHZhbHVlIGFuZCBhIGRlc2NyaXB0aW9uLiBUaG9zZSBhcmUgc2V0IHByb2dyYW1hdGljYWxseS4K
LSAgICBpZiAobV9vYmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0
aWNUZXh0ICYmICFtX29iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQorICAgIGlmIChfYXhC
YWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4
dCAmJiAhX2F4QmFja2luZ09iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQogICAgICAgICBy
ZXR1cm4gW05TU3RyaW5nIHN0cmluZ107CiAgICAgCiAgICAgVmVjdG9yPEFjY2Vzc2liaWxpdHlU
ZXh0PiB0ZXh0T3JkZXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9X
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1h
Yy5tbQkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9t
YWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAg
LTQxNiw2ICs0MTYsOCBAQAogI2RlZmluZSBOU0FjY2Vzc2liaWxpdHlSZWxhdGl2ZUZyYW1lQXR0
cmlidXRlIEAiQVhSZWxhdGl2ZUZyYW1lIgogI2VuZGlmCiAKKyNkZWZpbmUgX2F4QmFja2luZ09i
amVjdCBzZWxmLmF4QmFja2luZ09iamVjdAorCiBleHRlcm4gIkMiIEFYVUlFbGVtZW50UmVmIE5T
QWNjZXNzaWJpbGl0eUNyZWF0ZUFYVUlFbGVtZW50UmVmKGlkIGVsZW1lbnQpOwogCiBAaW1wbGVt
ZW50YXRpb24gV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIKQEAgLTE5NzAsMTAgKzE5NzIs
MTAgQEAKIC0gKE5TU3RyaW5nKilyb2xlCiB7CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJB
VElPTlNfQkVHSU4KLSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKQorICAgIGlmIChf
YXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKICAgICAgICAgcmV0dXJuIFtbc2VsZiBh
dHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0
eVJvbGVBdHRyaWJ1dGVdOwogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAot
ICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUgPSBtX29iamVjdC0+cm9sZVZhbHVlKCk7CisgICAg
QWNjZXNzaWJpbGl0eVJvbGUgcm9sZSA9IF9heEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpOwog
CiAgICAgaWYgKHJvbGUgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OkxhYmVsICYmIGlzPEFjY2Vzc2li
aWxpdHlMYWJlbD4oKm1fb2JqZWN0KSAmJiBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5TGFiZWw+KCpt
X29iamVjdCkuY29udGFpbnNPbmx5U3RhdGljVGV4dCgpKQogICAgICAgICByb2xlID0gQWNjZXNz
aWJpbGl0eVJvbGU6OlN0YXRpY1RleHQ7CkBAIC0yMDAwLDcgKzIwMDIsNyBAQAogICAgIGlmICht
X29iamVjdC0+aXNTZWFyY2hGaWVsZCgpKQogICAgICAgICByZXR1cm4gTlNBY2Nlc3NpYmlsaXR5
U2VhcmNoRmllbGRTdWJyb2xlOwogICAgIAotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50
KCkpIHsKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAg
ICAgTlNWaWV3KiBhdHRhY2hWaWV3ID0gW3NlbGYgYXR0YWNobWVudFZpZXddOwogICAgICAgICBp
ZiAoW1thdHRhY2hWaWV3IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmpl
Y3Q6TlNBY2Nlc3NpYmlsaXR5U3Vicm9sZUF0dHJpYnV0ZV0pCiAgICAgICAgICAgICByZXR1cm4g
W2F0dGFjaFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVN1
YnJvbGVBdHRyaWJ1dGVdOwpAQCAtMjIxMSw3ICsyMjEzLDcgQEAKIAogICAgIEFMTE9XX0RFUFJF
Q0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgLy8gYXR0YWNobWVudHMgaGF2ZSB0aGUgQVhJ
bWFnZSByb2xlLCBidXQgYSBkaWZmZXJlbnQgc3Vicm9sZQotICAgIGlmIChtX29iamVjdC0+aXNB
dHRhY2htZW50KCkpCisgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKQog
ICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmli
dXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5Um9sZURlc2NyaXB0aW9uQXR0cmlidXRlXTsKICAgICBB
TExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIApAQCAtMjU2OCw3ICsyNTcwLDcgQEAK
ICAgICAgICAgcmV0dXJuIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDogbV9vYmplY3QtPmlzVmlz
aXRlZCgpXTsKICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBO
U0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5p
c0F0dGFjaG1lbnQoKSkgeworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2ht
ZW50KCkpIHsKICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3Np
YmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVRpdGxl
QXR0cmlidXRlXSkKICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3
XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1
dGVdOwogICAgICAgICB9CkBAIC0yNTg1LDcgKzI1ODcsNyBAQAogICAgIH0KICAgICAKICAgICBp
ZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlEZXNjcmlw
dGlvbkF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkg
eworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAg
ICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
TmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0cmlidXRl
XSkKICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3Np
YmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVd
OwogICAgICAgICB9CkBAIC0yNTkzLDcgKzI1OTUsNyBAQAogICAgIH0KICAgICAKICAgICBpZiAo
W2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJp
YnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAg
ICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlm
IChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNv
bnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
VmFsdWU6TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdOwogICAgICAgICB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyMTcsNiArODIxNywxMSBAQAog
CiAgICAgcmV0dXJuICptX2xvZ2dlcjsKIH0KKyAgICAKK09wdGlvbmFsPHVpbnQ2NF90PiBEb2N1
bWVudDo6cGFnZUlEKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZS0+bG9hZGVyKCkuY2xp
ZW50KCkucGFnZUlEKCk7Cit9CiAKIHZvaWQgRG9jdW1lbnQ6Omhhc1N0b3JhZ2VBY2Nlc3MoUmVm
PERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJ
KHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NDgsNiArNjQ4LDcgQEAKICAgICBXRUJDT1JFX0VYUE9SVCBBWE9iamVj
dENhY2hlKiBheE9iamVjdENhY2hlKCkgY29uc3Q7CiAgICAgdm9pZCBjbGVhckFYT2JqZWN0Q2Fj
aGUoKTsKIAorICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBwYWdlSUQoKSBjb25zdDsKICAgICAvLyB0
byBnZXQgdmlzdWFsbHkgb3JkZXJlZCBoZWJyZXcgYW5kIGFyYWJpYyBwYWdlcyByaWdodAogICAg
IHZvaWQgc2V0VmlzdWFsbHlPcmRlcmVkKCk7CiAgICAgYm9vbCB2aXN1YWxseU9yZGVyZWQoKSBj
b25zdCB7IHJldHVybiBtX3Zpc3VhbGx5T3JkZXJlZDsgfQpJbmRleDogU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9u
IDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTktMDEtMjUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxl
LmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJl
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJp
bGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tOgorICAgICAgICAoLVtXS0FjY2Vzc2liaWxpdHlXZWJQ
YWdlT2JqZWN0QmFzZSBhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXJdKToKKwogMjAxOS0w
MS0yNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBpT1M6IFNw
bGl0IGtleWJvYXJkIHNob3VsZCBub3Qgc2hyaW5rIHZpc3VhbFZpZXdwb3J0LmhlaWdodApJbmRl
eDogU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4
IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19Q
TEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExF
X1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BB
WTsKQEAgLTQwNyw0ICs0MDksNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhU
KSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJ
VElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZ
UEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01P
REVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFD
VElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVO
QUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09C
U0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09E
RV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xB
WU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xF
R0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRB
TE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNF
X1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9M
UykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hB
TkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRT
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikg
JChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5B
QkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJ
TElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BB
WV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQ
TElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVO
VFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklN
RU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FU
VFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVH
QUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xf
TUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RP
T0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElD
UykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNf
RUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJN
RVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxp
dHlXZWJQYWdlT2JqZWN0QmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5oCShyZXZp
c2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tB
Y2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyAr
MzIsOSBAQAogCiBAaW50ZXJmYWNlIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlIDog
TlNPYmplY3QgewogICAgIFdlYktpdDo6V2ViUGFnZSogbV9wYWdlOworICAgIHVpbnQ2NF90IG1f
cGFnZUlEOwogICAgIGlkIG1fcGFyZW50OworICAgIGJvb2wgbV9oYXNQbHVnaW47CiB9CiAKIC0g
KHZvaWQpc2V0V2ViUGFnZTooV2ViS2l0OjpXZWJQYWdlKilwYWdlOwpJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RC
YXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQkocmV2aXNpb24gMjQwNDcwKQor
KysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdl
YlBhZ2VPYmplY3RCYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW1w
b3J0ICJXS1NoYXJlZEFQSUNhc3QuaCIKICNpbXBvcnQgIldLU3RyaW5nLmgiCiAjaW1wb3J0ICJX
S1N0cmluZ0NGLmgiCisjaW1wb3J0IDxXZWJDb3JlL0FYSXNvbGF0ZWRUcmVlLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRG9jdW1lbnQuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvRnJhbWUuaD4KQEAgLTQ3LDMzICs0OCw3MyBAQAogCiBAaW1wbGVt
ZW50YXRpb24gV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UKIAotLSAoaWQpYWNjZXNz
aWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyCistIChXZWJDb3JlOjpBWE9iamVjdENhY2hlKilheE9i
amVjdENhY2hlCiB7Ci0gICAgaWYgKCFXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphY2Nlc3NpYmls
aXR5RW5hYmxlZCgpKQotICAgICAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjplbmFibGVBY2Nl
c3NpYmlsaXR5KCk7Ci0KLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIG5pbDsKLSAg
ICAKLSAgICBOU09iamVjdCogbWFpbkZyYW1lUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXIgPSBtX3BhZ2UtPmFjY2Vzc2liaWxpdHlPYmplY3RGb3JNYWluRnJhbWVQbHVnaW4oKTsKLSAg
ICBpZiAobWFpbkZyYW1lUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIpCi0gICAgICAg
IHJldHVybiBtYWluRnJhbWVQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKLQogICAg
IFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBtX3BhZ2UtPmNvcmVQYWdlKCk7CiAgICAgaWYgKCFwYWdl
KQogICAgICAgICByZXR1cm4gbmlsOwotICAgIAogICAgIFdlYkNvcmU6OkZyYW1lJiBjb3JlID0g
cGFnZS0+bWFpbkZyYW1lKCk7CiAgICAgaWYgKCFjb3JlLmRvY3VtZW50KCkpCiAgICAgICAgIHJl
dHVybiBuaWw7CisKKyAgICByZXR1cm4gY29yZS5kb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCk7
Cit9CisKKy0gKGlkKWFjY2Vzc2liaWxpdHlQbHVnaW5PYmplY3QKK3sKKyAgICBhdXRvIHJldHJp
ZXZlQmxvY2sgPSBbJnNlbGZdKCkgLT4gaWQgeworICAgICAgICBpZCBheFBsdWdpbiA9IG5pbDsK
KyAgICAgICAgYXV0byBkaXNwYXRjaEJsb2NrID0gWyZheFBsdWdpbiwgJnNlbGZdIHsKKyAgICAg
ICAgICAgIGlmIChzZWxmLT5tX3BhZ2UpCisgICAgICAgICAgICAgICAgYXhQbHVnaW4gPSBzZWxm
LT5tX3BhZ2UtPmFjY2Vzc2liaWxpdHlPYmplY3RGb3JNYWluRnJhbWVQbHVnaW4oKTsKKyAgICAg
ICAgfTsKKworICAgICAgICBpZiAoaXNNYWluVGhyZWFkKCkpCisgICAgICAgICAgICBkaXNwYXRj
aEJsb2NrKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWRBbmRX
YWl0KFsmZGlzcGF0Y2hCbG9ja10geyBkaXNwYXRjaEJsb2NrKCk7IH0pOworICAgICAgICByZXR1
cm4gYXhQbHVnaW47CisgICAgfTsKICAgICAKLSAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlKiBj
YWNoZSA9IGNvcmUuZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpOwotICAgIGlmICghY2FjaGUp
Ci0gICAgICAgIHJldHVybiBuaWw7Ci0gICAgCi0gICAgaWYgKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3QqIHJvb3QgPSBjYWNoZS0+cm9vdE9iamVjdCgpKQotICAgICAgICByZXR1cm4gcm9v
dC0+d3JhcHBlcigpOwotICAgIAorICAgIHJldHVybiByZXRyaWV2ZUJsb2NrKCk7Cit9CisKKy0g
KGlkKWFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcgoreworICAgIGlmICghV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKKyAgICAgICAgV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJpbGl0eSgpOworCisgICAgaWYgKG1faGFzUGx1
Z2luKQorICAgICAgICByZXR1cm4gc2VsZi5hY2Nlc3NpYmlsaXR5UGx1Z2luT2JqZWN0OworCisj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICBhdXRvIGdlbmVyYXRl
QmxvY2sgPSBbJl0geworICAgICAgICBhdXRvIGRpc3BhdGNoQmxvY2sgPSBbJnNlbGZdIHsKKyAg
ICAgICAgICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9IFtzZWxmIGF4T2JqZWN0Q2FjaGVd
KQorICAgICAgICAgICAgICAgIGNhY2hlLT5nZW5lcmF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRy
ZWUoKTsKKyAgICAgICAgfTsKKworICAgICAgICBpZiAoaXNNYWluVGhyZWFkKCkpCisgICAgICAg
ICAgICBkaXNwYXRjaEJsb2NrKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNhbGxPbk1h
aW5UaHJlYWRBbmRXYWl0KFsmZGlzcGF0Y2hCbG9ja10geyBkaXNwYXRjaEJsb2NrKCk7IH0pOwor
ICAgIH07CisKKyAgICBhdXRvIHRyZWUgPSBBWElzb2xhdGVkVHJlZTo6dHJlZUZvclBhZ2VJRCht
X3BhZ2VJRCk7CisgICAgaWYgKCF0cmVlKQorICAgICAgICBnZW5lcmF0ZUJsb2NrKCk7CisKKyAg
ICBpZiAoKHRyZWUgPSBBWElzb2xhdGVkVHJlZTo6dHJlZUZvclBhZ2VJRChtX3BhZ2VJRCkpKSB7
CisgICAgICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOworICAgICAgICB0cmVlLT5hcHBseVBl
bmRpbmdDaGFuZ2VzKCk7CisgICAgICAgIHJldHVybiB0cmVlLT5yb290Tm9kZSgpLT53cmFwcGVy
KCk7CisgICAgfQorI2Vsc2UKKyAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBbc2VsZiBh
eE9iamVjdENhY2hlXSkgeworICAgICAgICBpZiAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dCogcm9vdCA9IGNhY2hlLT5yb290T2JqZWN0KCkpCisgICAgICAgICAgICByZXR1cm4gcm9vdC0+
d3JhcHBlcigpOworICAgIH0KKyNlbmRpZgogICAgIHJldHVybiBuaWw7CiB9CiAKQEAgLTgwLDYg
KzEyMSwxNCBAQAogLSAodm9pZClzZXRXZWJQYWdlOihXZWJQYWdlKilwYWdlCiB7CiAgICAgbV9w
YWdlID0gcGFnZTsKKyAgICAKKyAgICBpZiAocGFnZSkgeworICAgICAgICBtX3BhZ2VJRCA9IHBh
Z2UtPnBhZ2VJRCgpOworICAgICAgICBtX2hhc1BsdWdpbiA9IHBhZ2UtPmFjY2Vzc2liaWxpdHlP
YmplY3RGb3JNYWluRnJhbWVQbHVnaW4oKTsKKyAgICB9IGVsc2UgeworICAgICAgICBtX3BhZ2VJ
RCA9IDA7CisgICAgICAgIG1faGFzUGx1Z2luID0gZmFsc2U7CisgICAgfQogfQogCiAtICh2b2lk
KXNldFJlbW90ZVBhcmVudDooaWQpcGFyZW50CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0yNSAgQ2hyaXMgRmxl
aXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBz
dGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1
PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTI0ICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBBZCBDbGljayBBdHRy
aWJ1dGlvbiBhcyBhbiBpbnRlcm5hbC9leHBlcmltZW50YWwgZmVhdHVyZQpJbmRleDogU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5n
IGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQoV0tfQ09D
T0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfY29jb2F0
b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VOQUJMRV9B
Q0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVO
QUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lw
aG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxh
dG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNyw0ICs0MDksNCBAQAogCiBFTkFCTEVfWFNM
VCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQ
UExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
TkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdf
V09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElF
TlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkg
JChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJ
TUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChF
TkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkg
JChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9B
VFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09M
X01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19U
T09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9T
VFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVO
QUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VT
X0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFC
TEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VC
TUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7
CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9Q
QVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VT
U0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5B
QkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BF
Uk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxF
X0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChF
TkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9U
RV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JF
U09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJW
SUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVM
RVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJ
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVO
QUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlf
U1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVf
V0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5j
bWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UJKHJl
dmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQkod29y
a2luZyBjb3B5KQpAQCAtMTkzLDYgKzE5Myw3IEBACiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX1NNT09USF9TQ1JPTExJTkcgIlRvZ2dsZSBzbW9vdGggc2Nyb2xsaW5nIiBQUklWQVRF
IE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTICJU
b2dnbGUgU3BlZWNoIFN5bnRoZXNpcyBBUEkgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NQRUxMQ0hFQ0sgIlRvZ2dsZSBTcGVsbGNoZWNraW5n
IHN1cHBvcnQgKHJlcXVpcmVzIEVuY2hhbnQpIiBQUklWQVRFIE9GRikKKyAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfQUNDRVNTSUJJTElUWV9TVEFUSUNfVFJFRSAiVG9nZ2xlIHN0YXRp
YyBhY2Nlc3NpYmlsaXR5IHRyZWUgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09Q
VElPTl9ERUZJTkUoRU5BQkxFX1NUUkVBTVNfQVBJICJUb2dnbGUgU3RyZWFtcyBBUEkgc3VwcG9y
dCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1ZHX0ZPTlRT
ICJUb2dnbGUgU1ZHIEZvbnRzIHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OICJUb2dnbGUgdGVsZXBo
b25lIG51bWJlciBkZXRlY3Rpb24gc3VwcG9ydCIgUFJJVkFURSBPRkYpCkluZGV4OiBUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDA0NzAp
CisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAx
OS0wMS0yNSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAg
IEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWc6CisKIDIwMTktMDEtMjQgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5j
b20+CiAKICAgICAgICAgVXBkYXRlIG1hY09TIEpTQyBib3QgY29uZmlndXJhdGlvbnMKSW5kZXg6
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwNDcwKQorKysgVG9vbHMvVGVzdFdlYktp
dEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5
KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RP
VUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2gg
PSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFCTEVf
QVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVv
cyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9
IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDcsNCArNDA5LDQgQEAKIAogRU5BQkxFX1hTTFQgPSBF
TkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNB
VElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQp
ICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykg
JChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJB
R19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklC
VVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5B
R0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9F
VkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVN
RU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dF
QkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFM
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQo
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9D
U1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNT
SU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRM
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxF
X0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRF
WFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NB
UFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJD
RV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJC
RVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9X
T1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVf
V0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVB
TUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQ
VSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfWFNMVCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360263</attachid>
            <date>2019-01-26 20:16:08 -0800</date>
            <delta_ts>2019-01-26 23:33:38 -0800</delta_ts>
            <desc>landing patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>106625</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTI1ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBO
aXdhLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisKIDIwMTktMDEtMjQgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIHVzYWdlIG9mIGludGVybmFsIG1hY3JvIGZyb20gcHJpdmF0ZSBoZWFk
ZXIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
Zwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
R18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwog
CitFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVf
UEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQ
UExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lw
aG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDcsNCArNDA5LDQgQEAKIAog
RU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NP
TklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlC
T0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RP
TV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VS
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFC
TEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
VklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElD
UykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9S
VEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdf
QVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQo
RU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19M
T09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJ
TkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09N
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NT
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9G
QVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVS
KSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRS
SUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9G
T1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJT
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFC
TEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dF
QkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAko
cmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy93
ZWJzb2NrZXRzIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3dlYnZyIgogICAgICIke1dF
QkNPUkVfRElSfS9hY2Nlc3NpYmlsaXR5IgorICAgICIke1dFQkNPUkVfRElSfS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZSIKICAgICAiJHtXRUJDT1JFX0RJUn0vYW5pbWF0aW9uIgogICAgICIk
e1dFQkNPUkVfRElSfS9iaW5kaW5ncyIKICAgICAiJHtXRUJDT1JFX0RJUn0vYmluZGluZ3MvanMi
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3OCBAQAorMjAxOS0wMS0yNSAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2Ug
YSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAz
Mjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBJbiBv
cmRlciB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIHdoZW4gcmVxdWVzdGluZyB0aGUgYWNjZXNzaWJp
bGl0eSBoaWVyYXJjaHksIHdlIGludHJvZHVjZSB0aGUgaWRlYSBvZiBhICJzdGF0aWMgYWNjZXNz
aWJpbGl0eSB0cmVlIiB3aGljaCAKKyAgICAgICAgY291bGQgYmUgYWNjZXNzZWQgb24gYSBkaWZm
ZXJlbnQgdGhyZWFkIGJ5IGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXMuCisgICAgICAgIFRoYXQgaXMg
YWNjb21wbGlzaGVkIGJ5IHN0b3JpbmcgYWxsIHRoZSBkYXRhIG5lZWRlZCB0byBhbnN3ZXIgYWNj
ZXNzaWJpbGl0eSBhdHRyaWJ1dGUgcXVlcmllcyBpbiBhIHN0YXRpYyBvYmplY3QgdGhhdCBtaXJy
b3JzIHRoZSAKKyAgICAgICAgImxpdmUiIEFjY2Vzc2liaWxpdHlPYmplY3RzICh3aGljaCBpbnRl
cmFjdCB3aXRoIGJvdGggRE9NIGFuZCBSZW5kZXIgdHJlZXMpLgorICAgICAgICBUaGVzZSBzdGF0
aWMgb2JqZWN0cyBhcmUgZ2VuZXJhbGx5IGNyZWF0ZWQgYWZ0ZXIgbGF5b3V0IGlzIGRvbmUgYW5k
IGZpbmFsIHRhc2tzIGFyZSBiZWluZyBwZXJmb3JtZWQuIFRoZXkgYXJlIHRoZW4gc3RvcmVkIGlu
IHRoZSBzdGF0aWMgdHJlZSAKKyAgICAgICAgcmVwcmVzZW50YXRpb24gYW5kIGFibGUgdG8gYmUg
cmVhZCBmcm9tIGFueXdoZXJlLgorICAgICAgICBUYWN0aWNhbGx5IHRoaXMgaXMgZG9uZSB3aXRo
IEFYSXNvbGF0ZWRUcmVlTm9kZXMgaW5zaWRlIG9mIGFuIEFYSXNvbGF0ZWRUcmVlLiBUaGUgVHJl
ZU5vZGVzIGltcGxlbWVudCBhbiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHNoYXJlZCAK
KyAgICAgICAgd2l0aCBBY2Nlc3NpYmlsaXR5T2JqZWN0LgorICAgICAgICBUaGlzIGFsbG93cyB0
aGUgd3JhcHBlcnMgdG8gYWNjZXNzIGVpdGhlciBvbmUgZGVwZW5kaW5nIG9uIGNvbmRpdGlvbnMg
YW5kIHBsYXRmb3JtcyB3aXRob3V0IHNpZ25pZmljYW50IGNvZGUgZHVwbGljYXRpb24gb3IgcmUt
b3JnYW5pemF0aW9uLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
Y3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5VHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjpnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlSWZOZWVkZWQpOgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oOiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZTogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNv
bGF0ZWRUcmVlOjp0cmVlQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6
OkFYSXNvbGF0ZWRUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJRCk6CisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6dHJlZUZvclBhZ2VJRCk6CisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6bm9kZUZvcklEIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkFYSXNvbGF0ZWRUcmVlOjpyb290Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xh
dGVkVHJlZTo6cmVtb3ZlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6
YXBwZW5kTm9kZUNoYW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmFw
cGx5UGVuZGluZ0NoYW5nZXMpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRy
ZWU6OnRyZWVJZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xh
dGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwOiBBZGRlZC4KKyAgICAgICAgICAgIFRvIG5v
dGU6IHdlIGRvbid0IG1hcmsgdGhlIGF0dHJpYnV0ZSBtYXAgY29uc3QgYmVjYXVzZSBldmVuIHRo
b3VnaCBhdHRyaWJ1dGVzIGRvbid0IGNoYW5nZSBhZnRlciBpbml0aWFsIGNyZWF0aW9uLAorICAg
ICAgICAgICAgd2UgbWF5IGNvcHkgYW4gZXhpc3Rpbmcgbm9kZSBhbmQgcmVwbGFjZSBzcGVjaWZp
YyB2YWx1ZXMuCisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OkFYSXNvbGF0
ZWRUcmVlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmluaXRpYWxpemVBdHRy
aWJ1dGVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6c2V0UHJv
cGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpkb3VibGVBdHRy
aWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6
OnVuc2lnbmVkQXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29s
YXRlZFRyZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpzdHJpbmdBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmludEF0dHJpYnV0ZVZhbHVlIGNvbnN0
KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5v
ZGUuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlzb2xhdGVk
VHJlZU5vZGUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQmFzZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJCYXNlIGluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDpdKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGlzb2xhdGVkVHJlZU5vZGVd
KToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGRldGFjaF0p
OgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgdXBkYXRlT2Jq
ZWN0QmFja2luZ1N0b3JlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQmFzZSBheEJhY2tpbmdPYmplY3RdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJCYXNlIGJhc2VBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25dKToKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbToK
KyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgcm9sZV0pOgorICAgICAg
ICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBzdWJyb2xlXSk6CisgICAgICAgICgt
W1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHJvbGVEZXNjcmlwdGlvbl0pOgorICAgICAg
ICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
VmFsdWU6XSk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpwYWdlSUQgY29uc3QpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorCiAy
MDE5LTAxLTI0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xG
Q11bQkZDXVtNYXJnaW5Db2xsYXBzaW5nXSBSZWZhY3RvciBNYXJnaW5Db2xsYXBzZTo6dXBkYXRl
Q29sbGFwc2VkTWFyZ2luQWZ0ZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyNDA0NzApCisr
KyBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
d29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18k
KFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
X2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitF
TkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZ
ID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExF
X1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9u
ZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDcsNCArNDA5LDQgQEAKIAogRU5B
QkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FS
RF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9Q
Uk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNf
VklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
V0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5B
QkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVf
QVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09Q
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdf
QVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAk
KEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNU
X0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAk
KEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJV
VEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRI
TikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFT
U0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQo
RU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0yNSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXph
Y2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgaXNvbGF0ZWQgYWNjZXNzaWJp
bGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTI0ICBFcmljIENhcmxzb24gIDxlcmljLmNh
cmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFNpbGVuY2UgTWVkaWFQbGF5ZXIgY29t
cGlsZSB3YXJuaW5ncwpJbmRleDogU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwNDcwKQor
KysgU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7
CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBM
RV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
QVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNyw0ICs0MDksNCBAQAog
CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1Nf
Q09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9O
UykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tF
WUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VT
VE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9M
T0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JL
RVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VC
X1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlO
R19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkg
JChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVO
QUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9D
X0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlO
VElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURf
T00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9D
U1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9O
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxF
X0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05F
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExF
UlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVO
QUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVf
V0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZp
c2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtNDA1LDYgKzQwNSw4IEBACiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlLmNw
cAogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZUl0ZW0uY3BwCiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmNwcAorYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWUuY3BwCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
VHJlZU5vZGUuY3BwCiAKIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuY3BwCiBhbmltYXRpb24v
QW5pbWF0aW9uUGxheWJhY2tFdmVudC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtNjk2LDYgKzY5Niw3IEBACiAJCTI2RjlBODM4MThBMDQ2QUMwMEFFQjg4QSAvKiBW
aWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmln
dXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9y
dENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTE0
RTMwODFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNBQjVBNDQw
MDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OworCQkyOTM2QkY1QzIx
RDY5RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2OTk5RTAw
NEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZFMDA2N0FD
RjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMjk0ODlGQzcxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2liaWxpdHlT
Y3JvbGxWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCAq
LzsgfTsKIAkJMjk3QkUzRDUxNkMwM0MwODAwMzMxNkJEIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhl
c2lzVXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyNTI3Q0M5MTE2QkY4QkExMDA5RERBQzAgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNV
dHRlcmFuY2UuaCAqLzsgfTsKQEAgLTcxNyw2ICs3MTgsOCBAQAogCQkyOUE4MTI0MzBGQkI5QzFE
MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjI1MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nl
c3NpYmlsaXR5TGlzdEJveC5oICovOyB9OwogCQkyOUE4MTI0OTBGQkI5Q0E5MDA1MTAyOTMgLyog
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTI0NTBGQkI5Q0E5MDA1MTAyOTMgLyogV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjlBQ0IyMTIxNDNFNzEyODAwNkJDQTVGIC8qIEFj
Y2Vzc2liaWxpdHlNb2NrT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyOUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1v
Y2tPYmplY3QuaCAqLzsgfTsKKwkJMjlBRTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0
ZWRUcmVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
OUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyOUFFMjEzNTIxQUJBNDhBMDA4
NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRl
ZFRyZWVOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMjlEN0JDRkExNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUQ3QkNG
OTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLzsgfTsKIAkJ
MjlGQUY0QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUZBRjRCNTE5
NUFCMDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyQjM2NUM4NDE1MjUxMTlF
MDA5MUQyN0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2MDAwREJCQ0Q4IC8qIFJlbmRlclNW
R0VsbGlwc2UuaCAqLzsgfTsKQEAgLTY1ODQsNiArNjU4Nyw3IEBACiAJCTI4REI5QkM3MjAyMEVB
MDQwMEU1NEEwNyAvKiBQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyOTE0RTMwNTFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFj
aG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJp
bGl0eUF0dGFjaG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTE0RTMw
NjFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9i
amVjdEludGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNFQUUxRTEz
NTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNz
aWJpbGl0eVNjcm9sbFZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNj
ZXNzaWJpbGl0eVNjcm9sbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjk0
OTg2ODExOTUzNDE5NDAwNzJEMkJEIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFVuZG9JbnNlcnRpb25N
YXJrdXBNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NjMxLDYgKzY2MzUs
MTAgQEAKIAkJMjlBODEyNDcwRkJCOUNBOTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVNYWMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBWE9iamVjdENhY2hlTWFj
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFDQjIxMTE0M0U3MTI4MDA2QkNB
NUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMjlBQ0IyMTMxNDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2Jq
ZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxp
dHlNb2NrT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMkIy
MUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFYSXNv
bGF0ZWRUcmVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJDMjFBQjlF
RUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBWElz
b2xhdGVkVHJlZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTMzMjFB
QkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVhJ
c29sYXRlZFRyZWVOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTM0
MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQVhJc29sYXRlZFRyZWVOb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMjlEN0JDRjUxNDQ0QUY1ODAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlEN0JDRjkxNDQ0QUY3
RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTI5RTA0QTI3QkVEMkY4MUY5OEU5MDIyQiAvKiBKU0JlZm9yZVVubG9h
ZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQmVmb3JlVW5sb2Fk
RXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjU0LDYgKzE3MjYyLDcg
QEAKIAkJMjlBODEyMDQwRkJCOUI0MTAwNTEwMjkzIC8qIGFjY2Vzc2liaWxpdHkgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTI5QUUyMTI5MjFBQjlFQ0Iw
MDg2OTI4MyAvKiBpc29sYXRlZHRyZWUgKi8sCiAJCQkJQUFBNzI4RUYxNkQxRDhCQzAwRDNCQkM2
IC8qIGlvcyAqLywKIAkJCQkyOUE4MTIwNTBGQkI5QjUyMDA1MTAyOTMgLyogbWFjICovLAogCQkJ
CTI5ODFDQTlEMTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuY3BwICov
LApAQCAtMTcyOTIsNiArMTczMDEsNyBAQAogCQkJCTI5ODU3MDkzMTVDQzUzMkQwMDYzNTVDRCAv
KiBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oICovLAogCQkJCTI5ODFDQUE1MTMxODIyRUMwMEQx
MkYyQSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAqLywKIAkJCQkyOUE4MTIxODBGQkI5QzFE
MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdC5oICovLAorCQkJCTI5MzZCRjVBMjFENjk5
OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggKi8sCiAJCQkJQTQw
OUM5ODIxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5j
cHAgKi8sCiAJCQkJQTQwOUM5ODMxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxpdHlQcm9n
cmVzc0luZGljYXRvci5oICovLAogCQkJCTI5ODFDQUE2MTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAqLywKQEAgLTE3MzQ3LDYgKzE3MzU3LDE3IEBACiAJ
CQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJMjlBRTIx
MjkyMUFCOUVDQjAwODY5MjgzIC8qIGlzb2xhdGVkdHJlZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdy
b3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMjlBRTIxMkIyMUFCOUVFQjAwODY5MjgzIC8qIEFY
SXNvbGF0ZWRUcmVlLmggKi8sCisJCQkJMjlBRTIxMkMyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNv
bGF0ZWRUcmVlLmNwcCAqLywKKwkJCQkyOUFFMjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29s
YXRlZFRyZWVOb2RlLmggKi8sCisJCQkJMjlBRTIxMzQyMUFCQTQ4QTAwODY5MjgzIC8qIEFYSXNv
bGF0ZWRUcmVlTm9kZS5jcHAgKi8sCisJCQkpOworCQkJcGF0aCA9IGlzb2xhdGVkdHJlZTsKKwkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTJEMDYyMTQ2MURBNjM5RUMwMEE3RkIy
NiAvKiBsZWdhY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApA
QCAtMjk5NzIsNiArMjk5OTMsNyBAQAogCQkJCTFBRTJBQTk4MEExQ0REMkQwMEI0MkIyNSAvKiBK
U0hUTUxJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU3RTk3MEExQTgzRTMw
MDdGQjhDNSAvKiBKU0hUTUxJbnB1dEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNkIw
OTU2MUY1RjM0RDkwMDNDMzcwMiAvKiBKU0hUTUxJbnB1dEVsZW1lbnRFbnRyaWVzQVBJLmggaW4g
SGVhZGVycyAqLywKKwkJCQkyOTM2QkY1QzIxRDY5RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0
eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTYxNDhBNzkxMkU0MUUzQjAw
NDRBNzg0IC8qIEpTSFRNTEtleWdlbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTJB
QjIyMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMYWJlbEVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBRTJBQjI0MEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMZWdlbmRFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTMxNDI3LDYgKzMxNDQ5LDcgQEAKIAkJCQk1MTQwNUM4OTE5MEIw
MTQ0MDA3NTRGOTQgLyogU2VsZWN0aW9uUmVjdEdhdGhlcmVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFNDRCNEJCNDE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0MzJEM0ZFODE4QTg2NTg0MDBEN0RDMDMgLyogU2VsZWN0b3JDaGVja2VyVGVz
dEZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMzUyMUFCQTQ4QTAwODY5Mjgz
IC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjZCOTk5OTcxODA0
RDU0MjAwRDAxMTIxIC8qIFNlbGVjdG9yQ29tcGlsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQx
NTA3MTU4MTY4NTA2NzMwMEMzQzdCMyAvKiBTZWxlY3RvckZpbHRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDMxMDdCRTIxOENDMTlERTAwQ0MxOEU4IC8qIFNlbGVjdG9yUHNldWRvVHlwZU1hcC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0zMjM2Miw2ICszMjM4NSw3IEBACiAJCQkJOTc3RTJFMEYxMkYw
RkM5QzAwQzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTU0MTZGRTYxODgxMEVGODAwMDlGQzVGIC8qIFlvdVR1YmVFbWJlZFNoYWRvd0VsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTdBNTUxNUY1MTkxODMwQTMwMDk2ODdEMiAvKiBZb3VUdWJlUGx1
Z2luUmVwbGFjZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5QUUyMTJEMjFBQjlFRUIwMDg2
OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1MzczNTMxMzdC
NjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkocmV2aXNpb24gMjQwNDcwKQor
KysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzIsNiArMzIsOCBAQAogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgog
CisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWUuaCIKKyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5v
ZGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaCIKICNpbmNsdWRlICJBY2Nl
c3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFSSUFHcmlk
Um93LmgiCkBAIC0xMTUsNiArMTE3LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsK
IAorY29uc3QgQVhJRCBJbnZhbGlkQVhJRCA9IDA7CisKIC8vIFBvc3QgdmFsdWUgY2hhbmdlIG5v
dGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxkcyBvciBlbGVtZW50cyBjb250YWluZWQgaW4g
cGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRlcnZhbCB0byB0aHdhcnQgYW5hbHlzaXMgb2Yg
dHlwaW5nIGNhZGVuY2UKIHN0YXRpYyBjb25zdCBTZWNvbmRzIGFjY2Vzc2liaWxpdHlQYXNzd29y
ZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwgeyAyNV9tcyB9Owogc3RhdGljIGNvbnN0
IFNlY29uZHMgYWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2
YWwgeyAyMF9tcyB9OwpAQCAtNzIzLDYgKzcyNywxMCBAQAogICAgIG9iamVjdC0+c2V0QVhPYmpl
Y3RJRCgwKTsKIAogICAgIG1faWRzSW5Vc2UucmVtb3ZlKGF4SUQpOworI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgaWYgKGF1dG8gcGFnZUlEID0gbV9kb2N1bWVu
dC5wYWdlSUQoKSkKKyAgICAgICAgQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQoKnBhZ2VJ
RCktPnJlbW92ZU5vZGUoYXhJRCk7CisjZW5kaWYKIAogICAgIEFTU0VSVChtX29iamVjdHMuc2l6
ZSgpID49IG1faWRzSW5Vc2Uuc2l6ZSgpKTsKIH0KQEAgLTI5MDcsNiArMjkxNSw0MCBAQAogICAg
IG1fZGVmZXJyZWRGb2N1c2VkTm9kZUNoYW5nZS5jbGVhcigpOwogfQogICAgIAorI2lmIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitSZWY8QVhJc29sYXRlZFRyZWVOb2RlPiBB
WE9iamVjdENhY2hlOjpjcmVhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlSGllcmFyY2h5KEFj
Y2Vzc2liaWxpdHlPYmplY3QmIG9iamVjdCwgQVhJRCBwYXJlbnRJRCwgQVhJc29sYXRlZFRyZWUm
IHRyZWUsIFZlY3RvcjxSZWY8QVhJc29sYXRlZFRyZWVOb2RlPj4mIG5vZGVDaGFuZ2VzKQorewor
ICAgIGF1dG8gaXNvbGF0ZWRUcmVlTm9kZSA9IEFYSXNvbGF0ZWRUcmVlTm9kZTo6Y3JlYXRlKG9i
amVjdCk7CisgICAgbm9kZUNoYW5nZXMuYXBwZW5kKGlzb2xhdGVkVHJlZU5vZGUuY29weVJlZigp
KTsKKworICAgIGlzb2xhdGVkVHJlZU5vZGUtPnNldFBhcmVudChwYXJlbnRJRCk7CisgICAgYXNz
b2NpYXRlSXNvbGF0ZWRUcmVlTm9kZShvYmplY3QsIGlzb2xhdGVkVHJlZU5vZGUsIHRyZWUudHJl
ZUlkZW50aWZpZXIoKSk7CisKKyAgICBmb3IgKGF1dG8gY2hpbGQgOiBvYmplY3QuY2hpbGRyZW4o
KSkgeworICAgICAgICBhdXRvIHN0YXRpY0NoaWxkID0gY3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmls
aXR5VHJlZUhpZXJhcmNoeSgqY2hpbGQsIGlzb2xhdGVkVHJlZU5vZGUtPmlkZW50aWZpZXIoKSwg
dHJlZSwgbm9kZUNoYW5nZXMpOworICAgICAgICBpc29sYXRlZFRyZWVOb2RlLT5hcHBlbmRDaGls
ZChzdGF0aWNDaGlsZC0+aWRlbnRpZmllcigpKTsKKyAgICB9CisKKyAgICByZXR1cm4gaXNvbGF0
ZWRUcmVlTm9kZTsKK30KKyAgICAKK1JlZjxBWElzb2xhdGVkVHJlZT4gQVhPYmplY3RDYWNoZTo6
Z2VuZXJhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlKCkKK3sKKyAgICBSRUxFQVNFX0FTU0VS
VChpc01haW5UaHJlYWQoKSk7CisKKyAgICBhdXRvIHRyZWUgPSBBWElzb2xhdGVkVHJlZTo6dHJl
ZUZvclBhZ2VJRCgqbV9kb2N1bWVudC5wYWdlSUQoKSk7CisgICAgaWYgKCF0cmVlKQorICAgICAg
ICB0cmVlID0gQVhJc29sYXRlZFRyZWU6OmNyZWF0ZVRyZWVGb3JQYWdlSUQoKm1fZG9jdW1lbnQu
cGFnZUlEKCkpOworICAgIAorICAgIFZlY3RvcjxSZWY8QVhJc29sYXRlZFRyZWVOb2RlPj4gbm9k
ZUNoYW5nZXM7CisgICAgYXV0byByb290ID0gY3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5VHJl
ZUhpZXJhcmNoeSgqcm9vdE9iamVjdCgpLCBJbnZhbGlkQVhJRCwgKnRyZWUsIG5vZGVDaGFuZ2Vz
KTsKKyAgICByb290LT5zZXRJc1Jvb3ROb2RlKHRydWUpOworICAgIHRyZWUtPmFwcGVuZE5vZGVD
aGFuZ2VzKG5vZGVDaGFuZ2VzKTsKKworICAgIHJldHVybiBtYWtlUmVmKCp0cmVlKTsKK30KKyNl
bmRpZgorICAgIAogdm9pZCBBWE9iamVjdENhY2hlOjpkZWZlclJlY29tcHV0ZUlzSWdub3JlZElm
TmVlZGVkKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgaWYgKCFub2RlQW5kUmVuZGVyZXJBcmVW
YWxpZChlbGVtZW50KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5oCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOSBAQAog
CiAjcHJhZ21hIG9uY2UKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWUuaCIKKyNlbmRpZgogI2luY2x1ZGUgIkFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50LmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2lu
Y2x1ZGUgIlJhbmdlLmgiCkBAIC0zOSw2ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitjbGFzcyBBWElzb2xh
dGVkVHJlZU5vZGU7CisjZW5kaWYKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTEFyZWFFbGVt
ZW50OwogY2xhc3MgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ7CkBAIC0xODAsNiArMTg2LDEz
IEBACiAgICAgdm9pZCBkZWZlckF0dHJpYnV0ZUNoYW5nZUlmTmVlZGVkKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBFbGVtZW50Kik7CiAgICAgdm9pZCByZWNvbXB1dGVJc0lnbm9yZWQoUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlcik7CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KQorICAgIFdFQkNPUkVfRVhQT1JUIFJlZjxBWElzb2xhdGVkVHJlZT4gZ2VuZXJhdGVJc29sYXRl
ZEFjY2Vzc2liaWxpdHlUcmVlKCk7CisKKyAgICB2b2lkIGFzc29jaWF0ZUlzb2xhdGVkVHJlZU5v
ZGUoQWNjZXNzaWJpbGl0eU9iamVjdCYsIEFYSXNvbGF0ZWRUcmVlTm9kZSYsIEFYSXNvbGF0ZWRU
cmVlSUQpOworICAgIFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+IGNyZWF0ZUlzb2xhdGVkQWNjZXNz
aWJpbGl0eVRyZWVIaWVyYXJjaHkoQWNjZXNzaWJpbGl0eU9iamVjdCYsIEFYSUQsIEFYSXNvbGF0
ZWRUcmVlJiwgVmVjdG9yPFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+PiYpOworI2VuZGlmCisgICAg
CiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lk
IGVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBk
aXNhYmxlQWNjZXNzaWJpbGl0eSgpOwpAQCAtMTg3LDYgKzIwMCw3IEBACiAgICAgLy8gRW5oYW5j
ZWQgdXNlciBpbnRlcmZhY2UgYWNjZXNzaWJpbGl0eSBjYW4gYmUgdG9nZ2xlZCBieSB0aGUgYXNz
aXN0aXZlIHRlY2hub2xvZ3kuCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0RW5o
YW5jZWRVc2VySW50ZXJmYWNlQWNjZXNzaWJpbGl0eShib29sIGZsYWcpOwogICAgIAorICAgIC8v
IE5vdGU6IHRoZXNlIG1heSBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRocmVhZCBjb25jdXJy
ZW50bHkgYXMgb3RoZXIgcmVhZGVycy4KICAgICBzdGF0aWMgYm9vbCBhY2Nlc3NpYmlsaXR5RW5h
YmxlZCgpIHsgcmV0dXJuIGdBY2Nlc3NpYmlsaXR5RW5hYmxlZDsgfQogICAgIHN0YXRpYyBib29s
IGFjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VFbmFibGVkKCkgeyByZXR1cm4gZ0Fj
Y2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VFbmFibGVkOyB9CiAjZWxzZQpJbmRleDog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmgJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNw
cmFnbWEgb25jZQogCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgog
I2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgpAQCAtODksMTU3ICs5MCw2IEBACiBjbGFz
cyBTY3JvbGxWaWV3OwogY2xhc3MgV2lkZ2V0OwogCi10eXBlZGVmIHVuc2lnbmVkIEFYSUQ7Ci0K
LWVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUgewotICAgIEFubm90YXRpb24gPSAxLAotICAg
IEFwcGxpY2F0aW9uLAotICAgIEFwcGxpY2F0aW9uQWxlcnQsCi0gICAgQXBwbGljYXRpb25BbGVy
dERpYWxvZywKLSAgICBBcHBsaWNhdGlvbkRpYWxvZywKLSAgICBBcHBsaWNhdGlvbkdyb3VwLAot
ICAgIEFwcGxpY2F0aW9uTG9nLAotICAgIEFwcGxpY2F0aW9uTWFycXVlZSwKLSAgICBBcHBsaWNh
dGlvblN0YXR1cywKLSAgICBBcHBsaWNhdGlvblRleHRHcm91cCwKLSAgICBBcHBsaWNhdGlvblRp
bWVyLAotICAgIEF1ZGlvLAotICAgIEJsb2NrcXVvdGUsCi0gICAgQnJvd3NlciwKLSAgICBCdXN5
SW5kaWNhdG9yLAotICAgIEJ1dHRvbiwKLSAgICBDYW52YXMsCi0gICAgQ2FwdGlvbiwKLSAgICBD
ZWxsLAotICAgIENoZWNrQm94LAotICAgIENvbG9yV2VsbCwKLSAgICBDb2x1bW4sCi0gICAgQ29s
dW1uSGVhZGVyLAotICAgIENvbWJvQm94LAotICAgIERlZmluaXRpb24sCi0gICAgRGVzY3JpcHRp
b25MaXN0LAotICAgIERlc2NyaXB0aW9uTGlzdFRlcm0sCi0gICAgRGVzY3JpcHRpb25MaXN0RGV0
YWlsLAotICAgIERldGFpbHMsCi0gICAgRGlyZWN0b3J5LAotICAgIERpc2Nsb3N1cmVUcmlhbmds
ZSwKLSAgICBEaXYsCi0gICAgRG9jdW1lbnQsCi0gICAgRG9jdW1lbnRBcnRpY2xlLAotICAgIERv
Y3VtZW50TWF0aCwKLSAgICBEb2N1bWVudE5vdGUsCi0gICAgRHJhd2VyLAotICAgIEVkaXRhYmxl
VGV4dCwKLSAgICBGZWVkLAotICAgIEZpZ3VyZSwKLSAgICBGb290ZXIsCi0gICAgRm9vdG5vdGUs
Ci0gICAgRm9ybSwKLSAgICBHcmFwaGljc0RvY3VtZW50LAotICAgIEdyYXBoaWNzT2JqZWN0LAot
ICAgIEdyYXBoaWNzU3ltYm9sLAotICAgIEdyaWQsCi0gICAgR3JpZENlbGwsCi0gICAgR3JvdXAs
Ci0gICAgR3Jvd0FyZWEsCi0gICAgSGVhZGluZywKLSAgICBIZWxwVGFnLAotICAgIEhvcml6b250
YWxSdWxlLAotICAgIElnbm9yZWQsCi0gICAgSW5saW5lLAotICAgIEltYWdlLAotICAgIEltYWdl
TWFwLAotICAgIEltYWdlTWFwTGluaywKLSAgICBJbmNyZW1lbnRvciwKLSAgICBMYWJlbCwKLSAg
ICBMYW5kbWFya0Jhbm5lciwKLSAgICBMYW5kbWFya0NvbXBsZW1lbnRhcnksCi0gICAgTGFuZG1h
cmtDb250ZW50SW5mbywKLSAgICBMYW5kbWFya0RvY1JlZ2lvbiwKLSAgICBMYW5kbWFya01haW4s
Ci0gICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAotICAgIExhbmRtYXJrUmVnaW9uLAotICAgIExhbmRt
YXJrU2VhcmNoLAotICAgIExlZ2VuZCwKLSAgICBMaW5rLAotICAgIExpc3QsCi0gICAgTGlzdEJv
eCwKLSAgICBMaXN0Qm94T3B0aW9uLAotICAgIExpc3RJdGVtLAotICAgIExpc3RNYXJrZXIsCi0g
ICAgTWFyaywKLSAgICBNYXRoRWxlbWVudCwKLSAgICBNYXR0ZSwKLSAgICBNZW51LAotICAgIE1l
bnVCYXIsCi0gICAgTWVudUJ1dHRvbiwKLSAgICBNZW51SXRlbSwKLSAgICBNZW51SXRlbUNoZWNr
Ym94LAotICAgIE1lbnVJdGVtUmFkaW8sCi0gICAgTWVudUxpc3RQb3B1cCwKLSAgICBNZW51TGlz
dE9wdGlvbiwKLSAgICBPdXRsaW5lLAotICAgIFBhcmFncmFwaCwKLSAgICBQb3BVcEJ1dHRvbiwK
LSAgICBQcmUsCi0gICAgUHJlc2VudGF0aW9uYWwsCi0gICAgUHJvZ3Jlc3NJbmRpY2F0b3IsCi0g
ICAgUmFkaW9CdXR0b24sCi0gICAgUmFkaW9Hcm91cCwKLSAgICBSb3dIZWFkZXIsCi0gICAgUm93
LAotICAgIFJvd0dyb3VwLAotICAgIFJ1YnlCYXNlLAotICAgIFJ1YnlCbG9jaywKLSAgICBSdWJ5
SW5saW5lLAotICAgIFJ1YnlSdW4sCi0gICAgUnVieVRleHQsCi0gICAgUnVsZXIsCi0gICAgUnVs
ZXJNYXJrZXIsCi0gICAgU2Nyb2xsQXJlYSwKLSAgICBTY3JvbGxCYXIsCi0gICAgU2VhcmNoRmll
bGQsCi0gICAgU2hlZXQsCi0gICAgU2xpZGVyLAotICAgIFNsaWRlclRodW1iLAotICAgIFNwaW5C
dXR0b24sCi0gICAgU3BpbkJ1dHRvblBhcnQsCi0gICAgU3BsaXRHcm91cCwKLSAgICBTcGxpdHRl
ciwKLSAgICBTdGF0aWNUZXh0LAotICAgIFN1bW1hcnksCi0gICAgU3dpdGNoLAotICAgIFN5c3Rl
bVdpZGUsCi0gICAgU1ZHUm9vdCwKLSAgICBTVkdUZXh0LAotICAgIFNWR1RTcGFuLAotICAgIFNW
R1RleHRQYXRoLAotICAgIFRhYkdyb3VwLAotICAgIFRhYkxpc3QsCi0gICAgVGFiUGFuZWwsCi0g
ICAgVGFiLAotICAgIFRhYmxlLAotICAgIFRhYmxlSGVhZGVyQ29udGFpbmVyLAotICAgIFRleHRB
cmVhLAotICAgIFRleHRHcm91cCwKLSAgICBUZXJtLAotICAgIFRpbWUsCi0gICAgVHJlZSwKLSAg
ICBUcmVlR3JpZCwKLSAgICBUcmVlSXRlbSwKLSAgICBUZXh0RmllbGQsCi0gICAgVG9nZ2xlQnV0
dG9uLAotICAgIFRvb2xiYXIsCi0gICAgVW5rbm93biwKLSAgICBVc2VySW50ZXJmYWNlVG9vbHRp
cCwKLSAgICBWYWx1ZUluZGljYXRvciwKLSAgICBWaWRlbywKLSAgICBXZWJBcHBsaWNhdGlvbiwK
LSAgICBXZWJBcmVhLAotICAgIFdlYkNvcmVMaW5rLAotICAgIFdpbmRvdywKLX07Ci0KIGVudW0g
Y2xhc3MgQWNjZXNzaWJpbGl0eVRleHRTb3VyY2UgewogICAgIEFsdGVybmF0aXZlLAogICAgIENo
aWxkcmVuLApAQCAtNDkxLDcgKzM0MSw3IEBACiAgICAgCiBib29sIG5vZGVIYXNQcmVzZW50YXRp
b25Sb2xlKE5vZGUqKTsKICAgICAKLWNsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3QgOiBwdWJsaWMg
UmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0PiB7CitjbGFzcyBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0IDogcHVibGljIFJlZkNvdW50ZWQ8QWNjZXNzaWJpbGl0eU9iamVjdD4sIHB1YmxpYyBBY2Nl
c3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKIHByb3RlY3RlZDoKICAgICBBY2Nlc3NpYmlsaXR5
T2JqZWN0KCkgPSBkZWZhdWx0OwogICAgIApAQCAtMTE1OSw3ICsxMDA5LDEwIEBACiAgICAgQWNj
ZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhIG1faXNJZ25vcmVkRnJvbVBhcmVudERh
dGEgeyB9OwogICAgIGJvb2wgbV9jaGlsZHJlbkRpcnR5IHsgZmFsc2UgfTsKICAgICBib29sIG1f
c3VidHJlZURpcnR5IHsgZmFsc2UgfTsKLQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xB
VEVEX1RSRUUpCisgICAgYm9vbCBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZCB7IGZhbHNl
IH07CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHNldElzSWdub3JlZEZyb21QYXJlbnREYXRhKEFj
Y2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSYgZGF0YSkgeyBtX2lzSWdub3JlZEZy
b21QYXJlbnREYXRhID0gZGF0YTsgfQogCiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVBY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
SW50ZXJmYWNlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCit0eXBlZGVmIHVuc2lnbmVkIEFYSUQ7CitleHRlcm4gY29uc3QgQVhJRCBJbnZhbGlkQVhJ
RDsKKworZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7CisgICAgQW5ub3RhdGlvbiA9IDEs
CisgICAgQXBwbGljYXRpb24sCisgICAgQXBwbGljYXRpb25BbGVydCwKKyAgICBBcHBsaWNhdGlv
bkFsZXJ0RGlhbG9nLAorICAgIEFwcGxpY2F0aW9uRGlhbG9nLAorICAgIEFwcGxpY2F0aW9uR3Jv
dXAsCisgICAgQXBwbGljYXRpb25Mb2csCisgICAgQXBwbGljYXRpb25NYXJxdWVlLAorICAgIEFw
cGxpY2F0aW9uU3RhdHVzLAorICAgIEFwcGxpY2F0aW9uVGV4dEdyb3VwLAorICAgIEFwcGxpY2F0
aW9uVGltZXIsCisgICAgQXVkaW8sCisgICAgQmxvY2txdW90ZSwKKyAgICBCcm93c2VyLAorICAg
IEJ1c3lJbmRpY2F0b3IsCisgICAgQnV0dG9uLAorICAgIENhbnZhcywKKyAgICBDYXB0aW9uLAor
ICAgIENlbGwsCisgICAgQ2hlY2tCb3gsCisgICAgQ29sb3JXZWxsLAorICAgIENvbHVtbiwKKyAg
ICBDb2x1bW5IZWFkZXIsCisgICAgQ29tYm9Cb3gsCisgICAgRGVmaW5pdGlvbiwKKyAgICBEZXNj
cmlwdGlvbkxpc3QsCisgICAgRGVzY3JpcHRpb25MaXN0VGVybSwKKyAgICBEZXNjcmlwdGlvbkxp
c3REZXRhaWwsCisgICAgRGV0YWlscywKKyAgICBEaXJlY3RvcnksCisgICAgRGlzY2xvc3VyZVRy
aWFuZ2xlLAorICAgIERpdiwKKyAgICBEb2N1bWVudCwKKyAgICBEb2N1bWVudEFydGljbGUsCisg
ICAgRG9jdW1lbnRNYXRoLAorICAgIERvY3VtZW50Tm90ZSwKKyAgICBEcmF3ZXIsCisgICAgRWRp
dGFibGVUZXh0LAorICAgIEZlZWQsCisgICAgRmlndXJlLAorICAgIEZvb3RlciwKKyAgICBGb290
bm90ZSwKKyAgICBGb3JtLAorICAgIEdyYXBoaWNzRG9jdW1lbnQsCisgICAgR3JhcGhpY3NPYmpl
Y3QsCisgICAgR3JhcGhpY3NTeW1ib2wsCisgICAgR3JpZCwKKyAgICBHcmlkQ2VsbCwKKyAgICBH
cm91cCwKKyAgICBHcm93QXJlYSwKKyAgICBIZWFkaW5nLAorICAgIEhlbHBUYWcsCisgICAgSG9y
aXpvbnRhbFJ1bGUsCisgICAgSWdub3JlZCwKKyAgICBJbmxpbmUsCisgICAgSW1hZ2UsCisgICAg
SW1hZ2VNYXAsCisgICAgSW1hZ2VNYXBMaW5rLAorICAgIEluY3JlbWVudG9yLAorICAgIExhYmVs
LAorICAgIExhbmRtYXJrQmFubmVyLAorICAgIExhbmRtYXJrQ29tcGxlbWVudGFyeSwKKyAgICBM
YW5kbWFya0NvbnRlbnRJbmZvLAorICAgIExhbmRtYXJrRG9jUmVnaW9uLAorICAgIExhbmRtYXJr
TWFpbiwKKyAgICBMYW5kbWFya05hdmlnYXRpb24sCisgICAgTGFuZG1hcmtSZWdpb24sCisgICAg
TGFuZG1hcmtTZWFyY2gsCisgICAgTGVnZW5kLAorICAgIExpbmssCisgICAgTGlzdCwKKyAgICBM
aXN0Qm94LAorICAgIExpc3RCb3hPcHRpb24sCisgICAgTGlzdEl0ZW0sCisgICAgTGlzdE1hcmtl
ciwKKyAgICBNYXJrLAorICAgIE1hdGhFbGVtZW50LAorICAgIE1hdHRlLAorICAgIE1lbnUsCisg
ICAgTWVudUJhciwKKyAgICBNZW51QnV0dG9uLAorICAgIE1lbnVJdGVtLAorICAgIE1lbnVJdGVt
Q2hlY2tib3gsCisgICAgTWVudUl0ZW1SYWRpbywKKyAgICBNZW51TGlzdFBvcHVwLAorICAgIE1l
bnVMaXN0T3B0aW9uLAorICAgIE91dGxpbmUsCisgICAgUGFyYWdyYXBoLAorICAgIFBvcFVwQnV0
dG9uLAorICAgIFByZSwKKyAgICBQcmVzZW50YXRpb25hbCwKKyAgICBQcm9ncmVzc0luZGljYXRv
ciwKKyAgICBSYWRpb0J1dHRvbiwKKyAgICBSYWRpb0dyb3VwLAorICAgIFJvd0hlYWRlciwKKyAg
ICBSb3csCisgICAgUm93R3JvdXAsCisgICAgUnVieUJhc2UsCisgICAgUnVieUJsb2NrLAorICAg
IFJ1YnlJbmxpbmUsCisgICAgUnVieVJ1biwKKyAgICBSdWJ5VGV4dCwKKyAgICBSdWxlciwKKyAg
ICBSdWxlck1hcmtlciwKKyAgICBTY3JvbGxBcmVhLAorICAgIFNjcm9sbEJhciwKKyAgICBTZWFy
Y2hGaWVsZCwKKyAgICBTaGVldCwKKyAgICBTbGlkZXIsCisgICAgU2xpZGVyVGh1bWIsCisgICAg
U3BpbkJ1dHRvbiwKKyAgICBTcGluQnV0dG9uUGFydCwKKyAgICBTcGxpdEdyb3VwLAorICAgIFNw
bGl0dGVyLAorICAgIFN0YXRpY1RleHQsCisgICAgU3VtbWFyeSwKKyAgICBTd2l0Y2gsCisgICAg
U3lzdGVtV2lkZSwKKyAgICBTVkdSb290LAorICAgIFNWR1RleHQsCisgICAgU1ZHVFNwYW4sCisg
ICAgU1ZHVGV4dFBhdGgsCisgICAgVGFiR3JvdXAsCisgICAgVGFiTGlzdCwKKyAgICBUYWJQYW5l
bCwKKyAgICBUYWIsCisgICAgVGFibGUsCisgICAgVGFibGVIZWFkZXJDb250YWluZXIsCisgICAg
VGV4dEFyZWEsCisgICAgVGV4dEdyb3VwLAorICAgIFRlcm0sCisgICAgVGltZSwKKyAgICBUcmVl
LAorICAgIFRyZWVHcmlkLAorICAgIFRyZWVJdGVtLAorICAgIFRleHRGaWVsZCwKKyAgICBUb2dn
bGVCdXR0b24sCisgICAgVG9vbGJhciwKKyAgICBVbmtub3duLAorICAgIFVzZXJJbnRlcmZhY2VU
b29sdGlwLAorICAgIFZhbHVlSW5kaWNhdG9yLAorICAgIFZpZGVvLAorICAgIFdlYkFwcGxpY2F0
aW9uLAorICAgIFdlYkFyZWEsCisgICAgV2ViQ29yZUxpbmssCisgICAgV2luZG93LAorfTsKKwor
Y2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSB7CitwdWJsaWM6CisgICAgdmlydHVh
bCB+QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSgpID0gZGVmYXVsdDsKKworICAgIHZpcnR1
YWwgYm9vbCBpc01lZGlhQ29udHJvbExhYmVsKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgQWNj
ZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBp
c0F0dGFjaG1lbnQoKSBjb25zdCA9IDA7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWUuaCIKKwor
I2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0
aWMgTG9jayBzX2NhY2hlTG9jazsKKworc3RhdGljIHVuc2lnbmVkIG5ld1RyZWVJRCgpCit7Cisg
ICAgc3RhdGljIHVuc2lnbmVkIHNfY3VycmVudFRyZWVJRCA9IDA7CisgICAgcmV0dXJuICsrc19j
dXJyZW50VHJlZUlEOworfQorCitIYXNoTWFwPEFYSXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElzb2xh
dGVkVHJlZT4+JiBBWElzb2xhdGVkVHJlZTo6dHJlZVBhZ2VDYWNoZSgpCit7CisgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8QVhJc29sYXRlZFRyZWVJRCwgUmVmPEFYSXNvbGF0ZWRU
cmVlPj4+IG1hcDsKKyAgICByZXR1cm4gbWFwOworfQorCitIYXNoTWFwPEFYSXNvbGF0ZWRUcmVl
SUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+JiBBWElzb2xhdGVkVHJlZTo6dHJlZUlEQ2FjaGUoKQor
eworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPEFYSXNvbGF0ZWRUcmVlSUQsIFJl
ZjxBWElzb2xhdGVkVHJlZT4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KKworQVhJc29sYXRl
ZFRyZWU6OkFYSXNvbGF0ZWRUcmVlKCkKKyAgICA6IG1fdHJlZUlEKG5ld1RyZWVJRCgpKQorewor
fQorCitBWElzb2xhdGVkVHJlZTo6fkFYSXNvbGF0ZWRUcmVlKCkgPSBkZWZhdWx0OworCitSZWY8
QVhJc29sYXRlZFRyZWU+IEFYSXNvbGF0ZWRUcmVlOjpjcmVhdGUoKQoreworICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQVhJc29sYXRlZFRyZWUo
KSk7Cit9CisKK1JlZlB0cjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJ
RChBWElzb2xhdGVkVHJlZUlEIHRyZWVJRCkKK3sKKyAgICByZXR1cm4gdHJlZUlEQ2FjaGUoKS5n
ZXQodHJlZUlEKTsKK30KKworUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWElzb2xhdGVkVHJlZTo6Y3Jl
YXRlVHJlZUZvclBhZ2VJRCh1aW50NjRfdCBwYWdlSUQpCit7CisgICAgTG9ja0hvbGRlciBsb2Nr
ZXIoc19jYWNoZUxvY2spOworCisgICAgYXV0byBuZXdUcmVlID0gQVhJc29sYXRlZFRyZWU6OmNy
ZWF0ZSgpOworICAgIHRyZWVQYWdlQ2FjaGUoKS5zZXQocGFnZUlELCBuZXdUcmVlLmNvcHlSZWYo
KSk7CisgICAgdHJlZUlEQ2FjaGUoKS5zZXQobmV3VHJlZS0+dHJlZUlkZW50aWZpZXIoKSwgbmV3
VHJlZS5jb3B5UmVmKCkpOworICAgIHJldHVybiBuZXdUcmVlOworfQorCitSZWZQdHI8QVhJc29s
YXRlZFRyZWU+IEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKHVpbnQ2NF90IHBhZ2VJRCkK
K3sKKyAgICBMb2NrSG9sZGVyIGxvY2tlcihzX2NhY2hlTG9jayk7CisKKyAgICBpZiAoYXV0byB0
cmVlID0gdHJlZVBhZ2VDYWNoZSgpLmdldChwYWdlSUQpKQorICAgICAgICByZXR1cm4gbWFrZVJl
ZlB0cih0cmVlKTsKKworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QVhJc29sYXRl
ZFRyZWVOb2RlPiBBWElzb2xhdGVkVHJlZTo6bm9kZUZvcklEKEFYSUQgYXhJRCkgY29uc3QKK3sK
KyAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKKyAgICBpZiAoIWF4SUQpCisgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgIHJldHVybiBtX3JlYWRlclRocmVhZE5vZGVNYXAuZ2V0KGF4SUQp
OworfQorCitSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiBBWElzb2xhdGVkVHJlZTo6cm9vdE5v
ZGUoKQoreworICAgIHJldHVybiBub2RlRm9ySUQobV9yb290Tm9kZUlEKTsKK30KKwordm9pZCBB
WElzb2xhdGVkVHJlZTo6cmVtb3ZlTm9kZShBWElEIGF4SUQpCit7CisgICAgTG9ja0hvbGRlciBs
b2NrZXIobV9jaGFuZ2VMb2dMb2NrKTsKKyAgICBtX3BlbmRpbmdSZW1vdmFscy5hcHBlbmQoYXhJ
RCk7Cit9CisKK3ZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGVuZE5vZGVDaGFuZ2VzKFZlY3RvcjxS
ZWY8QVhJc29sYXRlZFRyZWVOb2RlPj4mIGxvZykKK3sKKyAgICBMb2NrSG9sZGVyIGxvY2tlciht
X2NoYW5nZUxvZ0xvY2spOworICAgIGZvciAoYXV0byYgbm9kZSA6IGxvZykKKyAgICAgICAgbV9w
ZW5kaW5nQXBwZW5kcy5hcHBlbmQobm9kZS5jb3B5UmVmKCkpOworfQorCit2b2lkIEFYSXNvbGF0
ZWRUcmVlOjphcHBseVBlbmRpbmdDaGFuZ2VzKCkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCghaXNN
YWluVGhyZWFkKCkpOworCisgICAgTG9ja0hvbGRlciBsb2NrZXIobV9jaGFuZ2VMb2dMb2NrKTsK
KyAgICBWZWN0b3I8UmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4+IGFwcGVuZENvcHkgPSBXVEY6Om1h
cChtX3BlbmRpbmdBcHBlbmRzLCBbJl0gKGNvbnN0IGF1dG8mIG5vZGUpIHsKKyAgICAgICAgcmV0
dXJuIG5vZGUuY29weVJlZigpOworICAgIH0pOworICAgIFZlY3RvcjxBWElEPiByZW1vdmVDb3B5
KHsgV1RGTW92ZShtX3BlbmRpbmdSZW1vdmFscykgfSk7CisgICAgbG9ja2VyLnVubG9ja0Vhcmx5
KCk7CisKKyAgICBmb3IgKGF1dG8mIGl0ZW0gOiBhcHBlbmRDb3B5KSB7CisgICAgICAgIG1fcmVh
ZGVyVGhyZWFkTm9kZU1hcC5hZGQoaXRlbS0+aWRlbnRpZmllcigpLCBpdGVtLmNvcHlSZWYoKSk7
CisgICAgICAgIGlmIChpdGVtLT5pc1Jvb3ROb2RlKCkpCisgICAgICAgICAgICBtX3Jvb3ROb2Rl
SUQgPSBpdGVtLT5pZGVudGlmaWVyKCk7CisgICAgfQorCisgICAgZm9yIChhdXRvIGl0ZW0gOiBy
ZW1vdmVDb3B5KQorICAgICAgICBtX3JlYWRlclRocmVhZE5vZGVNYXAucmVtb3ZlKGl0ZW0pOwor
fQorICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaAkobm9uZXhp
c3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJBWElzb2xhdGVk
VHJlZU5vZGUuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBQYWdlOworCit0eXBlZGVmIHVuc2lnbmVkIEFYSXNvbGF0ZWRU
cmVlSUQ7CisgICAgCitjbGFzcyBBWElzb2xhdGVkVHJlZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVm
Q291bnRlZDxBWElzb2xhdGVkVHJlZT4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFYSXNv
bGF0ZWRUcmVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPEFYSXNvbGF0ZWRUcmVlPiBjcmVhdGUoKTsKKyAgICB2aXJ0dWFsIH5BWElzb2xhdGVk
VHJlZSgpOworCisgICAgLy8gQ3JlYXRpb24gbXVzdCBoYXBwZW4gb24gbWFpbiB0aHJlYWQuCisg
ICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZT4gY3JlYXRlVHJlZUZvclBhZ2VJRCh1aW50NjRf
dCBwYWdlSUQpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8QVhJc29sYXRlZFRy
ZWU+IHRyZWVGb3JQYWdlSUQodWludDY0X3QgcGFnZUlEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiB0cmVlRm9ySUQoQVhJc29sYXRlZFRyZWVJRCk7
CisKKyAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiByb290Tm9k
ZSgpOworICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IG5vZGVGb3JJRChBWElEKSBjb25z
dDsKKworICAgIC8vIENhbGwgb24gbWFpbiB0aHJlYWQKKyAgICB2b2lkIGFwcGVuZE5vZGVDaGFu
Z2VzKFZlY3RvcjxSZWY8QVhJc29sYXRlZFRyZWVOb2RlPj4mKTsKKyAgICB2b2lkIHJlbW92ZU5v
ZGUoQVhJRCk7CisKKyAgICAvLyBDYWxsIG9uIEFYIHRocmVhZAorICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgYXBwbHlQZW5kaW5nQ2hhbmdlcygpOworCisgICAgQVhJc29sYXRlZFRyZWVJRCB0cmVl
SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fdHJlZUlEOyB9CisKK3ByaXZhdGU6CisgICAg
QVhJc29sYXRlZFRyZWUoKTsKKworICAgIHN0YXRpYyBIYXNoTWFwPEFYSXNvbGF0ZWRUcmVlSUQs
IFJlZjxBWElzb2xhdGVkVHJlZT4+JiB0cmVlSURDYWNoZSgpOworICAgIHN0YXRpYyBIYXNoTWFw
PEFYSXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+JiB0cmVlUGFnZUNhY2hlKCk7
CisgICAgCisgICAgLy8gT25seSBhY2Nlc3Mgb24gQVggdGhyZWFkIHJlcXVlc3RpbmcgZGF0YS4K
KyAgICBIYXNoTWFwPEFYSUQsIFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+PiBtX3JlYWRlclRocmVh
ZE5vZGVNYXA7CisKKyAgICAvLyBXcml0dGVuIHRvIGJ5IG1haW4gdGhyZWFkIHVuZGVyIGxvY2ss
IGFjY2Vzc2VkIGFuZCBhcHBsaWVkIGJ5IEFYIHRocmVhZC4KKyAgICBWZWN0b3I8UmVmPEFYSXNv
bGF0ZWRUcmVlTm9kZT4+IG1fcGVuZGluZ0FwcGVuZHM7CisgICAgVmVjdG9yPEFYSUQ+IG1fcGVu
ZGluZ1JlbW92YWxzOworICAgIExvY2sgbV9jaGFuZ2VMb2dMb2NrOworCisgICAgQVhJc29sYXRl
ZFRyZWVJRCBtX3RyZWVJRDsKKyAgICBBWElEIG1fcm9vdE5vZGVJRDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlTm9k
ZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDEyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWVOb2Rl
LmgiCisKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworQVhJc29sYXRlZFRyZWVOb2RlOjpBWElzb2xhdGVkVHJlZU5vZGUoY29uc3QgQWNj
ZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQorICAgIDogbV9pZGVudGlmaWVyKG9iamVjdC5heE9i
amVjdElEKCkpCisgICAgLCBtX2luaXRpYWxpemVkKGZhbHNlKQoreworICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7CisgICAgaW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEob2JqZWN0KTsKKyNpZiAh
QVNTRVJUX0RJU0FCTEVECisgICAgbV9pbml0aWFsaXplZCA9IHRydWU7CisjZW5kaWYKK30KKwor
UmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gQVhJc29sYXRlZFRyZWVOb2RlOjpjcmVhdGUoY29uc3Qg
QWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IEFYSXNvbGF0ZWRUcmVlTm9kZShvYmplY3QpKTsKK30KKworQVhJc29sYXRlZFRyZWVOb2RlOjp+
QVhJc29sYXRlZFRyZWVOb2RlKCkgPSBkZWZhdWx0OworCit2b2lkIEFYSXNvbGF0ZWRUcmVlTm9k
ZTo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2Jq
ZWN0KQoreworICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpSb2xlVmFsdWUsIHN0YXRp
Y19jYXN0PGludD4ob2JqZWN0LnJvbGVWYWx1ZSgpKSk7CisgICAgc2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWU6OklzQXR0YWNobWVudCwgb2JqZWN0LmlzQXR0YWNobWVudCgpKTsKKyAgICBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNNZWRpYUNvbnRyb2xMYWJlbCwgb2JqZWN0LmlzTWVk
aWFDb250cm9sTGFiZWwoKSk7Cit9CisKK3ZvaWQgQVhJc29sYXRlZFRyZWVOb2RlOjpzZXRQcm9w
ZXJ0eShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCYm
IHZhbHVlLCBib29sIHNob3VsZFJlbW92ZSkKK3sKKyAgICBBU1NFUlQoIW1faW5pdGlhbGl6ZWQp
OworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAgICBpZiAoc2hvdWxkUmVtb3ZlKQor
ICAgICAgICBtX2F0dHJpYnV0ZU1hcC5yZW1vdmUocHJvcGVydHlOYW1lKTsKKyAgICBlbHNlCisg
ICAgICAgIG1fYXR0cmlidXRlTWFwLnNldChwcm9wZXJ0eU5hbWUsIHZhbHVlKTsKK30KKwordm9p
ZCBBWElzb2xhdGVkVHJlZU5vZGU6OmFwcGVuZENoaWxkKEFYSUQgYXhJRCkKK3sKKyAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOworICAgIG1fY2hpbGRyZW4uYXBwZW5kKGF4SUQpOworfQorCitk
b3VibGUgQVhJc29sYXRlZFRyZWVOb2RlOjpkb3VibGVBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmlidXRl
TWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVlLCBb
Jl0gKGRvdWJsZSYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRWYWx1ZTsKKyAg
ICB9LCBbJl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiAwLjA7CisgICAgfSk7Cit9CisKK3Vu
c2lnbmVkIEFYSXNvbGF0ZWRUcmVlTm9kZTo6dW5zaWduZWRBdHRyaWJ1dGVWYWx1ZShBWFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1fYXR0cmli
dXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKHZhbHVl
LCBbJl0gKHVuc2lnbmVkJiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVl
OworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfSk7Cit9CisK
K2Jvb2wgQVhJc29sYXRlZFRyZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJpYnV0ZU1h
cC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1ZSwgWyZd
IChib29sJiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVlOworICAgIH0s
IFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0pOworfQorCitjb25z
dCBTdHJpbmcmIEFYSXNvbGF0ZWRUcmVlTm9kZTo6c3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJp
YnV0ZU1hcC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1
ZSwgWyZdIChTdHJpbmcmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7
CisgICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gbnVsbEF0b20oKTsKKyAgICB9
KTsKK30KKworaW50IEFYSXNvbGF0ZWRUcmVlTm9kZTo6aW50QXR0cmlidXRlVmFsdWUoQVhQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0dHJp
YnV0ZU1hcC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2YWx1
ZSwgWyZdIChpbnQmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVkVmFsdWU7Cisg
ICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsKK30KKyAgICAK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgJKG5vbmV4
aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJ
c29sYXRlZFRyZWVOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjAgQEAKKy8qCisq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorCisjaW5jbHVkZSAiQWNj
ZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Cisj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5o
PgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKKyNpZiBQTEFURk9STShDT0NPQSkKK09CSkNfQ0xBU1Mg
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI7CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworCitjbGFzcyBBWElzb2xhdGVkVHJl
ZU5vZGUgZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSwgcHVibGlj
IFRocmVhZFNhZmVSZWZDb3VudGVkPEFYSXNvbGF0ZWRUcmVlTm9kZT4sIHB1YmxpYyBDYW5NYWtl
V2Vha1B0cjxBWElzb2xhdGVkVHJlZU5vZGU+IHsKKworcHVibGljOgorICAgIGVudW0gY2xhc3Mg
QVhQcm9wZXJ0eU5hbWUgOiB1aW50OF90IHsKKyAgICAgICAgTm9uZSA9IDAsCisgICAgICAgIFJv
bGVWYWx1ZSA9IDEsCisgICAgICAgIElzQXR0YWNobWVudCwKKyAgICAgICAgSXNNZWRpYUNvbnRy
b2xMYWJlbCwKKyAgICB9OworCisgICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+IGNy
ZWF0ZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisgICAgdmlydHVhbCB+QVhJc29sYXRl
ZFRyZWVOb2RlKCk7CisKKyAgICBBWElEIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lk
ZW50aWZpZXI7IH0KKworICAgIGJvb2wgaXNSb290Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNS
b290Tm9kZTsgfQorICAgIHZvaWQgc2V0SXNSb290Tm9kZShib29sIHZhbHVlKQorICAgIHsKKyAg
ICAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICAgICAgbV9pc1Jvb3ROb2RlID0gdmFs
dWU7CisgICAgfQorCisgICAgdm9pZCBzZXRQYXJlbnQoQVhJRCBwYXJlbnQpCisgICAgeworICAg
ICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgICAgICBtX3BhcmVudCA9IHBhcmVudDsK
KyAgICB9CisgICAgQVhJRCBwYXJlbnQoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudDsgfQorCisg
ICAgdm9pZCBhcHBlbmRDaGlsZChBWElEKTsKKyAgICBjb25zdCBWZWN0b3I8QVhJRD4mIGNoaWxk
cmVuKCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZHJlbjsgfTsKKworI2lmIFBMQVRGT1JNKENPQ09B
KQorICAgIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKCkgY29uc3QgeyBy
ZXR1cm4gbV93cmFwcGVyLmdldCgpOyB9CisgICAgdm9pZCBzZXRXcmFwcGVyKFdlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKSB7IG1fd3JhcHBlciA9IHdyYXBwZXI7IH0KKyNl
bmRpZgorCitwcm90ZWN0ZWQ6CisgICAgQVhJc29sYXRlZFRyZWVOb2RlKCkgPSBkZWZhdWx0Owor
Citwcml2YXRlOgorICAgIEFYSXNvbGF0ZWRUcmVlTm9kZShjb25zdCBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0Jik7CisgICAgdm9pZCBpbml0aWFsaXplQXR0cmlidXRlRGF0YShjb25zdCBBY2Nlc3NpYmls
aXR5T2JqZWN0Jik7CisKKyAgICBib29sIGlzTWVkaWFDb250cm9sTGFiZWwoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OklzTWVkaWFD
b250cm9sTGFiZWwpOyB9CisgICAgYm9vbCBpc0F0dGFjaG1lbnQoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCk7
IH0KKyAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5Um9sZT4oaW50QXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWU6OlJvbGVWYWx1ZSkpOyB9CisKKyAgICB1c2luZyBBdHRyaWJ1dGVWYWx1ZVZh
cmlhbnQgPSBWYXJpYW50PHN0ZDo6bnVsbHB0cl90LCBTdHJpbmcsIGJvb2wsIGludCwgdW5zaWdu
ZWQsIGRvdWJsZT47CisgICAgdm9pZCBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZSwgQXR0cmli
dXRlVmFsdWVWYXJpYW50JiYsIGJvb2wgc2hvdWxkUmVtb3ZlID0gZmFsc2UpOworCisgICAgYm9v
bCBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGNvbnN0IFN0
cmluZyYgc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAgIGlu
dCBpbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgdW5zaWduZWQg
dW5zaWduZWRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgZG91Ymxl
IGRvdWJsZUF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKworICAgIEFYSUQg
bV9wYXJlbnQ7CisgICAgQVhJRCBtX2lkZW50aWZpZXI7CisgICAgYm9vbCBtX2lzUm9vdE5vZGU7
CisgICAgYm9vbCBtX2luaXRpYWxpemVkOworICAgIFZlY3RvcjxBWElEPiBtX2NoaWxkcmVuOwor
CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgUmV0YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyPiBtX3dyYXBwZXI7CisjZW5kaWYKKworICAgIEhhc2hNYXA8QVhQcm9wZXJ0eU5h
bWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCwgV1RGOjpJbnRIYXNoPEFYUHJvcGVydHlOYW1lPiwg
V1RGOjpTdHJvbmdFbnVtSGFzaFRyYWl0czxBWFByb3BlcnR5TmFtZT4+IG1fYXR0cmlidXRlTWFw
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKChBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCShyZXZpc2lvbiAyNDA0NzAp
CisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJ
VFkpICYmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWVOb2RlLmgiCiAj
aW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5VGFi
bGUuaCIKICNpbXBvcnQgIlJlbmRlck9iamVjdC5oIgpAQCAtMjM3LDYgKzIzOCwxNCBAQAogICAg
IG9iai0+c2V0V3JhcHBlcihudWxscHRyKTsKIH0KIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlzb2xhdGVkVHJl
ZU5vZGUoQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0LCBBWElzb2xhdGVkVHJlZU5vZGUmIG5v
ZGUsIEFYSXNvbGF0ZWRUcmVlSUQgdHJlZUlEKQoreworICAgIG9iamVjdC53cmFwcGVyKCkuaXNv
bGF0ZWRUcmVlSWRlbnRpZmllciA9IHRyZWVJRDsKKyAgICBub2RlLnNldFdyYXBwZXIob2JqZWN0
LndyYXBwZXIoKSk7Cit9CisjZW5kaWYKKwogdm9pZCBBWE9iamVjdENhY2hlOjphdHRhY2hXcmFw
cGVyKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaikKIHsKICAgICBSZXRhaW5QdHI8V2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXI+IHdyYXBwZXIgPSBhZG9wdE5TKFtbV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXIgYWxsb2NdIGluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDpvYmpdKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oCShyZXZpc2lvbiAy
NDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjksMTEgKzI5LDE4IEBA
CiAjaWZuZGVmIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZV9oCiAjZGVmaW5lIFdl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZV9oCiAKKyNpbmNsdWRlICJBWElzb2xhdGVk
VHJlZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlIDxDb3Jl
R3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdDsKKyNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKQorY2xhc3MgQVhJc29sYXRlZFRyZWVOb2RlOworI2VuZGlm
CiBzdHJ1Y3QgQWNjZXNzaWJpbGl0eVNlYXJjaENyaXRlcmlhOwogY2xhc3MgSW50UmVjdDsKIGNs
YXNzIEZsb2F0UG9pbnQ7CkBAIC00NCwxMyArNTEsMjYgQEAKIAogQGludGVyZmFjZSBXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgOiBOU09iamVjdCB7CiAgICAgV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU9iamVjdCogbV9vYmplY3Q7CisgICAgV2ViQ29yZTo6QVhJRCBfaWRlbnRpZmll
cjsKIH0KICAKIC0gKGlkKWluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDooV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU9iamVjdCopYXhPYmplY3Q7CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9J
U09MQVRFRF9UUkVFKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBSZWZQdHI8V2Vi
Q29yZTo6QVhJc29sYXRlZFRyZWVOb2RlPiBpc29sYXRlZFRyZWVOb2RlOworQHByb3BlcnR5IChu
b25hdG9taWMsIGFzc2lnbikgV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVJRCBpc29sYXRlZFRyZWVJ
ZGVudGlmaWVyOworI2VuZGlmCisKIC0gKHZvaWQpZGV0YWNoOworCitAcHJvcGVydHkgKG5vbmF0
b21pYywgYXNzaWduKSBXZWJDb3JlOjpBWElEIGlkZW50aWZpZXI7CisKIC0gKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3QqKWFjY2Vzc2liaWxpdHlPYmplY3Q7CiAtIChCT09MKXVwZGF0ZU9i
amVjdEJhY2tpbmdTdG9yZTsKIAorLy8gVGhpcyBjYW4gYmUgZWl0aGVyIGFuIEFjY2Vzc2liaWxp
dHlPYmplY3Qgb3IgYW4gQVhJc29sYXRlZFRyZWVOb2RlCistIChXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0SW50ZXJmYWNlKilheEJhY2tpbmdPYmplY3Q7CisKIC8vIFRoZXNlIGFyZSBwcmUt
Zml4ZWQgd2l0aCBiYXNlIHNvIHRoYXQgQXBwS2l0IGRvZXMgbm90IGVuZCB1cCBjYWxsaW5nIGlu
dG8gdGhlc2UgZGlyZWN0bHkgKGJ5cGFzc2luZyBzYWZldHkgY2hlY2tzKS4KIC0gKE5TU3RyaW5n
ICopYmFzZUFjY2Vzc2liaWxpdHlUaXRsZTsKIC0gKE5TU3RyaW5nICopYmFzZUFjY2Vzc2liaWxp
dHlEZXNjcmlwdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJh
c2UubW0JKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
bWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkod29ya2luZyBjb3B5KQpA
QCAtMzEsMTAgKzMxLDEzIEBACiAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAKKyNpbXBvcnQg
IkFYSXNvbGF0ZWRUcmVlLmgiCisjaW1wb3J0ICJBWElzb2xhdGVkVHJlZU5vZGUuaCIKICNpbXBv
cnQgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5o
IgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxpc3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlM
aXN0Qm94LmgiCisjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCiAjaW1w
b3J0ICJBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5
U2Nyb2xsVmlldy5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCIKQEAgLTI3
MCw2ICsyNzMsMTEgQEAKIAogQGltcGxlbWVudGF0aW9uIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQmFzZQogCitAc3ludGhlc2l6ZSBpZGVudGlmaWVyPV9pZGVudGlmaWVyOworI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitAc3ludGhlc2l6ZSBpc29sYXRlZFRy
ZWVJZGVudGlmaWVyPV9pc29sYXRlZFRyZWVJZGVudGlmaWVyOworI2VuZGlmCisKIC0gKGlkKWlu
aXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDooQWNjZXNzaWJpbGl0eU9iamVjdCopYXhPYmplY3QK
IHsKICAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKQEAgLTI3NiwxNiArMjg0LDM2IEBA
CiAgICAgICAgIHJldHVybiBuaWw7CiAKICAgICBtX29iamVjdCA9IGF4T2JqZWN0OworICAgIF9p
ZGVudGlmaWVyID0gbV9vYmplY3QtPmF4T2JqZWN0SUQoKTsKKwogICAgIHJldHVybiBzZWxmOwog
fQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKy0gKFJlZlB0cjxX
ZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU+KWlzb2xhdGVkVHJlZU5vZGUKK3sKKyAgICBSRUxF
QVNFX0FTU0VSVCghaXNNYWluVGhyZWFkKCkpOworICAgIHJldHVybiBBWElzb2xhdGVkVHJlZTo6
dHJlZUZvcklEKF9pc29sYXRlZFRyZWVJZGVudGlmaWVyKS0+bm9kZUZvcklEKF9pZGVudGlmaWVy
KTsKK30KKyNlbmRpZgorCiAtICh2b2lkKWRldGFjaAogewogICAgIG1fb2JqZWN0ID0gbnVsbHB0
cjsKKyAgICBfaWRlbnRpZmllciA9IDA7CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFKQorICAgIF9pc29sYXRlZFRyZWVJZGVudGlmaWVyID0gMDsKKyNlbmRpZgogfQog
CiAtIChCT09MKXVwZGF0ZU9iamVjdEJhY2tpbmdTdG9yZQogeworI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgUkVMRUFTRV9BU1NFUlQoIWlzTWFpblRocmVhZCgp
KTsKKyAgICBBWElzb2xhdGVkVHJlZTo6dHJlZUZvcklEKHNlbGYuaXNvbGF0ZWRUcmVlSWRlbnRp
ZmllciktPmFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKyAgICByZXR1cm4gX2lkZW50aWZpZXI7Cisj
ZWxzZQogICAgIC8vIENhbGxpbmcgdXBkYXRlQmFja2luZ1N0b3JlKCkgY2FuIGludmFsaWRhdGUg
dGhpcyBlbGVtZW50IHNvIHNlbGYgbXVzdCBiZSByZXRhaW5lZC4KICAgICAvLyBJZiBpdCBkb2Vz
IGJlY29tZSBpbnZhbGlkYXRlZCwgbV9vYmplY3Qgd2lsbCBiZSBuaWwuCiAgICAgQ0ZSZXRhaW4o
KF9fYnJpZGdlIENGVHlwZVJlZilzZWxmKTsKQEAgLTI5OSw2ICszMjcsNyBAQAogICAgICAgICBy
ZXR1cm4gTk87CiAgICAgCiAgICAgcmV0dXJuIFlFUzsKKyNlbmRpZgogfQogCiAtIChpZClhdHRh
Y2htZW50VmlldwpAQCAtMzYwLDExICszODksMjEgQEAKICAgICByZXR1cm4gW05TU3RyaW5nIHN0
cmluZ107CiB9CiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVjdCBzZWxmLmF4QmFja2luZ09iamVj
dAorLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSopYXhCYWNraW5nT2Jq
ZWN0Cit7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICByZXR1
cm4gc2VsZi5pc29sYXRlZFRyZWVOb2RlLmdldCgpOworI2Vsc2UKKyAgICByZXR1cm4gbV9vYmpl
Y3Q7CisjZW5kaWYKK30KKwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0eURlc2NyaXB0
aW9uCiB7CiAgICAgLy8gU3RhdGljIHRleHQgb2JqZWN0cyBzaG91bGQgbm90IGhhdmUgYSBkZXNj
cmlwdGlvbi4gSXRzIGNvbnRlbnQgaXMgY29tbXVuaWNhdGVkIGluIGl0cyBBWFZhbHVlLgogICAg
IC8vIE9uZSBleGNlcHRpb24gaXMgdGhlIG1lZGlhIGNvbnRyb2wgbGFiZWxzIHRoYXQgaGF2ZSBh
IHZhbHVlIGFuZCBhIGRlc2NyaXB0aW9uLiBUaG9zZSBhcmUgc2V0IHByb2dyYW1hdGljYWxseS4K
LSAgICBpZiAobV9vYmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0
aWNUZXh0ICYmICFtX29iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQorICAgIGlmIChfYXhC
YWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4
dCAmJiAhX2F4QmFja2luZ09iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQogICAgICAgICBy
ZXR1cm4gW05TU3RyaW5nIHN0cmluZ107CiAgICAgCiAgICAgVmVjdG9yPEFjY2Vzc2liaWxpdHlU
ZXh0PiB0ZXh0T3JkZXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9X
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1h
Yy5tbQkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9t
YWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAg
LTQxNiw2ICs0MTYsOCBAQAogI2RlZmluZSBOU0FjY2Vzc2liaWxpdHlSZWxhdGl2ZUZyYW1lQXR0
cmlidXRlIEAiQVhSZWxhdGl2ZUZyYW1lIgogI2VuZGlmCiAKKyNkZWZpbmUgX2F4QmFja2luZ09i
amVjdCBzZWxmLmF4QmFja2luZ09iamVjdAorCiBleHRlcm4gIkMiIEFYVUlFbGVtZW50UmVmIE5T
QWNjZXNzaWJpbGl0eUNyZWF0ZUFYVUlFbGVtZW50UmVmKGlkIGVsZW1lbnQpOwogCiBAaW1wbGVt
ZW50YXRpb24gV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIKQEAgLTE5NzAsMTAgKzE5NzIs
MTAgQEAKIC0gKE5TU3RyaW5nKilyb2xlCiB7CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJB
VElPTlNfQkVHSU4KLSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKQorICAgIGlmIChf
YXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKICAgICAgICAgcmV0dXJuIFtbc2VsZiBh
dHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0
eVJvbGVBdHRyaWJ1dGVdOwogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAot
ICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUgPSBtX29iamVjdC0+cm9sZVZhbHVlKCk7CisgICAg
QWNjZXNzaWJpbGl0eVJvbGUgcm9sZSA9IF9heEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpOwog
CiAgICAgaWYgKHJvbGUgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OkxhYmVsICYmIGlzPEFjY2Vzc2li
aWxpdHlMYWJlbD4oKm1fb2JqZWN0KSAmJiBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5TGFiZWw+KCpt
X29iamVjdCkuY29udGFpbnNPbmx5U3RhdGljVGV4dCgpKQogICAgICAgICByb2xlID0gQWNjZXNz
aWJpbGl0eVJvbGU6OlN0YXRpY1RleHQ7CkBAIC0yMDAwLDcgKzIwMDIsNyBAQAogICAgIGlmICht
X29iamVjdC0+aXNTZWFyY2hGaWVsZCgpKQogICAgICAgICByZXR1cm4gTlNBY2Nlc3NpYmlsaXR5
U2VhcmNoRmllbGRTdWJyb2xlOwogICAgIAotICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50
KCkpIHsKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAg
ICAgTlNWaWV3KiBhdHRhY2hWaWV3ID0gW3NlbGYgYXR0YWNobWVudFZpZXddOwogICAgICAgICBp
ZiAoW1thdHRhY2hWaWV3IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmpl
Y3Q6TlNBY2Nlc3NpYmlsaXR5U3Vicm9sZUF0dHJpYnV0ZV0pCiAgICAgICAgICAgICByZXR1cm4g
W2F0dGFjaFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVN1
YnJvbGVBdHRyaWJ1dGVdOwpAQCAtMjIxMSw3ICsyMjEzLDcgQEAKIAogICAgIEFMTE9XX0RFUFJF
Q0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgLy8gYXR0YWNobWVudHMgaGF2ZSB0aGUgQVhJ
bWFnZSByb2xlLCBidXQgYSBkaWZmZXJlbnQgc3Vicm9sZQotICAgIGlmIChtX29iamVjdC0+aXNB
dHRhY2htZW50KCkpCisgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKQog
ICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmli
dXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5Um9sZURlc2NyaXB0aW9uQXR0cmlidXRlXTsKICAgICBB
TExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIApAQCAtMjU2OCw3ICsyNTcwLDcgQEAK
ICAgICAgICAgcmV0dXJuIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDogbV9vYmplY3QtPmlzVmlz
aXRlZCgpXTsKICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBO
U0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5p
c0F0dGFjaG1lbnQoKSkgeworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2ht
ZW50KCkpIHsKICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3Np
YmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVRpdGxl
QXR0cmlidXRlXSkKICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3
XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1
dGVdOwogICAgICAgICB9CkBAIC0yNTg1LDcgKzI1ODcsNyBAQAogICAgIH0KICAgICAKICAgICBp
ZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlEZXNjcmlw
dGlvbkF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkg
eworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAg
ICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
TmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uQXR0cmlidXRl
XSkKICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3Np
YmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVd
OwogICAgICAgICB9CkBAIC0yNTkzLDcgKzI1OTUsNyBAQAogICAgIH0KICAgICAKICAgICBpZiAo
W2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJp
YnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAg
ICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlm
IChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNv
bnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
VmFsdWU6TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdOwogICAgICAgICB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyMTcsNiArODIxNywxMSBAQAog
CiAgICAgcmV0dXJuICptX2xvZ2dlcjsKIH0KKyAgICAKK09wdGlvbmFsPHVpbnQ2NF90PiBEb2N1
bWVudDo6cGFnZUlEKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZS0+bG9hZGVyKCkuY2xp
ZW50KCkucGFnZUlEKCk7Cit9CiAKIHZvaWQgRG9jdW1lbnQ6Omhhc1N0b3JhZ2VBY2Nlc3MoUmVm
PERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJ
KHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NDgsNiArNjQ4LDcgQEAKICAgICBXRUJDT1JFX0VYUE9SVCBBWE9iamVj
dENhY2hlKiBheE9iamVjdENhY2hlKCkgY29uc3Q7CiAgICAgdm9pZCBjbGVhckFYT2JqZWN0Q2Fj
aGUoKTsKIAorICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBwYWdlSUQoKSBjb25zdDsKICAgICAvLyB0
byBnZXQgdmlzdWFsbHkgb3JkZXJlZCBoZWJyZXcgYW5kIGFyYWJpYyBwYWdlcyByaWdodAogICAg
IHZvaWQgc2V0VmlzdWFsbHlPcmRlcmVkKCk7CiAgICAgYm9vbCB2aXN1YWxseU9yZGVyZWQoKSBj
b25zdCB7IHJldHVybiBtX3Zpc3VhbGx5T3JkZXJlZDsgfQpJbmRleDogU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9u
IDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTktMDEtMjUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxl
LmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJl
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJp
bGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tOgorICAgICAgICAoLVtXS0FjY2Vzc2liaWxpdHlXZWJQ
YWdlT2JqZWN0QmFzZSBhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXJdKToKKwogMjAxOS0w
MS0yNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBpT1M6IFNw
bGl0IGtleWJvYXJkIHNob3VsZCBub3Qgc2hyaW5rIHZpc3VhbFZpZXdwb3J0LmhlaWdodApJbmRl
eDogU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4
IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19Q
TEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExF
X1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BB
WTsKQEAgLTQwNyw0ICs0MDksNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhU
KSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJ
VElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZ
UEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01P
REVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFD
VElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVO
QUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09C
U0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09E
RV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xB
WU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xF
R0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRB
TE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNF
X1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9M
UykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hB
TkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRT
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikg
JChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5B
QkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJ
TElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BB
WV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQ
TElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVO
VFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklN
RU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FU
VFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVH
QUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xf
TUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RP
T0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElD
UykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNf
RUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJN
RVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxp
dHlXZWJQYWdlT2JqZWN0QmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5oCShyZXZp
c2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tB
Y2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyAr
MzIsOSBAQAogCiBAaW50ZXJmYWNlIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlIDog
TlNPYmplY3QgewogICAgIFdlYktpdDo6V2ViUGFnZSogbV9wYWdlOworICAgIHVpbnQ2NF90IG1f
cGFnZUlEOwogICAgIGlkIG1fcGFyZW50OworICAgIGJvb2wgbV9oYXNQbHVnaW47CiB9CiAKIC0g
KHZvaWQpc2V0V2ViUGFnZTooV2ViS2l0OjpXZWJQYWdlKilwYWdlOwpJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RC
YXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQkocmV2aXNpb24gMjQwNDcwKQor
KysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdl
YlBhZ2VPYmplY3RCYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW1w
b3J0ICJXS1NoYXJlZEFQSUNhc3QuaCIKICNpbXBvcnQgIldLU3RyaW5nLmgiCiAjaW1wb3J0ICJX
S1N0cmluZ0NGLmgiCisjaW1wb3J0IDxXZWJDb3JlL0FYSXNvbGF0ZWRUcmVlLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRG9jdW1lbnQuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvRnJhbWUuaD4KQEAgLTQ3LDMzICs0OCw3OSBAQAogCiBAaW1wbGVt
ZW50YXRpb24gV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UKIAotLSAoaWQpYWNjZXNz
aWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyCistIChXZWJDb3JlOjpBWE9iamVjdENhY2hlKilheE9i
amVjdENhY2hlCiB7Ci0gICAgaWYgKCFXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphY2Nlc3NpYmls
aXR5RW5hYmxlZCgpKQotICAgICAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjplbmFibGVBY2Nl
c3NpYmlsaXR5KCk7Ci0KLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIG5pbDsKLSAg
ICAKLSAgICBOU09iamVjdCogbWFpbkZyYW1lUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXIgPSBtX3BhZ2UtPmFjY2Vzc2liaWxpdHlPYmplY3RGb3JNYWluRnJhbWVQbHVnaW4oKTsKLSAg
ICBpZiAobWFpbkZyYW1lUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIpCi0gICAgICAg
IHJldHVybiBtYWluRnJhbWVQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKLQogICAg
IFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBtX3BhZ2UtPmNvcmVQYWdlKCk7CiAgICAgaWYgKCFwYWdl
KQogICAgICAgICByZXR1cm4gbmlsOwotICAgIAogICAgIFdlYkNvcmU6OkZyYW1lJiBjb3JlID0g
cGFnZS0+bWFpbkZyYW1lKCk7CiAgICAgaWYgKCFjb3JlLmRvY3VtZW50KCkpCiAgICAgICAgIHJl
dHVybiBuaWw7CisKKyAgICByZXR1cm4gY29yZS5kb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCk7
Cit9CisKKy0gKGlkKWFjY2Vzc2liaWxpdHlQbHVnaW5PYmplY3QKK3sKKyAgICBhdXRvIHJldHJp
ZXZlQmxvY2sgPSBbJnNlbGZdKCkgLT4gaWQgeworICAgICAgICBpZCBheFBsdWdpbiA9IG5pbDsK
KyAgICAgICAgYXV0byBkaXNwYXRjaEJsb2NrID0gWyZheFBsdWdpbiwgJnNlbGZdIHsKKyAgICAg
ICAgICAgIGlmIChzZWxmLT5tX3BhZ2UpCisgICAgICAgICAgICAgICAgYXhQbHVnaW4gPSBzZWxm
LT5tX3BhZ2UtPmFjY2Vzc2liaWxpdHlPYmplY3RGb3JNYWluRnJhbWVQbHVnaW4oKTsKKyAgICAg
ICAgfTsKKworICAgICAgICBpZiAoaXNNYWluVGhyZWFkKCkpCisgICAgICAgICAgICBkaXNwYXRj
aEJsb2NrKCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgY2FsbE9uTWFpblRocmVhZEFu
ZFdhaXQoWyZkaXNwYXRjaEJsb2NrXSB7CisgICAgICAgICAgICAgICAgZGlzcGF0Y2hCbG9jaygp
OworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGF4UGx1Z2luOwor
ICAgIH07CiAgICAgCi0gICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogY2FjaGUgPSBjb3JlLmRv
Y3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKTsKLSAgICBpZiAoIWNhY2hlKQotICAgICAgICByZXR1
cm4gbmlsOwotICAgIAotICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiByb290
ID0gY2FjaGUtPnJvb3RPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIHJvb3QtPndyYXBwZXIoKTsK
LSAgICAKKyAgICByZXR1cm4gcmV0cmlldmVCbG9jaygpOworfQorCistIChpZClhY2Nlc3NpYmls
aXR5Um9vdE9iamVjdFdyYXBwZXIKK3sKKyAgICBpZiAoIVdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6
OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCisgICAgICAgIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6
OmVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKKworICAgIGlmIChtX2hhc1BsdWdpbikKKyAgICAgICAg
cmV0dXJuIHNlbGYuYWNjZXNzaWJpbGl0eVBsdWdpbk9iamVjdDsKKworI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgYXV0byBnZW5lcmF0ZUJsb2NrID0gWyZdIHsK
KyAgICAgICAgYXV0byBkaXNwYXRjaEJsb2NrID0gWyZzZWxmXSB7CisgICAgICAgICAgICBpZiAo
YXV0byBjYWNoZSA9IFtzZWxmIGF4T2JqZWN0Q2FjaGVdKQorICAgICAgICAgICAgICAgIGNhY2hl
LT5nZW5lcmF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKTsKKyAgICAgICAgfTsKKworICAg
ICAgICBpZiAoaXNNYWluVGhyZWFkKCkpCisgICAgICAgICAgICBkaXNwYXRjaEJsb2NrKCk7Cisg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgY2FsbE9uTWFpblRocmVhZEFuZFdhaXQoWyZkaXNw
YXRjaEJsb2NrXSB7CisgICAgICAgICAgICAgICAgZGlzcGF0Y2hCbG9jaygpOworICAgICAgICAg
ICAgfSk7CisgICAgICAgIH0KKyAgICB9OworCisgICAgYXV0byB0cmVlID0gQVhJc29sYXRlZFRy
ZWU6OnRyZWVGb3JQYWdlSUQobV9wYWdlSUQpOworICAgIGlmICghdHJlZSkKKyAgICAgICAgZ2Vu
ZXJhdGVCbG9jaygpOworCisgICAgaWYgKCh0cmVlID0gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQ
YWdlSUQobV9wYWdlSUQpKSkgeworICAgICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKKyAg
ICAgICAgdHJlZS0+YXBwbHlQZW5kaW5nQ2hhbmdlcygpOworICAgICAgICByZXR1cm4gdHJlZS0+
cm9vdE5vZGUoKS0+d3JhcHBlcigpOworICAgIH0KKyNlbHNlCisgICAgaWYgKEFYT2JqZWN0Q2Fj
aGUqIGNhY2hlID0gW3NlbGYgYXhPYmplY3RDYWNoZV0pIHsKKyAgICAgICAgaWYgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3QqIHJvb3QgPSBjYWNoZS0+cm9vdE9iamVjdCgpKQorICAgICAg
ICAgICAgcmV0dXJuIHJvb3QtPndyYXBwZXIoKTsKKyAgICB9CisjZW5kaWYKICAgICByZXR1cm4g
bmlsOwogfQogCkBAIC04MCw2ICsxMjcsMTQgQEAKIC0gKHZvaWQpc2V0V2ViUGFnZTooV2ViUGFn
ZSopcGFnZQogewogICAgIG1fcGFnZSA9IHBhZ2U7CisgICAgCisgICAgaWYgKHBhZ2UpIHsKKyAg
ICAgICAgbV9wYWdlSUQgPSBwYWdlLT5wYWdlSUQoKTsKKyAgICAgICAgbV9oYXNQbHVnaW4gPSBw
YWdlLT5hY2Nlc3NpYmlsaXR5T2JqZWN0Rm9yTWFpbkZyYW1lUGx1Z2luKCk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgbV9wYWdlSUQgPSAwOworICAgICAgICBtX2hhc1BsdWdpbiA9IGZhbHNlOwor
ICAgIH0KIH0KIAogLSAodm9pZClzZXRSZW1vdGVQYXJlbnQ6KGlkKXBhcmVudApJbmRleDogU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTktMDEtMjUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAg
ICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2Eu
CisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwog
MjAxOS0wMS0yNCAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgQWQgQ2xpY2sgQXR0cmlidXRpb24gYXMgYW4gaW50ZXJuYWwvZXhwZXJpbWVudGFsIGZl
YXR1cmUKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyNDA0NzAp
CisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFC
TEVfQVBQTEVfUEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwog
RU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQ
TEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDcsNCArNDA5
LDQgQEAKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BB
WSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNT
SU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVO
VF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVS
TUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJ
Q0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQ
SSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElf
U1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5B
QkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9T
VFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9X
RUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNG
T1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJF
RSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNU
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9D
U1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NT
X1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJL
X01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRF
UkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAk
KEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9O
X09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRf
Q09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxF
X0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxF
X0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9N
QUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RB
TkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09V
UkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdF
X0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZP
TlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVF
TikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQo
RU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvY21h
a2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2NtYWtlL1dlYktp
dEZlYXR1cmVzLmNtYWtlCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvY21ha2UvV2ViS2l0
RmVhdHVyZXMuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTE5Myw2ICsxOTMsNyBAQAogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HICJUb2dnbGUgc21vb3Ro
IHNjcm9sbGluZyIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUyAiVG9nZ2xlIFNwZWVjaCBTeW50aGVzaXMgQVBJIHN1cHBvcnQiIFBS
SVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TUEVMTENIRUNLICJU
b2dnbGUgU3BlbGxjaGVja2luZyBzdXBwb3J0IChyZXF1aXJlcyBFbmNoYW50KSIgUFJJVkFURSBP
RkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfU1RBVElD
X1RSRUUgIlRvZ2dsZSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlIHN1cHBvcnQiIFBSSVZBVEUg
T0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TVFJFQU1TX0FQSSAiVG9nZ2xl
IFN0cmVhbXMgQVBJIHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX1NWR19GT05UUyAiVG9nZ2xlIFNWRyBGb250cyBzdXBwb3J0IiBQUklWQVRFIE9O
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTiAiVG9nZ2xlIHRlbGVwaG9uZSBudW1iZXIgZGV0ZWN0aW9uIHN1cHBvcnQiIFBSSVZBVEUg
T0ZGKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjQwNDcwKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTktMDEtMjUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkg
dHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkz
MzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTI0ICBSeWFuIEhhZGRhZCAg
PHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBtYWNPUyBKU0MgYm90IGNv
bmZpZ3VyYXRpb25zCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDQ3MCkK
KysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwogRU5BQkxFX0FQ
UExFX1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJM
RV9BUFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxFX0FQUExFX1BB
WV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA3LDQgKzQwOSw0IEBA
CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
NCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NT
U19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJ
T05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVf
S0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9D
VVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNF
X0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dP
UktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9X
RUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFN
SU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BV
KSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQo
RU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BB
SU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBF
RF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RF
X0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJ
T04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFC
TEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNF
UlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVf
QVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlP
VVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdB
Q1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxP
TkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9V
U0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMp
ICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5E
TEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQo
RU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
R0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360271</attachid>
            <date>2019-01-26 23:33:38 -0800</date>
            <delta_ts>2019-01-27 00:49:35 -0800</delta_ts>
            <desc>landing patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>106577</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE5LTAxLTI1ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDcyMDMyOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBO
aXdhLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisKIDIwMTktMDEtMjQgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIHVzYWdlIG9mIGludGVybmFsIG1hY3JvIGZyb20gcHJpdmF0ZSBoZWFk
ZXIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
Zwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
R18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwog
CitFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVf
UEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQ
UExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lw
aG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDcsNCArNDA5LDQgQEAKIAog
RU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NP
TklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlC
T0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RP
TV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VS
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFC
TEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
VklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElD
UykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9S
VEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdf
QVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQo
RU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19M
T09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJ
TkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09N
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NT
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9G
QVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVS
KSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRS
SUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9G
T1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJT
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFC
TEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dF
QkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAko
cmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy93
ZWJzb2NrZXRzIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3dlYnZyIgogICAgICIke1dF
QkNPUkVfRElSfS9hY2Nlc3NpYmlsaXR5IgorICAgICIke1dFQkNPUkVfRElSfS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZSIKICAgICAiJHtXRUJDT1JFX0RJUn0vYW5pbWF0aW9uIgogICAgICIk
e1dFQkNPUkVfRElSfS9iaW5kaW5ncyIKICAgICAiJHtXRUJDT1JFX0RJUn0vYmluZGluZ3MvanMi
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3OCBAQAorMjAxOS0wMS0yNSAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2Ug
YSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAz
Mjk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBJbiBv
cmRlciB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIHdoZW4gcmVxdWVzdGluZyB0aGUgYWNjZXNzaWJp
bGl0eSBoaWVyYXJjaHksIHdlIGludHJvZHVjZSB0aGUgaWRlYSBvZiBhICJzdGF0aWMgYWNjZXNz
aWJpbGl0eSB0cmVlIiB3aGljaCAKKyAgICAgICAgY291bGQgYmUgYWNjZXNzZWQgb24gYSBkaWZm
ZXJlbnQgdGhyZWFkIGJ5IGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXMuCisgICAgICAgIFRoYXQgaXMg
YWNjb21wbGlzaGVkIGJ5IHN0b3JpbmcgYWxsIHRoZSBkYXRhIG5lZWRlZCB0byBhbnN3ZXIgYWNj
ZXNzaWJpbGl0eSBhdHRyaWJ1dGUgcXVlcmllcyBpbiBhIHN0YXRpYyBvYmplY3QgdGhhdCBtaXJy
b3JzIHRoZSAKKyAgICAgICAgImxpdmUiIEFjY2Vzc2liaWxpdHlPYmplY3RzICh3aGljaCBpbnRl
cmFjdCB3aXRoIGJvdGggRE9NIGFuZCBSZW5kZXIgdHJlZXMpLgorICAgICAgICBUaGVzZSBzdGF0
aWMgb2JqZWN0cyBhcmUgZ2VuZXJhbGx5IGNyZWF0ZWQgYWZ0ZXIgbGF5b3V0IGlzIGRvbmUgYW5k
IGZpbmFsIHRhc2tzIGFyZSBiZWluZyBwZXJmb3JtZWQuIFRoZXkgYXJlIHRoZW4gc3RvcmVkIGlu
IHRoZSBzdGF0aWMgdHJlZSAKKyAgICAgICAgcmVwcmVzZW50YXRpb24gYW5kIGFibGUgdG8gYmUg
cmVhZCBmcm9tIGFueXdoZXJlLgorICAgICAgICBUYWN0aWNhbGx5IHRoaXMgaXMgZG9uZSB3aXRo
IEFYSXNvbGF0ZWRUcmVlTm9kZXMgaW5zaWRlIG9mIGFuIEFYSXNvbGF0ZWRUcmVlLiBUaGUgVHJl
ZU5vZGVzIGltcGxlbWVudCBhbiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHNoYXJlZCAK
KyAgICAgICAgd2l0aCBBY2Nlc3NpYmlsaXR5T2JqZWN0LgorICAgICAgICBUaGlzIGFsbG93cyB0
aGUgd3JhcHBlcnMgdG8gYWNjZXNzIGVpdGhlciBvbmUgZGVwZW5kaW5nIG9uIGNvbmRpdGlvbnMg
YW5kIHBsYXRmb3JtcyB3aXRob3V0IHNpZ25pZmljYW50IGNvZGUgZHVwbGljYXRpb24gb3IgcmUt
b3JnYW5pemF0aW9uLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
Y3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5VHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjpnZW5lcmF0ZVN0YXRpY0FjY2Vzc2liaWxpdHlUcmVlSWZOZWVkZWQpOgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oOiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZTogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNv
bGF0ZWRUcmVlOjp0cmVlQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6
OkFYSXNvbGF0ZWRUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJRCk6CisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6dHJlZUZvclBhZ2VJRCk6CisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6bm9kZUZvcklEIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkFYSXNvbGF0ZWRUcmVlOjpyb290Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xh
dGVkVHJlZTo6cmVtb3ZlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6
YXBwZW5kTm9kZUNoYW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmFw
cGx5UGVuZGluZ0NoYW5nZXMpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRy
ZWU6OnRyZWVJZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xh
dGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwOiBBZGRlZC4KKyAgICAgICAgICAgIFRvIG5v
dGU6IHdlIGRvbid0IG1hcmsgdGhlIGF0dHJpYnV0ZSBtYXAgY29uc3QgYmVjYXVzZSBldmVuIHRo
b3VnaCBhdHRyaWJ1dGVzIGRvbid0IGNoYW5nZSBhZnRlciBpbml0aWFsIGNyZWF0aW9uLAorICAg
ICAgICAgICAgd2UgbWF5IGNvcHkgYW4gZXhpc3Rpbmcgbm9kZSBhbmQgcmVwbGFjZSBzcGVjaWZp
YyB2YWx1ZXMuCisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OkFYSXNvbGF0
ZWRUcmVlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmluaXRpYWxpemVBdHRy
aWJ1dGVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlTm9kZTo6c2V0UHJv
cGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpkb3VibGVBdHRy
aWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6
OnVuc2lnbmVkQXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29s
YXRlZFRyZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6QVhJc29sYXRlZFRyZWVOb2RlOjpzdHJpbmdBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU6OmludEF0dHJpYnV0ZVZhbHVlIGNvbnN0
KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5v
ZGUuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlzb2xhdGVk
VHJlZU5vZGUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQmFzZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJCYXNlIGluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDpdKToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGlzb2xhdGVkVHJlZU5vZGVd
KToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlIGRldGFjaF0p
OgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgdXBkYXRlT2Jq
ZWN0QmFja2luZ1N0b3JlXSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQmFzZSBheEJhY2tpbmdPYmplY3RdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJCYXNlIGJhc2VBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25dKToKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbToK
KyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgcm9sZV0pOgorICAgICAg
ICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBzdWJyb2xlXSk6CisgICAgICAgICgt
W1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHJvbGVEZXNjcmlwdGlvbl0pOgorICAgICAg
ICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
VmFsdWU6XSk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpwYWdlSUQgY29uc3QpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorCiAy
MDE5LTAxLTI0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xG
Q11bQkZDXVtNYXJnaW5Db2xsYXBzaW5nXSBSZWZhY3RvciBNYXJnaW5Db2xsYXBzZTo6dXBkYXRl
Q29sbGFwc2VkTWFyZ2luQWZ0ZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyNDA0NzApCisr
KyBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
d29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElOR18k
KFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
X2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HOwogCitF
TkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0gOworCiBFTkFCTEVfQVBQTEVfUEFZ
ID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX0FQUExF
X1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9u
ZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00MDcsNCArNDA5LDQgQEAKIAogRU5B
QkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FS
RF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9Q
Uk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNf
VklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
V0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5B
QkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVf
QVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09Q
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdf
QVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAk
KEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNU
X0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAk
KEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJV
VEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRI
TikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFT
U0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQo
RU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0yNSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXph
Y2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbnRyb2R1Y2UgaXNvbGF0ZWQgYWNjZXNzaWJp
bGl0eSB0cmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTMzNDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3MjAzMjk1PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTI0ICBFcmljIENhcmxzb24gIDxlcmljLmNh
cmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFNpbGVuY2UgTWVkaWFQbGF5ZXIgY29t
cGlsZSB3YXJuaW5ncwpJbmRleDogU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQwNDcwKQor
KysgU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HID0gJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsKIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkdfY29jb2F0b3VjaCA9IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7
CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBM
RV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9QQVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
QVBQTEVfUEFZX2lwaG9uZW9zID0gRU5BQkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlf
aXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0FQUExFX1BBWTsKQEAgLTQwNyw0ICs0MDksNCBAQAog
CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQp
ICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1Nf
Q09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9O
UykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tF
WUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VT
VE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9M
T0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JL
RVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VC
X1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlO
R19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkg
JChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVO
QUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9D
X0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlO
VElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURf
T00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9D
U1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9O
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxF
X0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05F
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExF
UlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVO
QUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVf
V0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZp
c2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtNDA1LDYgKzQwNSw4IEBACiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlLmNw
cAogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZUl0ZW0uY3BwCiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmNwcAorYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWUuY3BwCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
VHJlZU5vZGUuY3BwCiAKIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuY3BwCiBhbmltYXRpb24v
QW5pbWF0aW9uUGxheWJhY2tFdmVudC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtNjk2LDYgKzY5Niw3IEBACiAJCTI2RjlBODM4MThBMDQ2QUMwMEFFQjg4QSAvKiBW
aWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmln
dXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9y
dENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTE0
RTMwODFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNBQjVBNDQw
MDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OworCQkyOTM2QkY1QzIx
RDY5RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2OTk5RTAw
NEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZFMDA2N0FD
RjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMjk0ODlGQzcxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2liaWxpdHlT
Y3JvbGxWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCAq
LzsgfTsKIAkJMjk3QkUzRDUxNkMwM0MwODAwMzMxNkJEIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhl
c2lzVXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyNTI3Q0M5MTE2QkY4QkExMDA5RERBQzAgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNV
dHRlcmFuY2UuaCAqLzsgfTsKQEAgLTcxNyw2ICs3MTgsOCBAQAogCQkyOUE4MTI0MzBGQkI5QzFE
MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjI1MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nl
c3NpYmlsaXR5TGlzdEJveC5oICovOyB9OwogCQkyOUE4MTI0OTBGQkI5Q0E5MDA1MTAyOTMgLyog
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTI0NTBGQkI5Q0E5MDA1MTAyOTMgLyogV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjlBQ0IyMTIxNDNFNzEyODAwNkJDQTVGIC8qIEFj
Y2Vzc2liaWxpdHlNb2NrT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyOUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1v
Y2tPYmplY3QuaCAqLzsgfTsKKwkJMjlBRTIxMkQyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0
ZWRUcmVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
OUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyOUFFMjEzNTIxQUJBNDhBMDA4
NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRl
ZFRyZWVOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMjlEN0JDRkExNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUQ3QkNG
OTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLzsgfTsKIAkJ
MjlGQUY0QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUZBRjRCNTE5
NUFCMDg5MDBBNTIyREMgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyQjM2NUM4NDE1MjUxMTlF
MDA5MUQyN0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2MDAwREJCQ0Q4IC8qIFJlbmRlclNW
R0VsbGlwc2UuaCAqLzsgfTsKQEAgLTY1ODQsNiArNjU4Nyw3IEBACiAJCTI4REI5QkM3MjAyMEVB
MDQwMEU1NEEwNyAvKiBQZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyOTE0RTMwNTFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFj
aG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJp
bGl0eUF0dGFjaG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTE0RTMw
NjFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9i
amVjdEludGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNFQUUxRTEz
NTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNz
aWJpbGl0eVNjcm9sbFZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNj
ZXNzaWJpbGl0eVNjcm9sbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjk0
OTg2ODExOTUzNDE5NDAwNzJEMkJEIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFVuZG9JbnNlcnRpb25N
YXJrdXBNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NjMxLDYgKzY2MzUs
MTAgQEAKIAkJMjlBODEyNDcwRkJCOUNBOTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVNYWMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBWE9iamVjdENhY2hlTWFj
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFDQjIxMTE0M0U3MTI4MDA2QkNB
NUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMjlBQ0IyMTMxNDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlNb2NrT2Jq
ZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxp
dHlNb2NrT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBRTIxMkIy
MUFCOUVFQjAwODY5MjgzIC8qIEFYSXNvbGF0ZWRUcmVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFYSXNv
bGF0ZWRUcmVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTJDMjFBQjlF
RUIwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBWElz
b2xhdGVkVHJlZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTMzMjFB
QkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVhJ
c29sYXRlZFRyZWVOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5QUUyMTM0
MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQVhJc29sYXRlZFRyZWVOb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMjlEN0JDRjUxNDQ0QUY1ODAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlEN0JDRjkxNDQ0QUY3
RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTI5RTA0QTI3QkVEMkY4MUY5OEU5MDIyQiAvKiBKU0JlZm9yZVVubG9h
ZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQmVmb3JlVW5sb2Fk
RXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjU0LDYgKzE3MjYyLDcg
QEAKIAkJMjlBODEyMDQwRkJCOUI0MTAwNTEwMjkzIC8qIGFjY2Vzc2liaWxpdHkgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTI5QUUyMTI5MjFBQjlFQ0Iw
MDg2OTI4MyAvKiBpc29sYXRlZHRyZWUgKi8sCiAJCQkJQUFBNzI4RUYxNkQxRDhCQzAwRDNCQkM2
IC8qIGlvcyAqLywKIAkJCQkyOUE4MTIwNTBGQkI5QjUyMDA1MTAyOTMgLyogbWFjICovLAogCQkJ
CTI5ODFDQTlEMTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuY3BwICov
LApAQCAtMTcyOTIsNiArMTczMDEsNyBAQAogCQkJCTI5ODU3MDkzMTVDQzUzMkQwMDYzNTVDRCAv
KiBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oICovLAogCQkJCTI5ODFDQUE1MTMxODIyRUMwMEQx
MkYyQSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAqLywKIAkJCQkyOUE4MTIxODBGQkI5QzFE
MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdC5oICovLAorCQkJCTI5MzZCRjVBMjFENjk5
OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggKi8sCiAJCQkJQTQw
OUM5ODIxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5j
cHAgKi8sCiAJCQkJQTQwOUM5ODMxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxpdHlQcm9n
cmVzc0luZGljYXRvci5oICovLAogCQkJCTI5ODFDQUE2MTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAqLywKQEAgLTE3MzQ3LDYgKzE3MzU3LDE3IEBACiAJ
CQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJMjlBRTIx
MjkyMUFCOUVDQjAwODY5MjgzIC8qIGlzb2xhdGVkdHJlZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdy
b3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMjlBRTIxMkIyMUFCOUVFQjAwODY5MjgzIC8qIEFY
SXNvbGF0ZWRUcmVlLmggKi8sCisJCQkJMjlBRTIxMkMyMUFCOUVFQjAwODY5MjgzIC8qIEFYSXNv
bGF0ZWRUcmVlLmNwcCAqLywKKwkJCQkyOUFFMjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29s
YXRlZFRyZWVOb2RlLmggKi8sCisJCQkJMjlBRTIxMzQyMUFCQTQ4QTAwODY5MjgzIC8qIEFYSXNv
bGF0ZWRUcmVlTm9kZS5jcHAgKi8sCisJCQkpOworCQkJcGF0aCA9IGlzb2xhdGVkdHJlZTsKKwkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTJEMDYyMTQ2MURBNjM5RUMwMEE3RkIy
NiAvKiBsZWdhY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApA
QCAtMjk5NzIsNiArMjk5OTMsNyBAQAogCQkJCTFBRTJBQTk4MEExQ0REMkQwMEI0MkIyNSAvKiBK
U0hUTUxJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU3RTk3MEExQTgzRTMw
MDdGQjhDNSAvKiBKU0hUTUxJbnB1dEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNkIw
OTU2MUY1RjM0RDkwMDNDMzcwMiAvKiBKU0hUTUxJbnB1dEVsZW1lbnRFbnRyaWVzQVBJLmggaW4g
SGVhZGVycyAqLywKKwkJCQkyOTM2QkY1QzIxRDY5RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0
eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTYxNDhBNzkxMkU0MUUzQjAw
NDRBNzg0IC8qIEpTSFRNTEtleWdlbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTJB
QjIyMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMYWJlbEVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBRTJBQjI0MEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMZWdlbmRFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTMxNDI3LDYgKzMxNDQ5LDcgQEAKIAkJCQk1MTQwNUM4OTE5MEIw
MTQ0MDA3NTRGOTQgLyogU2VsZWN0aW9uUmVjdEdhdGhlcmVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFNDRCNEJCNDE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0MzJEM0ZFODE4QTg2NTg0MDBEN0RDMDMgLyogU2VsZWN0b3JDaGVja2VyVGVz
dEZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBRTIxMzUyMUFCQTQ4QTAwODY5Mjgz
IC8qIEFYSXNvbGF0ZWRUcmVlTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjZCOTk5OTcxODA0
RDU0MjAwRDAxMTIxIC8qIFNlbGVjdG9yQ29tcGlsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQx
NTA3MTU4MTY4NTA2NzMwMEMzQzdCMyAvKiBTZWxlY3RvckZpbHRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDMxMDdCRTIxOENDMTlERTAwQ0MxOEU4IC8qIFNlbGVjdG9yUHNldWRvVHlwZU1hcC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0zMjM2Miw2ICszMjM4NSw3IEBACiAJCQkJOTc3RTJFMEYxMkYw
RkM5QzAwQzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTU0MTZGRTYxODgxMEVGODAwMDlGQzVGIC8qIFlvdVR1YmVFbWJlZFNoYWRvd0VsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTdBNTUxNUY1MTkxODMwQTMwMDk2ODdEMiAvKiBZb3VUdWJlUGx1
Z2luUmVwbGFjZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5QUUyMTJEMjFBQjlFRUIwMDg2
OTI4MyAvKiBBWElzb2xhdGVkVHJlZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1MzczNTMxMzdC
NjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkocmV2aXNpb24gMjQwNDcwKQor
KysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzIsNiArMzIsOCBAQAogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgog
CisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWUuaCIKKyNpbmNsdWRlICJBWElzb2xhdGVkVHJlZU5v
ZGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaCIKICNpbmNsdWRlICJBY2Nl
c3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFSSUFHcmlk
Um93LmgiCkBAIC0xMTUsNiArMTE3LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsK
IAorY29uc3QgQVhJRCBJbnZhbGlkQVhJRCA9IDA7CisKIC8vIFBvc3QgdmFsdWUgY2hhbmdlIG5v
dGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxkcyBvciBlbGVtZW50cyBjb250YWluZWQgaW4g
cGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRlcnZhbCB0byB0aHdhcnQgYW5hbHlzaXMgb2Yg
dHlwaW5nIGNhZGVuY2UKIHN0YXRpYyBjb25zdCBTZWNvbmRzIGFjY2Vzc2liaWxpdHlQYXNzd29y
ZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwgeyAyNV9tcyB9Owogc3RhdGljIGNvbnN0
IFNlY29uZHMgYWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2
YWwgeyAyMF9tcyB9OwpAQCAtNzIzLDYgKzcyNywxMCBAQAogICAgIG9iamVjdC0+c2V0QVhPYmpl
Y3RJRCgwKTsKIAogICAgIG1faWRzSW5Vc2UucmVtb3ZlKGF4SUQpOworI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgaWYgKGF1dG8gcGFnZUlEID0gbV9kb2N1bWVu
dC5wYWdlSUQoKSkKKyAgICAgICAgQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQoKnBhZ2VJ
RCktPnJlbW92ZU5vZGUoYXhJRCk7CisjZW5kaWYKIAogICAgIEFTU0VSVChtX29iamVjdHMuc2l6
ZSgpID49IG1faWRzSW5Vc2Uuc2l6ZSgpKTsKIH0KQEAgLTI5MDcsNiArMjkxNSw0MCBAQAogICAg
IG1fZGVmZXJyZWRGb2N1c2VkTm9kZUNoYW5nZS5jbGVhcigpOwogfQogICAgIAorI2lmIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitSZWY8QVhJc29sYXRlZFRyZWVOb2RlPiBB
WE9iamVjdENhY2hlOjpjcmVhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlSGllcmFyY2h5KEFj
Y2Vzc2liaWxpdHlPYmplY3QmIG9iamVjdCwgQVhJRCBwYXJlbnRJRCwgQVhJc29sYXRlZFRyZWUm
IHRyZWUsIFZlY3RvcjxSZWY8QVhJc29sYXRlZFRyZWVOb2RlPj4mIG5vZGVDaGFuZ2VzKQorewor
ICAgIGF1dG8gaXNvbGF0ZWRUcmVlTm9kZSA9IEFYSXNvbGF0ZWRUcmVlTm9kZTo6Y3JlYXRlKG9i
amVjdCk7CisgICAgbm9kZUNoYW5nZXMuYXBwZW5kKGlzb2xhdGVkVHJlZU5vZGUuY29weVJlZigp
KTsKKworICAgIGlzb2xhdGVkVHJlZU5vZGUtPnNldFBhcmVudChwYXJlbnRJRCk7CisgICAgYXNz
b2NpYXRlSXNvbGF0ZWRUcmVlTm9kZShvYmplY3QsIGlzb2xhdGVkVHJlZU5vZGUsIHRyZWUudHJl
ZUlkZW50aWZpZXIoKSk7CisKKyAgICBmb3IgKGF1dG8gY2hpbGQgOiBvYmplY3QuY2hpbGRyZW4o
KSkgeworICAgICAgICBhdXRvIHN0YXRpY0NoaWxkID0gY3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmls
aXR5VHJlZUhpZXJhcmNoeSgqY2hpbGQsIGlzb2xhdGVkVHJlZU5vZGUtPmlkZW50aWZpZXIoKSwg
dHJlZSwgbm9kZUNoYW5nZXMpOworICAgICAgICBpc29sYXRlZFRyZWVOb2RlLT5hcHBlbmRDaGls
ZChzdGF0aWNDaGlsZC0+aWRlbnRpZmllcigpKTsKKyAgICB9CisKKyAgICByZXR1cm4gaXNvbGF0
ZWRUcmVlTm9kZTsKK30KKyAgICAKK1JlZjxBWElzb2xhdGVkVHJlZT4gQVhPYmplY3RDYWNoZTo6
Z2VuZXJhdGVJc29sYXRlZEFjY2Vzc2liaWxpdHlUcmVlKCkKK3sKKyAgICBSRUxFQVNFX0FTU0VS
VChpc01haW5UaHJlYWQoKSk7CisKKyAgICBhdXRvIHRyZWUgPSBBWElzb2xhdGVkVHJlZTo6dHJl
ZUZvclBhZ2VJRCgqbV9kb2N1bWVudC5wYWdlSUQoKSk7CisgICAgaWYgKCF0cmVlKQorICAgICAg
ICB0cmVlID0gQVhJc29sYXRlZFRyZWU6OmNyZWF0ZVRyZWVGb3JQYWdlSUQoKm1fZG9jdW1lbnQu
cGFnZUlEKCkpOworICAgIAorICAgIFZlY3RvcjxSZWY8QVhJc29sYXRlZFRyZWVOb2RlPj4gbm9k
ZUNoYW5nZXM7CisgICAgYXV0byByb290ID0gY3JlYXRlSXNvbGF0ZWRBY2Nlc3NpYmlsaXR5VHJl
ZUhpZXJhcmNoeSgqcm9vdE9iamVjdCgpLCBJbnZhbGlkQVhJRCwgKnRyZWUsIG5vZGVDaGFuZ2Vz
KTsKKyAgICByb290LT5zZXRJc1Jvb3ROb2RlKHRydWUpOworICAgIHRyZWUtPmFwcGVuZE5vZGVD
aGFuZ2VzKG5vZGVDaGFuZ2VzKTsKKworICAgIHJldHVybiBtYWtlUmVmKCp0cmVlKTsKK30KKyNl
bmRpZgorICAgIAogdm9pZCBBWE9iamVjdENhY2hlOjpkZWZlclJlY29tcHV0ZUlzSWdub3JlZElm
TmVlZGVkKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgaWYgKCFub2RlQW5kUmVuZGVyZXJBcmVW
YWxpZChlbGVtZW50KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5oCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOSBAQAog
CiAjcHJhZ21hIG9uY2UKIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWUuaCIKKyNlbmRpZgogI2luY2x1ZGUgIkFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50LmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2lu
Y2x1ZGUgIlJhbmdlLmgiCkBAIC0zOSw2ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitjbGFzcyBBWElzb2xh
dGVkVHJlZU5vZGU7CisjZW5kaWYKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTEFyZWFFbGVt
ZW50OwogY2xhc3MgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ7CkBAIC0xODAsNiArMTg2LDEz
IEBACiAgICAgdm9pZCBkZWZlckF0dHJpYnV0ZUNoYW5nZUlmTmVlZGVkKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBFbGVtZW50Kik7CiAgICAgdm9pZCByZWNvbXB1dGVJc0lnbm9yZWQoUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlcik7CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KQorICAgIFdFQkNPUkVfRVhQT1JUIFJlZjxBWElzb2xhdGVkVHJlZT4gZ2VuZXJhdGVJc29sYXRl
ZEFjY2Vzc2liaWxpdHlUcmVlKCk7CisKKyAgICB2b2lkIGFzc29jaWF0ZUlzb2xhdGVkVHJlZU5v
ZGUoQWNjZXNzaWJpbGl0eU9iamVjdCYsIEFYSXNvbGF0ZWRUcmVlTm9kZSYsIEFYSXNvbGF0ZWRU
cmVlSUQpOworICAgIFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+IGNyZWF0ZUlzb2xhdGVkQWNjZXNz
aWJpbGl0eVRyZWVIaWVyYXJjaHkoQWNjZXNzaWJpbGl0eU9iamVjdCYsIEFYSUQsIEFYSXNvbGF0
ZWRUcmVlJiwgVmVjdG9yPFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+PiYpOworI2VuZGlmCisgICAg
CiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lk
IGVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBk
aXNhYmxlQWNjZXNzaWJpbGl0eSgpOwpAQCAtMTg3LDYgKzIwMCw3IEBACiAgICAgLy8gRW5oYW5j
ZWQgdXNlciBpbnRlcmZhY2UgYWNjZXNzaWJpbGl0eSBjYW4gYmUgdG9nZ2xlZCBieSB0aGUgYXNz
aXN0aXZlIHRlY2hub2xvZ3kuCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0RW5o
YW5jZWRVc2VySW50ZXJmYWNlQWNjZXNzaWJpbGl0eShib29sIGZsYWcpOwogICAgIAorICAgIC8v
IE5vdGU6IHRoZXNlIG1heSBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRocmVhZCBjb25jdXJy
ZW50bHkgYXMgb3RoZXIgcmVhZGVycy4KICAgICBzdGF0aWMgYm9vbCBhY2Nlc3NpYmlsaXR5RW5h
YmxlZCgpIHsgcmV0dXJuIGdBY2Nlc3NpYmlsaXR5RW5hYmxlZDsgfQogICAgIHN0YXRpYyBib29s
IGFjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VFbmFibGVkKCkgeyByZXR1cm4gZ0Fj
Y2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VFbmFibGVkOyB9CiAjZWxzZQpJbmRleDog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmgJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNw
cmFnbWEgb25jZQogCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgog
I2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgpAQCAtODksMTU3ICs5MCw2IEBACiBjbGFz
cyBTY3JvbGxWaWV3OwogY2xhc3MgV2lkZ2V0OwogCi10eXBlZGVmIHVuc2lnbmVkIEFYSUQ7Ci0K
LWVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUgewotICAgIEFubm90YXRpb24gPSAxLAotICAg
IEFwcGxpY2F0aW9uLAotICAgIEFwcGxpY2F0aW9uQWxlcnQsCi0gICAgQXBwbGljYXRpb25BbGVy
dERpYWxvZywKLSAgICBBcHBsaWNhdGlvbkRpYWxvZywKLSAgICBBcHBsaWNhdGlvbkdyb3VwLAot
ICAgIEFwcGxpY2F0aW9uTG9nLAotICAgIEFwcGxpY2F0aW9uTWFycXVlZSwKLSAgICBBcHBsaWNh
dGlvblN0YXR1cywKLSAgICBBcHBsaWNhdGlvblRleHRHcm91cCwKLSAgICBBcHBsaWNhdGlvblRp
bWVyLAotICAgIEF1ZGlvLAotICAgIEJsb2NrcXVvdGUsCi0gICAgQnJvd3NlciwKLSAgICBCdXN5
SW5kaWNhdG9yLAotICAgIEJ1dHRvbiwKLSAgICBDYW52YXMsCi0gICAgQ2FwdGlvbiwKLSAgICBD
ZWxsLAotICAgIENoZWNrQm94LAotICAgIENvbG9yV2VsbCwKLSAgICBDb2x1bW4sCi0gICAgQ29s
dW1uSGVhZGVyLAotICAgIENvbWJvQm94LAotICAgIERlZmluaXRpb24sCi0gICAgRGVzY3JpcHRp
b25MaXN0LAotICAgIERlc2NyaXB0aW9uTGlzdFRlcm0sCi0gICAgRGVzY3JpcHRpb25MaXN0RGV0
YWlsLAotICAgIERldGFpbHMsCi0gICAgRGlyZWN0b3J5LAotICAgIERpc2Nsb3N1cmVUcmlhbmds
ZSwKLSAgICBEaXYsCi0gICAgRG9jdW1lbnQsCi0gICAgRG9jdW1lbnRBcnRpY2xlLAotICAgIERv
Y3VtZW50TWF0aCwKLSAgICBEb2N1bWVudE5vdGUsCi0gICAgRHJhd2VyLAotICAgIEVkaXRhYmxl
VGV4dCwKLSAgICBGZWVkLAotICAgIEZpZ3VyZSwKLSAgICBGb290ZXIsCi0gICAgRm9vdG5vdGUs
Ci0gICAgRm9ybSwKLSAgICBHcmFwaGljc0RvY3VtZW50LAotICAgIEdyYXBoaWNzT2JqZWN0LAot
ICAgIEdyYXBoaWNzU3ltYm9sLAotICAgIEdyaWQsCi0gICAgR3JpZENlbGwsCi0gICAgR3JvdXAs
Ci0gICAgR3Jvd0FyZWEsCi0gICAgSGVhZGluZywKLSAgICBIZWxwVGFnLAotICAgIEhvcml6b250
YWxSdWxlLAotICAgIElnbm9yZWQsCi0gICAgSW5saW5lLAotICAgIEltYWdlLAotICAgIEltYWdl
TWFwLAotICAgIEltYWdlTWFwTGluaywKLSAgICBJbmNyZW1lbnRvciwKLSAgICBMYWJlbCwKLSAg
ICBMYW5kbWFya0Jhbm5lciwKLSAgICBMYW5kbWFya0NvbXBsZW1lbnRhcnksCi0gICAgTGFuZG1h
cmtDb250ZW50SW5mbywKLSAgICBMYW5kbWFya0RvY1JlZ2lvbiwKLSAgICBMYW5kbWFya01haW4s
Ci0gICAgTGFuZG1hcmtOYXZpZ2F0aW9uLAotICAgIExhbmRtYXJrUmVnaW9uLAotICAgIExhbmRt
YXJrU2VhcmNoLAotICAgIExlZ2VuZCwKLSAgICBMaW5rLAotICAgIExpc3QsCi0gICAgTGlzdEJv
eCwKLSAgICBMaXN0Qm94T3B0aW9uLAotICAgIExpc3RJdGVtLAotICAgIExpc3RNYXJrZXIsCi0g
ICAgTWFyaywKLSAgICBNYXRoRWxlbWVudCwKLSAgICBNYXR0ZSwKLSAgICBNZW51LAotICAgIE1l
bnVCYXIsCi0gICAgTWVudUJ1dHRvbiwKLSAgICBNZW51SXRlbSwKLSAgICBNZW51SXRlbUNoZWNr
Ym94LAotICAgIE1lbnVJdGVtUmFkaW8sCi0gICAgTWVudUxpc3RQb3B1cCwKLSAgICBNZW51TGlz
dE9wdGlvbiwKLSAgICBPdXRsaW5lLAotICAgIFBhcmFncmFwaCwKLSAgICBQb3BVcEJ1dHRvbiwK
LSAgICBQcmUsCi0gICAgUHJlc2VudGF0aW9uYWwsCi0gICAgUHJvZ3Jlc3NJbmRpY2F0b3IsCi0g
ICAgUmFkaW9CdXR0b24sCi0gICAgUmFkaW9Hcm91cCwKLSAgICBSb3dIZWFkZXIsCi0gICAgUm93
LAotICAgIFJvd0dyb3VwLAotICAgIFJ1YnlCYXNlLAotICAgIFJ1YnlCbG9jaywKLSAgICBSdWJ5
SW5saW5lLAotICAgIFJ1YnlSdW4sCi0gICAgUnVieVRleHQsCi0gICAgUnVsZXIsCi0gICAgUnVs
ZXJNYXJrZXIsCi0gICAgU2Nyb2xsQXJlYSwKLSAgICBTY3JvbGxCYXIsCi0gICAgU2VhcmNoRmll
bGQsCi0gICAgU2hlZXQsCi0gICAgU2xpZGVyLAotICAgIFNsaWRlclRodW1iLAotICAgIFNwaW5C
dXR0b24sCi0gICAgU3BpbkJ1dHRvblBhcnQsCi0gICAgU3BsaXRHcm91cCwKLSAgICBTcGxpdHRl
ciwKLSAgICBTdGF0aWNUZXh0LAotICAgIFN1bW1hcnksCi0gICAgU3dpdGNoLAotICAgIFN5c3Rl
bVdpZGUsCi0gICAgU1ZHUm9vdCwKLSAgICBTVkdUZXh0LAotICAgIFNWR1RTcGFuLAotICAgIFNW
R1RleHRQYXRoLAotICAgIFRhYkdyb3VwLAotICAgIFRhYkxpc3QsCi0gICAgVGFiUGFuZWwsCi0g
ICAgVGFiLAotICAgIFRhYmxlLAotICAgIFRhYmxlSGVhZGVyQ29udGFpbmVyLAotICAgIFRleHRB
cmVhLAotICAgIFRleHRHcm91cCwKLSAgICBUZXJtLAotICAgIFRpbWUsCi0gICAgVHJlZSwKLSAg
ICBUcmVlR3JpZCwKLSAgICBUcmVlSXRlbSwKLSAgICBUZXh0RmllbGQsCi0gICAgVG9nZ2xlQnV0
dG9uLAotICAgIFRvb2xiYXIsCi0gICAgVW5rbm93biwKLSAgICBVc2VySW50ZXJmYWNlVG9vbHRp
cCwKLSAgICBWYWx1ZUluZGljYXRvciwKLSAgICBWaWRlbywKLSAgICBXZWJBcHBsaWNhdGlvbiwK
LSAgICBXZWJBcmVhLAotICAgIFdlYkNvcmVMaW5rLAotICAgIFdpbmRvdywKLX07Ci0KIGVudW0g
Y2xhc3MgQWNjZXNzaWJpbGl0eVRleHRTb3VyY2UgewogICAgIEFsdGVybmF0aXZlLAogICAgIENo
aWxkcmVuLApAQCAtNDkxLDcgKzM0MSw3IEBACiAgICAgCiBib29sIG5vZGVIYXNQcmVzZW50YXRp
b25Sb2xlKE5vZGUqKTsKICAgICAKLWNsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3QgOiBwdWJsaWMg
UmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0PiB7CitjbGFzcyBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0IDogcHVibGljIFJlZkNvdW50ZWQ8QWNjZXNzaWJpbGl0eU9iamVjdD4sIHB1YmxpYyBBY2Nl
c3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlIHsKIHByb3RlY3RlZDoKICAgICBBY2Nlc3NpYmlsaXR5
T2JqZWN0KCkgPSBkZWZhdWx0OwogICAgIApAQCAtMTE1OSw3ICsxMDA5LDEwIEBACiAgICAgQWNj
ZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhIG1faXNJZ25vcmVkRnJvbVBhcmVudERh
dGEgeyB9OwogICAgIGJvb2wgbV9jaGlsZHJlbkRpcnR5IHsgZmFsc2UgfTsKICAgICBib29sIG1f
c3VidHJlZURpcnR5IHsgZmFsc2UgfTsKLQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xB
VEVEX1RSRUUpCisgICAgYm9vbCBtX2lzb2xhdGVkVHJlZU5vZGVJbml0aWFsaXplZCB7IGZhbHNl
IH07CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHNldElzSWdub3JlZEZyb21QYXJlbnREYXRhKEFj
Y2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSYgZGF0YSkgeyBtX2lzSWdub3JlZEZy
b21QYXJlbnREYXRhID0gZGF0YTsgfQogCiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVBY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
SW50ZXJmYWNlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCit0eXBlZGVmIHVuc2lnbmVkIEFYSUQ7CitleHRlcm4gY29uc3QgQVhJRCBJbnZhbGlkQVhJ
RDsKKworZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7CisgICAgQW5ub3RhdGlvbiA9IDEs
CisgICAgQXBwbGljYXRpb24sCisgICAgQXBwbGljYXRpb25BbGVydCwKKyAgICBBcHBsaWNhdGlv
bkFsZXJ0RGlhbG9nLAorICAgIEFwcGxpY2F0aW9uRGlhbG9nLAorICAgIEFwcGxpY2F0aW9uR3Jv
dXAsCisgICAgQXBwbGljYXRpb25Mb2csCisgICAgQXBwbGljYXRpb25NYXJxdWVlLAorICAgIEFw
cGxpY2F0aW9uU3RhdHVzLAorICAgIEFwcGxpY2F0aW9uVGV4dEdyb3VwLAorICAgIEFwcGxpY2F0
aW9uVGltZXIsCisgICAgQXVkaW8sCisgICAgQmxvY2txdW90ZSwKKyAgICBCcm93c2VyLAorICAg
IEJ1c3lJbmRpY2F0b3IsCisgICAgQnV0dG9uLAorICAgIENhbnZhcywKKyAgICBDYXB0aW9uLAor
ICAgIENlbGwsCisgICAgQ2hlY2tCb3gsCisgICAgQ29sb3JXZWxsLAorICAgIENvbHVtbiwKKyAg
ICBDb2x1bW5IZWFkZXIsCisgICAgQ29tYm9Cb3gsCisgICAgRGVmaW5pdGlvbiwKKyAgICBEZXNj
cmlwdGlvbkxpc3QsCisgICAgRGVzY3JpcHRpb25MaXN0VGVybSwKKyAgICBEZXNjcmlwdGlvbkxp
c3REZXRhaWwsCisgICAgRGV0YWlscywKKyAgICBEaXJlY3RvcnksCisgICAgRGlzY2xvc3VyZVRy
aWFuZ2xlLAorICAgIERpdiwKKyAgICBEb2N1bWVudCwKKyAgICBEb2N1bWVudEFydGljbGUsCisg
ICAgRG9jdW1lbnRNYXRoLAorICAgIERvY3VtZW50Tm90ZSwKKyAgICBEcmF3ZXIsCisgICAgRWRp
dGFibGVUZXh0LAorICAgIEZlZWQsCisgICAgRmlndXJlLAorICAgIEZvb3RlciwKKyAgICBGb290
bm90ZSwKKyAgICBGb3JtLAorICAgIEdyYXBoaWNzRG9jdW1lbnQsCisgICAgR3JhcGhpY3NPYmpl
Y3QsCisgICAgR3JhcGhpY3NTeW1ib2wsCisgICAgR3JpZCwKKyAgICBHcmlkQ2VsbCwKKyAgICBH
cm91cCwKKyAgICBHcm93QXJlYSwKKyAgICBIZWFkaW5nLAorICAgIEhlbHBUYWcsCisgICAgSG9y
aXpvbnRhbFJ1bGUsCisgICAgSWdub3JlZCwKKyAgICBJbmxpbmUsCisgICAgSW1hZ2UsCisgICAg
SW1hZ2VNYXAsCisgICAgSW1hZ2VNYXBMaW5rLAorICAgIEluY3JlbWVudG9yLAorICAgIExhYmVs
LAorICAgIExhbmRtYXJrQmFubmVyLAorICAgIExhbmRtYXJrQ29tcGxlbWVudGFyeSwKKyAgICBM
YW5kbWFya0NvbnRlbnRJbmZvLAorICAgIExhbmRtYXJrRG9jUmVnaW9uLAorICAgIExhbmRtYXJr
TWFpbiwKKyAgICBMYW5kbWFya05hdmlnYXRpb24sCisgICAgTGFuZG1hcmtSZWdpb24sCisgICAg
TGFuZG1hcmtTZWFyY2gsCisgICAgTGVnZW5kLAorICAgIExpbmssCisgICAgTGlzdCwKKyAgICBM
aXN0Qm94LAorICAgIExpc3RCb3hPcHRpb24sCisgICAgTGlzdEl0ZW0sCisgICAgTGlzdE1hcmtl
ciwKKyAgICBNYXJrLAorICAgIE1hdGhFbGVtZW50LAorICAgIE1hdHRlLAorICAgIE1lbnUsCisg
ICAgTWVudUJhciwKKyAgICBNZW51QnV0dG9uLAorICAgIE1lbnVJdGVtLAorICAgIE1lbnVJdGVt
Q2hlY2tib3gsCisgICAgTWVudUl0ZW1SYWRpbywKKyAgICBNZW51TGlzdFBvcHVwLAorICAgIE1l
bnVMaXN0T3B0aW9uLAorICAgIE91dGxpbmUsCisgICAgUGFyYWdyYXBoLAorICAgIFBvcFVwQnV0
dG9uLAorICAgIFByZSwKKyAgICBQcmVzZW50YXRpb25hbCwKKyAgICBQcm9ncmVzc0luZGljYXRv
ciwKKyAgICBSYWRpb0J1dHRvbiwKKyAgICBSYWRpb0dyb3VwLAorICAgIFJvd0hlYWRlciwKKyAg
ICBSb3csCisgICAgUm93R3JvdXAsCisgICAgUnVieUJhc2UsCisgICAgUnVieUJsb2NrLAorICAg
IFJ1YnlJbmxpbmUsCisgICAgUnVieVJ1biwKKyAgICBSdWJ5VGV4dCwKKyAgICBSdWxlciwKKyAg
ICBSdWxlck1hcmtlciwKKyAgICBTY3JvbGxBcmVhLAorICAgIFNjcm9sbEJhciwKKyAgICBTZWFy
Y2hGaWVsZCwKKyAgICBTaGVldCwKKyAgICBTbGlkZXIsCisgICAgU2xpZGVyVGh1bWIsCisgICAg
U3BpbkJ1dHRvbiwKKyAgICBTcGluQnV0dG9uUGFydCwKKyAgICBTcGxpdEdyb3VwLAorICAgIFNw
bGl0dGVyLAorICAgIFN0YXRpY1RleHQsCisgICAgU3VtbWFyeSwKKyAgICBTd2l0Y2gsCisgICAg
U3lzdGVtV2lkZSwKKyAgICBTVkdSb290LAorICAgIFNWR1RleHQsCisgICAgU1ZHVFNwYW4sCisg
ICAgU1ZHVGV4dFBhdGgsCisgICAgVGFiR3JvdXAsCisgICAgVGFiTGlzdCwKKyAgICBUYWJQYW5l
bCwKKyAgICBUYWIsCisgICAgVGFibGUsCisgICAgVGFibGVIZWFkZXJDb250YWluZXIsCisgICAg
VGV4dEFyZWEsCisgICAgVGV4dEdyb3VwLAorICAgIFRlcm0sCisgICAgVGltZSwKKyAgICBUcmVl
LAorICAgIFRyZWVHcmlkLAorICAgIFRyZWVJdGVtLAorICAgIFRleHRGaWVsZCwKKyAgICBUb2dn
bGVCdXR0b24sCisgICAgVG9vbGJhciwKKyAgICBVbmtub3duLAorICAgIFVzZXJJbnRlcmZhY2VU
b29sdGlwLAorICAgIFZhbHVlSW5kaWNhdG9yLAorICAgIFZpZGVvLAorICAgIFdlYkFwcGxpY2F0
aW9uLAorICAgIFdlYkFyZWEsCisgICAgV2ViQ29yZUxpbmssCisgICAgV2luZG93LAorfTsKKwor
Y2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSB7CitwdWJsaWM6CisgICAgdmlydHVh
bCB+QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSgpID0gZGVmYXVsdDsKKworICAgIHZpcnR1
YWwgYm9vbCBpc01lZGlhQ29udHJvbExhYmVsKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgQWNj
ZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBp
c0F0dGFjaG1lbnQoKSBjb25zdCA9IDA7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZFRyZWUuaCIKKwor
I2luY2x1ZGUgIkFYSXNvbGF0ZWRUcmVlTm9kZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0
aWMgTG9jayBzX2NhY2hlTG9jazsKKworc3RhdGljIHVuc2lnbmVkIG5ld1RyZWVJRCgpCit7Cisg
ICAgc3RhdGljIHVuc2lnbmVkIHNfY3VycmVudFRyZWVJRCA9IDA7CisgICAgcmV0dXJuICsrc19j
dXJyZW50VHJlZUlEOworfQorCitIYXNoTWFwPEFYSXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElzb2xh
dGVkVHJlZT4+JiBBWElzb2xhdGVkVHJlZTo6dHJlZVBhZ2VDYWNoZSgpCit7CisgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8QVhJc29sYXRlZFRyZWVJRCwgUmVmPEFYSXNvbGF0ZWRU
cmVlPj4+IG1hcDsKKyAgICByZXR1cm4gbWFwOworfQorCitIYXNoTWFwPEFYSXNvbGF0ZWRUcmVl
SUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+JiBBWElzb2xhdGVkVHJlZTo6dHJlZUlEQ2FjaGUoKQor
eworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPEFYSXNvbGF0ZWRUcmVlSUQsIFJl
ZjxBWElzb2xhdGVkVHJlZT4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KKworQVhJc29sYXRl
ZFRyZWU6OkFYSXNvbGF0ZWRUcmVlKCkKKyAgICA6IG1fdHJlZUlEKG5ld1RyZWVJRCgpKQorewor
fQorCitBWElzb2xhdGVkVHJlZTo6fkFYSXNvbGF0ZWRUcmVlKCkgPSBkZWZhdWx0OworCitSZWY8
QVhJc29sYXRlZFRyZWU+IEFYSXNvbGF0ZWRUcmVlOjpjcmVhdGUoKQoreworICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQVhJc29sYXRlZFRyZWUo
KSk7Cit9CisKK1JlZlB0cjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJ
RChBWElzb2xhdGVkVHJlZUlEIHRyZWVJRCkKK3sKKyAgICByZXR1cm4gdHJlZUlEQ2FjaGUoKS5n
ZXQodHJlZUlEKTsKK30KKworUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWElzb2xhdGVkVHJlZTo6Y3Jl
YXRlVHJlZUZvclBhZ2VJRCh1aW50NjRfdCBwYWdlSUQpCit7CisgICAgTG9ja0hvbGRlciBsb2Nr
ZXIoc19jYWNoZUxvY2spOworCisgICAgYXV0byBuZXdUcmVlID0gQVhJc29sYXRlZFRyZWU6OmNy
ZWF0ZSgpOworICAgIHRyZWVQYWdlQ2FjaGUoKS5zZXQocGFnZUlELCBuZXdUcmVlLmNvcHlSZWYo
KSk7CisgICAgdHJlZUlEQ2FjaGUoKS5zZXQobmV3VHJlZS0+dHJlZUlkZW50aWZpZXIoKSwgbmV3
VHJlZS5jb3B5UmVmKCkpOworICAgIHJldHVybiBuZXdUcmVlOworfQorCitSZWZQdHI8QVhJc29s
YXRlZFRyZWU+IEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKHVpbnQ2NF90IHBhZ2VJRCkK
K3sKKyAgICBMb2NrSG9sZGVyIGxvY2tlcihzX2NhY2hlTG9jayk7CisKKyAgICBpZiAoYXV0byB0
cmVlID0gdHJlZVBhZ2VDYWNoZSgpLmdldChwYWdlSUQpKQorICAgICAgICByZXR1cm4gbWFrZVJl
ZlB0cih0cmVlKTsKKworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QVhJc29sYXRl
ZFRyZWVOb2RlPiBBWElzb2xhdGVkVHJlZTo6bm9kZUZvcklEKEFYSUQgYXhJRCkgY29uc3QKK3sK
KyAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKKyAgICBpZiAoIWF4SUQpCisgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgIHJldHVybiBtX3JlYWRlclRocmVhZE5vZGVNYXAuZ2V0KGF4SUQp
OworfQorCitSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2RlPiBBWElzb2xhdGVkVHJlZTo6cm9vdE5v
ZGUoKQoreworICAgIHJldHVybiBub2RlRm9ySUQobV9yb290Tm9kZUlEKTsKK30KKwordm9pZCBB
WElzb2xhdGVkVHJlZTo6cmVtb3ZlTm9kZShBWElEIGF4SUQpCit7CisgICAgTG9ja0hvbGRlciBs
b2NrZXIobV9jaGFuZ2VMb2dMb2NrKTsKKyAgICBtX3BlbmRpbmdSZW1vdmFscy5hcHBlbmQoYXhJ
RCk7Cit9CisKK3ZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGVuZE5vZGVDaGFuZ2VzKFZlY3RvcjxS
ZWY8QVhJc29sYXRlZFRyZWVOb2RlPj4mIGxvZykKK3sKKyAgICBMb2NrSG9sZGVyIGxvY2tlciht
X2NoYW5nZUxvZ0xvY2spOworICAgIGZvciAoYXV0byYgbm9kZSA6IGxvZykKKyAgICAgICAgbV9w
ZW5kaW5nQXBwZW5kcy5hcHBlbmQobm9kZS5jb3B5UmVmKCkpOworfQorCit2b2lkIEFYSXNvbGF0
ZWRUcmVlOjphcHBseVBlbmRpbmdDaGFuZ2VzKCkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCghaXNN
YWluVGhyZWFkKCkpOworCisgICAgTG9ja0hvbGRlciBsb2NrZXIobV9jaGFuZ2VMb2dMb2NrKTsK
KyAgICBWZWN0b3I8UmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4+IGFwcGVuZENvcHk7CisgICAgc3Rk
Ojpzd2FwKGFwcGVuZENvcHksIG1fcGVuZGluZ0FwcGVuZHMpOworICAgIFZlY3RvcjxBWElEPiBy
ZW1vdmVDb3B5KHsgV1RGTW92ZShtX3BlbmRpbmdSZW1vdmFscykgfSk7CisgICAgbG9ja2VyLnVu
bG9ja0Vhcmx5KCk7CisKKyAgICBmb3IgKGF1dG8mIGl0ZW0gOiBhcHBlbmRDb3B5KSB7CisgICAg
ICAgIG1fcmVhZGVyVGhyZWFkTm9kZU1hcC5hZGQoaXRlbS0+aWRlbnRpZmllcigpLCBpdGVtLmNv
cHlSZWYoKSk7CisgICAgICAgIGlmIChpdGVtLT5pc1Jvb3ROb2RlKCkpCisgICAgICAgICAgICBt
X3Jvb3ROb2RlSUQgPSBpdGVtLT5pZGVudGlmaWVyKCk7CisgICAgfQorCisgICAgZm9yIChhdXRv
IGl0ZW0gOiByZW1vdmVDb3B5KQorICAgICAgICBtX3JlYWRlclRocmVhZE5vZGVNYXAucmVtb3Zl
KGl0ZW0pOworfQorICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUu
aAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisKKyNpbmNsdWRlICJB
WElzb2xhdGVkVHJlZU5vZGUuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQYWdlOworCit0eXBlZGVmIHVuc2lnbmVkIEFY
SXNvbGF0ZWRUcmVlSUQ7CisgICAgCitjbGFzcyBBWElzb2xhdGVkVHJlZSA6IHB1YmxpYyBUaHJl
YWRTYWZlUmVmQ291bnRlZDxBWElzb2xhdGVkVHJlZT4geworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEFYSXNvbGF0ZWRUcmVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPEFYSXNvbGF0ZWRUcmVlPiBjcmVhdGUoKTsKKyAgICB2aXJ0dWFsIH5B
WElzb2xhdGVkVHJlZSgpOworCisgICAgLy8gQ3JlYXRpb24gbXVzdCBoYXBwZW4gb24gbWFpbiB0
aHJlYWQuCisgICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZT4gY3JlYXRlVHJlZUZvclBhZ2VJ
RCh1aW50NjRfdCBwYWdlSUQpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8QVhJ
c29sYXRlZFRyZWU+IHRyZWVGb3JQYWdlSUQodWludDY0X3QgcGFnZUlEKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBzdGF0aWMgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiB0cmVlRm9ySUQoQVhJc29sYXRl
ZFRyZWVJRCk7CisKKyAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8QVhJc29sYXRlZFRyZWVOb2Rl
PiByb290Tm9kZSgpOworICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZU5vZGU+IG5vZGVGb3JJRChB
WElEKSBjb25zdDsKKworICAgIC8vIENhbGwgb24gbWFpbiB0aHJlYWQKKyAgICB2b2lkIGFwcGVu
ZE5vZGVDaGFuZ2VzKFZlY3RvcjxSZWY8QVhJc29sYXRlZFRyZWVOb2RlPj4mKTsKKyAgICB2b2lk
IHJlbW92ZU5vZGUoQVhJRCk7CisKKyAgICAvLyBDYWxsIG9uIEFYIHRocmVhZAorICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgYXBwbHlQZW5kaW5nQ2hhbmdlcygpOworCisgICAgQVhJc29sYXRlZFRy
ZWVJRCB0cmVlSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fdHJlZUlEOyB9CisKK3ByaXZh
dGU6CisgICAgQVhJc29sYXRlZFRyZWUoKTsKKworICAgIHN0YXRpYyBIYXNoTWFwPEFYSXNvbGF0
ZWRUcmVlSUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+JiB0cmVlSURDYWNoZSgpOworICAgIHN0YXRp
YyBIYXNoTWFwPEFYSXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+JiB0cmVlUGFn
ZUNhY2hlKCk7CisgICAgCisgICAgLy8gT25seSBhY2Nlc3Mgb24gQVggdGhyZWFkIHJlcXVlc3Rp
bmcgZGF0YS4KKyAgICBIYXNoTWFwPEFYSUQsIFJlZjxBWElzb2xhdGVkVHJlZU5vZGU+PiBtX3Jl
YWRlclRocmVhZE5vZGVNYXA7CisKKyAgICAvLyBXcml0dGVuIHRvIGJ5IG1haW4gdGhyZWFkIHVu
ZGVyIGxvY2ssIGFjY2Vzc2VkIGFuZCBhcHBsaWVkIGJ5IEFYIHRocmVhZC4KKyAgICBWZWN0b3I8
UmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4+IG1fcGVuZGluZ0FwcGVuZHM7CisgICAgVmVjdG9yPEFY
SUQ+IG1fcGVuZGluZ1JlbW92YWxzOworICAgIExvY2sgbV9jaGFuZ2VMb2dMb2NrOworCisgICAg
QVhJc29sYXRlZFRyZWVJRCBtX3RyZWVJRDsKKyAgICBBWElEIG1fcm9vdE5vZGVJRDsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZU5vZGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0
ZWRUcmVlTm9kZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDEyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9J
U09MQVRFRF9UUkVFKQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRl
ZFRyZWVOb2RlLmgiCisKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworQVhJc29sYXRlZFRyZWVOb2RlOjpBWElzb2xhdGVkVHJlZU5vZGUo
Y29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQorICAgIDogbV9pZGVudGlmaWVyKG9i
amVjdC5heE9iamVjdElEKCkpCisgICAgLCBtX2luaXRpYWxpemVkKGZhbHNlKQoreworICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgaW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEob2JqZWN0
KTsKKyNpZiAhQVNTRVJUX0RJU0FCTEVECisgICAgbV9pbml0aWFsaXplZCA9IHRydWU7CisjZW5k
aWYKK30KKworUmVmPEFYSXNvbGF0ZWRUcmVlTm9kZT4gQVhJc29sYXRlZFRyZWVOb2RlOjpjcmVh
dGUoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQoreworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IEFYSXNvbGF0ZWRUcmVlTm9kZShvYmplY3QpKTsKK30KKworQVhJc29sYXRlZFRy
ZWVOb2RlOjp+QVhJc29sYXRlZFRyZWVOb2RlKCkgPSBkZWZhdWx0OworCit2b2lkIEFYSXNvbGF0
ZWRUcmVlTm9kZTo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoY29uc3QgQWNjZXNzaWJpbGl0eU9i
amVjdCYgb2JqZWN0KQoreworICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpSb2xlVmFs
dWUsIHN0YXRpY19jYXN0PGludD4ob2JqZWN0LnJvbGVWYWx1ZSgpKSk7CisgICAgc2V0UHJvcGVy
dHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCwgb2JqZWN0LmlzQXR0YWNobWVudCgpKTsK
KyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNNZWRpYUNvbnRyb2xMYWJlbCwgb2Jq
ZWN0LmlzTWVkaWFDb250cm9sTGFiZWwoKSk7Cit9CisKK3ZvaWQgQVhJc29sYXRlZFRyZWVOb2Rl
OjpzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVl
VmFyaWFudCYmIHZhbHVlLCBib29sIHNob3VsZFJlbW92ZSkKK3sKKyAgICBBU1NFUlQoIW1faW5p
dGlhbGl6ZWQpOworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAgICBpZiAoc2hvdWxk
UmVtb3ZlKQorICAgICAgICBtX2F0dHJpYnV0ZU1hcC5yZW1vdmUocHJvcGVydHlOYW1lKTsKKyAg
ICBlbHNlCisgICAgICAgIG1fYXR0cmlidXRlTWFwLnNldChwcm9wZXJ0eU5hbWUsIHZhbHVlKTsK
K30KKwordm9pZCBBWElzb2xhdGVkVHJlZU5vZGU6OmFwcGVuZENoaWxkKEFYSUQgYXhJRCkKK3sK
KyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIG1fY2hpbGRyZW4uYXBwZW5kKGF4SUQp
OworfQorCitkb3VibGUgQVhJc29sYXRlZFRyZWVOb2RlOjpkb3VibGVBdHRyaWJ1dGVWYWx1ZShB
WFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IG1f
YXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRjaE9u
KHZhbHVlLCBbJl0gKGRvdWJsZSYgdHlwZWRWYWx1ZSkgeworICAgICAgICByZXR1cm4gdHlwZWRW
YWx1ZTsKKyAgICB9LCBbJl0gKGF1dG8mKSB7CisgICAgICAgIHJldHVybiAwLjA7CisgICAgfSk7
Cit9CisKK3Vuc2lnbmVkIEFYSXNvbGF0ZWRUcmVlTm9kZTo6dW5zaWduZWRBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9
IG1fYXR0cmlidXRlTWFwLmdldChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBXVEY6OnN3aXRj
aE9uKHZhbHVlLCBbJl0gKHVuc2lnbmVkJiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0
eXBlZFZhbHVlOworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fSk7Cit9CisKK2Jvb2wgQVhJc29sYXRlZFRyZWVOb2RlOjpib29sQXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUgPSBtX2F0
dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbih2
YWx1ZSwgWyZdIChib29sJiB0eXBlZFZhbHVlKSB7CisgICAgICAgIHJldHVybiB0eXBlZFZhbHVl
OworICAgIH0sIFsmXSAoYXV0byYpIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0pOwor
fQorCitjb25zdCBTdHJpbmcmIEFYSXNvbGF0ZWRUcmVlTm9kZTo6c3RyaW5nQXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUg
PSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0
Y2hPbih2YWx1ZSwgWyZdIChTdHJpbmcmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5
cGVkVmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gbnVsbEF0b20o
KTsKKyAgICB9KTsKK30KKworaW50IEFYSXNvbGF0ZWRUcmVlTm9kZTo6aW50QXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSBjb25zdAoreworICAgIGF1dG8gdmFsdWUg
PSBtX2F0dHJpYnV0ZU1hcC5nZXQocHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gV1RGOjpzd2l0
Y2hPbih2YWx1ZSwgWyZdIChpbnQmIHR5cGVkVmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHR5cGVk
VmFsdWU7CisgICAgfSwgWyZdIChhdXRvJikgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9KTsK
K30KKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgoQUND
RVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWVOb2Rl
LmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZFRyZWVOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjAg
QEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorCisjaW5j
bHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVm
Q291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKKyNpZiBQTEFURk9STShDT0NPQSkKK09C
SkNfQ0xBU1MgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI7CisjZW5kaWYKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0OworCitjbGFzcyBBWElz
b2xhdGVkVHJlZU5vZGUgZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFj
ZSwgcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEFYSXNvbGF0ZWRUcmVlTm9kZT4sIHB1Ymxp
YyBDYW5NYWtlV2Vha1B0cjxBWElzb2xhdGVkVHJlZU5vZGU+IHsKKworcHVibGljOgorICAgIGVu
dW0gY2xhc3MgQVhQcm9wZXJ0eU5hbWUgOiB1aW50OF90IHsKKyAgICAgICAgTm9uZSA9IDAsCisg
ICAgICAgIFJvbGVWYWx1ZSA9IDEsCisgICAgICAgIElzQXR0YWNobWVudCwKKyAgICAgICAgSXNN
ZWRpYUNvbnRyb2xMYWJlbCwKKyAgICB9OworCisgICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJl
ZU5vZGU+IGNyZWF0ZShjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisgICAgdmlydHVhbCB+
QVhJc29sYXRlZFRyZWVOb2RlKCk7CisKKyAgICBBWElEIGlkZW50aWZpZXIoKSBjb25zdCB7IHJl
dHVybiBtX2lkZW50aWZpZXI7IH0KKworICAgIGJvb2wgaXNSb290Tm9kZSgpIGNvbnN0IHsgcmV0
dXJuIG1faXNSb290Tm9kZTsgfQorICAgIHZvaWQgc2V0SXNSb290Tm9kZShib29sIHZhbHVlKQor
ICAgIHsKKyAgICAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICAgICAgbV9pc1Jvb3RO
b2RlID0gdmFsdWU7CisgICAgfQorCisgICAgdm9pZCBzZXRQYXJlbnQoQVhJRCBwYXJlbnQpCisg
ICAgeworICAgICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgICAgICBtX3BhcmVudCA9
IHBhcmVudDsKKyAgICB9CisgICAgQVhJRCBwYXJlbnQoKSBjb25zdCB7IHJldHVybiBtX3BhcmVu
dDsgfQorCisgICAgdm9pZCBhcHBlbmRDaGlsZChBWElEKTsKKyAgICBjb25zdCBWZWN0b3I8QVhJ
RD4mIGNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZHJlbjsgfTsKKworI2lmIFBMQVRG
T1JNKENPQ09BKQorICAgIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKCkg
Y29uc3QgeyByZXR1cm4gbV93cmFwcGVyLmdldCgpOyB9CisgICAgdm9pZCBzZXRXcmFwcGVyKFdl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKSB7IG1fd3JhcHBlciA9IHdyYXBw
ZXI7IH0KKyNlbmRpZgorCitwcm90ZWN0ZWQ6CisgICAgQVhJc29sYXRlZFRyZWVOb2RlKCkgPSBk
ZWZhdWx0OworCitwcml2YXRlOgorICAgIEFYSXNvbGF0ZWRUcmVlTm9kZShjb25zdCBBY2Nlc3Np
YmlsaXR5T2JqZWN0Jik7CisgICAgdm9pZCBpbml0aWFsaXplQXR0cmlidXRlRGF0YShjb25zdCBB
Y2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisKKyAgICBib29sIGlzTWVkaWFDb250cm9sTGFiZWwoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6
OklzTWVkaWFDb250cm9sTGFiZWwpOyB9CisgICAgYm9vbCBpc0F0dGFjaG1lbnQoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OklzQXR0
YWNobWVudCk7IH0KKyAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5Um9sZT4oaW50QXR0cmlidXRl
VmFsdWUoQVhQcm9wZXJ0eU5hbWU6OlJvbGVWYWx1ZSkpOyB9CisKKyAgICB1c2luZyBBdHRyaWJ1
dGVWYWx1ZVZhcmlhbnQgPSBWYXJpYW50PHN0ZDo6bnVsbHB0cl90LCBTdHJpbmcsIGJvb2wsIGlu
dCwgdW5zaWduZWQsIGRvdWJsZT47CisgICAgdm9pZCBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFt
ZSwgQXR0cmlidXRlVmFsdWVWYXJpYW50JiYsIGJvb2wgc2hvdWxkUmVtb3ZlID0gZmFsc2UpOwor
CisgICAgYm9vbCBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OworICAg
IGNvbnN0IFN0cmluZyYgc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0
OworICAgIGludCBpbnRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAg
dW5zaWduZWQgdW5zaWduZWRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7Cisg
ICAgZG91YmxlIGRvdWJsZUF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKKwor
ICAgIEFYSUQgbV9wYXJlbnQ7CisgICAgQVhJRCBtX2lkZW50aWZpZXI7CisgICAgYm9vbCBtX2lz
Um9vdE5vZGU7CisgICAgYm9vbCBtX2luaXRpYWxpemVkOworICAgIFZlY3RvcjxBWElEPiBtX2No
aWxkcmVuOworCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgUmV0YWluUHRyPFdlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyPiBtX3dyYXBwZXI7CisjZW5kaWYKKworICAgIEhhc2hNYXA8QVhQ
cm9wZXJ0eU5hbWUsIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCwgV1RGOjpJbnRIYXNoPEFYUHJvcGVy
dHlOYW1lPiwgV1RGOjpTdHJvbmdFbnVtSGFzaFRyYWl0czxBWFByb3BlcnR5TmFtZT4+IG1fYXR0
cmlidXRlTWFwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKChBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpKQpJbmRleDogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCShyZXZpc2lv
biAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENh
Y2hlTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBIQVZFKEFD
Q0VTU0lCSUxJVFkpICYmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCAiQVhJc29sYXRlZFRyZWVO
b2RlLmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW1wb3J0ICJBY2Nlc3Np
YmlsaXR5VGFibGUuaCIKICNpbXBvcnQgIlJlbmRlck9iamVjdC5oIgpAQCAtMjM3LDYgKzIzOCwx
NCBAQAogICAgIG9iai0+c2V0V3JhcHBlcihudWxscHRyKTsKIH0KIAorI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmFzc29jaWF0ZUlz
b2xhdGVkVHJlZU5vZGUoQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0LCBBWElzb2xhdGVkVHJl
ZU5vZGUmIG5vZGUsIEFYSXNvbGF0ZWRUcmVlSUQgdHJlZUlEKQoreworICAgIG9iamVjdC53cmFw
cGVyKCkuaXNvbGF0ZWRUcmVlSWRlbnRpZmllciA9IHRyZWVJRDsKKyAgICBub2RlLnNldFdyYXBw
ZXIob2JqZWN0LndyYXBwZXIoKSk7Cit9CisjZW5kaWYKKwogdm9pZCBBWE9iamVjdENhY2hlOjph
dHRhY2hXcmFwcGVyKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaikKIHsKICAgICBSZXRhaW5QdHI8
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI+IHdyYXBwZXIgPSBhZG9wdE5TKFtbV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWxsb2NdIGluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVj
dDpvYmpdKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5oCShy
ZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjksMTEg
KzI5LDE4IEBACiAjaWZuZGVmIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZV9oCiAj
ZGVmaW5lIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZV9oCiAKKyNpbmNsdWRlICJB
WElzb2xhdGVkVHJlZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNs
dWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdDsKKyNpZiBFTkFC
TEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorY2xhc3MgQVhJc29sYXRlZFRyZWVOb2Rl
OworI2VuZGlmCiBzdHJ1Y3QgQWNjZXNzaWJpbGl0eVNlYXJjaENyaXRlcmlhOwogY2xhc3MgSW50
UmVjdDsKIGNsYXNzIEZsb2F0UG9pbnQ7CkBAIC00NCwxMyArNTEsMjYgQEAKIAogQGludGVyZmFj
ZSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgOiBOU09iamVjdCB7CiAgICAgV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogbV9vYmplY3Q7CisgICAgV2ViQ29yZTo6QVhJRCBf
aWRlbnRpZmllcjsKIH0KICAKIC0gKGlkKWluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDooV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCopYXhPYmplY3Q7CisKKyNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBS
ZWZQdHI8V2ViQ29yZTo6QVhJc29sYXRlZFRyZWVOb2RlPiBpc29sYXRlZFRyZWVOb2RlOworQHBy
b3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgV2ViQ29yZTo6QVhJc29sYXRlZFRyZWVJRCBpc29s
YXRlZFRyZWVJZGVudGlmaWVyOworI2VuZGlmCisKIC0gKHZvaWQpZGV0YWNoOworCitAcHJvcGVy
dHkgKG5vbmF0b21pYywgYXNzaWduKSBXZWJDb3JlOjpBWElEIGlkZW50aWZpZXI7CisKIC0gKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqKWFjY2Vzc2liaWxpdHlPYmplY3Q7CiAtIChCT09M
KXVwZGF0ZU9iamVjdEJhY2tpbmdTdG9yZTsKIAorLy8gVGhpcyBjYW4gYmUgZWl0aGVyIGFuIEFj
Y2Vzc2liaWxpdHlPYmplY3Qgb3IgYW4gQVhJc29sYXRlZFRyZWVOb2RlCistIChXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlKilheEJhY2tpbmdPYmplY3Q7CisKIC8vIFRoZXNl
IGFyZSBwcmUtZml4ZWQgd2l0aCBiYXNlIHNvIHRoYXQgQXBwS2l0IGRvZXMgbm90IGVuZCB1cCBj
YWxsaW5nIGludG8gdGhlc2UgZGlyZWN0bHkgKGJ5cGFzc2luZyBzYWZldHkgY2hlY2tzKS4KIC0g
KE5TU3RyaW5nICopYmFzZUFjY2Vzc2liaWxpdHlUaXRsZTsKIC0gKE5TU3RyaW5nICopYmFzZUFj
Y2Vzc2liaWxpdHlEZXNjcmlwdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlckJhc2UubW0JKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMzEsMTAgKzMxLDEzIEBACiAKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAK
KyNpbXBvcnQgIkFYSXNvbGF0ZWRUcmVlLmgiCisjaW1wb3J0ICJBWElzb2xhdGVkVHJlZU5vZGUu
aCIKICNpbXBvcnQgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlBUklB
R3JpZFJvdy5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxpc3QuaCIKICNpbXBvcnQgIkFjY2Vz
c2liaWxpdHlMaXN0Qm94LmgiCisjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNl
LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgiCiAjaW1wb3J0ICJBY2Nl
c3NpYmlsaXR5U2Nyb2xsVmlldy5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24u
aCIKQEAgLTI3MCw2ICsyNzMsMTEgQEAKIAogQGltcGxlbWVudGF0aW9uIFdlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyQmFzZQogCitAc3ludGhlc2l6ZSBpZGVudGlmaWVyPV9pZGVudGlmaWVy
OworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitAc3ludGhlc2l6ZSBp
c29sYXRlZFRyZWVJZGVudGlmaWVyPV9pc29sYXRlZFRyZWVJZGVudGlmaWVyOworI2VuZGlmCisK
IC0gKGlkKWluaXRXaXRoQWNjZXNzaWJpbGl0eU9iamVjdDooQWNjZXNzaWJpbGl0eU9iamVjdCop
YXhPYmplY3QKIHsKICAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKQEAgLTI3NiwxNiAr
Mjg0LDM2IEBACiAgICAgICAgIHJldHVybiBuaWw7CiAKICAgICBtX29iamVjdCA9IGF4T2JqZWN0
OworICAgIF9pZGVudGlmaWVyID0gbV9vYmplY3QtPmF4T2JqZWN0SUQoKTsKKwogICAgIHJldHVy
biBzZWxmOwogfQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKy0g
KFJlZlB0cjxXZWJDb3JlOjpBWElzb2xhdGVkVHJlZU5vZGU+KWlzb2xhdGVkVHJlZU5vZGUKK3sK
KyAgICBSRUxFQVNFX0FTU0VSVCghaXNNYWluVGhyZWFkKCkpOworICAgIHJldHVybiBBWElzb2xh
dGVkVHJlZTo6dHJlZUZvcklEKF9pc29sYXRlZFRyZWVJZGVudGlmaWVyKS0+bm9kZUZvcklEKF9p
ZGVudGlmaWVyKTsKK30KKyNlbmRpZgorCiAtICh2b2lkKWRldGFjaAogewogICAgIG1fb2JqZWN0
ID0gbnVsbHB0cjsKKyAgICBfaWRlbnRpZmllciA9IDA7CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJ
TElUWV9JU09MQVRFRF9UUkVFKQorICAgIF9pc29sYXRlZFRyZWVJZGVudGlmaWVyID0gMDsKKyNl
bmRpZgogfQogCiAtIChCT09MKXVwZGF0ZU9iamVjdEJhY2tpbmdTdG9yZQogeworI2lmIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgUkVMRUFTRV9BU1NFUlQoIWlzTWFp
blRocmVhZCgpKTsKKyAgICBBWElzb2xhdGVkVHJlZTo6dHJlZUZvcklEKHNlbGYuaXNvbGF0ZWRU
cmVlSWRlbnRpZmllciktPmFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKyAgICByZXR1cm4gX2lkZW50
aWZpZXI7CisjZWxzZQogICAgIC8vIENhbGxpbmcgdXBkYXRlQmFja2luZ1N0b3JlKCkgY2FuIGlu
dmFsaWRhdGUgdGhpcyBlbGVtZW50IHNvIHNlbGYgbXVzdCBiZSByZXRhaW5lZC4KICAgICAvLyBJ
ZiBpdCBkb2VzIGJlY29tZSBpbnZhbGlkYXRlZCwgbV9vYmplY3Qgd2lsbCBiZSBuaWwuCiAgICAg
Q0ZSZXRhaW4oKF9fYnJpZGdlIENGVHlwZVJlZilzZWxmKTsKQEAgLTI5OSw2ICszMjcsNyBAQAog
ICAgICAgICByZXR1cm4gTk87CiAgICAgCiAgICAgcmV0dXJuIFlFUzsKKyNlbmRpZgogfQogCiAt
IChpZClhdHRhY2htZW50VmlldwpAQCAtMzYwLDExICszODksMjEgQEAKICAgICByZXR1cm4gW05T
U3RyaW5nIHN0cmluZ107CiB9CiAKKyNkZWZpbmUgX2F4QmFja2luZ09iamVjdCBzZWxmLmF4QmFj
a2luZ09iamVjdAorLSAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZSopYXhC
YWNraW5nT2JqZWN0Cit7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkK
KyAgICByZXR1cm4gc2VsZi5pc29sYXRlZFRyZWVOb2RlLmdldCgpOworI2Vsc2UKKyAgICByZXR1
cm4gbV9vYmplY3Q7CisjZW5kaWYKK30KKwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0
eURlc2NyaXB0aW9uCiB7CiAgICAgLy8gU3RhdGljIHRleHQgb2JqZWN0cyBzaG91bGQgbm90IGhh
dmUgYSBkZXNjcmlwdGlvbi4gSXRzIGNvbnRlbnQgaXMgY29tbXVuaWNhdGVkIGluIGl0cyBBWFZh
bHVlLgogICAgIC8vIE9uZSBleGNlcHRpb24gaXMgdGhlIG1lZGlhIGNvbnRyb2wgbGFiZWxzIHRo
YXQgaGF2ZSBhIHZhbHVlIGFuZCBhIGRlc2NyaXB0aW9uLiBUaG9zZSBhcmUgc2V0IHByb2dyYW1h
dGljYWxseS4KLSAgICBpZiAobV9vYmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlS
b2xlOjpTdGF0aWNUZXh0ICYmICFtX29iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQorICAg
IGlmIChfYXhCYWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6
U3RhdGljVGV4dCAmJiAhX2F4QmFja2luZ09iamVjdC0+aXNNZWRpYUNvbnRyb2xMYWJlbCgpKQog
ICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ107CiAgICAgCiAgICAgVmVjdG9yPEFjY2Vz
c2liaWxpdHlUZXh0PiB0ZXh0T3JkZXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlck1hYy5tbQkocmV2aXNpb24gMjQwNDcwKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTQxNiw2ICs0MTYsOCBAQAogI2RlZmluZSBOU0FjY2Vzc2liaWxpdHlSZWxhdGl2
ZUZyYW1lQXR0cmlidXRlIEAiQVhSZWxhdGl2ZUZyYW1lIgogI2VuZGlmCiAKKyNkZWZpbmUgX2F4
QmFja2luZ09iamVjdCBzZWxmLmF4QmFja2luZ09iamVjdAorCiBleHRlcm4gIkMiIEFYVUlFbGVt
ZW50UmVmIE5TQWNjZXNzaWJpbGl0eUNyZWF0ZUFYVUlFbGVtZW50UmVmKGlkIGVsZW1lbnQpOwog
CiBAaW1wbGVtZW50YXRpb24gV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIKQEAgLTE5NzAs
MTAgKzE5NzIsMTAgQEAKIC0gKE5TU3RyaW5nKilyb2xlCiB7CiAgICAgQUxMT1dfREVQUkVDQVRF
RF9ERUNMQVJBVElPTlNfQkVHSU4KLSAgICBpZiAobV9vYmplY3QtPmlzQXR0YWNobWVudCgpKQor
ICAgIGlmIChfYXhCYWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKICAgICAgICAgcmV0dXJu
IFtbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNj
ZXNzaWJpbGl0eVJvbGVBdHRyaWJ1dGVdOwogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJ
T05TX0VORAotICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUgPSBtX29iamVjdC0+cm9sZVZhbHVl
KCk7CisgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSA9IF9heEJhY2tpbmdPYmplY3QtPnJvbGVW
YWx1ZSgpOwogCiAgICAgaWYgKHJvbGUgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OkxhYmVsICYmIGlz
PEFjY2Vzc2liaWxpdHlMYWJlbD4oKm1fb2JqZWN0KSAmJiBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5
TGFiZWw+KCptX29iamVjdCkuY29udGFpbnNPbmx5U3RhdGljVGV4dCgpKQogICAgICAgICByb2xl
ID0gQWNjZXNzaWJpbGl0eVJvbGU6OlN0YXRpY1RleHQ7CkBAIC0yMDAwLDcgKzIwMDIsNyBAQAog
ICAgIGlmIChtX29iamVjdC0+aXNTZWFyY2hGaWVsZCgpKQogICAgICAgICByZXR1cm4gTlNBY2Nl
c3NpYmlsaXR5U2VhcmNoRmllbGRTdWJyb2xlOwogICAgIAotICAgIGlmIChtX29iamVjdC0+aXNB
dHRhY2htZW50KCkpIHsKKyAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkp
IHsKICAgICAgICAgTlNWaWV3KiBhdHRhY2hWaWV3ID0gW3NlbGYgYXR0YWNobWVudFZpZXddOwog
ICAgICAgICBpZiAoW1thdHRhY2hWaWV3IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29u
dGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5U3Vicm9sZUF0dHJpYnV0ZV0pCiAgICAgICAgICAg
ICByZXR1cm4gW2F0dGFjaFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNz
aWJpbGl0eVN1YnJvbGVBdHRyaWJ1dGVdOwpAQCAtMjIxMSw3ICsyMjEzLDcgQEAKIAogICAgIEFM
TE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgLy8gYXR0YWNobWVudHMgaGF2
ZSB0aGUgQVhJbWFnZSByb2xlLCBidXQgYSBkaWZmZXJlbnQgc3Vicm9sZQotICAgIGlmIChtX29i
amVjdC0+aXNBdHRhY2htZW50KCkpCisgICAgaWYgKF9heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNo
bWVudCgpKQogICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmls
aXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5Um9sZURlc2NyaXB0aW9uQXR0cmlidXRl
XTsKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIApAQCAtMjU2OCw3ICsy
NTcwLDcgQEAKICAgICAgICAgcmV0dXJuIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDogbV9vYmpl
Y3QtPmlzVmlzaXRlZCgpXTsKICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRv
U3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1f
b2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkgeworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+
aXNBdHRhY2htZW50KCkpIHsKICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3
XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJp
bGl0eVRpdGxlQXR0cmlidXRlXSkKICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFj
aG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VGl0
bGVBdHRyaWJ1dGVdOwogICAgICAgICB9CkBAIC0yNTg1LDcgKzI1ODcsNyBAQAogICAgIH0KICAg
ICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxp
dHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFj
aG1lbnQoKSkgeworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkp
IHsKICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5
QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
QXR0cmlidXRlXSkKICAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3
XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25B
dHRyaWJ1dGVdOwogICAgICAgICB9CkBAIC0yNTkzLDcgKzI1OTUsNyBAQAogICAgIH0KICAgICAK
ICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlW
YWx1ZUF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkg
eworICAgICAgICBpZiAoX2F4QmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAgICAg
ICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
TmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkKICAg
ICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5
QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdOwogICAgICAgICB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyMTcsNiArODIx
NywxMSBAQAogCiAgICAgcmV0dXJuICptX2xvZ2dlcjsKIH0KKyAgICAKK09wdGlvbmFsPHVpbnQ2
NF90PiBEb2N1bWVudDo6cGFnZUlEKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZS0+bG9h
ZGVyKCkuY2xpZW50KCkucGFnZUlEKCk7Cit9CiAKIHZvaWQgRG9jdW1lbnQ6Omhhc1N0b3JhZ2VB
Y2Nlc3MoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewpJbmRleDogU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgJKHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC02NDgsNiArNjQ4LDcgQEAKICAgICBXRUJDT1JFX0VYUE9S
VCBBWE9iamVjdENhY2hlKiBheE9iamVjdENhY2hlKCkgY29uc3Q7CiAgICAgdm9pZCBjbGVhckFY
T2JqZWN0Q2FjaGUoKTsKIAorICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBwYWdlSUQoKSBjb25zdDsK
ICAgICAvLyB0byBnZXQgdmlzdWFsbHkgb3JkZXJlZCBoZWJyZXcgYW5kIGFyYWJpYyBwYWdlcyBy
aWdodAogICAgIHZvaWQgc2V0VmlzdWFsbHlPcmRlcmVkKCk7CiAgICAgYm9vbCB2aXN1YWxseU9y
ZGVyZWQoKSBjb25zdCB7IHJldHVybiBtX3Zpc3VhbGx5T3JkZXJlZDsgfQpJbmRleDogU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDI0MDQ3MCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDEtMjUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2li
aWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dL
QWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tOgorICAgICAgICAoLVtXS0FjY2Vzc2li
aWxpdHlXZWJQYWdlT2JqZWN0QmFzZSBhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXJdKToK
KwogMjAxOS0wMS0yNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBpT1M6IFNwbGl0IGtleWJvYXJkIHNob3VsZCBub3Qgc2hyaW5rIHZpc3VhbFZpZXdwb3J0Lmhl
aWdodApJbmRleDogU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViS2l0L0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00
MCw2ICs0MCw4IEBACiBFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HID0gJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HXyQoV0tfQ09DT0FfVE9VQ0gpKTsK
IEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkdfY29jb2F0b3VjaCA9IEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkc7CiAKK0VOQUJMRV9BQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUgPSA7CisKIEVOQUJMRV9BUFBMRV9QQVkgPSAkKEVOQUJMRV9BUFBMRV9Q
QVlfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQVBQTEVfUEFZX2lwaG9uZW9zID0gRU5B
QkxFX0FQUExFX1BBWTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lc2ltdWxhdG9yID0gRU5BQkxF
X0FQUExFX1BBWTsKQEAgLTQwNyw0ICs0MDksNCBAQAogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9Y
U0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
MykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01B
TklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVO
QUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJM
RV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBP
UlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJT
RUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZ
Qk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQo
RU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQo
RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FU
T1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9S
RVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9N
RVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVM
TFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1C
TFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVf
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChF
TkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FE
QVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJ
QklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05J
Q19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9B
UkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01f
UFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFD
X1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURf
U1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikg
JChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxF
X1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJ
REVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRD
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQ
SSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVO
QUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0Fj
Y2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFz
ZS5oCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UuaAkod29ya2luZyBjb3B5KQpA
QCAtMzIsNyArMzIsOSBAQAogCiBAaW50ZXJmYWNlIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmpl
Y3RCYXNlIDogTlNPYmplY3QgewogICAgIFdlYktpdDo6V2ViUGFnZSogbV9wYWdlOworICAgIHVp
bnQ2NF90IG1fcGFnZUlEOwogICAgIGlkIG1fcGFyZW50OworICAgIGJvb2wgbV9oYXNQbHVnaW47
CiB9CiAKIC0gKHZvaWQpc2V0V2ViUGFnZTooV2ViS2l0OjpXZWJQYWdlKilwYWdlOwpJbmRleDog
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBh
Z2VPYmplY3RCYXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQkocmV2aXNpb24g
MjQwNDcwKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNz
aWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3
IEBACiAjaW1wb3J0ICJXS1NoYXJlZEFQSUNhc3QuaCIKICNpbXBvcnQgIldLU3RyaW5nLmgiCiAj
aW1wb3J0ICJXS1N0cmluZ0NGLmgiCisjaW1wb3J0IDxXZWJDb3JlL0FYSXNvbGF0ZWRUcmVlLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRG9j
dW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWUuaD4KQEAgLTQ3LDMzICs0OCw3OSBAQAog
CiBAaW1wbGVtZW50YXRpb24gV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UKIAotLSAo
aWQpYWNjZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyCistIChXZWJDb3JlOjpBWE9iamVjdENh
Y2hlKilheE9iamVjdENhY2hlCiB7Ci0gICAgaWYgKCFXZWJDb3JlOjpBWE9iamVjdENhY2hlOjph
Y2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQotICAgICAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpl
bmFibGVBY2Nlc3NpYmlsaXR5KCk7Ci0KLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJu
IG5pbDsKLSAgICAKLSAgICBOU09iamVjdCogbWFpbkZyYW1lUGx1Z2luQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXIgPSBtX3BhZ2UtPmFjY2Vzc2liaWxpdHlPYmplY3RGb3JNYWluRnJhbWVQbHVn
aW4oKTsKLSAgICBpZiAobWFpbkZyYW1lUGx1Z2luQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIp
Ci0gICAgICAgIHJldHVybiBtYWluRnJhbWVQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
cjsKLQogICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBtX3BhZ2UtPmNvcmVQYWdlKCk7CiAgICAg
aWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gbmlsOwotICAgIAogICAgIFdlYkNvcmU6OkZyYW1l
JiBjb3JlID0gcGFnZS0+bWFpbkZyYW1lKCk7CiAgICAgaWYgKCFjb3JlLmRvY3VtZW50KCkpCiAg
ICAgICAgIHJldHVybiBuaWw7CisKKyAgICByZXR1cm4gY29yZS5kb2N1bWVudCgpLT5heE9iamVj
dENhY2hlKCk7Cit9CisKKy0gKGlkKWFjY2Vzc2liaWxpdHlQbHVnaW5PYmplY3QKK3sKKyAgICBh
dXRvIHJldHJpZXZlQmxvY2sgPSBbJnNlbGZdKCkgLT4gaWQgeworICAgICAgICBpZCBheFBsdWdp
biA9IG5pbDsKKyAgICAgICAgYXV0byBkaXNwYXRjaEJsb2NrID0gWyZheFBsdWdpbiwgJnNlbGZd
IHsKKyAgICAgICAgICAgIGlmIChzZWxmLT5tX3BhZ2UpCisgICAgICAgICAgICAgICAgYXhQbHVn
aW4gPSBzZWxmLT5tX3BhZ2UtPmFjY2Vzc2liaWxpdHlPYmplY3RGb3JNYWluRnJhbWVQbHVnaW4o
KTsKKyAgICAgICAgfTsKKworICAgICAgICBpZiAoaXNNYWluVGhyZWFkKCkpCisgICAgICAgICAg
ICBkaXNwYXRjaEJsb2NrKCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgY2FsbE9uTWFp
blRocmVhZEFuZFdhaXQoWyZkaXNwYXRjaEJsb2NrXSB7CisgICAgICAgICAgICAgICAgZGlzcGF0
Y2hCbG9jaygpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGF4
UGx1Z2luOworICAgIH07CiAgICAgCi0gICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogY2FjaGUg
PSBjb3JlLmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKTsKLSAgICBpZiAoIWNhY2hlKQotICAg
ICAgICByZXR1cm4gbmlsOwotICAgIAotICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiByb290ID0gY2FjaGUtPnJvb3RPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIHJvb3QtPndy
YXBwZXIoKTsKLSAgICAKKyAgICByZXR1cm4gcmV0cmlldmVCbG9jaygpOworfQorCistIChpZClh
Y2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXIKK3sKKyAgICBpZiAoIVdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCisgICAgICAgIFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OmVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKKworICAgIGlmIChtX2hhc1BsdWdpbikK
KyAgICAgICAgcmV0dXJuIHNlbGYuYWNjZXNzaWJpbGl0eVBsdWdpbk9iamVjdDsKKworI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAgYXV0byBnZW5lcmF0ZUJsb2Nr
ID0gWyZdIHsKKyAgICAgICAgYXV0byBkaXNwYXRjaEJsb2NrID0gWyZzZWxmXSB7CisgICAgICAg
ICAgICBpZiAoYXV0byBjYWNoZSA9IFtzZWxmIGF4T2JqZWN0Q2FjaGVdKQorICAgICAgICAgICAg
ICAgIGNhY2hlLT5nZW5lcmF0ZUlzb2xhdGVkQWNjZXNzaWJpbGl0eVRyZWUoKTsKKyAgICAgICAg
fTsKKworICAgICAgICBpZiAoaXNNYWluVGhyZWFkKCkpCisgICAgICAgICAgICBkaXNwYXRjaEJs
b2NrKCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgY2FsbE9uTWFpblRocmVhZEFuZFdh
aXQoWyZkaXNwYXRjaEJsb2NrXSB7CisgICAgICAgICAgICAgICAgZGlzcGF0Y2hCbG9jaygpOwor
ICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9OworCisgICAgYXV0byB0cmVlID0gQVhJ
c29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQobV9wYWdlSUQpOworICAgIGlmICghdHJlZSkKKyAg
ICAgICAgZ2VuZXJhdGVCbG9jaygpOworCisgICAgaWYgKCh0cmVlID0gQVhJc29sYXRlZFRyZWU6
OnRyZWVGb3JQYWdlSUQobV9wYWdlSUQpKSkgeworICAgICAgICBBU1NFUlQoIWlzTWFpblRocmVh
ZCgpKTsKKyAgICAgICAgdHJlZS0+YXBwbHlQZW5kaW5nQ2hhbmdlcygpOworICAgICAgICByZXR1
cm4gdHJlZS0+cm9vdE5vZGUoKS0+d3JhcHBlcigpOworICAgIH0KKyNlbHNlCisgICAgaWYgKEFY
T2JqZWN0Q2FjaGUqIGNhY2hlID0gW3NlbGYgYXhPYmplY3RDYWNoZV0pIHsKKyAgICAgICAgaWYg
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIHJvb3QgPSBjYWNoZS0+cm9vdE9iamVjdCgp
KQorICAgICAgICAgICAgcmV0dXJuIHJvb3QtPndyYXBwZXIoKTsKKyAgICB9CisjZW5kaWYKICAg
ICByZXR1cm4gbmlsOwogfQogCkBAIC04MCw2ICsxMjcsMTQgQEAKIC0gKHZvaWQpc2V0V2ViUGFn
ZTooV2ViUGFnZSopcGFnZQogewogICAgIG1fcGFnZSA9IHBhZ2U7CisgICAgCisgICAgaWYgKHBh
Z2UpIHsKKyAgICAgICAgbV9wYWdlSUQgPSBwYWdlLT5wYWdlSUQoKTsKKyAgICAgICAgbV9oYXNQ
bHVnaW4gPSBwYWdlLT5hY2Nlc3NpYmlsaXR5T2JqZWN0Rm9yTWFpbkZyYW1lUGx1Z2luKCk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgbV9wYWdlSUQgPSAwOworICAgICAgICBtX2hhc1BsdWdpbiA9
IGZhbHNlOworICAgIH0KIH0KIAogLSAodm9pZClzZXRSZW1vdGVQYXJlbnQ6KGlkKXBhcmVudApJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwNDcwKQorKysgU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTktMDEtMjUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4K
KworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMzQ4CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBSeW9z
dWtlIE5pd2EuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZzoKKwogMjAxOS0wMS0yNCAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4K
IAogICAgICAgICBBZGQgQWQgQ2xpY2sgQXR0cmlidXRpb24gYXMgYW4gaW50ZXJuYWwvZXhwZXJp
bWVudGFsIGZlYXR1cmUKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lv
biAyNDA0NzApCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElOR18kKFdLX0NPQ09BX1RPVUNIKSk7CiBFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HX2NvY29hdG91Y2ggPSBFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HOwogCitFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFID0g
OworCiBFTkFCTEVfQVBQTEVfUEFZID0gJChFTkFCTEVfQVBQTEVfUEFZXyQoV0tfUExBVEZPUk1f
TkFNRSkpOwogRU5BQkxFX0FQUExFX1BBWV9pcGhvbmVvcyA9IEVOQUJMRV9BUFBMRV9QQVk7CiBF
TkFCTEVfQVBQTEVfUEFZX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9BUFBMRV9QQVk7CkBAIC00
MDcsNCArNDA5LDQgQEAKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9P
UCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5H
X0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFT
VF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxF
X1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVU
SE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAk
KEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNP
TEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9O
X01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVO
QUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NV
UFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZF
QVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5U
RVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVf
S0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIp
ICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVO
VF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5U
UykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNF
Ul9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFS
SUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRf
RlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVE
SU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNT
RU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBT
b3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2Nt
YWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCShyZXZpc2lvbiAyNDA0NzApCisrKyBTb3VyY2UvY21h
a2UvV2ViS2l0RmVhdHVyZXMuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTE5Myw2ICsxOTMsNyBA
QAogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HICJUb2dn
bGUgc21vb3RoIHNjcm9sbGluZyIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUyAiVG9nZ2xlIFNwZWVjaCBTeW50aGVzaXMgQVBJIHN1
cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TUEVM
TENIRUNLICJUb2dnbGUgU3BlbGxjaGVja2luZyBzdXBwb3J0IChyZXF1aXJlcyBFbmNoYW50KSIg
UFJJVkFURSBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0FDQ0VTU0lCSUxJ
VFlfU1RBVElDX1RSRUUgIlRvZ2dsZSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlIHN1cHBvcnQi
IFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TVFJFQU1TX0FQ
SSAiVG9nZ2xlIFN0cmVhbXMgQVBJIHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09Q
VElPTl9ERUZJTkUoRU5BQkxFX1NWR19GT05UUyAiVG9nZ2xlIFNWRyBGb250cyBzdXBwb3J0IiBQ
UklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTiAiVG9nZ2xlIHRlbGVwaG9uZSBudW1iZXIgZGV0ZWN0aW9uIHN1cHBvcnQi
IFBSSVZBVEUgT0ZGKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L0NoYW5nZUxvZwkocmV2aXNpb24gMjQwNDcwKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDEtMjUgIENocmlzIEZsZWl6YWNoICA8Y2Zs
ZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vz
c2liaWxpdHkgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkzMzQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzIwMzI5NT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTI0ICBSeWFu
IEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBtYWNPUyBK
U0MgYm90IGNvbmZpZ3VyYXRpb25zCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9u
IDI0MDQ3MCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcgPSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkdfJChXS19DT0NPQV9UT1VDSCkpOwogRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElOR19jb2NvYXRvdWNoID0gRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORzsKIAorRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSA9IDsKKwog
RU5BQkxFX0FQUExFX1BBWSA9ICQoRU5BQkxFX0FQUExFX1BBWV8kKFdLX1BMQVRGT1JNX05BTUUp
KTsKIEVOQUJMRV9BUFBMRV9QQVlfaXBob25lb3MgPSBFTkFCTEVfQVBQTEVfUEFZOwogRU5BQkxF
X0FQUExFX1BBWV9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfQVBQTEVfUEFZOwpAQCAtNDA3LDQg
KzQwOSw0IEBACiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBM
RV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlf
U0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklU
X1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5B
QkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkg
JChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJ
TkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9N
RURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9T
RVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJf
QVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAk
KEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1C
TFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFC
TEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RS
QU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFf
SU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JU
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJF
UykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9S
RVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVT
U0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElP
Tl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExT
Q1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZ
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>