<?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>88482</bug_id>
          
          <creation_ts>2012-06-06 19:15:55 -0700</creation_ts>
          <short_desc>[Chromium] Compositor should avoid drawing quads when cached textures are available and contents unchanged</short_desc>
          <delta_ts>2012-06-17 14:19:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>89295</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter>zlieber</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>danakj</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>shawnsingh</cc>
    
    <cc>vollick</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wjmaclean</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>643084</commentid>
    <comment_count>0</comment_count>
    <who name="">zlieber</who>
    <bug_when>2012-06-06 19:15:55 -0700</bug_when>
    <thetext>[Chromium] RenderSurface for opacity with descendentDrawsContent is slow when large</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643088</commentid>
    <comment_count>1</comment_count>
      <attachid>146178</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-06 19:20:55 -0700</bug_when>
    <thetext>Created attachment 146178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643090</commentid>
    <comment_count>2</comment_count>
    <who name="">zlieber</who>
    <bug_when>2012-06-06 19:22:25 -0700</bug_when>
    <thetext>This is a preliminary patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644037</commentid>
    <comment_count>3</comment_count>
      <attachid>146410</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-07 16:25:21 -0700</bug_when>
    <thetext>Created attachment 146410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644847</commentid>
    <comment_count>4</comment_count>
      <attachid>146612</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-08 11:08:39 -0700</bug_when>
    <thetext>Created attachment 146612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645020</commentid>
    <comment_count>5</comment_count>
      <attachid>146648</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-08 14:14:37 -0700</bug_when>
    <thetext>Created attachment 146648
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645034</commentid>
    <comment_count>6</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-08 14:31:12 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=146612&amp;action=review

Some preliminary comments. I see you uploaded another patch already, so I thought I&apos;d publish these as I&apos;m distracted with my machine for a bit.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCDamageTracker.cpp:249
&gt; +    // This method assumes that the layer either does not own a surface at all, or owns
&gt; +    // our target surface. In all other cases, extendDamageForRenderSurface must be called instead.

I guess this is a long way of saying don&apos;t call this for layers that own surfaces that contribute to the target surface.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:278
&gt; +bool CCLayerImpl::layerTargetSurfaceDirty() const

Since this is only called from damage tracker, can it be done there? Maybe file-static method if you like? Can the name be better so we don&apos;t need the verbose comment below?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:317
&gt; +    // affect the pixels on its target surface, but would require redrawing

&quot;on its target surface&quot; -&gt; &quot;on its own surface&quot; ?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:318
&gt; +    // of the target surface of this layer&apos;s target surface

&quot;redrawing the contents of the layer&apos;s surface in its target&quot; ?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:231
&gt; +        renderSurface-&gt;setContentsChanged(!renderSurface-&gt;damageTracker()-&gt;currentDamageRect().isEmpty());

I&apos;m not sure why we need this bool on the RenderSurface. It can already see the rect is empty as it looks up here.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:422
&gt; +void CCLayerTreeHostImpl::removeRedundantPasses(CCRenderPassList&amp; passes)

I think this could have a better name. &quot;Redundant&quot; doesn&apos;t explain what this function is doing really - why are they redundant?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645225</commentid>
    <comment_count>7</comment_count>
    <who name="">zlieber</who>
    <bug_when>2012-06-08 20:13:22 -0700</bug_when>
    <thetext>Thanks for comments; some responses below.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:278
&gt; &gt; +bool CCLayerImpl::layerTargetSurfaceDirty() const
&gt; 
&gt; Since this is only called from damage tracker, can it be done there? Maybe file-static method if you like? Can the name be better so we don&apos;t need the verbose comment below?

It sure could, but this answers a pretty generic question using only class&apos;s own data, so seemed natural to be on the layer. The question is how generic that question is - maybe a different name will make this better? layerTargetSurfaceRequiresRedrawing/ContentsChanged/PixelsChanged?

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:317
&gt; &gt; +    // affect the pixels on its target surface, but would require redrawing
&gt; 
&gt; &quot;on its target surface&quot; -&gt; &quot;on its own surface&quot; ?

Sounds good, also need to add something about layers that don&apos;t have surfaces.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:318
&gt; &gt; +    // of the target surface of this layer&apos;s target surface
&gt; 
&gt; &quot;redrawing the contents of the layer&apos;s surface in its target&quot; ?

Same here.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:231
&gt; &gt; +        renderSurface-&gt;setContentsChanged(!renderSurface-&gt;damageTracker()-&gt;currentDamageRect().isEmpty());
&gt; 
&gt; I&apos;m not sure why we need this bool on the RenderSurface. It can already see the rect is empty as it looks up here.

Yeah I really did want to put this in, but couldn&apos;t see how the surface can look at this rect without talking to damage tracker directly. Is there a way? 

If not then this flag can go after we fix the quad creation and relationship between these classes and occlusion tracker, so the flag can be set on the quad externally.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:422
&gt; &gt; +void CCLayerTreeHostImpl::removeRedundantPasses(CCRenderPassList&amp; passes)
&gt; 
&gt; I think this could have a better name. &quot;Redundant&quot; doesn&apos;t explain what this function is doing really - why are they redundant?

removePassesWithCachedTextures?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646971</commentid>
    <comment_count>8</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-12 08:39:58 -0700</bug_when>
    <thetext>Can you describe the state of the current patch you have up? Does it already handle the surface owned by non-drawsContent layer case, and work correctly for the iconify animation etc? ie. is this done from your point of view and ready for a more thorough review yet, or where is it at right now? Thanks!

(In reply to comment #7)
&gt; Thanks for comments; some responses below.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:278
&gt; &gt; &gt; +bool CCLayerImpl::layerTargetSurfaceDirty() const
&gt; &gt; 
&gt; &gt; Since this is only called from damage tracker, can it be done there? Maybe file-static method if you like? Can the name be better so we don&apos;t need the verbose comment below?
&gt; 
&gt; It sure could, but this answers a pretty generic question using only class&apos;s own data, so seemed natural to be on the layer. The question is how generic that question is - maybe a different name will make this better? layerTargetSurfaceRequiresRedrawing/ContentsChanged/PixelsChanged?

I think the pattern we&apos;ve been using for layers is that they are dumb as possible, and we have other classes that act on them instead. So I think if we can just have simple getter/setter on the class, and do more clever things elsewhere (closer to where the computed result it used) that would be desirable. Others should correct me if I&apos;m wrong here. :)

&gt; &gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:317
&gt; &gt; &gt; +    // affect the pixels on its target surface, but would require redrawing
&gt; &gt; 
&gt; &gt; &quot;on its target surface&quot; -&gt; &quot;on its own surface&quot; ?
&gt; 
&gt; Sounds good, also need to add something about layers that don&apos;t have surfaces.

Add something to the comment? That sounds good.

&gt; &gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:231
&gt; &gt; &gt; +        renderSurface-&gt;setContentsChanged(!renderSurface-&gt;damageTracker()-&gt;currentDamageRect().isEmpty());
&gt; &gt; 
&gt; &gt; I&apos;m not sure why we need this bool on the RenderSurface. It can already see the rect is empty as it looks up here.
&gt; 
&gt; Yeah I really did want to put this in, but couldn&apos;t see how the surface can look at this rect without talking to damage tracker directly. Is there a way? 
&gt; 
&gt; If not then this flag can go after we fix the quad creation and relationship between these classes and occlusion tracker, so the flag can be set on the quad externally.

I&apos;m not sure I follow, can&apos;t we replace places that say &quot;renderSurface-&gt;contentsChanged()&quot; with &quot;!renderSurface-&gt;damageTracker()-&gt;currentDamageRect().isEmpty()&quot;? Or at worst, put a contentsChanged() method on CCRenderSurface that queries the damageTracker rect. I don&apos;t get why we need a new bool in the class.

&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:422
&gt; &gt; &gt; +void CCLayerTreeHostImpl::removeRedundantPasses(CCRenderPassList&amp; passes)
&gt; &gt; 
&gt; &gt; I think this could have a better name. &quot;Redundant&quot; doesn&apos;t explain what this function is doing really - why are they redundant?
&gt; 
&gt; removePassesWithCachedTextures?

Yes :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646997</commentid>
    <comment_count>9</comment_count>
    <who name="">zlieber</who>
    <bug_when>2012-06-12 09:19:14 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Can you describe the state of the current patch you have up? Does it already handle the surface owned by non-drawsContent layer case, and work correctly for the iconify animation etc? ie. is this done from your point of view and ready for a more thorough review yet, or where is it at right now? Thanks!

The patch has everything that is needed, however when applying it to the current branch, unit tests break. Bisecting gives cc04e867743286c3faa1ca805460523b883bebb0 as the first commit that caused this, so there will probably be a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647097</commentid>
    <comment_count>10</comment_count>
      <attachid>146648</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-06-12 11:10:01 -0700</bug_when>
    <thetext>Comment on attachment 146648
Patch


Very awesome, so far =)   In general I like the way the logic is partitioned into clean helper functions, etc.
I have a lot of nitpicky wording comments, but I do feel strongly that clear wording is paramount to clear code.


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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [Chromium] RenderSurface for opacity with descendentDrawsContent is slow when large

I wonder if its better to re-name this bug (including on the bugzilla page) to identify the more generic problem so that its clearer for people who see this out of context.

&gt; Source/WebCore/ChangeLog:11
&gt; +        CCLayerImpl to differentiated between content changes and property

(1) nit: &quot;differentiated&quot; --&gt; &quot;differentiate&quot;

(2) wording issue:   again, we have to be very explicit and clear about which objects are being affected.  Otherwise this is very misleading.  &quot;content changes&quot; on the layer are already being tracked by m_updateRect.  I think you mean here &quot;to differentiate whether the layer&apos;s property changed or the surface&apos;s property changed.&quot;  --&gt; yes, if the layer&apos;s property changed, that means the surface&apos;s content changes, but for clarity I don&apos;t think we should use the word &quot;content&quot; here, _especially_ not if we don&apos;t clarify we&apos;re talking about surface content.

&gt; Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:614
&gt; +    CCRenderSurface* drawingSurface = quad-&gt;renderSurface();

I think we should call this accessor &quot;targetRenderSurface()&quot; instead.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCDamageTracker.cpp:249
&gt; +    // This method assumes that the layer either does not own a surface at all, or owns
&gt; +    // our target surface. In all other cases, extendDamageForRenderSurface must be called instead.

This comment is technically not wrong, but I don&apos;t feel its the right thing to say.  It makes distinctions that don&apos;t generalize quite correctly -- in particular: &quot;in all other cases&quot; sounds like extendDamageForRenderSurface is a fall-back option, which is not true.  Furthermore, the wording makes it sound like if a layer&apos;s targetRenderSurface == layer&apos;s own surface, that it should ALWAYS enter this function, and that&apos;s absolutely not true.  In that case, there are two ways that layer gets traversed, (1) when the layer itself contributes to the targetRenderSurface that it owns, and (2) when the layer&apos;s surface needs to contribute to the ancestor targetRenderSurface.

So this comment really needs to change.  we could say &quot;This method is called when we want to consider how a layer contributes to its targetRenderSurface, even if that layer owns the targetRenderSurface itself.  To consider how a layer&apos;s targetSurface contributes to the ancestorSurface, extendDamageForRenderSurface() must be called instead&quot;

&gt; Source/WebCore/platform/graphics/chromium/cc/CCDamageTracker.cpp:261
&gt; +    if (layerIsNew || layer-&gt;layerTargetSurfaceDirty()) {

I think Dana mentioned that it might be worth moving layerTargetSurfaceDirty() logic to the damage tracker as a static helper function.   I agree with that, but for more reasons - in my opinion this functionality is not meaningful outside of damage tracking, and it could be error-prone/confusing/mis-used if we make it available as an accessor on layers.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:278
&gt; +bool CCLayerImpl::layerTargetSurfaceDirty() const

I feel like the name of this is wrong.  talking about a &quot;dirty bit&quot; on the surface is a different concept.  Instead, this function is determining if this layer needs to be redrawn onto its target surface.  So we should re-name it to &quot;layerNeedsToBeRedrawnToTargetSurface()&quot;

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:284
&gt; +    // However, if the layer DOES own a surface then the SurfacePropertyChanged
&gt; +    // affects the target surface of its owned surface, and therefore our
&gt; +    // owned surface is not affected. This is checked here.

&quot;affects&quot; --&gt; ambiguous in my opinion.  it makes it sound like that flag actually changes state on the objects, which of course it doesn&apos;t --&gt;  how about this:  &quot;if the layer DOES own a surface, then the SurfacePropertyChanged flag should not be used here, because that flag represents whether the layer&apos;s surface has changed.&quot;

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:302
&gt; +    // Run up the tree of layers until we find a surface-owning layer.
&gt; +    // Ask everyone except for the surface-owning layer.
&gt; +    CCLayerImpl* current = this-&gt;m_parent;
&gt; +    while (current &amp;&amp; !current-&gt;m_renderSurface) {
&gt; +        if (current-&gt;m_layerSurfacePropertyChanged)
&gt; +            return true;
&gt; +        current = current-&gt;m_parent;
&gt; +    }

I&apos;m half-understanding this, but can you please explain why this code is needed?

A comment explaining why its needed would be helpful, too.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:249
&gt; +    // Uses m_layerXxxxChanged flags to answer the question whether this layer&apos;s

I think this comment risks getting outdated/inconsistent if things change soon.   Especially if we do rename it as I proposed above, then this comment might not be as necessary.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:318
&gt; +    // of the target surface of this layer&apos;s target surface

&quot;but would require redrawing the targetSurface onto its ancestor targetSurface&quot;
Also, the comment should probably also clarify what happens with this flag if the layer does not own a renderSurface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647103</commentid>
    <comment_count>11</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-06-12 11:16:07 -0700</bug_when>
    <thetext>
&gt; 
&gt; I feel like the name of this is wrong.  talking about a &quot;dirty bit&quot; on the surface is a different concept.  Instead, this function is determining if this layer needs to be redrawn onto its target surface.  So we should re-name it to &quot;layerNeedsToBeRedrawnToTargetSurface()&quot;
&gt; 

Actually I think the name I&apos;m proposing is also not ideal.  &quot;needsToBeRedrawn&quot; could be mistaken with logic in CCLayerTreeHostCommon.

how about &quot;layerChangesWillAffectTargetSurface&quot; or something like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647104</commentid>
    <comment_count>12</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-12 11:17:13 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; 
&gt; &gt; I feel like the name of this is wrong.  talking about a &quot;dirty bit&quot; on the surface is a different concept.  Instead, this function is determining if this layer needs to be redrawn onto its target surface.  So we should re-name it to &quot;layerNeedsToBeRedrawnToTargetSurface()&quot;
&gt; &gt; 
&gt; 
&gt; Actually I think the name I&apos;m proposing is also not ideal.  &quot;needsToBeRedrawn&quot; could be mistaken with logic in CCLayerTreeHostCommon.
&gt; 
&gt; how about &quot;layerChangesWillAffectTargetSurface&quot; or something like that.

&quot;layerChangesWillAffectTargetSurfaceContents&quot; :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647180</commentid>
    <comment_count>13</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-06-12 12:31:23 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; &gt; 
&gt; &gt; &gt; I feel like the name of this is wrong.  talking about a &quot;dirty bit&quot; on the surface is a different concept.  Instead, this function is determining if this layer needs to be redrawn onto its target surface.  So we should re-name it to &quot;layerNeedsToBeRedrawnToTargetSurface()&quot;
&gt; &gt; &gt; 
&gt; &gt; 
&gt; &gt; Actually I think the name I&apos;m proposing is also not ideal.  &quot;needsToBeRedrawn&quot; could be mistaken with logic in CCLayerTreeHostCommon.
&gt; &gt; 
&gt; &gt; how about &quot;layerChangesWillAffectTargetSurface&quot; or something like that.
&gt; 
&gt; &quot;layerChangesWillAffectTargetSurfaceContents&quot; :)

Sure =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647184</commentid>
    <comment_count>14</comment_count>
    <who name="">zlieber</who>
    <bug_when>2012-06-12 12:35:46 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Can you describe the state of the current patch you have up? Does it already handle the surface owned by non-drawsContent layer case, and work correctly for the iconify animation etc? ie. is this done from your point of view and ready for a more thorough review yet, or where is it at right now? Thanks!
&gt; 
&gt; (In reply to comment #7)
&gt; &gt; Thanks for comments; some responses below.
&gt; &gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:278
&gt; &gt; &gt; &gt; +bool CCLayerImpl::layerTargetSurfaceDirty() const
&gt; &gt; &gt; 
&gt; &gt; &gt; Since this is only called from damage tracker, can it be done there? Maybe file-static method if you like? Can the name be better so we don&apos;t need the verbose comment below?
&gt; &gt; 
&gt; &gt; It sure could, but this answers a pretty generic question using only class&apos;s own data, so seemed natural to be on the layer. The question is how generic that question is - maybe a different name will make this better? layerTargetSurfaceRequiresRedrawing/ContentsChanged/PixelsChanged?
&gt; 
&gt; I think the pattern we&apos;ve been using for layers is that they are dumb as possible, and we have other classes that act on them instead. So I think if we can just have simple getter/setter on the class, and do more clever things elsewhere (closer to where the computed result it used) that would be desirable. Others should correct me if I&apos;m wrong here. :)

If this is the policy I will of course move this. Though I do have to wonder why we have such a constraint. To me, object = state + behaviour, and to artificially limit it to state only needs some reason behind it. Also to properly implement this policy, layer should be a struct without any methods.

I also have to point out that right now we have some &quot;sacred knowledge&quot; around the layer, things like - &quot;you shouldn&apos;t call setVisibleLayerRect manually, it will be set by other code&quot;. This is also an artifact of having layer-related logic outside the layer. If this method shouldn&apos;t be called, then the layer is the one to compute it and return it via a getter method, with setter being either private or none at all. However, since the relevant algorithm is outside we have to expose the setter and warn people verbally not to call it.

Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:231
&gt; &gt; &gt; &gt; +        renderSurface-&gt;setContentsChanged(!renderSurface-&gt;damageTracker()-&gt;currentDamageRect().isEmpty());
&gt; &gt; &gt; 
&gt; &gt; &gt; I&apos;m not sure why we need this bool on the RenderSurface. It can already see the rect is empty as it looks up here.
&gt; &gt; 
&gt; &gt; Yeah I really did want to put this in, but couldn&apos;t see how the surface can look at this rect without talking to damage tracker directly. Is there a way? 
&gt; &gt; 
&gt; &gt; If not then this flag can go after we fix the quad creation and relationship between these classes and occlusion tracker, so the flag can be set on the quad externally.
&gt; 
&gt; I&apos;m not sure I follow, can&apos;t we replace places that say &quot;renderSurface-&gt;contentsChanged()&quot; with &quot;!renderSurface-&gt;damageTracker()-&gt;currentDamageRect().isEmpty()&quot;? Or at worst, put a contentsChanged() method on CCRenderSurface that queries the damageTracker rect. I don&apos;t get why we need a new bool in the class.

Because both these options will require renderSurface to talk with damage tracker (talk with X == call methods on X). This is the circular dependency we are trying to get rid of - right now render surface only creates it, and we can fix it pretty easily.

I agree the bool should go away, but I see it done differently and in a new CL. We need to first remove the RS talking to quad culler directly, and then insert setting the bool on the draw quad outside the RS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647233</commentid>
    <comment_count>15</comment_count>
    <who name="">zlieber</who>
    <bug_when>2012-06-12 13:30:51 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCDamageTracker.cpp:261
&gt; &gt; +    if (layerIsNew || layer-&gt;layerTargetSurfaceDirty()) {
&gt; 
&gt; I think Dana mentioned that it might be worth moving layerTargetSurfaceDirty() logic to the damage tracker as a static helper function.   I agree with that, but for more reasons - in my opinion this functionality is not meaningful outside of damage tracking, and it could be error-prone/confusing/mis-used if we make it available as an accessor on layers.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:318
&gt; &gt; +    // of the target surface of this layer&apos;s target surface
&gt; 
&gt; &quot;but would require redrawing the targetSurface onto its ancestor targetSurface&quot;
&gt; Also, the comment should probably also clarify what happens with this flag if the layer does not own a renderSurface.

Well... the answer to this is &quot;for layers that do not own a surface this flag acts as layerPropertyChanged&quot;. But this is exactly the documentation of a function which you &amp; Dana asked me to move to DamageTracker because it doesn&apos;t belong in the layer.

So my question is - how come the algorithm doesn&apos;t belong in the layer, but its description does?

For this patch I already move the function, but we really, really need to consider this strategy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647272</commentid>
    <comment_count>16</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-06-12 13:55:51 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #10)
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCDamageTracker.cpp:261
&gt; &gt; &gt; +    if (layerIsNew || layer-&gt;layerTargetSurfaceDirty()) {
&gt; &gt; 
&gt; &gt; I think Dana mentioned that it might be worth moving layerTargetSurfaceDirty() logic to the damage tracker as a static helper function.   I agree with that, but for more reasons - in my opinion this functionality is not meaningful outside of damage tracking, and it could be error-prone/confusing/mis-used if we make it available as an accessor on layers.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:318
&gt; &gt; &gt; +    // of the target surface of this layer&apos;s target surface
&gt; &gt; 
&gt; &gt; &quot;but would require redrawing the targetSurface onto its ancestor targetSurface&quot;
&gt; &gt; Also, the comment should probably also clarify what happens with this flag if the layer does not own a renderSurface.
&gt; 
&gt; Well... the answer to this is &quot;for layers that do not own a surface this flag acts as layerPropertyChanged&quot;. But this is exactly the documentation of a function which you &amp; Dana asked me to move to DamageTracker because it doesn&apos;t belong in the layer.
&gt; 
&gt; So my question is - how come the algorithm doesn&apos;t belong in the layer, but its description does?
&gt; 
&gt; For this patch I already move the function, but we really, really need to consider this strategy.

I&apos;m a little confused... I don&apos;t think Dana and I were asking to move this m_layerSurfacePropertyChanged flag to the damage tracker?   so this comment and the explanation of what it represents would still remain here?

We were proposing to move the layerChangesWillAffectTargetSurfaceContents() computation.  I think its reasonable to see it both ways - you see it as a minor translation between existing layer properties which fits on the layer itself, but personally I see it as code that answers a question that only the damage tracker should be asking.

As for reconsidering the design strategy of this code, we should include a larger group of teammates in that discussion.  I suspect any ideal solution will be quite disruptive, and it might be necessary to incrementally evolve towards a better design than to fix it all at once -- which is what we have been doing =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647280</commentid>
    <comment_count>17</comment_count>
      <attachid>147153</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-12 13:59:45 -0700</bug_when>
    <thetext>Created attachment 147153
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647284</commentid>
    <comment_count>18</comment_count>
    <who name="">zlieber</who>
    <bug_when>2012-06-12 14:01:19 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCDamageTracker.cpp:261
&gt; &gt; &gt; &gt; +    if (layerIsNew || layer-&gt;layerTargetSurfaceDirty()) {
&gt; &gt; &gt; 
&gt; &gt; &gt; I think Dana mentioned that it might be worth moving layerTargetSurfaceDirty() logic to the damage tracker as a static helper function.   I agree with that, but for more reasons - in my opinion this functionality is not meaningful outside of damage tracking, and it could be error-prone/confusing/mis-used if we make it available as an accessor on layers.
&gt; &gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:318
&gt; &gt; &gt; &gt; +    // of the target surface of this layer&apos;s target surface
&gt; &gt; &gt; 
&gt; &gt; &gt; &quot;but would require redrawing the targetSurface onto its ancestor targetSurface&quot;
&gt; &gt; &gt; Also, the comment should probably also clarify what happens with this flag if the layer does not own a renderSurface.
&gt; &gt; 
&gt; &gt; Well... the answer to this is &quot;for layers that do not own a surface this flag acts as layerPropertyChanged&quot;. But this is exactly the documentation of a function which you &amp; Dana asked me to move to DamageTracker because it doesn&apos;t belong in the layer.
&gt; &gt; 
&gt; &gt; So my question is - how come the algorithm doesn&apos;t belong in the layer, but its description does?
&gt; &gt; 
&gt; &gt; For this patch I already move the function, but we really, really need to consider this strategy.
&gt; 
&gt; I&apos;m a little confused... I don&apos;t think Dana and I were asking to move this m_layerSurfacePropertyChanged flag to the damage tracker?   so this comment and the explanation of what it represents would still remain here?
&gt; 
&gt; We were proposing to move the layerChangesWillAffectTargetSurfaceContents() computation.  I think its reasonable to see it both ways - you see it as a minor translation between existing layer properties which fits on the layer itself, but personally I see it as code that answers a question that only the damage tracker should be asking.
&gt; 
&gt; As for reconsidering the design strategy of this code, we should include a larger group of teammates in that discussion.  I suspect any ideal solution will be quite disruptive, and it might be necessary to incrementally evolve towards a better design than to fix it all at once -- which is what we have been doing =)

My point here was that I was adding a documentation to a field, but ended up with a description of an algorithm that is said to belong somewhere else. How can we say the algorithm belongs somewhere else if it follows naturally from the plain description of a field it operates on?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648337</commentid>
    <comment_count>19</comment_count>
      <attachid>147153</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-13 12:09:50 -0700</bug_when>
    <thetext>Comment on attachment 147153
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:294
&gt; +    // If this layer&apos;s surface property hasn&apos;t changed, we want to see if
&gt; +    // some layer above us has changed this property. This is done for the
&gt; +    // case when such parent layer does not draw content, and therefore will
&gt; +    // not be traversed by the damage tracker. We need to make sure that
&gt; +    // property change on such layer will be caught by its descendants.
&gt; +    CCLayerImpl* current = this-&gt;m_parent;
&gt; +    while (current &amp;&amp; !current-&gt;m_renderSurface) {
&gt; +        if (current-&gt;m_layerSurfacePropertyChanged)
&gt; +            return true;
&gt; +        current = current-&gt;m_parent;
&gt; +    }

As per offline I&apos;m not sure about this being in CCLayerImpl since it depends on state from calcDrawEtc. But we do have lots of other getters like this, all the drawFoo() ones so maybe my feeling is misplaced.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.cpp:92
&gt; +    if (layerRenderer) {

Can layerRenderer be null now? This method is only called from LayerRendererChromium so this seems weird. I assume this is for testing, but can you do the tests in a way that don&apos;t call this with null instead?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.cpp:125
&gt; +    return m_contentsTexture &amp;&amp; m_contentsTexture-&gt;isValid(m_contentRect.size(), GraphicsContext3D::RGBA);

FYI @vollick a place to change to m_contentsSize if you rebase on top of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648354</commentid>
    <comment_count>20</comment_count>
      <attachid>147153</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-13 12:22:55 -0700</bug_when>
    <thetext>Comment on attachment 147153
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.cpp:92
&gt;&gt; +    if (layerRenderer) {
&gt; 
&gt; Can layerRenderer be null now? This method is only called from LayerRendererChromium so this seems weird. I assume this is for testing, but can you do the tests in a way that don&apos;t call this with null instead?

I think it makes sense in the contract of this method. When you are asking to prepare texture, you signal to the surface whether it should create it if non-existent or not. When reserving a texture that you just checked that exists (like we do now in CCLayerTreeHost::removePassesWithCachedTextures), passing, and therefore getting access to, an instance of LayerRendererChromium is redundant.

In fact I&apos;d prefer to get rid of CCRenderSurface -&gt; LayerRendererChromium dependency entirely. First, because it&apos;s circular, and second because surface should not have a knowledge of the way it&apos;s being used/drawn.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648359</commentid>
    <comment_count>21</comment_count>
      <attachid>147153</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-13 12:28:15 -0700</bug_when>
    <thetext>Comment on attachment 147153
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.cpp:92
&gt;&gt;&gt; +    if (layerRenderer) {
&gt;&gt; 
&gt;&gt; Can layerRenderer be null now? This method is only called from LayerRendererChromium so this seems weird. I assume this is for testing, but can you do the tests in a way that don&apos;t call this with null instead?
&gt; 
&gt; I think it makes sense in the contract of this method. When you are asking to prepare texture, you signal to the surface whether it should create it if non-existent or not. When reserving a texture that you just checked that exists (like we do now in CCLayerTreeHost::removePassesWithCachedTextures), passing, and therefore getting access to, an instance of LayerRendererChromium is redundant.
&gt; 
&gt; In fact I&apos;d prefer to get rid of CCRenderSurface -&gt; LayerRendererChromium dependency entirely. First, because it&apos;s circular, and second because surface should not have a knowledge of the way it&apos;s being used/drawn.

I&apos;m working on that last part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648373</commentid>
    <comment_count>22</comment_count>
      <attachid>147153</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-13 12:43:47 -0700</bug_when>
    <thetext>Comment on attachment 147153
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:399
&gt; +    // The pass was alreday removed by another quad - probably the original, and we are the replica

nit: &quot;already&quot; and end the comment with a period.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:409
&gt; +    while (quadListIterator != quadList.backToFrontEnd()) {

for loop? even if the variable is initialized the line above, it lets you put the increment up here

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:411
&gt; +        if (currentQuad-&gt;material() == CCDrawQuad::RenderPass) {

Use != and continue to nest less.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:426
&gt; +    ssize_t passIndex = passes.size() - 1;
&gt; +    while (passIndex &gt;= 0) {

for loop?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:430
&gt; +        while (quadListIterator != quadList.backToFrontEnd()) {

for loop?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:431
&gt; +            CCDrawQuad* currentQuad = (*quadListIterator).get();

quadListIterator-&gt;get()?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:432
&gt; +            if (currentQuad-&gt;material() == CCDrawQuad::RenderPass) {

Use != and continue to nest less.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:435
&gt; +                if (!renderPassQuad-&gt;contentsChanged() &amp;&amp; targetSurface-&gt;hasCachedContentsTexture()) {

Same here, can use continue instead of nesting.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:445
&gt; +                        // We are changing the vector in the middle of reverse iteration.
&gt; +                        // We are guaranteed that any data from iterator to the end will not change.
&gt; +                        // Capture the iterator position from the end, and restore it after the change.
&gt; +                        int positionFromEnd = passes.size() - passIndex;
&gt; +                        removeRenderPassesRecursive(passes, passIndex, renderPassQuad-&gt;renderPass());
&gt; +                        passIndex = passes.size() - positionFromEnd;
&gt; +                        ASSERT(passIndex &gt;= 0);

Can we simplify this? Perhaps make removeRenderPassesRecursive() return the number of passes removed (including recusion) and then move iterator by that amount?

&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.cpp:92
&gt;&gt;&gt;&gt; +    if (layerRenderer) {
&gt;&gt;&gt; 
&gt;&gt;&gt; Can layerRenderer be null now? This method is only called from LayerRendererChromium so this seems weird. I assume this is for testing, but can you do the tests in a way that don&apos;t call this with null instead?
&gt;&gt; 
&gt;&gt; I think it makes sense in the contract of this method. When you are asking to prepare texture, you signal to the surface whether it should create it if non-existent or not. When reserving a texture that you just checked that exists (like we do now in CCLayerTreeHost::removePassesWithCachedTextures), passing, and therefore getting access to, an instance of LayerRendererChromium is redundant.
&gt;&gt; 
&gt;&gt; In fact I&apos;d prefer to get rid of CCRenderSurface -&gt; LayerRendererChromium dependency entirely. First, because it&apos;s circular, and second because surface should not have a knowledge of the way it&apos;s being used/drawn.
&gt; 
&gt; I&apos;m working on that last part.

Oh I see, you&apos;re using this to reserve, I missed that, thanks. It might make sense to make a reserve() method instead and have prepareContentsTexture() call that? Then again I&apos;m (re)moving this code entirely soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648460</commentid>
    <comment_count>23</comment_count>
      <attachid>147153</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-06-13 14:15:37 -0700</bug_when>
    <thetext>Comment on attachment 147153
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:294
&gt;&gt; +    }
&gt; 
&gt; As per offline I&apos;m not sure about this being in CCLayerImpl since it depends on state from calcDrawEtc. But we do have lots of other getters like this, all the drawFoo() ones so maybe my feeling is misplaced.

I don&apos;t really like the potential O(n^2) walk through layers.

Could calcDraw do the correct surface property changed propagation (or conversion to recursive layer property changed) as it determines what gets a surface and what doesn&apos;t? Or, is there some other way to maybe more explicitly propagate these flags?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:47
&gt;      const CCRenderPass* renderPass() const { return m_renderPass; }
&gt; +    CCRenderSurface* targetRenderSurface() const { return m_targetRenderSurface; }
&gt;      bool isReplica() const { return m_isReplica; }
&gt;      unsigned maskTextureId() const { return m_maskTextureId; }
&gt; +    bool contentsChanged() const { return m_contentsChanged; }

I think this is the wrong direction to be going in for CCRenderPassDrawQuad; we should have fewer pointers in quads and not more.  In the future, I&apos;d like to change the CCRenderPass pointer to just be an integer index into the render pass list for the frame.

I don&apos;t think either of these members should be added.  If you need the target render surface, get it from the pass.  If you need to know if contents have changed, you can get that from either the pass or the surface.  The quad doesn&apos;t need to know if its contents have changed or not in order to draw, that&apos;s really a concern of a higher level (CCLayerTreeHostImpl as the owner of the list of the passes).

&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h:183
&gt; +    // FIXME: When the relationships between CCDamageTracker/CCRenderPass/CCRenderSurface/CCRenderPasDrawQuad
&gt; +    // are fixed, this flag may go away. Right now needed to transfer the information from CCDamageTracker
&gt; +    // to CCRenderPassDrawQuad without creating new class dependencies.

Can you explain what the eventual goal is here, possibly with a diagram of who talks to who?

If you remove m_contentsChanged from the quad, then it seems to me that there&apos;s no extra dependency, and maybe no need for this extra member?

&gt; Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp:2398
&gt; +TestCase removeRenderPassesCases[] =

Neat!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648461</commentid>
    <comment_count>24</comment_count>
      <attachid>147153</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-13 14:16:00 -0700</bug_when>
    <thetext>Comment on attachment 147153
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:335
&gt; +    removePassesWithCachedTextures(passes);

Is it possible to make this call in drawLayers()?

Specifically, I don&apos;t think we are going to know what surfaces have cached textures until we have given them all to the LRC and let it figure out what it can afford for the frame. And I don&apos;t think that a call to LRC belongs in here, right now I am planning to include this in LRC::beginDrawingFrame().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648570</commentid>
    <comment_count>25</comment_count>
    <who name="">zlieber</who>
    <bug_when>2012-06-13 16:21:46 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (From update of attachment 147153 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=147153&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:335
&gt; &gt; +    removePassesWithCachedTextures(passes);
&gt; 
&gt; Is it possible to make this call in drawLayers()?
&gt; 
&gt; Specifically, I don&apos;t think we are going to know what surfaces have cached textures until we have given them all to the LRC and let it figure out what it can afford for the frame. And I don&apos;t think that a call to LRC belongs in here, right now I am planning to include this in LRC::beginDrawingFrame().

Just realized that putting this in drawLayers will constitute a side-effect. Callers passing in a frame do not expect this frame to change.

Maybe a more appropriate place will be an explicit call in some proxy before drawLayers is called?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648584</commentid>
    <comment_count>26</comment_count>
      <attachid>147153</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-13 16:44:21 -0700</bug_when>
    <thetext>Comment on attachment 147153
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:47
&gt;&gt; +    bool contentsChanged() const { return m_contentsChanged; }
&gt; 
&gt; I think this is the wrong direction to be going in for CCRenderPassDrawQuad; we should have fewer pointers in quads and not more.  In the future, I&apos;d like to change the CCRenderPass pointer to just be an integer index into the render pass list for the frame.
&gt; 
&gt; I don&apos;t think either of these members should be added.  If you need the target render surface, get it from the pass.  If you need to know if contents have changed, you can get that from either the pass or the surface.  The quad doesn&apos;t need to know if its contents have changed or not in order to draw, that&apos;s really a concern of a higher level (CCLayerTreeHostImpl as the owner of the list of the passes).

I put in a pointer to renderSurface precisely because of this reason - so I don&apos;t have to assume that m_renderPass points to a valid render pass object. Once the ubercomp change is done, the LRC will have another way of getting the render surface and the m_targetRenderSurface can go. If we try to do some hack now, we will have to undo much more stuff with the ubercomp change, IMO.

For the contentsChanged, I would claim that this field is part of the information required in order to efficiently draw a render pass list, therefore it belongs in the quad. This is part of the information based on which the render pass list will be reduced. However, before transmitting the render pass to the other side, we do not have enough knowledge to use this information (i.e. whether or not cached textures exist), so we use this flag to preserve what we have and let the compositor make use of it.

&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h:183
&gt;&gt; +    // to CCRenderPassDrawQuad without creating new class dependencies.
&gt; 
&gt; Can you explain what the eventual goal is here, possibly with a diagram of who talks to who?
&gt; 
&gt; If you remove m_contentsChanged from the quad, then it seems to me that there&apos;s no extra dependency, and maybe no need for this extra member?

I don&apos;t think we can remove it from the quad (see separate comment), as we won&apos;t transmit the entire layer structure in the ubercomp. We need to transmit contentsChanged flag *somewhere* so the render passes can be deleted properly.

For the relationship change, I was just referring to the ubercomp and the change Dana is doing, making CCRenderPassDrawQuad more independent. I&apos;m not really sure at this point whether the flag will actually go away, but I suspect it may.

The reason it is currently there, is that damage tracker is the one who knows whether or not this flag should be set, by having an empty currentDamageRect. At that time, CCRenderPassDrawQuad does not exist yet, so cannot set from damage tracker. At the same time, we cannot query CCDamageTracker from CCRenderSurface because it will create a dependency (it actually exists today, but it&apos;s circular and we should get rid of it). And we obviously cannot and shouldn&apos;t talk to CCDamageTracker from CCRenderPassDrawQuad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648586</commentid>
    <comment_count>27</comment_count>
      <attachid>147153</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-13 16:54:15 -0700</bug_when>
    <thetext>Comment on attachment 147153
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:335
&gt;&gt;&gt; +    removePassesWithCachedTextures(passes);
&gt;&gt; 
&gt;&gt; Is it possible to make this call in drawLayers()?
&gt;&gt; 
&gt;&gt; Specifically, I don&apos;t think we are going to know what surfaces have cached textures until we have given them all to the LRC and let it figure out what it can afford for the frame. And I don&apos;t think that a call to LRC belongs in here, right now I am planning to include this in LRC::beginDrawingFrame().
&gt; 
&gt; Just realized that putting this in drawLayers will constitute a side-effect. Callers passing in a frame do not expect this frame to change.
&gt; 
&gt; Maybe a more appropriate place will be an explicit call in some proxy before drawLayers is called?

Ok just chatted with enne about this as well. Let&apos;s just leave it here, since CCLTHI owns the renderer so it can know when it should do this step here in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648590</commentid>
    <comment_count>28</comment_count>
      <attachid>147153</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-13 16:58:14 -0700</bug_when>
    <thetext>Comment on attachment 147153
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:294
&gt;&gt;&gt; +    }
&gt;&gt; 
&gt;&gt; As per offline I&apos;m not sure about this being in CCLayerImpl since it depends on state from calcDrawEtc. But we do have lots of other getters like this, all the drawFoo() ones so maybe my feeling is misplaced.
&gt; 
&gt; I don&apos;t really like the potential O(n^2) walk through layers.
&gt; 
&gt; Could calcDraw do the correct surface property changed propagation (or conversion to recursive layer property changed) as it determines what gets a surface and what doesn&apos;t? Or, is there some other way to maybe more explicitly propagate these flags?

For this one how about we fall back on propagating it the same way layerPropertyChanged is - every time it is set? Except we have to stop at surface-owning layers for this to be correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648591</commentid>
    <comment_count>29</comment_count>
      <attachid>147153</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-13 17:00:08 -0700</bug_when>
    <thetext>Comment on attachment 147153
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:294
&gt;&gt;&gt;&gt; +    }
&gt;&gt;&gt; 
&gt;&gt;&gt; As per offline I&apos;m not sure about this being in CCLayerImpl since it depends on state from calcDrawEtc. But we do have lots of other getters like this, all the drawFoo() ones so maybe my feeling is misplaced.
&gt;&gt; 
&gt;&gt; I don&apos;t really like the potential O(n^2) walk through layers.
&gt;&gt; 
&gt;&gt; Could calcDraw do the correct surface property changed propagation (or conversion to recursive layer property changed) as it determines what gets a surface and what doesn&apos;t? Or, is there some other way to maybe more explicitly propagate these flags?
&gt; 
&gt; For this one how about we fall back on propagating it the same way layerPropertyChanged is - every time it is set? Except we have to stop at surface-owning layers for this to be correct.

That last bit is why we can&apos;t. We don&apos;t know surfaces when we set these flags.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648605</commentid>
    <comment_count>30</comment_count>
      <attachid>147153</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-13 17:11:20 -0700</bug_when>
    <thetext>Comment on attachment 147153
Patch

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

&gt;&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:294
&gt;&gt;&gt;&gt;&gt; +    }
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; As per offline I&apos;m not sure about this being in CCLayerImpl since it depends on state from calcDrawEtc. But we do have lots of other getters like this, all the drawFoo() ones so maybe my feeling is misplaced.
&gt;&gt;&gt; 
&gt;&gt;&gt; I don&apos;t really like the potential O(n^2) walk through layers.
&gt;&gt;&gt; 
&gt;&gt;&gt; Could calcDraw do the correct surface property changed propagation (or conversion to recursive layer property changed) as it determines what gets a surface and what doesn&apos;t? Or, is there some other way to maybe more explicitly propagate these flags?
&gt;&gt; 
&gt;&gt; For this one how about we fall back on propagating it the same way layerPropertyChanged is - every time it is set? Except we have to stop at surface-owning layers for this to be correct.
&gt; 
&gt; That last bit is why we can&apos;t. We don&apos;t know surfaces when we set these flags.

Oh yeah that&apos;s right, forgot about this.

As I was dumping layer trees debugging this, I found they are for most part pretty flat. Is O(n^2) a realistic possibility here?

I can come up with a separate walk that will propagate the flag, but it will be way more code, and will be much slower in most realistic cases, though technically O(n). I&apos;d prefer not to modify calcDraw at this point as I&apos;m not sure I can do this safely.

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648652</commentid>
    <comment_count>31</comment_count>
      <attachid>147153</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-13 18:18:40 -0700</bug_when>
    <thetext>Comment on attachment 147153
Patch

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

&gt;&gt;&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:294
&gt;&gt;&gt;&gt;&gt;&gt; +    }
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; As per offline I&apos;m not sure about this being in CCLayerImpl since it depends on state from calcDrawEtc. But we do have lots of other getters like this, all the drawFoo() ones so maybe my feeling is misplaced.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; I don&apos;t really like the potential O(n^2) walk through layers.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; Could calcDraw do the correct surface property changed propagation (or conversion to recursive layer property changed) as it determines what gets a surface and what doesn&apos;t? Or, is there some other way to maybe more explicitly propagate these flags?
&gt;&gt;&gt; 
&gt;&gt;&gt; For this one how about we fall back on propagating it the same way layerPropertyChanged is - every time it is set? Except we have to stop at surface-owning layers for this to be correct.
&gt;&gt; 
&gt;&gt; That last bit is why we can&apos;t. We don&apos;t know surfaces when we set these flags.
&gt; 
&gt; Oh yeah that&apos;s right, forgot about this.
&gt; 
&gt; As I was dumping layer trees debugging this, I found they are for most part pretty flat. Is O(n^2) a realistic possibility here?
&gt; 
&gt; I can come up with a separate walk that will propagate the flag, but it will be way more code, and will be much slower in most realistic cases, though technically O(n). I&apos;d prefer not to modify calcDraw at this point as I&apos;m not sure I can do this safely.
&gt; 
&gt; What do you think?

Here&apos;s one other possibility: have this getter set the flag for the entire path it just traversed in case of positive result. I.e. instead of just &quot;return true&quot;, run up the tree again, this time setting this flag as a side-effect. This will avoid duplicating this work next time our ancestor is queried.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649364</commentid>
    <comment_count>32</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-06-14 12:17:04 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (From update of attachment 147153 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=147153&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:47
&gt; &gt;&gt; +    bool contentsChanged() const { return m_contentsChanged; }
&gt; &gt; 
&gt; &gt; I think this is the wrong direction to be going in for CCRenderPassDrawQuad; we should have fewer pointers in quads and not more.  In the future, I&apos;d like to change the CCRenderPass pointer to just be an integer index into the render pass list for the frame.
&gt; &gt; 
&gt; &gt; I don&apos;t think either of these members should be added.  If you need the target render surface, get it from the pass.  If you need to know if contents have changed, you can get that from either the pass or the surface.  The quad doesn&apos;t need to know if its contents have changed or not in order to draw, that&apos;s really a concern of a higher level (CCLayerTreeHostImpl as the owner of the list of the passes).
&gt; 
&gt; I put in a pointer to renderSurface precisely because of this reason - so I don&apos;t have to assume that m_renderPass points to a valid render pass object. Once the ubercomp change is done, the LRC will have another way of getting the render surface and the m_targetRenderSurface can go. If we try to do some hack now, we will have to undo much more stuff with the ubercomp change, IMO.

When does m_renderPass not point to a valid render pass?

I don&apos;t understand what the hack is here; I&apos;m just asking that the iteration to remove passes in CCLayerTreeHostImpl use the surface pointer and damage tracker that it already has access to, rather than pushing more pointers into quads.

&gt; For the contentsChanged, I would claim that this field is part of the information required in order to efficiently draw a render pass list, therefore it belongs in the quad. This is part of the information based on which the render pass list will be reduced. However, before transmitting the render pass to the other side, we do not have enough knowledge to use this information (i.e. whether or not cached textures exist), so we use this flag to preserve what we have and let the compositor make use of it.

Sorry, but I disagree.  That field is part of the information used to remove some other render pass entirely, but not to actually draw the quad representing that pass.

The damage is also a piece of information that we could use to set a partial scissor when beginning to draw a render pass, so it seems like it&apos;s most suited to live somewhere more like the pass or the surface, which it essentially does right now in the form of querying the damage tracker.  In an ubercomp world, I think we would pass the current damage rect with the pass and not with the quad.

&gt; &gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h:183
&gt; &gt;&gt; +    // to CCRenderPassDrawQuad without creating new class dependencies.
&gt; &gt; 
&gt; &gt; Can you explain what the eventual goal is here, possibly with a diagram of who talks to who?
&gt; &gt; 
&gt; &gt; If you remove m_contentsChanged from the quad, then it seems to me that there&apos;s no extra dependency, and maybe no need for this extra member?
&gt; 
&gt; I don&apos;t think we can remove it from the quad (see separate comment), as we won&apos;t transmit the entire layer structure in the ubercomp. We need to transmit contentsChanged flag *somewhere* so the render passes can be deleted properly.
&gt; 
&gt; For the relationship change, I was just referring to the ubercomp and the change Dana is doing, making CCRenderPassDrawQuad more independent. I&apos;m not really sure at this point whether the flag will actually go away, but I suspect it may.
&gt; 
&gt; The reason it is currently there, is that damage tracker is the one who knows whether or not this flag should be set, by having an empty currentDamageRect. At that time, CCRenderPassDrawQuad does not exist yet, so cannot set from damage tracker. At the same time, we cannot query CCDamageTracker from CCRenderSurface because it will create a dependency (it actually exists today, but it&apos;s circular and we should get rid of it). And we obviously cannot and shouldn&apos;t talk to CCDamageTracker from CCRenderPassDrawQuad.

I don&apos;t understand why you can&apos;t query CCDamageTracker from CCRenderSurface.  CCRenderSurface *owns* the damage tracker.  Offhand, I think the circular reference would be better broken by pushing the damage tracker up to CCRenderPass rather than pushing the results down.  That&apos;s problematic because CCRenderSurface is the persistent object from frame to frame, so it&apos;d take more doing to make that work.

It seems like you&apos;re trying to do two things in this patch: preserve render passes and eliminate circular dependencies.  The former seems like it&apos;s more important and the latter seems more contentious.  Can we punt on the second for now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649384</commentid>
    <comment_count>33</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-06-14 12:39:51 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; (From update of attachment 147153 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=147153&amp;action=review

&gt; &gt; As I was dumping layer trees debugging this, I found they are for most part pretty flat. Is O(n^2) a realistic possibility here?
&gt; &gt; 
&gt; &gt; I can come up with a separate walk that will propagate the flag, but it will be way more code, and will be much slower in most realistic cases, though technically O(n). I&apos;d prefer not to modify calcDraw at this point as I&apos;m not sure I can do this safely.
&gt; &gt; 
&gt; &gt; What do you think?
&gt; 
&gt; Here&apos;s one other possibility: have this getter set the flag for the entire path it just traversed in case of positive result. I.e. instead of just &quot;return true&quot;, run up the tree again, this time setting this flag as a side-effect. This will avoid duplicating this work next time our ancestor is queried.

Re: the other possibility.  I would prefer not to have a getter be non-const, even if the result is the same regardless.

It&apos;s the negative result case I&apos;m most worried about--not only is it far more likely that transform/opacity is not changed on a given frame, but it&apos;s the negative result that requires walking all the way up to the root.

Eh.  Maybe this is fine as-is and we can make it more efficient in the future if need be.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649455</commentid>
    <comment_count>34</comment_count>
      <attachid>147153</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-14 13:52:53 -0700</bug_when>
    <thetext>Comment on attachment 147153
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:47
&gt;&gt;&gt;&gt; +    bool contentsChanged() const { return m_contentsChanged; }
&gt;&gt;&gt; 
&gt;&gt;&gt; I think this is the wrong direction to be going in for CCRenderPassDrawQuad; we should have fewer pointers in quads and not more.  In the future, I&apos;d like to change the CCRenderPass pointer to just be an integer index into the render pass list for the frame.
&gt;&gt;&gt; 
&gt;&gt;&gt; I don&apos;t think either of these members should be added.  If you need the target render surface, get it from the pass.  If you need to know if contents have changed, you can get that from either the pass or the surface.  The quad doesn&apos;t need to know if its contents have changed or not in order to draw, that&apos;s really a concern of a higher level (CCLayerTreeHostImpl as the owner of the list of the passes).
&gt;&gt; 
&gt;&gt; I put in a pointer to renderSurface precisely because of this reason - so I don&apos;t have to assume that m_renderPass points to a valid render pass object. Once the ubercomp change is done, the LRC will have another way of getting the render surface and the m_targetRenderSurface can go. If we try to do some hack now, we will have to undo much more stuff with the ubercomp change, IMO.
&gt;&gt; 
&gt;&gt; For the contentsChanged, I would claim that this field is part of the information required in order to efficiently draw a render pass list, therefore it belongs in the quad. This is part of the information based on which the render pass list will be reduced. However, before transmitting the render pass to the other side, we do not have enough knowledge to use this information (i.e. whether or not cached textures exist), so we use this flag to preserve what we have and let the compositor make use of it.
&gt; 
&gt; When does m_renderPass not point to a valid render pass?
&gt; 
&gt; I don&apos;t understand what the hack is here; I&apos;m just asking that the iteration to remove passes in CCLayerTreeHostImpl use the surface pointer and damage tracker that it already has access to, rather than pushing more pointers into quads.

&gt; When does m_renderPass not point to a valid render pass?

In two cases. First, when the render pass it points to is removed from the vector and deleted. The pointer becomes dangling, as the vector has OwnPtr&apos;s. And second, when we are going to convert renderPass pointer to render pass ID. My understanding was that this is the direction we&apos;re going.

&gt; I don&apos;t understand what the hack is here

A couple of possibilities, I&apos;d consider them as hacks. First is to cache the removed render passes in a separate vector so that they don&apos;t go out of scope. That caching will have to be removed when render pass pointer becomes and ID, that&apos;s why I said it&apos;s more changes. The second possibility is to introduce a flag in render pass that will cause the draw to be skipped. I&apos;d consider this problematic because we shouldn&apos;t have issues with removing render passes - they never survive a single frame anyways. Given that the current direction is for the render pass pointer inside the quad to become and ID, I thought this solution was the closest to it.

It is a matter of opinion however so if you want any of these possibilities or have a different one in mind this can be done. Just wanted to point out that it&apos;s not as simple as replacing quad-&gt;surface() with quad-&gt;pass()-&gt;surface().

&gt; Sorry, but I disagree.  That field is part of the information used to remove some other render pass entirely, but not to actually draw the quad representing that pass.
&gt;
&gt; The damage is also a piece of information that we could use to set a partial scissor when beginning to draw a render pass, so it seems like it&apos;s most suited to live somewhere more like the pass or the surface, which it essentially does right now in the form of querying the damage tracker.  In an ubercomp world, I think we would pass the current damage rect with the pass and not with the quad.

OK, I&apos;ll query the surface.

&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h:183
&gt;&gt;&gt;&gt; +    // to CCRenderPassDrawQuad without creating new class dependencies.
&gt;&gt;&gt; 
&gt;&gt;&gt; Can you explain what the eventual goal is here, possibly with a diagram of who talks to who?
&gt;&gt;&gt; 
&gt;&gt;&gt; If you remove m_contentsChanged from the quad, then it seems to me that there&apos;s no extra dependency, and maybe no need for this extra member?
&gt;&gt; 
&gt;&gt; I don&apos;t think we can remove it from the quad (see separate comment), as we won&apos;t transmit the entire layer structure in the ubercomp. We need to transmit contentsChanged flag *somewhere* so the render passes can be deleted properly.
&gt;&gt; 
&gt;&gt; For the relationship change, I was just referring to the ubercomp and the change Dana is doing, making CCRenderPassDrawQuad more independent. I&apos;m not really sure at this point whether the flag will actually go away, but I suspect it may.
&gt;&gt; 
&gt;&gt; The reason it is currently there, is that damage tracker is the one who knows whether or not this flag should be set, by having an empty currentDamageRect. At that time, CCRenderPassDrawQuad does not exist yet, so cannot set from damage tracker. At the same time, we cannot query CCDamageTracker from CCRenderSurface because it will create a dependency (it actually exists today, but it&apos;s circular and we should get rid of it). And we obviously cannot and shouldn&apos;t talk to CCDamageTracker from CCRenderPassDrawQuad.
&gt; 
&gt; I don&apos;t understand why you can&apos;t query CCDamageTracker from CCRenderSurface.  CCRenderSurface *owns* the damage tracker.  Offhand, I think the circular reference would be better broken by pushing the damage tracker up to CCRenderPass rather than pushing the results down.  That&apos;s problematic because CCRenderSurface is the persistent object from frame to frame, so it&apos;d take more doing to make that work.
&gt; 
&gt; It seems like you&apos;re trying to do two things in this patch: preserve render passes and eliminate circular dependencies.  The former seems like it&apos;s more important and the latter seems more contentious.  Can we punt on the second for now?

Right now the situation is actually not so bad. Render surface instantiates damage tracker, but that can be fixed pretty easily. I checked in the source, this is their only interaction right now.

So I was looking at adding communication between surface and tracker as degradation in terms of dependencies; what you suggesting is pretty easily done and if you&apos;re not convinced by the above I can do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649500</commentid>
    <comment_count>35</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-06-14 14:28:35 -0700</bug_when>
    <thetext>(In reply to comment #34)

&gt; &gt; I don&apos;t understand what the hack is here
&gt; 
&gt; A couple of possibilities, I&apos;d consider them as hacks. First is to cache the removed render passes in a separate vector so that they don&apos;t go out of scope. That caching will have to be removed when render pass pointer becomes and ID, that&apos;s why I said it&apos;s more changes. The second possibility is to introduce a flag in render pass that will cause the draw to be skipped. I&apos;d consider this problematic because we shouldn&apos;t have issues with removing render passes - they never survive a single frame anyways. Given that the current direction is for the render pass pointer inside the quad to become and ID, I thought this solution was the closest to it.
&gt; 
&gt; It is a matter of opinion however so if you want any of these possibilities or have a different one in mind this can be done. Just wanted to point out that it&apos;s not as simple as replacing quad-&gt;surface() with quad-&gt;pass()-&gt;surface().

Oh, I see now.

Even with ids, you&apos;re still going to need to keep the render passes alive to be referred to, I suspect.  In the short term, I prefer the caching solution you mention--you could just add a skippedPasses member to FrameData and move passes from renderPasses to skippedPasses to keep them alive.  I think that&apos;s safer than having a pointer on a quad that may or may not be valid at some given time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649658</commentid>
    <comment_count>36</comment_count>
      <attachid>147685</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-14 17:22:11 -0700</bug_when>
    <thetext>Created attachment 147685
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649663</commentid>
    <comment_count>37</comment_count>
    <who name="">zlieber</who>
    <bug_when>2012-06-14 17:27:05 -0700</bug_when>
    <thetext>Implemented latest comments; enne can you please take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649729</commentid>
    <comment_count>38</comment_count>
      <attachid>147685</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-06-14 18:47:48 -0700</bug_when>
    <thetext>Comment on attachment 147685
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:267
&gt; -bool CCLayerTreeHostImpl::calculateRenderPasses(CCRenderPassList&amp; passes, CCLayerList&amp; renderSurfaceLayerList, CCLayerList&amp; willDrawLayers)
&gt; +bool CCLayerTreeHostImpl::calculateRenderPasses(CCRenderPassList&amp; passes, CCLayerList&amp; renderSurfaceLayerList, CCLayerList&amp; willDrawLayers, CCRenderPassList&amp; skippedPasses)

Can this function just take FrameData&amp; instead of all of parameters separately?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:386
&gt; +static ssize_t indexOfRenderPass(const CCRenderPassList&amp; passes, const CCRenderPass* pass, size_t searchUntil)

Did you mean to use searchUntil?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:397
&gt; +    ssize_t removeIndex = indexOfRenderPass(passes, firstToRemove, bottomPass);

Maybe just use passes.find(firstToRemove) rather than roll your own?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:445
&gt; +            // Reserve the texture immediately. We do not need to pass in layer renderer
&gt; +            // since the texture already exists, just needs to be reserved.
&gt; +            if (!targetSurface-&gt;prepareContentsTexture(0))

If you need a static function for testing, then I&apos;d rather you passed in the layer renderer to the function and forwarded that along to prepareContentsTexture, rather than making CCRenderSurface::prepareContentsTexture robust to a null LRC.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.h:61
&gt; +    void appendQuad(PassOwnPtr&lt;CCDrawQuad&gt;);

I know you&apos;re adding this for testing, but can you not add this as a public function? The reason the other appendQuads functions don&apos;t take quads is so that the render pass can own the lifetime of the shared quad state.  With this function, it&apos;s not clear that the caller has to manage the lifetime of the shared quad state on the quad.

Maybe change the private modifier below to protected and make a CCTestRenderPass that exposes what you need?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:31
&gt; +#include &quot;cc/CCRenderPass.h&quot;
&gt; +

Not needed anymore?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:30
&gt; +#include &quot;cc/CCRenderSurface.h&quot;

Not needed anymore?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h:184
&gt; +    // FIXME: When the relationships between CCDamageTracker/CCRenderPass/CCRenderSurface/CCRenderPasDrawQuad
&gt; +    // are fixed, this flag may go away. Right now needed to transfer the information from CCDamageTracker
&gt; +    // to CCRenderPassDrawQuad without creating new class dependencies.
&gt; +    bool m_contentsChanged;
&gt; +

Unused?

&gt; Source/WebKit/chromium/tests/CCLayerImplTest.cpp:130
&gt; +    // Changing these properties only affects how render&apos;s surface is drawn

s/&apos;s//

&gt; Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp:2171
&gt; +    mutable OwnPtr&lt;CCRenderPass&gt; renderPassPtr;

C++11&apos;s move semantics can&apos;t get here soon enough.

&gt; Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp:2379
&gt; +    EXPECT_STREQ(expectedResult, actualResult);

Can you pipe a string about which test case failed, e.g. &quot;EXPECT_STREQ(expectedResult, actualResult) &lt;&lt; testName;&quot; so that when this fails there&apos;s more indication in the log about which case is failing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649742</commentid>
    <comment_count>39</comment_count>
      <attachid>147685</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-06-14 18:57:47 -0700</bug_when>
    <thetext>Comment on attachment 147685
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/cc/CCDamageTracker.cpp:242
&gt; +static bool layerTargetSurfaceRequiresRedrawing(CCLayerImpl* layer)

I&apos;m not sure about our past discussion, but looking at this version of the patch now, I would prefer to re-name this.

If this returns false, the name implies that the targetSurface does not require redrawing, which is not necessarily what we mean here.  I think what this function is doing is telling whether the layer needs to be redrawn to its targetSurface, no?

so shouldn&apos;t this be called &quot;layerNeedsToRedrawOntoItsTargetSurface&quot;   (or something similar but saying the exact same thing) ??</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649779</commentid>
    <comment_count>40</comment_count>
      <attachid>147685</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-14 19:31:41 -0700</bug_when>
    <thetext>Comment on attachment 147685
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:445
&gt;&gt; +            if (!targetSurface-&gt;prepareContentsTexture(0))
&gt; 
&gt; If you need a static function for testing, then I&apos;d rather you passed in the layer renderer to the function and forwarded that along to prepareContentsTexture, rather than making CCRenderSurface::prepareContentsTexture robust to a null LRC.

Please see comments #20 and #22 (last few lines). Will you agree to wait for Dana&apos;s change and separate the functions then?

&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.h:61
&gt;&gt; +    void appendQuad(PassOwnPtr&lt;CCDrawQuad&gt;);
&gt; 
&gt; I know you&apos;re adding this for testing, but can you not add this as a public function? The reason the other appendQuads functions don&apos;t take quads is so that the render pass can own the lifetime of the shared quad state.  With this function, it&apos;s not clear that the caller has to manage the lifetime of the shared quad state on the quad.
&gt; 
&gt; Maybe change the private modifier below to protected and make a CCTestRenderPass that exposes what you need?

Just wondering, can shared quad state be ref-counted between the quads that use it? Not for this patch of course.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650193</commentid>
    <comment_count>41</comment_count>
      <attachid>147819</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-15 08:05:36 -0700</bug_when>
    <thetext>Created attachment 147819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650285</commentid>
    <comment_count>42</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-06-15 10:10:10 -0700</bug_when>
    <thetext>(In reply to comment #40)
&gt; (From update of attachment 147685 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=147685&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:445
&gt; &gt;&gt; +            if (!targetSurface-&gt;prepareContentsTexture(0))
&gt; &gt; 
&gt; &gt; If you need a static function for testing, then I&apos;d rather you passed in the layer renderer to the function and forwarded that along to prepareContentsTexture, rather than making CCRenderSurface::prepareContentsTexture robust to a null LRC.
&gt; 
&gt; Please see comments #20 and #22 (last few lines). Will you agree to wait for Dana&apos;s change and separate the functions then?

Ok, but put a FIXME in prepareContentsTexture to separate out creation and reservation.

&gt; &gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.h:61
&gt; &gt;&gt; +    void appendQuad(PassOwnPtr&lt;CCDrawQuad&gt;);
&gt; &gt; 
&gt; &gt; I know you&apos;re adding this for testing, but can you not add this as a public function? The reason the other appendQuads functions don&apos;t take quads is so that the render pass can own the lifetime of the shared quad state.  With this function, it&apos;s not clear that the caller has to manage the lifetime of the shared quad state on the quad.
&gt; &gt; 
&gt; &gt; Maybe change the private modifier below to protected and make a CCTestRenderPass that exposes what you need?
&gt; 
&gt; Just wondering, can shared quad state be ref-counted between the quads that use it? Not for this patch of course.

Maybe? I think I&apos;d want to see how the quad serialization shaped up first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650330</commentid>
    <comment_count>43</comment_count>
      <attachid>147856</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-15 10:50:52 -0700</bug_when>
    <thetext>Created attachment 147856
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650344</commentid>
    <comment_count>44</comment_count>
      <attachid>147856</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-06-15 11:04:48 -0700</bug_when>
    <thetext>Comment on attachment 147856
Patch

Thanks for all the changes.  R=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650500</commentid>
    <comment_count>45</comment_count>
      <attachid>147856</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-15 14:20:46 -0700</bug_when>
    <thetext>Comment on attachment 147856
Patch

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

New failing tests:
platform/chromium/compositing/layout-width-change.html
platform/chromium/compositing/render-surface-alpha-blending.html
platform/chromium/compositing/tiny-layer-rotated.html
platform/chromium/compositing/huge-layer-rotated.html
fast/loader/loadInProgress.html
platform/chromium/compositing/3d-corners.html
platform/chromium/compositing/video-frame-size-change.html
platform/chromium/compositing/perpendicular-layer-sorting.html
fast/loader/unload-form-post-about-blank.html
platform/chromium/compositing/child-layer-3d-sorting.html
platform/chromium/compositing/accelerated-drawing/svg-filters.html
platform/chromium/compositing/lost-compositor-context-permanently.html
platform/chromium/compositing/filters/background-filter-blur-outsets.html
platform/chromium/compositing/lost-compositor-context-with-video.html
platform/chromium/compositing/accelerated-drawing/alpha.html
http/tests/xmlhttprequest/zero-length-response.html
http/tests/security/script-crossorigin-loads-correctly.html
platform/chromium/compositing/plugins/webplugin-alpha.html
platform/chromium/compositing/webgl-loses-compositor-context.html
platform/chromium/compositing/backface-visibility-transformed.html
platform/chromium/compositing/lost-compositor-context-with-rendersurface.html
platform/chromium/compositing/lost-compositor-context.html
platform/chromium/compositing/img-layer-grow.html
platform/chromium/compositing/filters/background-filter-blur-off-axis.html
platform/chromium/compositing/filters/background-filter-blur.html
platform/chromium/compositing/lost-compositor-context-twice.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650501</commentid>
    <comment_count>46</comment_count>
      <attachid>147898</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-15 14:20:51 -0700</bug_when>
    <thetext>Created attachment 147898
Archive of layout-test-results from ec2-cr-linux-01

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: ec2-cr-linux-01  Port: &lt;class &apos;webkitpy.common.config.ports.ChromiumXVFBPort&apos;&gt;  Platform: Linux-2.6.35-28-virtual-x86_64-with-Ubuntu-10.10-maverick</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650787</commentid>
    <comment_count>47</comment_count>
      <attachid>147965</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-16 05:47:28 -0700</bug_when>
    <thetext>Created attachment 147965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650790</commentid>
    <comment_count>48</comment_count>
      <attachid>147965</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-16 06:58:33 -0700</bug_when>
    <thetext>Comment on attachment 147965
Patch

Looks like a rebase? Clearing the R flag. Put a CQ? on here if you want me to commit please :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650807</commentid>
    <comment_count>49</comment_count>
      <attachid>147973</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-16 09:20:53 -0700</bug_when>
    <thetext>Created attachment 147973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650900</commentid>
    <comment_count>50</comment_count>
      <attachid>147973</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-16 17:26:41 -0700</bug_when>
    <thetext>Comment on attachment 147973
Patch

Clearing flags on attachment: 147973

Committed r120539: &lt;http://trac.webkit.org/changeset/120539&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650902</commentid>
    <comment_count>51</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-16 17:26:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650913</commentid>
    <comment_count>52</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-16 17:57:05 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 89295</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650922</commentid>
    <comment_count>53</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-16 18:03:16 -0700</bug_when>
    <thetext>FAILED: clang++ -MMD -MF obj/third_party/WebKit/Source/WebCore/platform/graphics/chromium/webcore_platform.ContentLayerChromium.o.d -DCHROMIUM_BUILD -DENABLE_ONE_CLICK_SIGNIN -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_CONFIGURATION_POLICY -DENABLE_INPUT_SPEECH -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DENABLE_GPU=1 -DENABLE_EGLIMAGE=1 -DUSE_SKIA=1 -DENABLE_TASK_MANAGER=1 -DENABLE_WEB_INTENTS=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PROTECTOR_SERVICE=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_BACKGROUND=1 -DENABLE_PROMO_RESOURCE_SERVICE=1 -DENABLE_AUTOMATION=1 -DENABLE_PRINTING=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DWEBKIT_IMPLEMENTATION=1 &apos;-DWEBCORE_NAVIGATOR_VENDOR=&quot;Google Inc.&quot;&apos; &apos;-DWEBCORE_NAVIGATOR_PLATFORM=&quot;MacIntel&quot;&apos; -DWebCascadeList=ChromiumWebCoreObjCWebCascadeList -DWebScrollbarPrefsObserver=ChromiumWebCoreObjCWebScrollbarPrefsObserver -DWebCoreRenderThemeNotificationObserver=ChromiumWebCoreObjCWebCoreRenderThemeNotificationObserver -DWebFontCache=ChromiumWebCoreObjCWebFontCache -DWebScrollAnimationHelperDelegate=ChromiumWebCoreObjCWebScrollAnimationHelperDelegate -DWebScrollbarPainterControllerDelegate=ChromiumWebCoreObjCWebScrollbarPainterControllerDelegate -DWebScrollbarPainterDelegate=ChromiumWebCoreObjCWebScrollbarPainterDelegate -DWebScrollbarPartAnimation=ChromiumWebCoreObjCWebScrollbarPartAnimation -DENABLE_3D_PLUGIN=1 -DENABLE_BATTERY_STATUS=0 -DENABLE_BLOB=1 -DENABLE_BLOB_SLICE=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSS3_FLEXBOX=1 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_SHADERS=1 -DENABLE_CSS_VARIABLES=0 -DENABLE_CUSTOM_SCHEME_HANDLER=0 -DENABLE_DATALIST=1 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATA_TRANSFER_ITEMS=1 -DENABLE_DETAILS=1 -DENABLE_DEVICE_ORIENTATION=1 -DENABLE_DIRECTORY_UPLOAD=1 -DENABLE_DOWNLOAD_ATTRIBUTE=1 -DENABLE_ENCRYPTED_MEDIA=1 -DENABLE_FILE_SYSTEM=1 -DENABLE_FILTERS=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_GAMEPAD=1 -DENABLE_GEOLOCATION=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=0 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INDEXED_DATABASE=1 -DENABLE_INPUT_TYPE_DATE=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_LEGACY_WEBKIT_BLOB_BUILDER=1 -DENABLE_LINK_PREFETCH=1 -DENABLE_LINK_PRERENDER=1 -DENABLE_MEDIA_SOURCE=1 -DENABLE_MEDIA_STATISTICS=1 -DENABLE_METER_TAG=1 -DENABLE_MHTML=1 -DENABLE_MICRODATA=0 -DENABLE_MUTATION_OBSERVERS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_POINTER_LOCK=1 -DENABLE_PROGRESS_TAG=1 -DENABLE_QUOTA=1 -DENABLE_REGISTER_PROTOCOL_HANDLER=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_RUBY=1 -DENABLE_SANDBOX=1 -DENABLE_SCRIPTED_SPEECH=1 -DENABLE_SHADOW_DOM=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_STYLE_SCOPED=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_V8_SCRIPT_DEBUG_SERVER=1 -DENABLE_VIDEO=1 -DENABLE_VIDEO_TRACK=1 -DENABLE_VIEWPORT=1 -DENABLE_WEBGL=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WORKERS=1 -DENABLE_XHR_RESPONSE_BLOB=1 -DENABLE_XSLT=1 -DWTF_USE_LEVELDB=1 -DWTF_USE_BUILTIN_UTF8_CODEC=1 -DWTF_USE_OPENTYPE_SANITIZER=1 -DWTF_USE_RTL_SCROLLBAR=1 -DWTF_USE_SKIA_TEXT=1 -DWTF_USE_WEBP=1 -DWTF_USE_WEBKIT_IMAGE_DECODERS=1 -DENABLE_CALENDAR_PICKER=1 -DENABLE_FONT_BOOSTING=0 -DENABLE_FULLSCREEN_MEDIA_CONTROLS=1 -DENABLE_INPUT_SPEECH=1 -DENABLE_JAVASCRIPT_I18N_API=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_MEDIA_CAPTURE=0 -DENABLE_MEDIA_STREAM=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_OVERFLOW_SCROLLING=0 -DENABLE_PAGE_POPUP=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_WEB_AUDIO=1 -DENABLE_INPUT_TYPE_COLOR=1 -DWTF_USE_ACCELERATED_COMPOSITING=1 -DENABLE_3D_RENDERING=1 -DENABLE_ACCELERATED_2D_CANVAS=1 -DENABLE_RUBBER_BANDING=1 -DWTF_USE_SKIA_ON_MAC_CHROMIUM=1 -DBUILDING_CHROMIUM__=1 -DUSE_SYSTEM_MALLOC=1 -DWTF_USE_NEW_THEME=1 -DU_USING_ICU_NAMESPACE=0 -DU_STATIC_IMPLEMENTATION -DSK_BUILD_NO_IMAGE_ENCODE &apos;-DGR_GL_CUSTOM_SETUP_HEADER=&quot;GrGLConfig_chrome.h&quot;&apos; -DGR_AGGRESSIVE_SHADER_OPTS=1 -DCHROME_PNG_WRITE_SUPPORT -DPNG_USER_CONFIG -DLIBXML_STATIC -DLIBXSLT_STATIC -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../../third_party/icu/public/common -I../../third_party/icu/public/i18n -I../../third_party/apple_webkit -I../../third_party/khronos -I../.. -Iobj/third_party/WebKit/Source/WebCore/WebCore.gyp/webcore_platform.gen -I../../third_party/WebKit/Source/WebCore -I../../third_party/WebKit/Source -I../../third_party/WebKit/Source/WebCore/Modules/battery -I../../third_party/WebKit/Source/WebCore/Modules/filesystem -I../../third_party/WebKit/Source/WebCore/Modules/filesystem/chromium -I../../third_party/WebKit/Source/WebCore/Modules/gamepad -I../../third_party/WebKit/Source/WebCore/Modules/geolocation -I../../third_party/WebKit/Source/WebCore/Modules/intents -I../../third_party/WebKit/Source/WebCore/Modules/indexeddb -I../../third_party/WebKit/Source/WebCore/Modules/mediastream -I../../third_party/WebKit/Source/WebCore/Modules/quota -I../../third_party/WebKit/Source/WebCore/Modules/speech -I../../third_party/WebKit/Source/WebCore/Modules/webaudio -I../../third_party/WebKit/Source/WebCore/Modules/webdatabase -I../../third_party/WebKit/Source/WebCore/Modules/webdatabase/chromium -I../../third_party/WebKit/Source/WebCore/Modules/websockets -I../../third_party/WebKit/Source/WebCore/accessibility -I../../third_party/WebKit/Source/WebCore/accessibility/chromium -I../../third_party/WebKit/Source/WebCore/bindings -I../../third_party/WebKit/Source/WebCore/bindings/generic -I../../third_party/WebKit/Source/WebCore/bindings/v8 -I../../third_party/WebKit/Source/WebCore/bindings/v8/custom -I../../third_party/WebKit/Source/WebCore/bindings/v8/specialization -I../../third_party/WebKit/Source/WebCore/bridge -I../../third_party/WebKit/Source/WebCore/bridge/jni -I../../third_party/WebKit/Source/WebCore/bridge/jni/v8 -I../../third_party/WebKit/Source/WebCore/css -I../../third_party/WebKit/Source/WebCore/dom -I../../third_party/WebKit/Source/WebCore/dom/default -I../../third_party/WebKit/Source/WebCore/editing -I../../third_party/WebKit/Source/WebCore/fileapi -I../../third_party/WebKit/Source/WebCore/history -I../../third_party/WebKit/Source/WebCore/html -I../../third_party/WebKit/Source/WebCore/html/canvas -I../../third_party/WebKit/Source/WebCore/html/parser -I../../third_party/WebKit/Source/WebCore/html/shadow -I../../third_party/WebKit/Source/WebCore/html/track -I../../third_party/WebKit/Source/WebCore/inspector -I../../third_party/WebKit/Source/WebCore/loader -I../../third_party/WebKit/Source/WebCore/loader/appcache -I../../third_party/WebKit/Source/WebCore/loader/archive -I../../third_party/WebKit/Source/WebCore/loader/archive/cf -I../../third_party/WebKit/Source/WebCore/loader/archive/mhtml -I../../third_party/WebKit/Source/WebCore/loader/cache -I../../third_party/WebKit/Source/WebCore/loader/icon -I../../third_party/WebKit/Source/WebCore/mathml -I../../third_party/WebKit/Source/WebCore/notifications -I../../third_party/WebKit/Source/WebCore/page -I../../third_party/WebKit/Source/WebCore/page/animation -I../../third_party/WebKit/Source/WebCore/page/chromium -I../../third_party/WebKit/Source/WebCore/page/scrolling -I../../third_party/WebKit/Source/WebCore/platform -I../../third_party/WebKit/Source/WebCore/platform/animation -I../../third_party/WebKit/Source/WebCore/platform/audio -I../../third_party/WebKit/Source/WebCore/platform/audio/chromium -I../../third_party/WebKit/Source/WebCore/platform/chromium -I../../third_party/WebKit/Source/WebCore/platform/chromium/support -I../../third_party/WebKit/Source/WebCore/platform/graphics -I../../third_party/WebKit/Source/WebCore/platform/graphics/chromium -I../../third_party/WebKit/Source/WebCore/platform/graphics/filters -I../../third_party/WebKit/Source/WebCore/platform/graphics/filters/arm -I../../third_party/WebKit/Source/WebCore/platform/graphics/gpu -I../../third_party/WebKit/Source/WebCore/platform/graphics/opentype -I../../third_party/WebKit/Source/WebCore/platform/graphics/skia -I../../third_party/WebKit/Source/WebCore/platform/graphics/transforms -I../../third_party/WebKit/Source/WebCore/platform/image-decoders -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/bmp -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/gif -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/ico -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/jpeg -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/png -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/skia -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/webp -I../../third_party/WebKit/Source/WebCore/platform/image-encoders/skia -I../../third_party/WebKit/Source/WebCore/platform/leveldb -I../../third_party/WebKit/Source/WebCore/platform/mediastream -I../../third_party/WebKit/Source/WebCore/platform/mediastream/chromium -I../../third_party/WebKit/Source/WebCore/platform/mock -I../../third_party/WebKit/Source/WebCore/platform/network -I../../third_party/WebKit/Source/WebCore/platform/network/chromium -I../../third_party/WebKit/Source/WebCore/platform/sql -I../../third_party/WebKit/Source/WebCore/platform/text -I../../third_party/WebKit/Source/WebCore/platform/text/transcoder -I../../third_party/WebKit/Source/WebCore/plugins -I../../third_party/WebKit/Source/WebCore/plugins/chromium -I../../third_party/WebKit/Source/WebCore/rendering -I../../third_party/WebKit/Source/WebCore/rendering/style -I../../third_party/WebKit/Source/WebCore/rendering/svg -I../../third_party/WebKit/Source/WebCore/storage -I../../third_party/WebKit/Source/WebCore/storage/chromium -I../../third_party/WebKit/Source/WebCore/svg -I../../third_party/WebKit/Source/WebCore/svg/animation -I../../third_party/WebKit/Source/WebCore/svg/graphics -I../../third_party/WebKit/Source/WebCore/svg/graphics/filters -I../../third_party/WebKit/Source/WebCore/svg/properties -I../../third_party/WebKit/Source/ThirdParty/glu -I../../third_party/WebKit/Source/WebCore/workers -I../../third_party/WebKit/Source/WebCore/xml -I../../third_party/WebKit/Source/WebCore/xml/parser -I../../third_party/WebKit/Source/WebCore/platform/audio/mac -I../../third_party/WebKit/Source/WebCore/platform/cocoa -I../../third_party/WebKit/Source/WebCore/platform/graphics/cg -I../../third_party/WebKit/Source/WebCore/platform/graphics/cocoa -I../../third_party/WebKit/Source/WebCore/platform/graphics/mac -I../../third_party/WebKit/Source/WebCore/platform/mac -I../../third_party/WebKit/Source/WebCore/platform/text/mac -I../../third_party/WebKit/Source/WebCore/platform/graphics/harfbuzz -I../../third_party/WebKit/Source/WebCore/platform/graphics/harfbuzz/ng -I../../gpu -I../../third_party/angle/include/GLSLANG -Igen/webkit -Igen/webkit/bindings -I../../third_party/WebKit/Source/WTF -I../../third_party/WebKit/Source/JavaScriptCore -I../../third_party/WebKit/Source/Platform/chromium -Igen/webcore_headers -I../../skia/config -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/pdf -I../../third_party/skia/include/gpu -I../../third_party/skia/include/gpu/gl -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../skia/ext -I../../third_party/skia/include/utils/mac -I../../third_party/iccjpeg -I../../third_party/libwebp -I../../third_party/libpng -I../../third_party/libxml/mac/include -I../../third_party/libxml/src/include -I../../third_party/libxslt -I../../third_party/npapi -I../../third_party/npapi/bindings -I../../third_party/ots/include -I../../third_party/qcms/src -I../../third_party/sqlite -I../../third_party/zlib -I../../v8/include -I../../third_party/libjpeg_turbo -I../../third_party/leveldatabase/src/include -I../../third_party/leveldatabase/src -I../../third_party/harfbuzz-ng/src -isysroot /Developer/SDKs/MacOSX10.5.sdk -O3 -fvisibility=hidden -Werror -Wnewline-eof -mmacosx-version-min=10.5 -arch i386 -Wglobal-constructors -Wall -Wendif-labels -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wheader-hygiene -Wno-char-subscripts -Wno-unused-function -Wno-unnamed-type-template-args -Wno-c++11-extensions -Wno-covered-switch-default -Wexit-time-destructors -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -fno-strict-aliasing -Xclang -load -Xclang /Volumes/data/b/build/slave/webkit-mac-latest-rel/build/src/tools/clang/scripts/../../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang skip-virtuals-in-implementations -fcolor-diagnostics -include ../../third_party/WebKit/Source/WebCore/WebCorePrefix.h -c ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp -o obj/third_party/WebKit/Source/WebCore/platform/graphics/chromium/webcore_platform.ContentLayerChromium.o
In file included from ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp:35:
In file included from ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h:37:
In file included from ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.h:31:
In file included from ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/LayerChromium.h:38:
In file included from ../../third_party/WebKit/Source/WebCore/platform/graphics/GraphicsContext.h:31:
In file included from ../../third_party/WebKit/Source/WebCore/platform/graphics/DashArray.h:29:
In file included from ../../third_party/WebKit/Source/WTF/wtf/Vector.h:30:
In file included from ../../third_party/WebKit/Source/WTF/wtf/VectorTraits.h:24:
In file included from ../../third_party/WebKit/Source/WTF/wtf/OwnPtr.h:26:
../../third_party/WebKit/Source/WTF/wtf/OwnPtrCommon.h:56:13:error: delete called on &apos;WebCore::CCRenderSurface&apos; that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
            delete ptr;
            ^
../../third_party/WebKit/Source/WTF/wtf/OwnPtr.h:100:9: note: in instantiation of function template specialization &apos;WTF::deleteOwnedPtr&lt;WebCore::CCRenderSurface&gt;&apos; requested here
        deleteOwnedPtr(ptr);
        ^
../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:166:49: note: in instantiation of member function &apos;WTF::OwnPtr&lt;WebCore::CCRenderSurface&gt;::clear&apos; requested here
    void clearRenderSurface() { m_renderSurface.clear(); }
                                                ^
1 error generated.
FAILED: clang++ -MMD -MF obj/third_party/WebKit/Source/WebCore/platform/graphics/chromium/webcore_platform.GraphicsLayerChromium.o.d -DCHROMIUM_BUILD -DENABLE_ONE_CLICK_SIGNIN -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_CONFIGURATION_POLICY -DENABLE_INPUT_SPEECH -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DENABLE_GPU=1 -DENABLE_EGLIMAGE=1 -DUSE_SKIA=1 -DENABLE_TASK_MANAGER=1 -DENABLE_WEB_INTENTS=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PROTECTOR_SERVICE=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_BACKGROUND=1 -DENABLE_PROMO_RESOURCE_SERVICE=1 -DENABLE_AUTOMATION=1 -DENABLE_PRINTING=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DWEBKIT_IMPLEMENTATION=1 &apos;-DWEBCORE_NAVIGATOR_VENDOR=&quot;Google Inc.&quot;&apos; &apos;-DWEBCORE_NAVIGATOR_PLATFORM=&quot;MacIntel&quot;&apos; -DWebCascadeList=ChromiumWebCoreObjCWebCascadeList -DWebScrollbarPrefsObserver=ChromiumWebCoreObjCWebScrollbarPrefsObserver -DWebCoreRenderThemeNotificationObserver=ChromiumWebCoreObjCWebCoreRenderThemeNotificationObserver -DWebFontCache=ChromiumWebCoreObjCWebFontCache -DWebScrollAnimationHelperDelegate=ChromiumWebCoreObjCWebScrollAnimationHelperDelegate -DWebScrollbarPainterControllerDelegate=ChromiumWebCoreObjCWebScrollbarPainterControllerDelegate -DWebScrollbarPainterDelegate=ChromiumWebCoreObjCWebScrollbarPainterDelegate -DWebScrollbarPartAnimation=ChromiumWebCoreObjCWebScrollbarPartAnimation -DENABLE_3D_PLUGIN=1 -DENABLE_BATTERY_STATUS=0 -DENABLE_BLOB=1 -DENABLE_BLOB_SLICE=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSS3_FLEXBOX=1 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_SHADERS=1 -DENABLE_CSS_VARIABLES=0 -DENABLE_CUSTOM_SCHEME_HANDLER=0 -DENABLE_DATALIST=1 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATA_TRANSFER_ITEMS=1 -DENABLE_DETAILS=1 -DENABLE_DEVICE_ORIENTATION=1 -DENABLE_DIRECTORY_UPLOAD=1 -DENABLE_DOWNLOAD_ATTRIBUTE=1 -DENABLE_ENCRYPTED_MEDIA=1 -DENABLE_FILE_SYSTEM=1 -DENABLE_FILTERS=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_GAMEPAD=1 -DENABLE_GEOLOCATION=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=0 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INDEXED_DATABASE=1 -DENABLE_INPUT_TYPE_DATE=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_LEGACY_WEBKIT_BLOB_BUILDER=1 -DENABLE_LINK_PREFETCH=1 -DENABLE_LINK_PRERENDER=1 -DENABLE_MEDIA_SOURCE=1 -DENABLE_MEDIA_STATISTICS=1 -DENABLE_METER_TAG=1 -DENABLE_MHTML=1 -DENABLE_MICRODATA=0 -DENABLE_MUTATION_OBSERVERS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_POINTER_LOCK=1 -DENABLE_PROGRESS_TAG=1 -DENABLE_QUOTA=1 -DENABLE_REGISTER_PROTOCOL_HANDLER=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_RUBY=1 -DENABLE_SANDBOX=1 -DENABLE_SCRIPTED_SPEECH=1 -DENABLE_SHADOW_DOM=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_STYLE_SCOPED=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_V8_SCRIPT_DEBUG_SERVER=1 -DENABLE_VIDEO=1 -DENABLE_VIDEO_TRACK=1 -DENABLE_VIEWPORT=1 -DENABLE_WEBGL=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WORKERS=1 -DENABLE_XHR_RESPONSE_BLOB=1 -DENABLE_XSLT=1 -DWTF_USE_LEVELDB=1 -DWTF_USE_BUILTIN_UTF8_CODEC=1 -DWTF_USE_OPENTYPE_SANITIZER=1 -DWTF_USE_RTL_SCROLLBAR=1 -DWTF_USE_SKIA_TEXT=1 -DWTF_USE_WEBP=1 -DWTF_USE_WEBKIT_IMAGE_DECODERS=1 -DENABLE_CALENDAR_PICKER=1 -DENABLE_FONT_BOOSTING=0 -DENABLE_FULLSCREEN_MEDIA_CONTROLS=1 -DENABLE_INPUT_SPEECH=1 -DENABLE_JAVASCRIPT_I18N_API=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_MEDIA_CAPTURE=0 -DENABLE_MEDIA_STREAM=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_OVERFLOW_SCROLLING=0 -DENABLE_PAGE_POPUP=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_WEB_AUDIO=1 -DENABLE_INPUT_TYPE_COLOR=1 -DWTF_USE_ACCELERATED_COMPOSITING=1 -DENABLE_3D_RENDERING=1 -DENABLE_ACCELERATED_2D_CANVAS=1 -DENABLE_RUBBER_BANDING=1 -DWTF_USE_SKIA_ON_MAC_CHROMIUM=1 -DBUILDING_CHROMIUM__=1 -DUSE_SYSTEM_MALLOC=1 -DWTF_USE_NEW_THEME=1 -DU_USING_ICU_NAMESPACE=0 -DU_STATIC_IMPLEMENTATION -DSK_BUILD_NO_IMAGE_ENCODE &apos;-DGR_GL_CUSTOM_SETUP_HEADER=&quot;GrGLConfig_chrome.h&quot;&apos; -DGR_AGGRESSIVE_SHADER_OPTS=1 -DCHROME_PNG_WRITE_SUPPORT -DPNG_USER_CONFIG -DLIBXML_STATIC -DLIBXSLT_STATIC -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../../third_party/icu/public/common -I../../third_party/icu/public/i18n -I../../third_party/apple_webkit -I../../third_party/khronos -I../.. -Iobj/third_party/WebKit/Source/WebCore/WebCore.gyp/webcore_platform.gen -I../../third_party/WebKit/Source/WebCore -I../../third_party/WebKit/Source -I../../third_party/WebKit/Source/WebCore/Modules/battery -I../../third_party/WebKit/Source/WebCore/Modules/filesystem -I../../third_party/WebKit/Source/WebCore/Modules/filesystem/chromium -I../../third_party/WebKit/Source/WebCore/Modules/gamepad -I../../third_party/WebKit/Source/WebCore/Modules/geolocation -I../../third_party/WebKit/Source/WebCore/Modules/intents -I../../third_party/WebKit/Source/WebCore/Modules/indexeddb -I../../third_party/WebKit/Source/WebCore/Modules/mediastream -I../../third_party/WebKit/Source/WebCore/Modules/quota -I../../third_party/WebKit/Source/WebCore/Modules/speech -I../../third_party/WebKit/Source/WebCore/Modules/webaudio -I../../third_party/WebKit/Source/WebCore/Modules/webdatabase -I../../third_party/WebKit/Source/WebCore/Modules/webdatabase/chromium -I../../third_party/WebKit/Source/WebCore/Modules/websockets -I../../third_party/WebKit/Source/WebCore/accessibility -I../../third_party/WebKit/Source/WebCore/accessibility/chromium -I../../third_party/WebKit/Source/WebCore/bindings -I../../third_party/WebKit/Source/WebCore/bindings/generic -I../../third_party/WebKit/Source/WebCore/bindings/v8 -I../../third_party/WebKit/Source/WebCore/bindings/v8/custom -I../../third_party/WebKit/Source/WebCore/bindings/v8/specialization -I../../third_party/WebKit/Source/WebCore/bridge -I../../third_party/WebKit/Source/WebCore/bridge/jni -I../../third_party/WebKit/Source/WebCore/bridge/jni/v8 -I../../third_party/WebKit/Source/WebCore/css -I../../third_party/WebKit/Source/WebCore/dom -I../../third_party/WebKit/Source/WebCore/dom/default -I../../third_party/WebKit/Source/WebCore/editing -I../../third_party/WebKit/Source/WebCore/fileapi -I../../third_party/WebKit/Source/WebCore/history -I../../third_party/WebKit/Source/WebCore/html -I../../third_party/WebKit/Source/WebCore/html/canvas -I../../third_party/WebKit/Source/WebCore/html/parser -I../../third_party/WebKit/Source/WebCore/html/shadow -I../../third_party/WebKit/Source/WebCore/html/track -I../../third_party/WebKit/Source/WebCore/inspector -I../../third_party/WebKit/Source/WebCore/loader -I../../third_party/WebKit/Source/WebCore/loader/appcache -I../../third_party/WebKit/Source/WebCore/loader/archive -I../../third_party/WebKit/Source/WebCore/loader/archive/cf -I../../third_party/WebKit/Source/WebCore/loader/archive/mhtml -I../../third_party/WebKit/Source/WebCore/loader/cache -I../../third_party/WebKit/Source/WebCore/loader/icon -I../../third_party/WebKit/Source/WebCore/mathml -I../../third_party/WebKit/Source/WebCore/notifications -I../../third_party/WebKit/Source/WebCore/page -I../../third_party/WebKit/Source/WebCore/page/animation -I../../third_party/WebKit/Source/WebCore/page/chromium -I../../third_party/WebKit/Source/WebCore/page/scrolling -I../../third_party/WebKit/Source/WebCore/platform -I../../third_party/WebKit/Source/WebCore/platform/animation -I../../third_party/WebKit/Source/WebCore/platform/audio -I../../third_party/WebKit/Source/WebCore/platform/audio/chromium -I../../third_party/WebKit/Source/WebCore/platform/chromium -I../../third_party/WebKit/Source/WebCore/platform/chromium/support -I../../third_party/WebKit/Source/WebCore/platform/graphics -I../../third_party/WebKit/Source/WebCore/platform/graphics/chromium -I../../third_party/WebKit/Source/WebCore/platform/graphics/filters -I../../third_party/WebKit/Source/WebCore/platform/graphics/filters/arm -I../../third_party/WebKit/Source/WebCore/platform/graphics/gpu -I../../third_party/WebKit/Source/WebCore/platform/graphics/opentype -I../../third_party/WebKit/Source/WebCore/platform/graphics/skia -I../../third_party/WebKit/Source/WebCore/platform/graphics/transforms -I../../third_party/WebKit/Source/WebCore/platform/image-decoders -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/bmp -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/gif -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/ico -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/jpeg -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/png -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/skia -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/webp -I../../third_party/WebKit/Source/WebCore/platform/image-encoders/skia -I../../third_party/WebKit/Source/WebCore/platform/leveldb -I../../third_party/WebKit/Source/WebCore/platform/mediastream -I../../third_party/WebKit/Source/WebCore/platform/mediastream/chromium -I../../third_party/WebKit/Source/WebCore/platform/mock -I../../third_party/WebKit/Source/WebCore/platform/network -I../../third_party/WebKit/Source/WebCore/platform/network/chromium -I../../third_party/WebKit/Source/WebCore/platform/sql -I../../third_party/WebKit/Source/WebCore/platform/text -I../../third_party/WebKit/Source/WebCore/platform/text/transcoder -I../../third_party/WebKit/Source/WebCore/plugins -I../../third_party/WebKit/Source/WebCore/plugins/chromium -I../../third_party/WebKit/Source/WebCore/rendering -I../../third_party/WebKit/Source/WebCore/rendering/style -I../../third_party/WebKit/Source/WebCore/rendering/svg -I../../third_party/WebKit/Source/WebCore/storage -I../../third_party/WebKit/Source/WebCore/storage/chromium -I../../third_party/WebKit/Source/WebCore/svg -I../../third_party/WebKit/Source/WebCore/svg/animation -I../../third_party/WebKit/Source/WebCore/svg/graphics -I../../third_party/WebKit/Source/WebCore/svg/graphics/filters -I../../third_party/WebKit/Source/WebCore/svg/properties -I../../third_party/WebKit/Source/ThirdParty/glu -I../../third_party/WebKit/Source/WebCore/workers -I../../third_party/WebKit/Source/WebCore/xml -I../../third_party/WebKit/Source/WebCore/xml/parser -I../../third_party/WebKit/Source/WebCore/platform/audio/mac -I../../third_party/WebKit/Source/WebCore/platform/cocoa -I../../third_party/WebKit/Source/WebCore/platform/graphics/cg -I../../third_party/WebKit/Source/WebCore/platform/graphics/cocoa -I../../third_party/WebKit/Source/WebCore/platform/graphics/mac -I../../third_party/WebKit/Source/WebCore/platform/mac -I../../third_party/WebKit/Source/WebCore/platform/text/mac -I../../third_party/WebKit/Source/WebCore/platform/graphics/harfbuzz -I../../third_party/WebKit/Source/WebCore/platform/graphics/harfbuzz/ng -I../../gpu -I../../third_party/angle/include/GLSLANG -Igen/webkit -Igen/webkit/bindings -I../../third_party/WebKit/Source/WTF -I../../third_party/WebKit/Source/JavaScriptCore -I../../third_party/WebKit/Source/Platform/chromium -Igen/webcore_headers -I../../skia/config -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/pdf -I../../third_party/skia/include/gpu -I../../third_party/skia/include/gpu/gl -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../skia/ext -I../../third_party/skia/include/utils/mac -I../../third_party/iccjpeg -I../../third_party/libwebp -I../../third_party/libpng -I../../third_party/libxml/mac/include -I../../third_party/libxml/src/include -I../../third_party/libxslt -I../../third_party/npapi -I../../third_party/npapi/bindings -I../../third_party/ots/include -I../../third_party/qcms/src -I../../third_party/sqlite -I../../third_party/zlib -I../../v8/include -I../../third_party/libjpeg_turbo -I../../third_party/leveldatabase/src/include -I../../third_party/leveldatabase/src -I../../third_party/harfbuzz-ng/src -isysroot /Developer/SDKs/MacOSX10.5.sdk -O3 -fvisibility=hidden -Werror -Wnewline-eof -mmacosx-version-min=10.5 -arch i386 -Wglobal-constructors -Wall -Wendif-labels -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wheader-hygiene -Wno-char-subscripts -Wno-unused-function -Wno-unnamed-type-template-args -Wno-c++11-extensions -Wno-covered-switch-default -Wexit-time-destructors -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -fno-strict-aliasing -Xclang -load -Xclang /Volumes/data/b/build/slave/webkit-mac-latest-rel/build/src/tools/clang/scripts/../../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang skip-virtuals-in-implementations -fcolor-diagnostics -include ../../third_party/WebKit/Source/WebCore/WebCorePrefix.h -c ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp -o obj/third_party/WebKit/Source/WebCore/platform/graphics/chromium/webcore_platform.GraphicsLayerChromium.o
In file included from ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp:46:
In file included from ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.h:36:
In file included from ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h:37:
In file included from ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.h:31:
In file included from ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/LayerChromium.h:38:
In file included from ../../third_party/WebKit/Source/WebCore/platform/graphics/GraphicsContext.h:31:
In file included from ../../third_party/WebKit/Source/WebCore/platform/graphics/DashArray.h:29:
In file included from ../../third_party/WebKit/Source/WTF/wtf/Vector.h:30:
In file included from ../../third_party/WebKit/Source/WTF/wtf/VectorTraits.h:24:
In file included from ../../third_party/WebKit/Source/WTF/wtf/OwnPtr.h:26:
../../third_party/WebKit/Source/WTF/wtf/OwnPtrCommon.h:56:13:error: delete called on &apos;WebCore::CCRenderSurface&apos; that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
            delete ptr;
            ^
../../third_party/WebKit/Source/WTF/wtf/OwnPtr.h:100:9: note: in instantiation of function template specialization &apos;WTF::deleteOwnedPtr&lt;WebCore::CCRenderSurface&gt;&apos; requested here
        deleteOwnedPtr(ptr);
        ^
../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:166:49: note: in instantiation of member function &apos;WTF::OwnPtr&lt;WebCore::CCRenderSurface&gt;::clear&apos; requested here
    void clearRenderSurface() { m_renderSurface.clear(); }
                                                ^
1 error generated.
FAILED: clang++ -MMD -MF obj/third_party/WebKit/Source/WebCore/platform/graphics/chromium/webcore_platform.OpaqueRectTrackingContentLayerDelegate.o.d -DCHROMIUM_BUILD -DENABLE_ONE_CLICK_SIGNIN -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_CONFIGURATION_POLICY -DENABLE_INPUT_SPEECH -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DENABLE_GPU=1 -DENABLE_EGLIMAGE=1 -DUSE_SKIA=1 -DENABLE_TASK_MANAGER=1 -DENABLE_WEB_INTENTS=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PROTECTOR_SERVICE=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_BACKGROUND=1 -DENABLE_PROMO_RESOURCE_SERVICE=1 -DENABLE_AUTOMATION=1 -DENABLE_PRINTING=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DWEBKIT_IMPLEMENTATION=1 &apos;-DWEBCORE_NAVIGATOR_VENDOR=&quot;Google Inc.&quot;&apos; &apos;-DWEBCORE_NAVIGATOR_PLATFORM=&quot;MacIntel&quot;&apos; -DWebCascadeList=ChromiumWebCoreObjCWebCascadeList -DWebScrollbarPrefsObserver=ChromiumWebCoreObjCWebScrollbarPrefsObserver -DWebCoreRenderThemeNotificationObserver=ChromiumWebCoreObjCWebCoreRenderThemeNotificationObserver -DWebFontCache=ChromiumWebCoreObjCWebFontCache -DWebScrollAnimationHelperDelegate=ChromiumWebCoreObjCWebScrollAnimationHelperDelegate -DWebScrollbarPainterControllerDelegate=ChromiumWebCoreObjCWebScrollbarPainterControllerDelegate -DWebScrollbarPainterDelegate=ChromiumWebCoreObjCWebScrollbarPainterDelegate -DWebScrollbarPartAnimation=ChromiumWebCoreObjCWebScrollbarPartAnimation -DENABLE_3D_PLUGIN=1 -DENABLE_BATTERY_STATUS=0 -DENABLE_BLOB=1 -DENABLE_BLOB_SLICE=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSS3_FLEXBOX=1 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_SHADERS=1 -DENABLE_CSS_VARIABLES=0 -DENABLE_CUSTOM_SCHEME_HANDLER=0 -DENABLE_DATALIST=1 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATA_TRANSFER_ITEMS=1 -DENABLE_DETAILS=1 -DENABLE_DEVICE_ORIENTATION=1 -DENABLE_DIRECTORY_UPLOAD=1 -DENABLE_DOWNLOAD_ATTRIBUTE=1 -DENABLE_ENCRYPTED_MEDIA=1 -DENABLE_FILE_SYSTEM=1 -DENABLE_FILTERS=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_GAMEPAD=1 -DENABLE_GEOLOCATION=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=0 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INDEXED_DATABASE=1 -DENABLE_INPUT_TYPE_DATE=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_LEGACY_WEBKIT_BLOB_BUILDER=1 -DENABLE_LINK_PREFETCH=1 -DENABLE_LINK_PRERENDER=1 -DENABLE_MEDIA_SOURCE=1 -DENABLE_MEDIA_STATISTICS=1 -DENABLE_METER_TAG=1 -DENABLE_MHTML=1 -DENABLE_MICRODATA=0 -DENABLE_MUTATION_OBSERVERS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_POINTER_LOCK=1 -DENABLE_PROGRESS_TAG=1 -DENABLE_QUOTA=1 -DENABLE_REGISTER_PROTOCOL_HANDLER=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_RUBY=1 -DENABLE_SANDBOX=1 -DENABLE_SCRIPTED_SPEECH=1 -DENABLE_SHADOW_DOM=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_STYLE_SCOPED=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_V8_SCRIPT_DEBUG_SERVER=1 -DENABLE_VIDEO=1 -DENABLE_VIDEO_TRACK=1 -DENABLE_VIEWPORT=1 -DENABLE_WEBGL=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WORKERS=1 -DENABLE_XHR_RESPONSE_BLOB=1 -DENABLE_XSLT=1 -DWTF_USE_LEVELDB=1 -DWTF_USE_BUILTIN_UTF8_CODEC=1 -DWTF_USE_OPENTYPE_SANITIZER=1 -DWTF_USE_RTL_SCROLLBAR=1 -DWTF_USE_SKIA_TEXT=1 -DWTF_USE_WEBP=1 -DWTF_USE_WEBKIT_IMAGE_DECODERS=1 -DENABLE_CALENDAR_PICKER=1 -DENABLE_FONT_BOOSTING=0 -DENABLE_FULLSCREEN_MEDIA_CONTROLS=1 -DENABLE_INPUT_SPEECH=1 -DENABLE_JAVASCRIPT_I18N_API=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_MEDIA_CAPTURE=0 -DENABLE_MEDIA_STREAM=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_OVERFLOW_SCROLLING=0 -DENABLE_PAGE_POPUP=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_WEB_AUDIO=1 -DENABLE_INPUT_TYPE_COLOR=1 -DWTF_USE_ACCELERATED_COMPOSITING=1 -DENABLE_3D_RENDERING=1 -DENABLE_ACCELERATED_2D_CANVAS=1 -DENABLE_RUBBER_BANDING=1 -DWTF_USE_SKIA_ON_MAC_CHROMIUM=1 -DBUILDING_CHROMIUM__=1 -DUSE_SYSTEM_MALLOC=1 -DWTF_USE_NEW_THEME=1 -DU_USING_ICU_NAMESPACE=0 -DU_STATIC_IMPLEMENTATION -DSK_BUILD_NO_IMAGE_ENCODE &apos;-DGR_GL_CUSTOM_SETUP_HEADER=&quot;GrGLConfig_chrome.h&quot;&apos; -DGR_AGGRESSIVE_SHADER_OPTS=1 -DCHROME_PNG_WRITE_SUPPORT -DPNG_USER_CONFIG -DLIBXML_STATIC -DLIBXSLT_STATIC -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../../third_party/icu/public/common -I../../third_party/icu/public/i18n -I../../third_party/apple_webkit -I../../third_party/khronos -I../.. -Iobj/third_party/WebKit/Source/WebCore/WebCore.gyp/webcore_platform.gen -I../../third_party/WebKit/Source/WebCore -I../../third_party/WebKit/Source -I../../third_party/WebKit/Source/WebCore/Modules/battery -I../../third_party/WebKit/Source/WebCore/Modules/filesystem -I../../third_party/WebKit/Source/WebCore/Modules/filesystem/chromium -I../../third_party/WebKit/Source/WebCore/Modules/gamepad -I../../third_party/WebKit/Source/WebCore/Modules/geolocation -I../../third_party/WebKit/Source/WebCore/Modules/intents -I../../third_party/WebKit/Source/WebCore/Modules/indexeddb -I../../third_party/WebKit/Source/WebCore/Modules/mediastream -I../../third_party/WebKit/Source/WebCore/Modules/quota -I../../third_party/WebKit/Source/WebCore/Modules/speech -I../../third_party/WebKit/Source/WebCore/Modules/webaudio -I../../third_party/WebKit/Source/WebCore/Modules/webdatabase -I../../third_party/WebKit/Source/WebCore/Modules/webdatabase/chromium -I../../third_party/WebKit/Source/WebCore/Modules/websockets -I../../third_party/WebKit/Source/WebCore/accessibility -I../../third_party/WebKit/Source/WebCore/accessibility/chromium -I../../third_party/WebKit/Source/WebCore/bindings -I../../third_party/WebKit/Source/WebCore/bindings/generic -I../../third_party/WebKit/Source/WebCore/bindings/v8 -I../../third_party/WebKit/Source/WebCore/bindings/v8/custom -I../../third_party/WebKit/Source/WebCore/bindings/v8/specialization -I../../third_party/WebKit/Source/WebCore/bridge -I../../third_party/WebKit/Source/WebCore/bridge/jni -I../../third_party/WebKit/Source/WebCore/bridge/jni/v8 -I../../third_party/WebKit/Source/WebCore/css -I../../third_party/WebKit/Source/WebCore/dom -I../../third_party/WebKit/Source/WebCore/dom/default -I../../third_party/WebKit/Source/WebCore/editing -I../../third_party/WebKit/Source/WebCore/fileapi -I../../third_party/WebKit/Source/WebCore/history -I../../third_party/WebKit/Source/WebCore/html -I../../third_party/WebKit/Source/WebCore/html/canvas -I../../third_party/WebKit/Source/WebCore/html/parser -I../../third_party/WebKit/Source/WebCore/html/shadow -I../../third_party/WebKit/Source/WebCore/html/track -I../../third_party/WebKit/Source/WebCore/inspector -I../../third_party/WebKit/Source/WebCore/loader -I../../third_party/WebKit/Source/WebCore/loader/appcache -I../../third_party/WebKit/Source/WebCore/loader/archive -I../../third_party/WebKit/Source/WebCore/loader/archive/cf -I../../third_party/WebKit/Source/WebCore/loader/archive/mhtml -I../../third_party/WebKit/Source/WebCore/loader/cache -I../../third_party/WebKit/Source/WebCore/loader/icon -I../../third_party/WebKit/Source/WebCore/mathml -I../../third_party/WebKit/Source/WebCore/notifications -I../../third_party/WebKit/Source/WebCore/page -I../../third_party/WebKit/Source/WebCore/page/animation -I../../third_party/WebKit/Source/WebCore/page/chromium -I../../third_party/WebKit/Source/WebCore/page/scrolling -I../../third_party/WebKit/Source/WebCore/platform -I../../third_party/WebKit/Source/WebCore/platform/animation -I../../third_party/WebKit/Source/WebCore/platform/audio -I../../third_party/WebKit/Source/WebCore/platform/audio/chromium -I../../third_party/WebKit/Source/WebCore/platform/chromium -I../../third_party/WebKit/Source/WebCore/platform/chromium/support -I../../third_party/WebKit/Source/WebCore/platform/graphics -I../../third_party/WebKit/Source/WebCore/platform/graphics/chromium -I../../third_party/WebKit/Source/WebCore/platform/graphics/filters -I../../third_party/WebKit/Source/WebCore/platform/graphics/filters/arm -I../../third_party/WebKit/Source/WebCore/platform/graphics/gpu -I../../third_party/WebKit/Source/WebCore/platform/graphics/opentype -I../../third_party/WebKit/Source/WebCore/platform/graphics/skia -I../../third_party/WebKit/Source/WebCore/platform/graphics/transforms -I../../third_party/WebKit/Source/WebCore/platform/image-decoders -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/bmp -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/gif -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/ico -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/jpeg -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/png -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/skia -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/webp -I../../third_party/WebKit/Source/WebCore/platform/image-encoders/skia -I../../third_party/WebKit/Source/WebCore/platform/leveldb -I../../third_party/WebKit/Source/WebCore/platform/mediastream -I../../third_party/WebKit/Source/WebCore/platform/mediastream/chromium -I../../third_party/WebKit/Source/WebCore/platform/mock -I../../third_party/WebKit/Source/WebCore/platform/network -I../../third_party/WebKit/Source/WebCore/platform/network/chromium -I../../third_party/WebKit/Source/WebCore/platform/sql -I../../third_party/WebKit/Source/WebCore/platform/text -I../../third_party/WebKit/Source/WebCore/platform/text/transcoder -I../../third_party/WebKit/Source/WebCore/plugins -I../../third_party/WebKit/Source/WebCore/plugins/chromium -I../../third_party/WebKit/Source/WebCore/rendering -I../../third_party/WebKit/Source/WebCore/rendering/style -I../../third_party/WebKit/Source/WebCore/rendering/svg -I../../third_party/WebKit/Source/WebCore/storage -I../../third_party/WebKit/Source/WebCore/storage/chromium -I../../third_party/WebKit/Source/WebCore/svg -I../../third_party/WebKit/Source/WebCore/svg/animation -I../../third_party/WebKit/Source/WebCore/svg/graphics -I../../third_party/WebKit/Source/WebCore/svg/graphics/filters -I../../third_party/WebKit/Source/WebCore/svg/properties -I../../third_party/WebKit/Source/ThirdParty/glu -I../../third_party/WebKit/Source/WebCore/workers -I../../third_party/WebKit/Source/WebCore/xml -I../../third_party/WebKit/Source/WebCore/xml/parser -I../../third_party/WebKit/Source/WebCore/platform/audio/mac -I../../third_party/WebKit/Source/WebCore/platform/cocoa -I../../third_party/WebKit/Source/WebCore/platform/graphics/cg -I../../third_party/WebKit/Source/WebCore/platform/graphics/cocoa -I../../third_party/WebKit/Source/WebCore/platform/graphics/mac -I../../third_party/WebKit/Source/WebCore/platform/mac -I../../third_party/WebKit/Source/WebCore/platform/text/mac -I../../third_party/WebKit/Source/WebCore/platform/graphics/harfbuzz -I../../third_party/WebKit/Source/WebCore/platform/graphics/harfbuzz/ng -I../../gpu -I../../third_party/angle/include/GLSLANG -Igen/webkit -Igen/webkit/bindings -I../../third_party/WebKit/Source/WTF -I../../third_party/WebKit/Source/JavaScriptCore -I../../third_party/WebKit/Source/Platform/chromium -Igen/webcore_headers -I../../skia/config -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/pdf -I../../third_party/skia/include/gpu -I../../third_party/skia/include/gpu/gl -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../skia/ext -I../../third_party/skia/include/utils/mac -I../../third_party/iccjpeg -I../../third_party/libwebp -I../../third_party/libpng -I../../third_party/libxml/mac/include -I../../third_party/libxml/src/include -I../../third_party/libxslt -I../../third_party/npapi -I../../third_party/npapi/bindings -I../../third_party/ots/include -I../../third_party/qcms/src -I../../third_party/sqlite -I../../third_party/zlib -I../../v8/include -I../../third_party/libjpeg_turbo -I../../third_party/leveldatabase/src/include -I../../third_party/leveldatabase/src -I../../third_party/harfbuzz-ng/src -isysroot /Developer/SDKs/MacOSX10.5.sdk -O3 -fvisibility=hidden -Werror -Wnewline-eof -mmacosx-version-min=10.5 -arch i386 -Wglobal-constructors -Wall -Wendif-labels -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wheader-hygiene -Wno-char-subscripts -Wno-unused-function -Wno-unnamed-type-template-args -Wno-c++11-extensions -Wno-covered-switch-default -Wexit-time-destructors -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -fno-strict-aliasing -Xclang -load -Xclang /Volumes/data/b/build/slave/webkit-mac-latest-rel/build/src/tools/clang/scripts/../../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang skip-virtuals-in-implementations -fcolor-diagnostics -include ../../third_party/WebKit/Source/WebCore/WebCorePrefix.h -c ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp -o obj/third_party/WebKit/Source/WebCore/platform/graphics/chromium/webcore_platform.OpaqueRectTrackingContentLayerDelegate.o</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650928</commentid>
    <comment_count>54</comment_count>
      <attachid>147999</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-16 18:37:09 -0700</bug_when>
    <thetext>Created attachment 147999
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651037</commentid>
    <comment_count>55</comment_count>
      <attachid>147999</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-17 14:19:32 -0700</bug_when>
    <thetext>Comment on attachment 147999
Patch

Clearing flags on attachment: 147999

Committed r120553: &lt;http://trac.webkit.org/changeset/120553&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651038</commentid>
    <comment_count>56</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-17 14:19:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146178</attachid>
            <date>2012-06-06 19:20:55 -0700</date>
            <delta_ts>2012-06-07 16:25:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88482-20120606222054.patch</filename>
            <type>text/plain</type>
            <size>53928</size>
            <attacher>zlieber</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM4YmZhYjYzMGM1NGZj
N2VhMDJlYTlhM2Q3YWFiNmJkZjZkYTg3YS4uNWIzZTc2MTczMGYwN2ViNmEwNTMxNjI3NDgxNzE4
NzUyZmI5MmQxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDEyLTA2LTA2ICBaZWV2
IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gUmVu
ZGVyU3VyZmFjZSBmb3Igb3BhY2l0eSB3aXRoIGRlc2NlbmRlbnREcmF3c0NvbnRlbnQgaXMgc2xv
dyB3aGVuIGxhcmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04ODQ4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFBvc3QtcHJvY2Vzc2luZyBDQ1JlbmRlclBhc3NMaXN0IGFmdGVyIGl0J3MgYmVlbiBnZW5l
cmF0ZWQgYW5kCisgICAgICAgIHJlbW92aW5nIGFsbCByZW5kZXIgc3VyZmFjZSBxdWFkcyBmb3Ig
d2hpY2ggdGhlcmUgYXJlIGNhY2hlZAorICAgICAgICB0ZXh0dXJlcywgYW5kIHdob3NlIGNvbnRl
bnQgZGlkbid0IGNoYW5nZS4gQWRkZWQgYSBuZXcgZmxhZyB0bworICAgICAgICBDQ0xheWVySW1w
bCB0byBkaWZmZXJlbnRpYXRlZCBiZXR3ZWVuIGNvbnRlbnQgY2hhbmdlcyBhbmQgcHJvcGVydHkK
KyAgICAgICAgY2hhbmdlcy4KKworICAgICAgICBUaGUgY2hhbmdlcyBhcmUgY292ZXJlZCBieSBu
ZXcgdW5pdCB0ZXN0cyB0aGF0IGNoZWNrIHRoYXQgdGhlCisgICAgICAgIHJlbW92YWwgYWxnb3Jp
dGhtIGZ1bmN0aW9ucyBwcm9wZXJ0bHkuIE5vIHJlbmRlcmluZyBiZWhhdmlvdXIKKyAgICAgICAg
Y2hhbmdlLCBzbyBubyBuZXcgbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0JhY2tncm91bmRGaWx0ZXJzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1JlbmRlclBhc3NRdWFkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NEYW1hZ2VUcmFja2VyOjpleHRlbmREYW1hZ2VGb3JM
YXllcik6CisgICAgICAgIChXZWJDb3JlOjpDQ0RhbWFnZVRyYWNrZXI6OmV4dGVuZERhbWFnZUZv
clJlbmRlclN1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpDQ0xheWVy
SW1wbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBs
OjpsYXllclRhcmdldFN1cmZhY2VEaXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1w
bDo6cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6
Q0NMYXllckltcGw6OnNldE9wYWNpdHkpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6
OnNldFRyYW5zZm9ybSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllckltcGwuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpsYXllclN1cmZh
Y2VQcm9wZXJ0eUNoYW5nZWQpOgorICAgICAgICAoQ0NMYXllckltcGwpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6dHJhY2tEYW1hZ2VGb3JBbGxTdXJm
YWNlcyk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxhdGVS
ZW5kZXJQYXNzZXMpOgorICAgICAgICAoV2ViQ29yZTo6aW5kZXhPZlJlbmRlclBhc3MpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpy
ZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRy
ZWVIb3N0SW1wbDo6cmVtb3ZlUmVkdW5kYW50UGFzc2VzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmg6CisgICAgICAgIChDQ0xh
eWVyVHJlZUhvc3RJbXBsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1JlbmRlclBhc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJQYXNzOjphcHBl
bmRRdWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5oOgorICAgICAgICAoQ0NSZW5kZXJQYXNzKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyUGFzc0RyYXdRdWFkOjpDQ1JlbmRlclBhc3NEcmF3
UXVhZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQ
YXNzRHJhd1F1YWQuaDoKKyAgICAgICAgKENDUmVuZGVyUGFzc0RyYXdRdWFkKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDUmVuZGVyUGFzc0RyYXdRdWFkOjpyZW5kZXJTdXJmYWNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDUmVuZGVyUGFzc0RyYXdRdWFkOjpjb250ZW50c0NoYW5nZWQpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnByZXBhcmVDb250ZW50c1RleHR1cmUp
OgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpoYXNDYWNoZWRDb250ZW50c1Rl
eHR1cmUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1
cmZhY2U6OmFwcGVuZFF1YWRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1JlbmRlclN1cmZhY2UuaDoKKyAgICAgICAgKENDUmVuZGVyU3VyZmFjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnNldENvbnRlbnRzQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OmNvbnRlbnRzQ2hhbmdlZCk6CisKIDIwMTIt
MDYtMDYgIExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVz
ZSBlbmNsb3NpbmdJbnRSZWN0IGluc3RlYWQgb2YgcGl4ZWxTbmFwcGVkSW50UmVjdCBpbiBSZW5k
ZXJGaWxlVXBsb2FkQ29udHJvbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBlZGQ0ODNm
YjQ1OWIxOWQ1ODY0YzJhMDNhYWNhN2U4MTY1NWJjODRhLi43NTM5NGE1MWFkMzgxOGM5ZDRkNmU0
NjBiMmZkMjI5NDA2MmIyOGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIxIEBACisyMDEyLTA2LTA2ICBaZWV2IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtDaHJvbWl1bV0gUmVuZGVyU3VyZmFjZSBmb3Igb3BhY2l0eSB3aXRoIGRlc2Nl
bmRlbnREcmF3c0NvbnRlbnQgaXMgc2xvdyB3aGVuIGxhcmdlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODQ4MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIHZlcmlmeSBxdWFkIHJl
bW92YWwgYWxnb3JpdGhtLiBBZGRlZCBpbmZyYXN0cnVjdHVyZQorICAgICAgICBjb2RlIHRvIGdl
bmVyYXRlIGN1c3RvbSByZW5kZXIgcGFzc2VzIG91dCBvZiBhIHNjcmlwdCBlbmNvZGVkIGFzIEMK
KyAgICAgICAgc3RyaW5nLgorCisgICAgICAgICogdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5j
cHA6CisgICAgICAgIChXZWJLaXRUZXN0czo6VEVTVF9GKToKKyAgICAgICAgKiB0ZXN0cy9DQ0xh
eWVySW1wbFRlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpU
RVNUKToKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHA6CisKIDIw
MTItMDYtMDYgIEFteSBPdXN0ZXJob3V0ICA8YW91c3RlcmhAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtDaHJvbWl1bV0gRGV2aWNlT3JpZW50YXRpb24gY2xlYW51cApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
UmVuZGVyZXJDaHJvbWl1bS5jcHAKaW5kZXggNTVjZjc0ZjJmODQxZTJiZjJlYzllNDY3YzFmNTdi
MDc5Y2FlOWZlZS4uMTA4NWI1YWU1YzlmNzkzMTU0YzQ2YjYzMWVkZGFlMWNlNDRlNWRkZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJS
ZW5kZXJlckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCkBAIC02MTEsNyArNjExLDcgQEAg
dm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdCYWNrZ3JvdW5kRmlsdGVycyhjb25zdCBD
Q1JlbmRlclBhc3NEcmF3UXVhZCogcXUKICAgICAvLwogICAgIC8vIFBpeGVsIGNvcGllcyBpbiB0
aGlzIGFsZ29yaXRobSBvY2N1ciBhdCBzdGVwcyAyLCAzLCA0LCBhbmQgNS4KIAotICAgIENDUmVu
ZGVyU3VyZmFjZSogZHJhd2luZ1N1cmZhY2UgPSBxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1
cmZhY2UoKTsKKyAgICBDQ1JlbmRlclN1cmZhY2UqIGRyYXdpbmdTdXJmYWNlID0gcXVhZC0+cmVu
ZGVyU3VyZmFjZSgpOwogICAgIGlmIChxdWFkLT5iYWNrZ3JvdW5kRmlsdGVycygpLmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuOwogCkBAIC02NjUsNyArNjY1LDcgQEAgdm9pZCBMYXllclJlbmRl
cmVyQ2hyb21pdW06OmRyYXdSZW5kZXJQYXNzUXVhZChjb25zdCBDQ1JlbmRlclBhc3NEcmF3UXVh
ZCogcXVhZCkKICAgICAvLyBUaGUgcmVwbGljYSBpcyBhbHdheXMgZHJhd24gZmlyc3QsIHNvIGZy
ZWUgYWZ0ZXIgZHJhd2luZyB0aGUgY29udGVudHMuCiAgICAgYm9vbCBzaG91bGRSZWxlYXNlVGV4
dHVyZXMgPSAhcXVhZC0+aXNSZXBsaWNhKCk7CiAKLSAgICBDQ1JlbmRlclN1cmZhY2UqIGRyYXdp
bmdTdXJmYWNlID0gcXVhZC0+cmVuZGVyUGFzcygpLT50YXJnZXRTdXJmYWNlKCk7CisgICAgQ0NS
ZW5kZXJTdXJmYWNlKiBkcmF3aW5nU3VyZmFjZSA9IHF1YWQtPnJlbmRlclN1cmZhY2UoKTsKIAog
ICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IHJlbmRlclRyYW5zZm9ybSA9IHF1YWQtPmxheWVy
VHJhbnNmb3JtKCk7CiAgICAgLy8gQXBwbHkgYSBzY2FsaW5nIGZhY3RvciB0byBzaXplIHRoZSBx
dWFkIGZyb20gMXgxIHRvIGl0cyBpbnRlbmRlZCBzaXplLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFja2VyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJh
Y2tlci5jcHAKaW5kZXggOGZkM2VkMTI0YjIzMDNiNzdhMGIwZjQ5Mjg5ODNkOWM4OTUxYmVkYi4u
MGRhNzc1MzBkNDVhZDBjZmIxODkzOGUwZGZmZWJlMjk1ZGFmNmViZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFja2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0RhbWFnZVRyYWNrZXIuY3BwCkBAIC0yNDQsNiArMjQ0LDkgQEAgdm9pZCBDQ0RhbWFnZVRyYWNr
ZXI6OmV4dGVuZERhbWFnZUZvckxheWVyKENDTGF5ZXJJbXBsKiBsYXllciwgRmxvYXRSZWN0JiB0
YXJnZXQKICAgICAvLyAgICAgIHJlZ2lvbiBkYW1hZ2VzIHRoZSBzdXJmYWNlLgogICAgIC8vCiAg
ICAgLy8gUHJvcGVydHkgY2hhbmdlcyB0YWtlIHByaW9yaXR5IG92ZXIgdXBkYXRlIHJlY3RzLgor
ICAgIC8vCisgICAgLy8gVGhpcyBtZXRob2QgYXNzdW1lcyB0aGF0IHRoZSBsYXllciBlaXRoZXIg
ZG9lcyBub3Qgb3duIGEgc3VyZmFjZSBhdCBhbGwsIG9yIG93bnMKKyAgICAvLyBvdXIgdGFyZ2V0
IHN1cmZhY2UuIEluIGFsbCBvdGhlciBjYXNlcywgZXh0ZW5kRGFtYWdlRm9yUmVuZGVyU3VyZmFj
ZSBtdXN0IGJlIGNhbGxlZCBpbnN0ZWFkLgogCiAgICAgLy8gQ29tcHV0ZSB0aGUgbGF5ZXIncyAi
b3JpZ2luVHJhbnNmb3JtIiBieSB0cmFuc2xhdGluZyB0aGUgZHJhd1RyYW5zZm9ybS4KICAgICBX
ZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBvcmlnaW5UcmFuc2Zvcm0gPSBsYXllci0+ZHJhd1RyYW5z
Zm9ybSgpOwpAQCAtMjU1LDcgKzI1OCw3IEBAIHZvaWQgQ0NEYW1hZ2VUcmFja2VyOjpleHRlbmRE
YW1hZ2VGb3JMYXllcihDQ0xheWVySW1wbCogbGF5ZXIsIEZsb2F0UmVjdCYgdGFyZ2V0CiAgICAg
RmxvYXRSZWN0IGxheWVyUmVjdEluVGFyZ2V0U3BhY2UgPSBDQ01hdGhVdGlsOjptYXBDbGlwcGVk
UmVjdChvcmlnaW5UcmFuc2Zvcm0sIEZsb2F0UmVjdChGbG9hdFBvaW50Ojp6ZXJvKCksIGxheWVy
LT5ib3VuZHMoKSkpOwogICAgIHNhdmVSZWN0Rm9yTmV4dEZyYW1lKGxheWVyLT5pZCgpLCBsYXll
clJlY3RJblRhcmdldFNwYWNlKTsKIAotICAgIGlmIChsYXllcklzTmV3IHx8IGxheWVyLT5sYXll
clByb3BlcnR5Q2hhbmdlZCgpKSB7CisgICAgaWYgKGxheWVySXNOZXcgfHwgbGF5ZXItPmxheWVy
VGFyZ2V0U3VyZmFjZURpcnR5KCkpIHsKICAgICAgICAgLy8gSWYgYSBsYXllciBpcyBuZXcgb3Ig
aGFzIGNoYW5nZWQsIHRoZW4gaXRzIGVudGlyZSBsYXllciByZWN0IGFmZmVjdHMgdGhlIHRhcmdl
dCBzdXJmYWNlLgogICAgICAgICB0YXJnZXREYW1hZ2VSZWN0LnVuaXRlSWZOb25aZXJvKGxheWVy
UmVjdEluVGFyZ2V0U3BhY2UpOwogCkBAIC0yOTMsNyArMjk2LDcgQEAgdm9pZCBDQ0RhbWFnZVRy
YWNrZXI6OmV4dGVuZERhbWFnZUZvclJlbmRlclN1cmZhY2UoQ0NMYXllckltcGwqIGxheWVyLCBG
bG9hdFJlY3QKICAgICBzYXZlUmVjdEZvck5leHRGcmFtZShsYXllci0+aWQoKSwgc3VyZmFjZVJl
Y3RJblRhcmdldFNwYWNlKTsKIAogICAgIEZsb2F0UmVjdCBkYW1hZ2VSZWN0SW5Mb2NhbFNwYWNl
OwotICAgIGlmIChzdXJmYWNlSXNOZXcgfHwgcmVuZGVyU3VyZmFjZS0+c3VyZmFjZVByb3BlcnR5
Q2hhbmdlZCgpKSB7CisgICAgaWYgKHN1cmZhY2VJc05ldyB8fCByZW5kZXJTdXJmYWNlLT5zdXJm
YWNlUHJvcGVydHlDaGFuZ2VkKCkgfHwgbGF5ZXItPmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdl
ZCgpKSB7CiAgICAgICAgIC8vIFRoZSBlbnRpcmUgc3VyZmFjZSBjb250cmlidXRlcyBkYW1hZ2Uu
CiAgICAgICAgIGRhbWFnZVJlY3RJbkxvY2FsU3BhY2UgPSByZW5kZXJTdXJmYWNlLT5jb250ZW50
UmVjdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAKaW5kZXggNzJjMGVhMmI3OWNlNzJiYTZh
ZTBmYzYyZWMxNzc2YjY5MmFjNWFmYy4uODI3YjE3YzE0OWY2NWZmOTQyMTNiMzg2OGY5NDVjZjdm
NmIxZTI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NMYXllckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcApAQCAtNTQsNiArNTQsNyBAQCBDQ0xh
eWVySW1wbDo6Q0NMYXllckltcGwoaW50IGlkKQogICAgICwgbV9oYXZlV2hlZWxFdmVudEhhbmRs
ZXJzKGZhbHNlKQogICAgICwgbV9kb3VibGVTaWRlZCh0cnVlKQogICAgICwgbV9sYXllclByb3Bl
cnR5Q2hhbmdlZChmYWxzZSkKKyAgICAsIG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKGZh
bHNlKQogICAgICwgbV9tYXNrc1RvQm91bmRzKGZhbHNlKQogICAgICwgbV9vcGFxdWUoZmFsc2Up
CiAgICAgLCBtX29wYWNpdHkoMS4wKQpAQCAtMjczLDYgKzI3NCwxOSBAQCB2b2lkIENDTGF5ZXJJ
bXBsOjpzZXRTdGFja2luZ09yZGVyQ2hhbmdlZChib29sIHN0YWNraW5nT3JkZXJDaGFuZ2VkKQog
ICAgICAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JTdWJ0cmVlKCk7CiB9CiAKKworYm9v
bCBDQ0xheWVySW1wbDo6bGF5ZXJUYXJnZXRTdXJmYWNlRGlydHkoKSBjb25zdAoreworICAgIC8v
IElmIHRoZSBsYXllciBkb2VzIE5PVCBvd24gYSBzdXJmYWNlIGJ1dCBoYXMgU3VyZmFjZVByb3Bl
cnR5Q2hhbmdlZCwKKyAgICAvLyB0aGlzIG1lYW5zIHRoYXQgaXRzIHRhcmdldCBzdXJmYWNlIGlz
IGFmZmVjdGVkIGFuZCBuZWVkcyB0byBiZSByZWRyYXduLgorICAgIC8vIEhvd2V2ZXIsIGlmIHRo
ZSBsYXllciBET0VTIG93biBhIHN1cmZhY2UgdGhlbiB0aGUgU3VyZmFjZVByb3BlcnR5Q2hhbmdl
ZAorICAgIC8vIGFmZmVjdHMgdGhlIHRhcmdldCBzdXJmYWNlIG9mIGl0cyBvd25lZCBzdXJmYWNl
LCBhbmQgdGhlcmVmb3JlIG91cgorICAgIC8vIG93bmVkIHN1cmZhY2UgaXMgbm90IGFmZmVjdGVk
LiBUaGlzIGlzIGNoZWNrZWQgaGVyZS4KKyAgICBpZiAobV9yZW5kZXJTdXJmYWNlKQorICAgICAg
ICByZXR1cm4gbV9sYXllclByb3BlcnR5Q2hhbmdlZDsKKyAgICByZXR1cm4gbV9sYXllclByb3Bl
cnR5Q2hhbmdlZCB8fCBtX2xheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZDsKK30KKwogdm9pZCBD
Q0xheWVySW1wbDo6bm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yU3VidHJlZSgpCiB7CiAgICAg
bV9sYXllclByb3BlcnR5Q2hhbmdlZCA9IHRydWU7CkBAIC0yODgsNiArMzAyLDggQEAgdm9pZCBD
Q0xheWVySW1wbDo6bm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yRGVzY2VuZGFudHMoKQogdm9p
ZCBDQ0xheWVySW1wbDo6cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKQogewogICAg
IG1fbGF5ZXJQcm9wZXJ0eUNoYW5nZWQgPSBmYWxzZTsKKyAgICBtX2xheWVyU3VyZmFjZVByb3Bl
cnR5Q2hhbmdlZCA9IGZhbHNlOworCiAgICAgbV91cGRhdGVSZWN0ID0gRmxvYXRSZWN0KCk7CiAK
ICAgICBpZiAobV9yZW5kZXJTdXJmYWNlKQpAQCAtNDI4LDcgKzQ0NCw3IEBAIHZvaWQgQ0NMYXll
ckltcGw6OnNldE9wYWNpdHkoZmxvYXQgb3BhY2l0eSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
bV9vcGFjaXR5ID0gb3BhY2l0eTsKLSAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JTdWJ0
cmVlKCk7CisgICAgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgPSB0cnVlOwogfQogCiBi
b29sIENDTGF5ZXJJbXBsOjpvcGFjaXR5SXNBbmltYXRpbmcoKSBjb25zdApAQCAtNDcwLDcgKzQ4
Niw3IEBAIHZvaWQgQ0NMYXllckltcGw6OnNldFRyYW5zZm9ybShjb25zdCBXZWJUcmFuc2Zvcm1h
dGlvbk1hdHJpeCYgdHJhbnNmb3JtKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3RyYW5zZm9y
bSA9IHRyYW5zZm9ybTsKLSAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JTdWJ0cmVlKCk7
CisgICAgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgPSB0cnVlOwogfQogCiBib29sIEND
TGF5ZXJJbXBsOjp0cmFuc2Zvcm1Jc0FuaW1hdGluZygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwu
aAppbmRleCBmZDRmYWNhYTQwY2JhMTVkZjYyOWExYjI0ZGEzMmMyZmE1YjM3NDRkLi5kOWFmNzJk
NjdjOTFlOTFlZTIzZjdjYWVjNjEyNzEzMTNkMWI2MjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgK
QEAgLTI0NCw2ICsyNDQsMTIgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3RhY2tpbmdPcmRlckNo
YW5nZWQoYm9vbCk7CiAKICAgICBib29sIGxheWVyUHJvcGVydHlDaGFuZ2VkKCkgY29uc3QgeyBy
ZXR1cm4gbV9sYXllclByb3BlcnR5Q2hhbmdlZDsgfQorICAgIGJvb2wgbGF5ZXJTdXJmYWNlUHJv
cGVydHlDaGFuZ2VkKCkgY29uc3QgeyByZXR1cm4gbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5n
ZWQ7IH0KKworICAgIC8vIFVzZXMgbV9sYXllclh4eHhDaGFuZ2VkIGZsYWdzIHRvIGFuc3dlciB0
aGUgcXVlc3Rpb24gd2hldGhlciB0aGlzIGxheWVyJ3MKKyAgICAvLyB0YXJnZXQgc3VyZmFjZSdz
IHBpeGVscyBhcmUgYWZmZWN0ZWQgYnkgYWxsIHRoZSBjaGFuZ2VzIGluIGxheWVyJ3MgY29udGVu
dHMgYW5kIHByb3BlcnRpZXMuCisgICAgYm9vbCBsYXllclRhcmdldFN1cmZhY2VEaXJ0eSgpIGNv
bnN0OworCiAgICAgdm9pZCByZXNldEFsbENoYW5nZVRyYWNraW5nRm9yU3VidHJlZSgpOwogCiAg
ICAgQ0NMYXllckFuaW1hdGlvbkNvbnRyb2xsZXIqIGxheWVyQW5pbWF0aW9uQ29udHJvbGxlcigp
IHsgcmV0dXJuIG1fbGF5ZXJBbmltYXRpb25Db250cm9sbGVyLmdldCgpOyB9CkBAIC0zMDcsNiAr
MzEzLDExIEBAIHByaXZhdGU6CiAgICAgLy8gVHJhY2tzIGlmIGRyYXdpbmctcmVsYXRlZCBwcm9w
ZXJ0aWVzIGhhdmUgY2hhbmdlZCBzaW5jZSBsYXN0IHJlZHJhdy4KICAgICBib29sIG1fbGF5ZXJQ
cm9wZXJ0eUNoYW5nZWQ7CiAKKyAgICAvLyBJbmRpY2F0ZXMgdGhhdCBhIHByb3BlcnR5IGhhcyBj
aGFuZ2VkIG9uIHRoaXMgbGF5ZXIgdGhhdCB3b3VsZCBub3QKKyAgICAvLyBhZmZlY3QgdGhlIHBp
eGVscyBvbiBpdHMgdGFyZ2V0IHN1cmZhY2UsIGJ1dCB3b3VsZCByZXF1aXJlIHJlZHJhd2luZwor
ICAgIC8vIG9mIHRoZSB0YXJnZXQgc3VyZmFjZSBvZiB0aGlzIGxheWVyJ3MgdGFyZ2V0IHN1cmZh
Y2UKKyAgICBib29sIG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkOworCiAgICAgLy8gVXNl
cyBsYXllcidzIGNvbnRlbnQgc3BhY2UuCiAgICAgSW50UmVjdCBtX3Zpc2libGVMYXllclJlY3Q7
CiAgICAgYm9vbCBtX21hc2tzVG9Cb3VuZHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dEltcGwuY3BwCmluZGV4IGQ3OGQ0MjlmMjk2YTUxZWNiMDE2YjcyM2ZmNGFiMGM4NDdhYmRmMGYu
LmQyYmRhYzdkNzcxMGNjZmQxZjg3NzQ0ZTMwZWMyMjUwY2YzZWYzMDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAi
Y2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmgiCiAjaW5jbHVkZSAiY2MvQ0NNYXRoVXRpbC5oIgog
I2luY2x1ZGUgImNjL0NDUGFnZVNjYWxlQW5pbWF0aW9uLmgiCisjaW5jbHVkZSAiY2MvQ0NSZW5k
ZXJQYXNzRHJhd1F1YWQuaCIKICNpbmNsdWRlICJjYy9DQ1NpbmdsZVRocmVhZFByb3h5LmgiCiAj
aW5jbHVkZSAiY2MvQ0NUaHJlYWRUYXNrLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
CkBAIC0yMjcsNiArMjI4LDcgQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjp0cmFja0RhbWFn
ZUZvckFsbFN1cmZhY2VzKENDTGF5ZXJJbXBsKiByb290RHJhd0xheWVyLAogICAgICAgICBDQ1Jl
bmRlclN1cmZhY2UqIHJlbmRlclN1cmZhY2UgPSByZW5kZXJTdXJmYWNlTGF5ZXItPnJlbmRlclN1
cmZhY2UoKTsKICAgICAgICAgQVNTRVJUKHJlbmRlclN1cmZhY2UpOwogICAgICAgICByZW5kZXJT
dXJmYWNlLT5kYW1hZ2VUcmFja2VyKCktPnVwZGF0ZURhbWFnZVRyYWNraW5nU3RhdGUocmVuZGVy
U3VyZmFjZS0+bGF5ZXJMaXN0KCksIHJlbmRlclN1cmZhY2VMYXllci0+aWQoKSwgcmVuZGVyU3Vy
ZmFjZS0+c3VyZmFjZVByb3BlcnR5Q2hhbmdlZE9ubHlGcm9tRGVzY2VuZGFudCgpLCByZW5kZXJT
dXJmYWNlLT5jb250ZW50UmVjdCgpLCByZW5kZXJTdXJmYWNlTGF5ZXItPm1hc2tMYXllcigpLCBy
ZW5kZXJTdXJmYWNlTGF5ZXItPmZpbHRlcnMoKSk7CisgICAgICAgIHJlbmRlclN1cmZhY2UtPnNl
dENvbnRlbnRzQ2hhbmdlZCghcmVuZGVyU3VyZmFjZS0+ZGFtYWdlVHJhY2tlcigpLT5jdXJyZW50
RGFtYWdlUmVjdCgpLmlzRW1wdHkoKSk7CiAgICAgfQogfQogCkBAIC0zMjMsNiArMzI1LDkgQEAg
Ym9vbCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxhdGVSZW5kZXJQYXNzZXMoQ0NSZW5kZXJQ
YXNzTGlzdCYgcGFzc2VzLCBDQ0xheWUKIAogICAgIGlmIChkcmF3RnJhbWUpCiAgICAgICAgIG9j
Y2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucmVjb3JkTWV0cmljcyh0aGlzKTsKKwor
ICAgIHJlbW92ZVJlZHVuZGFudFBhc3NlcyhwYXNzZXMpOworCiAgICAgcmV0dXJuIGRyYXdGcmFt
ZTsKIH0KIApAQCAtMzcyLDYgKzM3Nyw3NCBAQCBJbnRTaXplIENDTGF5ZXJUcmVlSG9zdEltcGw6
OmNvbnRlbnRTaXplKCkgY29uc3QKICAgICByZXR1cm4gbV9zY3JvbGxMYXllckltcGwtPmNoaWxk
cmVuKClbMF0tPmNvbnRlbnRCb3VuZHMoKTsKIH0KIAorc3RhdGljIHNpemVfdCBpbmRleE9mUmVu
ZGVyUGFzcyhjb25zdCBDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIGNvbnN0IENDUmVuZGVyUGFz
cyogcGFzcywgc2l6ZV90IHNlYXJjaFVudGlsKQoreworICAgIGZvciAoc2l6ZV90IHBhc3NJbmRl
eCA9IDA7IHBhc3NJbmRleCA8IHBhc3Nlcy5zaXplKCk7IHBhc3NJbmRleCsrKQorICAgICAgICBp
ZiAocGFzc2VzW3Bhc3NJbmRleF0uZ2V0KCkgPT0gcGFzcykKKyAgICAgICAgICAgIHJldHVybiBw
YXNzSW5kZXg7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30K
Kwordm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpyZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUo
Q0NSZW5kZXJQYXNzTGlzdCYgcGFzc2VzLCBzaXplX3QgYm90dG9tUGFzcywgY29uc3QgQ0NSZW5k
ZXJQYXNzKiBmaXJzdFRvUmVtb3ZlKQoreworICAgIC8vIFRoZSBhY3R1YWwgcmVtb3ZhbCBoYXBw
ZW5zIGhlcmUKKyAgICBzaXplX3QgcmVtb3ZlSW5kZXggPSBpbmRleE9mUmVuZGVyUGFzcyhwYXNz
ZXMsIGZpcnN0VG9SZW1vdmUsIGJvdHRvbVBhc3MpOworICAgIEFTU0VSVChyZW1vdmVJbmRleCA+
PSAwKTsKKworICAgIE93blB0cjxDQ1JlbmRlclBhc3M+IHJlbW92ZWRQYXNzID0gcGFzc2VzW3Jl
bW92ZUluZGV4XS5yZWxlYXNlKCk7CisgICAgcGFzc2VzLnJlbW92ZShyZW1vdmVJbmRleCk7CisK
KyAgICAvLyBOb3cgZm9sbG93IHVwIGZvciBhbGwgUmVuZGVyUGFzcyBxdWFkcyBhbmQgcmVtb3Zl
IHRoZWlyIHJlbmRlciBwYXNzZXMgcmVjdXJzaXZlbHkKKyAgICBjb25zdCBDQ1F1YWRMaXN0JiBx
dWFkTGlzdCA9IHJlbW92ZWRQYXNzLT5xdWFkTGlzdCgpOworICAgIENDUXVhZExpc3Q6OmNvbnN0
QmFja1RvRnJvbnRJdGVyYXRvciBxdWFkTGlzdEl0ZXJhdG9yID0gcXVhZExpc3QuYmFja1RvRnJv
bnRCZWdpbigpOworICAgIHdoaWxlIChxdWFkTGlzdEl0ZXJhdG9yICE9IHF1YWRMaXN0LmJhY2tU
b0Zyb250RW5kKCkpIHsKKyAgICAgICAgQ0NEcmF3UXVhZCogY3VycmVudFF1YWQgPSAoKnF1YWRM
aXN0SXRlcmF0b3IpLmdldCgpOworICAgICAgICBpZiAoY3VycmVudFF1YWQtPm1hdGVyaWFsKCkg
PT0gQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcykgeworICAgICAgICAgICAgQ0NSZW5kZXJQYXNzRHJh
d1F1YWQqIHJlbmRlclBhc3NRdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQYXNzRHJhd1F1YWQq
PihjdXJyZW50UXVhZCk7CisgICAgICAgICAgICBjb25zdCBDQ1JlbmRlclBhc3MqIG5leHRSZW5k
ZXJQYXNzID0gcmVuZGVyUGFzc1F1YWQtPnJlbmRlclBhc3MoKTsKKworICAgICAgICAgICAgLy8g
T3VyIHNlYXJjaCBpcyBub3cgbGltaXRlZCB1cCB0byB0aGUgcGFzcyB0aGF0IHdlIGp1c3QgcmVt
b3ZlZC4KKyAgICAgICAgICAgIC8vIFN1YnN0aXR1dGUgcmVtb3ZlSW5kZXggZm9yIGJvdHRvbVBh
c3Mgbm93LgorICAgICAgICAgICAgcmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKHBhc3Nlcywg
cmVtb3ZlSW5kZXgsIG5leHRSZW5kZXJQYXNzKTsKKyAgICAgICAgfQorICAgICAgICBxdWFkTGlz
dEl0ZXJhdG9yKys7CisgICAgfQorfQorCit2b2lkIENDTGF5ZXJUcmVlSG9zdEltcGw6OnJlbW92
ZVJlZHVuZGFudFBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMpCit7CisgICAgc3NpemVf
dCBwYXNzSW5kZXggPSBwYXNzZXMuc2l6ZSgpIC0gMTsKKyAgICB3aGlsZSAocGFzc0luZGV4ID49
IDApIHsKKyAgICAgICAgQ0NSZW5kZXJQYXNzKiBjdXJyZW50UGFzcyA9IHBhc3Nlc1twYXNzSW5k
ZXhdLmdldCgpOworICAgICAgICBjb25zdCBDQ1F1YWRMaXN0JiBxdWFkTGlzdCA9IGN1cnJlbnRQ
YXNzLT5xdWFkTGlzdCgpOworICAgICAgICBDQ1F1YWRMaXN0Ojpjb25zdEJhY2tUb0Zyb250SXRl
cmF0b3IgcXVhZExpc3RJdGVyYXRvciA9IHF1YWRMaXN0LmJhY2tUb0Zyb250QmVnaW4oKTsKKyAg
ICAgICAgd2hpbGUgKHF1YWRMaXN0SXRlcmF0b3IgIT0gcXVhZExpc3QuYmFja1RvRnJvbnRFbmQo
KSkgeworICAgICAgICAgICAgQ0NEcmF3UXVhZCogY3VycmVudFF1YWQgPSAoKnF1YWRMaXN0SXRl
cmF0b3IpLmdldCgpOworICAgICAgICAgICAgaWYgKGN1cnJlbnRRdWFkLT5tYXRlcmlhbCgpID09
IENDRHJhd1F1YWQ6OlJlbmRlclBhc3MpIHsKKyAgICAgICAgICAgICAgICBDQ1JlbmRlclBhc3NE
cmF3UXVhZCogcmVuZGVyUGFzc1F1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVh
ZCo+KGN1cnJlbnRRdWFkKTsKKyAgICAgICAgICAgICAgICBDQ1JlbmRlclN1cmZhY2UqIHRhcmdl
dFN1cmZhY2UgPSByZW5kZXJQYXNzUXVhZC0+cmVuZGVyU3VyZmFjZSgpOworICAgICAgICAgICAg
ICAgIGlmICghcmVuZGVyUGFzc1F1YWQtPmNvbnRlbnRzQ2hhbmdlZCgpICYmIHRhcmdldFN1cmZh
Y2UtPmhhc0NhY2hlZENvbnRlbnRzVGV4dHVyZSgpKSB7CisgICAgICAgICAgICAgICAgICAgIC8v
IFJlc2VydmUgdGhlIHRleHR1cmUgaW1tZWRpYXRlbHkuIFdlIGRvIG5vdCBuZWVkIHRvIHBhc3Mg
aW4gbGF5ZXIgcmVuZGVyZXIKKyAgICAgICAgICAgICAgICAgICAgLy8gc2luY2UgdGhlIHRleHR1
cmUgYWxyZWFkeSBleGlzdHMsIGp1c3QgbmVlZHMgdG8gYmUgcmVzZXJ2ZWQuCisgICAgICAgICAg
ICAgICAgICAgIGlmICh0YXJnZXRTdXJmYWNlLT5wcmVwYXJlQ29udGVudHNUZXh0dXJlKDApKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBhcmUgY2hhbmdpbmcgdGhlIHZlY3RvciBp
biB0aGUgbWlkZGxlIG9mIHJldmVyc2UgaXRlcmF0aW9uLgorICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gV2UgYXJlIGd1YXJhbnRlZWQgdGhhdCBhbnkgZGF0YSBmcm9tIGl0ZXJhdG9yIHRvIHRo
ZSBlbmQgd2lsbCBub3QgY2hhbmdlLgorICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2FwdHVy
ZSB0aGUgaXRlcmF0b3IgcG9zaXRpb24gZnJvbSB0aGUgZW5kLCBhbmQgcmVzdG9yZSBpdCBhZnRl
ciB0aGUgY2hhbmdlLgorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvc2l0aW9uRnJvbUVu
ZCA9IHBhc3Nlcy5zaXplKCkgLSBwYXNzSW5kZXg7CisgICAgICAgICAgICAgICAgICAgICAgICBy
ZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUocGFzc2VzLCBwYXNzSW5kZXgsIHJlbmRlclBhc3NR
dWFkLT5yZW5kZXJQYXNzKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgcGFzc0luZGV4ID0g
cGFzc2VzLnNpemUoKSAtIHBvc2l0aW9uRnJvbUVuZDsKKyAgICAgICAgICAgICAgICAgICAgICAg
IEFTU0VSVChwYXNzSW5kZXggPj0gMCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBxdWFkTGlzdEl0ZXJhdG9yKys7
CisgICAgICAgIH0KKyAgICAgICAgcGFzc0luZGV4LS07CisgICAgfQorfQorCiBib29sIENDTGF5
ZXJUcmVlSG9zdEltcGw6OnByZXBhcmVUb0RyYXcoRnJhbWVEYXRhJiBmcmFtZSkKIHsKICAgICBU
UkFDRV9FVkVOVCgiQ0NMYXllclRyZWVIb3N0SW1wbDo6cHJlcGFyZVRvRHJhdyIsIHRoaXMsIDAp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCmluZGV4IGM3NDBhNjYyMDJmNGJk
MGYxYjNkMDYwNmQzYWViYTk0ODlkMjAwOTIuLjg3N2Y4ZDM3MDg2NDU5MmQ0NmI4NWUxN2U5NzNl
YmUxMjk4ODVmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKQEAgLTE2
Nyw2ICsxNjcsOSBAQCBwdWJsaWM6CiAgICAgQ0NGcmFtZVJhdGVDb3VudGVyKiBmcHNDb3VudGVy
KCkgY29uc3QgeyByZXR1cm4gbV9mcHNDb3VudGVyLmdldCgpOyB9CiAgICAgQ0NEZWJ1Z1JlY3RI
aXN0b3J5KiBkZWJ1Z1JlY3RIaXN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9kZWJ1Z1JlY3RIaXN0
b3J5LmdldCgpOyB9CiAKKyAgICAvLyBSZW1vdmVzIGFsbCByZW5kZXIgcGFzc2VzIGZvciB3aGlj
aCB3ZSBoYXZlIGNhY2hlZCB0ZXh0dXJlcywgYW5kIHdoaWNoIGRpZCBub3QgY2hhbmdlIHRoZWly
IGNvbnRlbnQuCisgICAgc3RhdGljIHZvaWQgcmVtb3ZlUmVkdW5kYW50UGFzc2VzKENDUmVuZGVy
UGFzc0xpc3QmIHBhc3Nlcyk7CisKIHByb3RlY3RlZDoKICAgICBDQ0xheWVyVHJlZUhvc3RJbXBs
KGNvbnN0IENDU2V0dGluZ3MmLCBDQ0xheWVyVHJlZUhvc3RJbXBsQ2xpZW50Kik7CiAKQEAgLTIw
NCw2ICsyMDcsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgYW5pbWF0ZUxheWVyc1JlY3Vyc2l2ZShD
Q0xheWVySW1wbCosIGRvdWJsZSBtb25vdG9uaWNUaW1lLCBkb3VibGUgd2FsbENsb2NrVGltZSwg
Q0NBbmltYXRpb25FdmVudHNWZWN0b3IqLCBib29sJiBkaWRBbmltYXRlLCBib29sJiBuZWVkc0Fu
aW1hdGVMYXllcnMpOwogICAgIHZvaWQgc2V0QmFja2dyb3VuZFRpY2tpbmdFbmFibGVkKGJvb2wp
OwogICAgIEludFNpemUgY29udGVudFNpemUoKSBjb25zdDsKKworICAgIHN0YXRpYyB2b2lkIHJl
bW92ZVJlbmRlclBhc3Nlc1JlY3Vyc2l2ZShDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIHNpemVf
dCBib3R0b21QYXNzLCBjb25zdCBDQ1JlbmRlclBhc3MqIGZpcnN0VG9SZW1vdmUpOworCiAgICAg
dm9pZCBzZW5kRGlkTG9zZUNvbnRleHRSZWN1cnNpdmUoQ0NMYXllckltcGwqKTsKICAgICB2b2lk
IGNsZWFyUmVuZGVyU3VyZmFjZXNPbkNDTGF5ZXJJbXBsUmVjdXJzaXZlKENDTGF5ZXJJbXBsKik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUmVuZGVyUGFzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwCmluZGV4IDBlM2FmYzA0NjkyZTBiZGJiNWU0Y2M2
YWExNDQwNmQ4YTFkOWFmOGQuLjFlNzZkMmJhNjJmZTBkMTdlMmM1MTg4N2QyZGI3YTE1MjRiMzA5
MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUmVuZGVyUGFzcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcApAQCAtMTAxLDQgKzEwMSw5IEBAIHZvaWQg
Q0NSZW5kZXJQYXNzOjphcHBlbmRRdWFkc1RvRmlsbFNjcmVlbihDQ0xheWVySW1wbCogcm9vdExh
eWVyLCBjb25zdCBDb2xvciYKICAgICBtX3NoYXJlZFF1YWRTdGF0ZUxpc3QuYXBwZW5kKHNoYXJl
ZFF1YWRTdGF0ZS5yZWxlYXNlKCkpOwogfQogCit2b2lkIENDUmVuZGVyUGFzczo6YXBwZW5kUXVh
ZChQYXNzT3duUHRyPENDRHJhd1F1YWQ+IHF1YWQpCit7CisgICAgbV9xdWFkTGlzdC5hcHBlbmQo
cXVhZCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKaW5kZXggNjQ5ZGJhY2RjZGE5ZmEw
MDdkYjdlMGIyZDFiZTFlMzA5NWUwOWE0Zi4uNjJmOTI5MGFjZDAwNTgyZWFmZTRmNGU2Y2RjODVl
MDExZjVhMzcxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKQEAgLTU4LDYgKzU4LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgYXBwZW5kUXVhZHNGb3JMYXllcihDQ0xheWVySW1wbCosIENDT2NjbHVz
aW9uVHJhY2tlckltcGwqLCBib29sJiBoYWRNaXNzaW5nVGlsZXMpOwogICAgIHZvaWQgYXBwZW5k
UXVhZHNGb3JSZW5kZXJTdXJmYWNlTGF5ZXIoQ0NMYXllckltcGwqLCBjb25zdCBDQ1JlbmRlclBh
c3MqIGNvbnRyaWJ1dGluZ1JlbmRlclBhc3MsIENDT2NjbHVzaW9uVHJhY2tlckltcGwqKTsKICAg
ICB2b2lkIGFwcGVuZFF1YWRzVG9GaWxsU2NyZWVuKENDTGF5ZXJJbXBsKiByb290TGF5ZXIsIGNv
bnN0IENvbG9yJiBzY3JlZW5CYWNrZ3JvdW5kQ29sb3IsIGNvbnN0IENDT2NjbHVzaW9uVHJhY2tl
ckltcGwmKTsKKyAgICB2b2lkIGFwcGVuZFF1YWQoUGFzc093blB0cjxDQ0RyYXdRdWFkPik7CiAK
ICAgICBjb25zdCBDQ1F1YWRMaXN0JiBxdWFkTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fcXVhZExp
c3Q7IH0KICAgICBDQ1JlbmRlclN1cmZhY2UqIHRhcmdldFN1cmZhY2UoKSBjb25zdCB7IHJldHVy
biBtX3RhcmdldFN1cmZhY2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzc0RyYXdRdWFk
LmNwcAppbmRleCA4ZGM0ZmY2NmExYzcxNzNiZTczNzRhNjI1ZGI5OWNmNDA3YjFkNmUzLi5jY2Q0
MjMyNmZiYmRkOTg1NjdmMzExNjJhYzU5ZWIyYzBjOWFmMzY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVh
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NSZW5kZXJQYXNzRHJhd1F1YWQuY3BwCkBAIC0yNywyMCArMjcsMjQgQEAKIAogI2luY2x1ZGUg
ImNjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmgiCiAKKyNpbmNsdWRlICJjYy9DQ1JlbmRlclBhc3Mu
aCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzT3duUHRyPENDUmVuZGVyUGFzc0RyYXdR
dWFkPiBDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Y3JlYXRlKGNvbnN0IENDU2hhcmVkUXVhZFN0YXRl
KiBzaGFyZWRRdWFkU3RhdGUsIGNvbnN0IEludFJlY3QmIHF1YWRSZWN0LCBjb25zdCBDQ1JlbmRl
clBhc3MqIHJlbmRlclBhc3MsIGJvb2wgaXNSZXBsaWNhLCBjb25zdCBXZWJLaXQ6OldlYkZpbHRl
ck9wZXJhdGlvbnMmIGZpbHRlcnMsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYg
YmFja2dyb3VuZEZpbHRlcnMsIHVuc2lnbmVkIG1hc2tUZXh0dXJlSWQpCitQYXNzT3duUHRyPEND
UmVuZGVyUGFzc0RyYXdRdWFkPiBDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Y3JlYXRlKGNvbnN0IEND
U2hhcmVkUXVhZFN0YXRlKiBzaGFyZWRRdWFkU3RhdGUsIGNvbnN0IEludFJlY3QmIHF1YWRSZWN0
LCBjb25zdCBDQ1JlbmRlclBhc3MqIHJlbmRlclBhc3MsIGJvb2wgaXNSZXBsaWNhLCBjb25zdCBX
ZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMmIGZpbHRlcnMsIGNvbnN0IFdlYktpdDo6V2ViRmls
dGVyT3BlcmF0aW9ucyYgYmFja2dyb3VuZEZpbHRlcnMsIHVuc2lnbmVkIG1hc2tUZXh0dXJlSWQs
IGJvb2wgY29udGVudHNDaGFuZ2VkKQogewotICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ0NSZW5k
ZXJQYXNzRHJhd1F1YWQoc2hhcmVkUXVhZFN0YXRlLCBxdWFkUmVjdCwgcmVuZGVyUGFzcywgaXNS
ZXBsaWNhLCBmaWx0ZXJzLCBiYWNrZ3JvdW5kRmlsdGVycywgbWFza1RleHR1cmVJZCkpOworICAg
IHJldHVybiBhZG9wdFB0cihuZXcgQ0NSZW5kZXJQYXNzRHJhd1F1YWQoc2hhcmVkUXVhZFN0YXRl
LCBxdWFkUmVjdCwgcmVuZGVyUGFzcywgaXNSZXBsaWNhLCBmaWx0ZXJzLCBiYWNrZ3JvdW5kRmls
dGVycywgbWFza1RleHR1cmVJZCwgY29udGVudHNDaGFuZ2VkKSk7CiB9CiAKLUNDUmVuZGVyUGFz
c0RyYXdRdWFkOjpDQ1JlbmRlclBhc3NEcmF3UXVhZChjb25zdCBDQ1NoYXJlZFF1YWRTdGF0ZSog
c2hhcmVkUXVhZFN0YXRlLCBjb25zdCBJbnRSZWN0JiBxdWFkUmVjdCwgY29uc3QgQ0NSZW5kZXJQ
YXNzKiByZW5kZXJQYXNzLCBib29sIGlzUmVwbGljYSwgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJP
cGVyYXRpb25zJiBmaWx0ZXJzLCBjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMmIGJh
Y2tncm91bmRGaWx0ZXJzLCB1bnNpZ25lZCBtYXNrVGV4dHVyZUlkKQorQ0NSZW5kZXJQYXNzRHJh
d1F1YWQ6OkNDUmVuZGVyUGFzc0RyYXdRdWFkKGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiBzaGFy
ZWRRdWFkU3RhdGUsIGNvbnN0IEludFJlY3QmIHF1YWRSZWN0LCBjb25zdCBDQ1JlbmRlclBhc3Mq
IHJlbmRlclBhc3MsIGJvb2wgaXNSZXBsaWNhLCBjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJh
dGlvbnMmIGZpbHRlcnMsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgYmFja2dy
b3VuZEZpbHRlcnMsIHVuc2lnbmVkIG1hc2tUZXh0dXJlSWQsIGJvb2wgY29udGVudHNDaGFuZ2Vk
KQogICAgIDogQ0NEcmF3UXVhZChzaGFyZWRRdWFkU3RhdGUsIENDRHJhd1F1YWQ6OlJlbmRlclBh
c3MsIHF1YWRSZWN0KQogICAgICwgbV9yZW5kZXJQYXNzKHJlbmRlclBhc3MpCisgICAgLCBtX3Jl
bmRlclN1cmZhY2UocmVuZGVyUGFzcy0+dGFyZ2V0U3VyZmFjZSgpKQogICAgICwgbV9pc1JlcGxp
Y2EoaXNSZXBsaWNhKQogICAgICwgbV9maWx0ZXJzKGZpbHRlcnMpCiAgICAgLCBtX2JhY2tncm91
bmRGaWx0ZXJzKGJhY2tncm91bmRGaWx0ZXJzKQogICAgICwgbV9tYXNrVGV4dHVyZUlkKG1hc2tU
ZXh0dXJlSWQpCisgICAgLCBtX2NvbnRlbnRzQ2hhbmdlZChjb250ZW50c0NoYW5nZWQpCiB7CiAg
ICAgQVNTRVJUKG1fcmVuZGVyUGFzcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJh
d1F1YWQuaAppbmRleCAzY2M2ZjI2MDcxYTMzYzAyMzA2YWVhZDllMDhiMDg3MzMzNGUzMWU4Li4z
YTI5ZjhiNmI4NmUyMmMxYzEzOThiMjgxY2IzZTUxZjZmNjg5ZTRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3
UXVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUmVuZGVyUGFzc0RyYXdRdWFkLmgKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgQ0NSZW5k
ZXJQYXNzRHJhd1F1YWRfaAogCiAjaW5jbHVkZSAiY2MvQ0NEcmF3UXVhZC5oIgorI2luY2x1ZGUg
ImNjL0NDUmVuZGVyU3VyZmFjZS5oIgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWx0ZXJPcGVyYXRp
b25zLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIApAQCAtMzcsMjMgKzM4LDI3IEBA
IGNsYXNzIENDUmVuZGVyUGFzczsKIGNsYXNzIENDUmVuZGVyUGFzc0RyYXdRdWFkIDogcHVibGlj
IENDRHJhd1F1YWQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENDUmVuZGVyUGFzc0RyYXdR
dWFkKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxDQ1JlbmRlclBhc3NEcmF3UXVh
ZD4gY3JlYXRlKGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiwgY29uc3QgSW50UmVjdCYsIGNvbnN0
IENDUmVuZGVyUGFzcyosIGJvb2wgaXNSZXBsaWNhLCBjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9w
ZXJhdGlvbnMmIGZpbHRlcnMsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgYmFj
a2dyb3VuZEZpbHRlcnMsIHVuc2lnbmVkIG1hc2tUZXh0dXJlSWQpOworICAgIHN0YXRpYyBQYXNz
T3duUHRyPENDUmVuZGVyUGFzc0RyYXdRdWFkPiBjcmVhdGUoY29uc3QgQ0NTaGFyZWRRdWFkU3Rh
dGUqLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgQ0NSZW5kZXJQYXNzKiwgYm9vbCBpc1JlcGxpY2Es
IGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycywgY29uc3QgV2ViS2l0
OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycywgdW5zaWduZWQgbWFza1Rl
eHR1cmVJZCwgYm9vbCBjb250ZW50c0NoYW5nZWQpOwogCiAgICAgY29uc3QgQ0NSZW5kZXJQYXNz
KiByZW5kZXJQYXNzKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJQYXNzOyB9CisgICAgQ0NSZW5k
ZXJTdXJmYWNlKiByZW5kZXJTdXJmYWNlKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJTdXJmYWNl
OyB9CiAgICAgYm9vbCBpc1JlcGxpY2EoKSBjb25zdCB7IHJldHVybiBtX2lzUmVwbGljYTsgfQog
ICAgIHVuc2lnbmVkIG1hc2tUZXh0dXJlSWQoKSBjb25zdCB7IHJldHVybiBtX21hc2tUZXh0dXJl
SWQ7IH0KKyAgICBib29sIGNvbnRlbnRzQ2hhbmdlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVu
dHNDaGFuZ2VkOyB9CiAKICAgICBjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMmIGZp
bHRlcnMoKSBjb25zdCB7IHJldHVybiBtX2ZpbHRlcnM7IH0KICAgICBjb25zdCBXZWJLaXQ6Oldl
YkZpbHRlck9wZXJhdGlvbnMmIGJhY2tncm91bmRGaWx0ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9i
YWNrZ3JvdW5kRmlsdGVyczsgfQogCiBwcml2YXRlOgotICAgIENDUmVuZGVyUGFzc0RyYXdRdWFk
KGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiwgY29uc3QgSW50UmVjdCYsIGNvbnN0IENDUmVuZGVy
UGFzcyosIGJvb2wgaXNSZXBsaWNhLCBjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMm
IGZpbHRlcnMsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgYmFja2dyb3VuZEZp
bHRlcnMsIHVuc2lnbmVkIG1hc2tUZXh0dXJlSWQpOworICAgIENDUmVuZGVyUGFzc0RyYXdRdWFk
KGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiwgY29uc3QgSW50UmVjdCYsIGNvbnN0IENDUmVuZGVy
UGFzcyosIGJvb2wgaXNSZXBsaWNhLCBjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMm
IGZpbHRlcnMsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgYmFja2dyb3VuZEZp
bHRlcnMsIHVuc2lnbmVkIG1hc2tUZXh0dXJlSWQsIGJvb2wgY29udGVudHNDaGFuZ2VkKTsKIAog
ICAgIGNvbnN0IENDUmVuZGVyUGFzcyogbV9yZW5kZXJQYXNzOworICAgIENDUmVuZGVyU3VyZmFj
ZSogbV9yZW5kZXJTdXJmYWNlOwogICAgIGJvb2wgbV9pc1JlcGxpY2E7CiAgICAgV2ViS2l0OjpX
ZWJGaWx0ZXJPcGVyYXRpb25zIG1fZmlsdGVyczsKICAgICBXZWJLaXQ6OldlYkZpbHRlck9wZXJh
dGlvbnMgbV9iYWNrZ3JvdW5kRmlsdGVyczsKICAgICB1bnNpZ25lZCBtX21hc2tUZXh0dXJlSWQ7
CisgICAgYm9vbCBtX2NvbnRlbnRzQ2hhbmdlZDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRl
clN1cmZhY2UuY3BwCmluZGV4IGRkYWJkNTI4YzhmZDFkMGJjZDU2YjIwMzcwZGM1M2RkMDMwMjJl
Y2MuLmZkNWRkNjA2YjNmOGU2MWM0MGJmNGIxNTA3YjY2NmQzY2Q5NjQ5YjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3Vy
ZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NSZW5kZXJTdXJmYWNlLmNwcApAQCAtODgsMTAgKzg4LDE1IEBAIEZsb2F0UmVjdCBDQ1Jl
bmRlclN1cmZhY2U6OmRyYXdhYmxlQ29udGVudFJlY3QoKSBjb25zdAogCiBib29sIENDUmVuZGVy
U3VyZmFjZTo6cHJlcGFyZUNvbnRlbnRzVGV4dHVyZShMYXllclJlbmRlcmVyQ2hyb21pdW0qIGxh
eWVyUmVuZGVyZXIpCiB7Ci0gICAgVGV4dHVyZU1hbmFnZXIqIHRleHR1cmVNYW5hZ2VyID0gbGF5
ZXJSZW5kZXJlci0+aW1wbFRleHR1cmVNYW5hZ2VyKCk7CisgICAgaWYgKGxheWVyUmVuZGVyZXIp
IHsKKyAgICAgICAgVGV4dHVyZU1hbmFnZXIqIHRleHR1cmVNYW5hZ2VyID0gbGF5ZXJSZW5kZXJl
ci0+aW1wbFRleHR1cmVNYW5hZ2VyKCk7CisKKyAgICAgICAgaWYgKCFtX2NvbnRlbnRzVGV4dHVy
ZSkKKyAgICAgICAgICAgIG1fY29udGVudHNUZXh0dXJlID0gTWFuYWdlZFRleHR1cmU6OmNyZWF0
ZSh0ZXh0dXJlTWFuYWdlcik7CisgICAgfQogCiAgICAgaWYgKCFtX2NvbnRlbnRzVGV4dHVyZSkK
LSAgICAgICAgbV9jb250ZW50c1RleHR1cmUgPSBNYW5hZ2VkVGV4dHVyZTo6Y3JlYXRlKHRleHR1
cmVNYW5hZ2VyKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKG1fY29udGVudHNU
ZXh0dXJlLT5pc1Jlc2VydmVkKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTE0LDYgKzEx
OSwxMSBAQCBib29sIENDUmVuZGVyU3VyZmFjZTo6aGFzVmFsaWRDb250ZW50c1RleHR1cmUoKSBj
b25zdAogICAgIHJldHVybiBtX2NvbnRlbnRzVGV4dHVyZSAmJiBtX2NvbnRlbnRzVGV4dHVyZS0+
aXNSZXNlcnZlZCgpICYmIG1fY29udGVudHNUZXh0dXJlLT5pc1ZhbGlkKG1fY29udGVudFJlY3Qu
c2l6ZSgpLCBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSk7CiB9CiAKK2Jvb2wgQ0NSZW5kZXJTdXJm
YWNlOjpoYXNDYWNoZWRDb250ZW50c1RleHR1cmUoKSBjb25zdAoreworICAgIHJldHVybiBtX2Nv
bnRlbnRzVGV4dHVyZSAmJiBtX2NvbnRlbnRzVGV4dHVyZS0+aXNWYWxpZChtX2NvbnRlbnRSZWN0
LnNpemUoKSwgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkEpOworfQorCiBib29sIENDUmVuZGVyU3Vy
ZmFjZTo6cHJlcGFyZUJhY2tncm91bmRUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5
ZXJSZW5kZXJlcikKIHsKICAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBsYXll
clJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsKQEAgLTI4Niw3ICsyOTYsNyBAQCB2b2lk
IENDUmVuZGVyU3VyZmFjZTo6YXBwZW5kUXVhZHMoQ0NRdWFkQ3VsbGVyJiBxdWFkTGlzdCwgQ0NT
aGFyZWRRdWFkU3RhdGUqIHNoYQogCiAgICAgaW50IG1hc2tUZXh0dXJlSWQgPSBtYXNrTGF5ZXIg
PyBtYXNrTGF5ZXItPmNvbnRlbnRzVGV4dHVyZUlkKCkgOiAwOwogCi0gICAgcXVhZExpc3QuYXBw
ZW5kU3VyZmFjZShDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZSwg
Y29udGVudFJlY3QoKSwgcmVuZGVyUGFzcywgZm9yUmVwbGljYSwgZmlsdGVycygpLCBiYWNrZ3Jv
dW5kRmlsdGVycygpLCBtYXNrVGV4dHVyZUlkKSk7CisgICAgcXVhZExpc3QuYXBwZW5kU3VyZmFj
ZShDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZSwgY29udGVudFJl
Y3QoKSwgcmVuZGVyUGFzcywgZm9yUmVwbGljYSwgZmlsdGVycygpLCBiYWNrZ3JvdW5kRmlsdGVy
cygpLCBtYXNrVGV4dHVyZUlkLCBtX2NvbnRlbnRzQ2hhbmdlZCkpOwogfQogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRl
clN1cmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUmVuZGVyU3VyZmFjZS5oCmluZGV4IDYyNTIzYjgyMTJiN2UzNmQ2NWQ4MmRjNmQxYzY5Yjkx
Yzg3NGM2NDkuLmE2ZDRiYTNiOTAzNzNkNzhlM2U3MWZmYTZlNjM3Y2Q2ZWIzN2ZjNmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVu
ZGVyU3VyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCkBAIC01Myw5ICs1MywxMCBAQCBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgQ0NSZW5kZXJTdXJmYWNlKENDTGF5ZXJJbXBsKik7CiAgICAgfkNDUmVuZGVyU3Vy
ZmFjZSgpOwogCi0gICAgYm9vbCBwcmVwYXJlQ29udGVudHNUZXh0dXJlKExheWVyUmVuZGVyZXJD
aHJvbWl1bSopOworICAgIHZpcnR1YWwgYm9vbCBwcmVwYXJlQ29udGVudHNUZXh0dXJlKExheWVy
UmVuZGVyZXJDaHJvbWl1bSopOwogICAgIHZvaWQgcmVsZWFzZUNvbnRlbnRzVGV4dHVyZSgpOwog
ICAgIGJvb2wgaGFzVmFsaWRDb250ZW50c1RleHR1cmUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJv
b2wgaGFzQ2FjaGVkQ29udGVudHNUZXh0dXJlKCkgY29uc3Q7CiAKICAgICBib29sIHByZXBhcmVC
YWNrZ3JvdW5kVGV4dHVyZShMYXllclJlbmRlcmVyQ2hyb21pdW0qKTsKICAgICB2b2lkIHJlbGVh
c2VCYWNrZ3JvdW5kVGV4dHVyZSgpOwpAQCAtMTE0LDYgKzExNSw5IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFNjaXNzb3JSZWN0KGNvbnN0IEludFJlY3QmIHNjaXNzb3JSZWN0KSB7IG1fc2Npc3Nv
clJlY3QgPSBzY2lzc29yUmVjdDsgfQogICAgIGNvbnN0IEludFJlY3QmIHNjaXNzb3JSZWN0KCkg
Y29uc3QgeyByZXR1cm4gbV9zY2lzc29yUmVjdDsgfQogCisgICAgdm9pZCBzZXRDb250ZW50c0No
YW5nZWQoYm9vbCBjb250ZW50c0NoYW5nZWQpIHsgbV9jb250ZW50c0NoYW5nZWQgPSBjb250ZW50
c0NoYW5nZWQ7IH0KKyAgICBib29sIGNvbnRlbnRzQ2hhbmdlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
Y29udGVudHNDaGFuZ2VkOyB9CisKICAgICB2b2lkIHNldENvbnRlbnRSZWN0KGNvbnN0IEludFJl
Y3QmKTsKICAgICBjb25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1f
Y29udGVudFJlY3Q7IH0KIApAQCAtMTc0LDYgKzE3OCwxMSBAQCBwcml2YXRlOgogICAgIC8vIFVz
ZXMgdGhlIHNwYWNlIG9mIHRoZSBzdXJmYWNlJ3MgdGFyZ2V0IHN1cmZhY2UuCiAgICAgSW50UmVj
dCBtX3NjaXNzb3JSZWN0OwogCisgICAgLy8gRklYTUU6IFdoZW4gdGhlIHJlbGF0aW9uc2hpcHMg
YmV0d2VlbiBDQ0RhbWFnZVRyYWNrZXIvQ0NSZW5kZXJQYXNzL0NDUmVuZGVyU3VyZmFjZS9DQ1Jl
bmRlclBhc0RyYXdRdWFkCisgICAgLy8gYXJlIGZpeGVkLCB0aGlzIGZsYWcgbWF5IGdvIGF3YXku
IFJpZ2h0IG5vdyBuZWVkZWQgdG8gdHJhbnNmZXIgdGhlIGluZm9ybWF0aW9uIGZyb20gQ0NEYW1h
Z2VUcmFja2VyCisgICAgLy8gdG8gQ0NSZW5kZXJQYXNzRHJhd1F1YWQgd2l0aG91dCBjcmVhdGlu
ZyBuZXcgY2xhc3MgZGVwZW5kZW5jaWVzLgorICAgIGJvb2wgbV9jb250ZW50c0NoYW5nZWQ7CisK
ICAgICBWZWN0b3I8Q0NMYXllckltcGwqPiBtX2xheWVyTGlzdDsKIAogICAgIC8vIFRoZSBuZWFy
ZXN0IGFuY2VzdG9yIHRhcmdldCBzdXJmYWNlIHRoYXQgd2lsbCBjb250YWluIHRoZSBjb250ZW50
cyBvZiB0aGlzIHN1cmZhY2UsIGFuZCB0aGF0IGlzIGdvaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS90ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcAppbmRleCBiYjRlMmMy
YWM1YmExNWQzZDM5OTk0MzljYTIyZGMwNzY1NTRmZTg0Li44NzUwNTI5YmFlNzMxYjdmNmY1MDk4
YWIzNjNlYzRhOTI5N2M5NDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAKQEAgLTg5Miw3ICs4OTIsNyBAQCBURVNUX0Yo
Q0NEYW1hZ2VUcmFja2VyVGVzdCwgdmVyaWZ5RGFtYWdlRm9yTWFzaykKICAgICBFWFBFQ1RfVFJV
RShjaGlsZERhbWFnZVJlY3QuaXNFbXB0eSgpKTsKIAogICAgIC8vIFRoZW4gdGVzdCB0aGUgcHJv
cGVydHkgY2hhbmdlLgotICAgIG1hc2tMYXllci0+c2V0T3BhY2l0eSgwLjUpOworICAgIG1hc2tM
YXllci0+c2V0U3RhY2tpbmdPcmRlckNoYW5nZWQodHJ1ZSk7CiAgICAgZW11bGF0ZURyYXdpbmdP
bmVGcmFtZShyb290LmdldCgpKTsKICAgICBjaGlsZERhbWFnZVJlY3QgPSBjaGlsZC0+cmVuZGVy
U3VyZmFjZSgpLT5kYW1hZ2VUcmFja2VyKCktPmN1cnJlbnREYW1hZ2VSZWN0KCk7CiAgICAgRVhQ
RUNUX0ZMT0FUX1JFQ1RfRVEoRmxvYXRSZWN0KDAsIDAsIDMwLCAzMCksIGNoaWxkRGFtYWdlUmVj
dCk7CkBAIC05NTQsNyArOTU0LDcgQEAgVEVTVF9GKENDRGFtYWdlVHJhY2tlclRlc3QsIHZlcmlm
eURhbWFnZUZvclJlcGxpY2FNYXNrKQogICAgIEFTU0VSVF9UUlVFKGdyYW5kQ2hpbGQxLT5yZW5k
ZXJTdXJmYWNlKCkpOwogCiAgICAgLy8gQ0FTRSAxOiBhIHByb3BlcnR5IGNoYW5nZSBvbiB0aGUg
bWFzayBzaG91bGQgZGFtYWdlIG9ubHkgdGhlIHJlZmxlY3RlZCByZWdpb24gb24gdGhlIHRhcmdl
dCBzdXJmYWNlLgotICAgIHJlcGxpY2FNYXNrTGF5ZXItPnNldE9wYWNpdHkoMC42Zik7CisgICAg
cmVwbGljYU1hc2tMYXllci0+c2V0U3RhY2tpbmdPcmRlckNoYW5nZWQodHJ1ZSk7CiAgICAgZW11
bGF0ZURyYXdpbmdPbmVGcmFtZShyb290LmdldCgpKTsKIAogICAgIEZsb2F0UmVjdCBncmFuZENo
aWxkRGFtYWdlUmVjdCA9IGdyYW5kQ2hpbGQxLT5yZW5kZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNr
ZXIoKS0+Y3VycmVudERhbWFnZVJlY3QoKTsKQEAgLTEwMTQsNyArMTAxNCw3IEBAIFRFU1RfRihD
Q0RhbWFnZVRyYWNrZXJUZXN0LCB2ZXJpZnlEYW1hZ2VGb3JSZXBsaWNhTWFza1dpdGhBbmNob3Ip
CiAgICAgQVNTRVJUX1RSVUUoZ3JhbmRDaGlsZDEtPnJlbmRlclN1cmZhY2UoKSk7CiAKICAgICAv
LyBBIHByb3BlcnR5IGNoYW5nZSBvbiB0aGUgcmVwbGljYU1hc2sgc2hvdWxkIGRhbWFnZSB0aGUg
cmVmbGVjdGVkIHJlZ2lvbiBvbiB0aGUgdGFyZ2V0IHN1cmZhY2UuCi0gICAgcmVwbGljYU1hc2tM
YXllci0+c2V0T3BhY2l0eSgwLjZmKTsKKyAgICByZXBsaWNhTWFza0xheWVyLT5zZXRTdGFja2lu
Z09yZGVyQ2hhbmdlZCh0cnVlKTsKICAgICBlbXVsYXRlRHJhd2luZ09uZUZyYW1lKHJvb3QuZ2V0
KCkpOwogCiAgICAgRmxvYXRSZWN0IGNoaWxkRGFtYWdlUmVjdCA9IGNoaWxkMS0+cmVuZGVyU3Vy
ZmFjZSgpLT5kYW1hZ2VUcmFja2VyKCktPmN1cnJlbnREYW1hZ2VSZWN0KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHAKaW5kZXggODI3Yzlh
ZGFhZTA3NDQ1NmE5ZDBjMDJiODczODM3NDc5ZjYzNjVkMy4uOGI0MDE1NjZiOGE1ZmUzZTIxMzFj
ZmRmNTg1YWNiNTI5MzczYjVkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9DQ0xheWVySW1wbFRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NMYXllckltcGxUZXN0LmNwcApAQCAtNDIsMjEgKzQyLDMzIEBAIG5hbWVzcGFjZSB7CiAg
ICAgY29kZVRvVGVzdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX1RSVUUocm9vdC0+bGF5ZXJQcm9wZXJ0eUNoYW5n
ZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX1RSVUUoY2hpbGQt
PmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
RVhQRUNUX1RSVUUoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSkKKyAgICBFWFBF
Q1RfVFJVRShncmFuZENoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFu
Z2VkKCkpCisKIAogI2RlZmluZSBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9ESURfTk9UX0NI
QU5HRShjb2RlVG9UZXN0KSAgICAgICAgICAgXAogICAgIHJvb3QtPnJlc2V0QWxsQ2hhbmdlVHJh
Y2tpbmdGb3JTdWJ0cmVlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGNvZGVU
b1Rlc3Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAogICAgIEVYUEVDVF9GQUxTRShyb290LT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIEVYUEVDVF9GQUxTRShjaGlsZC0+bGF5ZXJQ
cm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIEVYUEVDVF9G
QUxTRShncmFuZENoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKQorICAgIEVYUEVDVF9GQUxT
RShncmFuZENoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAg
XAorICAgIEVYUEVDVF9GQUxTRShyb290LT5sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSkK
IAogI2RlZmluZSBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9MQVlFUl9DSEFOR0VEKGNvZGVUb1Rl
c3QpICAgICAgICAgICAgICAgXAogICAgIHJvb3QtPnJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdGb3JT
dWJ0cmVlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGNvZGVUb1Rlc3Q7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog
ICAgIEVYUEVDVF9UUlVFKHJvb3QtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAogICAgIEVYUEVDVF9GQUxTRShjaGlsZC0+bGF5ZXJQcm9wZXJ0eUNo
YW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIEVYUEVDVF9GQUxTRShncmFu
ZENoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKQorICAgIEVYUEVDVF9GQUxTRShncmFuZENo
aWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgXAorICAgIEVY
UEVDVF9GQUxTRShyb290LT5sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSkKKworI2RlZmlu
ZSBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9TVVJGQUNFX0NIQU5HRUQoY29kZVRvVGVzdCkgICAg
ICAgICAgICAgXAorICAgIHJvb3QtPnJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdGb3JTdWJ0cmVlKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNvZGVUb1Rlc3Q7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVD
VF9GQUxTRShyb290LT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIEVYUEVDVF9GQUxTRShjaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVDVF9GQUxTRShncmFuZENoaWxkLT5s
YXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVDVF9U
UlVFKHJvb3QtPmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpKQogCiBURVNUKENDTGF5ZXJJ
bXBsVGVzdCwgdmVyaWZ5TGF5ZXJDaGFuZ2VzQXJlVHJhY2tlZFByb3Blcmx5KQogewpAQCAtOTgs
MTEgKzExMCw5IEBAIFRFU1QoQ0NMYXllckltcGxUZXN0LCB2ZXJpZnlMYXllckNoYW5nZXNBcmVU
cmFja2VkUHJvcGVybHkpCiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChy
b290LT5zZXRNYXNrTGF5ZXIoQ0NMYXllckltcGw6OmNyZWF0ZSg0KSkpOwogICAgIEVYRUNVVEVf
QU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0TWFza3NUb0JvdW5kcyh0cnVlKSk7
CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRPcGFxdWUo
dHJ1ZSkpOwotICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0
T3BhY2l0eShhcmJpdHJhcnlOdW1iZXIpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJF
RV9DSEFOR0VEKHJvb3QtPnNldFJlcGxpY2FMYXllcihDQ0xheWVySW1wbDo6Y3JlYXRlKDUpKSk7
CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRQb3NpdGlv
bihhcmJpdHJhcnlGbG9hdFBvaW50KSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVf
Q0hBTkdFRChyb290LT5zZXRQcmVzZXJ2ZXMzRCh0cnVlKSk7Ci0gICAgRVhFQ1VURV9BTkRfVkVS
SUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRUcmFuc2Zvcm0oYXJiaXRyYXJ5VHJhbnNmb3Jt
KSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXREb3Vi
bGVTaWRlZChmYWxzZSkpOyAvLyBjb25zdHJ1Y3RvciBpbml0aWFsaXplcyBpdCB0byAidHJ1ZSIu
CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zY3JvbGxCeShh
cmJpdHJhcnlJbnRTaXplKSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdF
RChyb290LT5zZXRTY3JvbGxEZWx0YShhcmJpdHJhcnlJbnRTaXplKSk7CkBAIC0xMTcsNiArMTI3
LDEwIEBAIFRFU1QoQ0NMYXllckltcGxUZXN0LCB2ZXJpZnlMYXllckNoYW5nZXNBcmVUcmFja2Vk
UHJvcGVybHkpCiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX09OTFlfTEFZRVJfQ0hBTkdFRChyb290
LT5zZXRCYWNrZ3JvdW5kQ29sb3IoQ29sb3I6OmdyYXkpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJ
RllfT05MWV9MQVlFUl9DSEFOR0VEKHJvb3QtPnNldEJhY2tncm91bmRGaWx0ZXJzKGFyYml0cmFy
eUZpbHRlcnMpKTsKIAorICAgIC8vIENoYW5naW5nIHRoZXNlIHByb3BlcnRpZXMgb25seSBhZmZl
Y3RzIGhvdyByZW5kZXIncyBzdXJmYWNlIGlzIGRyYXduCisgICAgRVhFQ1VURV9BTkRfVkVSSUZZ
X09OTFlfU1VSRkFDRV9DSEFOR0VEKHJvb3QtPnNldE9wYWNpdHkoYXJiaXRyYXJ5TnVtYmVyKSk7
CisgICAgRVhFQ1VURV9BTkRfVkVSSUZZX09OTFlfU1VSRkFDRV9DSEFOR0VEKHJvb3QtPnNldFRy
YW5zZm9ybShhcmJpdHJhcnlUcmFuc2Zvcm0pKTsKKwogICAgIC8vIFNwZWNpYWwgY2FzZTogY2hl
Y2sgdGhhdCBzdWJsYXllciB0cmFuc2Zvcm0gY2hhbmdlcyBhbGwgbGF5ZXIncyBkZXNjZW5kYW50
cywgYnV0IG5vdCB0aGUgbGF5ZXIgaXRzZWxmLgogICAgIHJvb3QtPnJlc2V0QWxsQ2hhbmdlVHJh
Y2tpbmdGb3JTdWJ0cmVlKCk7CiAgICAgcm9vdC0+c2V0U3VibGF5ZXJUcmFuc2Zvcm0oYXJiaXRy
YXJ5VHJhbnNmb3JtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
Q0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAKaW5kZXggZTYyMzFkMzRmMTE3YTg2MTk4YTFl
ZjVmMjY2Y2U4NzZhODg3OWViZS4uYTQzZmRhZjhmOTY3ZDJlYWZjMjc5YTM5OTVhMmMwYjQyZTNh
OWQ5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJl
ZUhvc3RJbXBsVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xh
eWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJjYy9D
Q0xheWVySW1wbC5oIgogI2luY2x1ZGUgImNjL0NDTGF5ZXJUaWxpbmdEYXRhLmgiCiAjaW5jbHVk
ZSAiY2MvQ0NRdWFkQ3VsbGVyLmgiCisjaW5jbHVkZSAiY2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQu
aCIKICNpbmNsdWRlICJjYy9DQ1Njcm9sbGJhckxheWVySW1wbC5oIgogI2luY2x1ZGUgImNjL0ND
U2luZ2xlVGhyZWFkUHJveHkuaCIKICNpbmNsdWRlICJjYy9DQ1NvbGlkQ29sb3JEcmF3UXVhZC5o
IgpAQCAtMTY3NSw0ICsxNjc2LDQ5NiBAQCBURVNUX0YoQ0NMYXllclRyZWVIb3N0SW1wbFRlc3Qs
IGRvbnRVc2VPbGRSZXNvdXJjZXNBZnRlckxvc3RDb250ZXh0KQogICAgIG1faG9zdEltcGwtPnN3
YXBCdWZmZXJzKCk7CiB9CiAKK1RFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgc3VyZmFj
ZVRleHR1cmVDYWNoaW5nKQoreworICAgIENDU2V0dGluZ3Mgc2V0dGluZ3M7CisgICAgCisgICAg
c2V0dGluZ3MucGFydGlhbFN3YXBFbmFibGVkID0gdHJ1ZTsKKyAgICAKKyAgICBPd25QdHI8Q0NM
YXllclRyZWVIb3N0SW1wbD4gbXlIb3N0SW1wbCA9IENDTGF5ZXJUcmVlSG9zdEltcGw6OmNyZWF0
ZShzZXR0aW5ncywgdGhpcyk7CisgICAgCisgICAgUmVmUHRyPENDR3JhcGhpY3NDb250ZXh0PiBj
b250ZXh0ID0gQ0NHcmFwaGljc0NvbnRleHQ6OmNyZWF0ZTNEKEdyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZTo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0RnJvbVdlYkNvbnRleHQoYWRvcHRQdHIobmV3IFBh
cnRpYWxTd2FwQ29udGV4dCgpKSwgR3JhcGhpY3NDb250ZXh0M0Q6OlJlbmRlckRpcmVjdGx5VG9I
b3N0V2luZG93KSk7CisKKyAgICBteUhvc3RJbXBsLT5pbml0aWFsaXplTGF5ZXJSZW5kZXJlcihj
b250ZXh0LnJlbGVhc2UoKSwgVW50aHJvdHRsZWRVcGxvYWRlcik7CisgICAgbXlIb3N0SW1wbC0+
c2V0Vmlld3BvcnRTaXplKEludFNpemUoMTAwLCAxMDApKTsKKworICAgIE93blB0cjxDQ0xheWVy
SW1wbD4gcm9vdCA9IENDTGF5ZXJJbXBsOjpjcmVhdGUoMSk7CisgICAgQ0NMYXllckltcGwqIHJv
b3RQdHIgPSByb290LmdldCgpOworCisgICAgcm9vdC0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2lu
dCgwLCAwKSk7CisgICAgcm9vdC0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCgwLCAwKSk7CisgICAg
cm9vdC0+c2V0Qm91bmRzKEludFNpemUoMTAwLCAxMDApKTsKKyAgICByb290LT5zZXRWaXNpYmxl
TGF5ZXJSZWN0KEludFJlY3QoMCwgMCwgMTAwLCAxMDApKTsKKyAgICByb290LT5zZXREcmF3c0Nv
bnRlbnQodHJ1ZSk7CisgICAgbXlIb3N0SW1wbC0+c2V0Um9vdExheWVyKHJvb3QucmVsZWFzZSgp
KTsKKworICAgIE93blB0cjxDQ0xheWVySW1wbD4gc3VyZmFjZUxheWVyID0gQ0NMYXllckltcGw6
OmNyZWF0ZSgyKTsKKyAgICBDQ0xheWVySW1wbCogc3VyZmFjZUxheWVyUHRyID0gc3VyZmFjZUxh
eWVyLmdldCgpOworCisgICAgLy8gU3VyZmFjZSBsYXllciBpcyB0aGUgbGF5ZXIgdGhhdCBjaGFu
Z2VzIGl0cyBvcGFjaXR5CisgICAgLy8gSXQgd2lsbCBjb250YWluIG90aGVyIGxheWVycyB0aGF0
IGRyYXcgY29udGVudC4KKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldEFuY2hvclBvaW50KEZsb2F0
UG9pbnQoMCwgMCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0UG9zaXRpb24oRmxvYXRQb2lu
dCgxMCwgMTApKTsKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldEJvdW5kcyhJbnRTaXplKDUwLCA1
MCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0VmlzaWJsZUxheWVyUmVjdChJbnRSZWN0KDAs
IDAsIDUwLCA1MCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0RHJhd3NDb250ZW50KGZhbHNl
KTsgLy8gb25seSBjaGlsZHJlbiBkcmF3IGNvbnRlbnQKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNl
dE9wYWNpdHkoMC41Zik7IC8vIFRoaXMgd2lsbCBjYXVzZSBpdCB0byBoYXZlIGEgc3VyZmFjZQor
ICAgIHJvb3RQdHItPmFkZENoaWxkKHN1cmZhY2VMYXllci5yZWxlYXNlKCkpOworCisgICAgLy8g
Q2hpbGQgb2YgdGhlIHN1cmZhY2UgbGF5ZXIgd2lsbCBwcm9kdWNlIHNvbWUgcXVhZHMKKyAgICBP
d25QdHI8RmFrZUxheWVyV2l0aFF1YWRzPiBjaGlsZCA9IEZha2VMYXllcldpdGhRdWFkczo6Y3Jl
YXRlKDMpOworICAgIEZha2VMYXllcldpdGhRdWFkcyogY2hpbGRQdHIgPSBjaGlsZC5nZXQoKTsK
KworICAgIGNoaWxkUHRyLT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50KDAsIDApKTsKKyAgICBj
aGlsZFB0ci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCg1LCA1KSk7CisgICAgY2hpbGRQdHItPnNl
dEJvdW5kcyhJbnRTaXplKDEwLCAxMCkpOworICAgIGNoaWxkUHRyLT5zZXRWaXNpYmxlTGF5ZXJS
ZWN0KEludFJlY3QoMCwgMCwgMTAsIDEwKSk7CisgICAgY2hpbGRQdHItPnNldERyYXdzQ29udGVu
dCh0cnVlKTsKKworICAgIHN1cmZhY2VMYXllclB0ci0+YWRkQ2hpbGQoY2hpbGQucmVsZWFzZSgp
KTsKKworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1l
OworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7
CisKKyAgICAgICAgLy8gSnVzdCBmb3IgY29uc2lzdGVuY3ksIHRoZSBtb3N0IGludGVyZXN0aW5n
IHN0dWZmIGFscmVhZHkgaGFwcGVuZWQKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhm
cmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworCisg
ICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gcmVuZGVyIHBhc3NlcywgZWFjaCB3aXRoIG9uZSBx
dWFkCisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7Cisg
ICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNp
emUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFk
TGlzdCgpLnNpemUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRlclBh
c3MsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7Cisg
ICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQ
YXNzRHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClbMF0uZ2V0KCkp
OworICAgICAgICBFWFBFQ1RfVFJVRShxdWFkLT5jb250ZW50c0NoYW5nZWQoKSk7CisgICAgfQor
CisgICAgLy8gRHJhdyB3aXRob3V0IGFueSBjaGFuZ2UKKyAgICB7CisgICAgICAgIENDTGF5ZXJU
cmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0
SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0
d28gRU1QVFkgcmVuZGVyIHBhc3NlcworICAgICAgICBBU1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRl
clBhc3Nlcy5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMFUsIGZyYW1lLnJlbmRlclBhc3Nl
c1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMFUsIGZyYW1lLnJl
bmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgIH0KKworICAgIC8vIENoYW5n
ZSBvcGFjaXR5IGFuZCBkcmF3CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRPcGFjaXR5KDAuNmYp
OworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOwor
ICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisK
KyAgICAgICAgLy8gSnVzdCBmb3IgY29uc2lzdGVuY3ksIHRoZSBtb3N0IGludGVyZXN0aW5nIHN0
dWZmIGFscmVhZHkgaGFwcGVuZWQKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFt
ZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworCisgICAg
ICAgIC8vIE11c3QgcmVjZWl2ZSBvbmUgcmVuZGVyIHBhc3MsIGFzIHRoZSBvdGhlciBvbmUgc2hv
dWxkIGJlIGN1bGxlZAorICAgICAgICBBU1NFUlRfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlcy5z
aXplKCkpOworCisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5x
dWFkTGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQ
YXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOwor
ICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVy
UGFzc0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLmdldCgp
KTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHF1YWQtPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKyAgICB9
CisKKyAgICAvLyBDaGFuZ2UgbGVzcyBiZW5pZ24gcHJvcGVydHkgYW5kIGRyYXcgLSBzaG91bGQg
aGF2ZSBjb250ZW50cyBjaGFuZ2VkIGZsYWcKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldFN0YWNr
aW5nT3JkZXJDaGFuZ2VkKHRydWUpOworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1w
bDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVw
YXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gSnVzdCBmb3IgY29uc2lzdGVuY3ksIHRo
ZSBtb3N0IGludGVyZXN0aW5nIHN0dWZmIGFscmVhZHkgaGFwcGVuZWQKKyAgICAgICAgbXlIb3N0
SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxM
YXllcnMoZnJhbWUpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSBvbmUgcmVuZGVyIHBhc3Ms
IGFzIHRoZSBvdGhlciBvbmUgc2hvdWxkIGJlIGN1bGxlZAorICAgICAgICAvLyAhISEhIFRoaXMg
ZmFpbHMgbm93CisgICAgICAgIEFTU0VSVF9FUSgyVSAvKiBDSEFOR0UgdG8gMVUgKi8sIGZyYW1l
LnJlbmRlclBhc3Nlcy5zaXplKCkpOworCisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVu
ZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUShDQ0Ry
YXdRdWFkOjpTb2xpZENvbG9yIC8qIENIQU5HRSBUTyBDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzICov
LCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworCisg
ICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNz
ZXNbMV0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOyAvKiBSRU1PVkUgVEhJUyAqLworICAg
ICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFz
c0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsK
KyAgICAgICAgRVhQRUNUX1RSVUUocXVhZC0+Y29udGVudHNDaGFuZ2VkKCkpOworICAgIH0KKwor
ICAgIC8vIENoYW5nZSBvcGFjaXR5IGFnYWluLCBidXQgZXZpY3QgdGhlIGNhY2hlZCBzdXJmYWNl
IHRleHR1cmUKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldE9wYWNpdHkoMC41Zik7CisgICAgTWFu
YWdlZFRleHR1cmUqIGNvbnRlbnRzVGV4dHVyZSA9IHN1cmZhY2VMYXllclB0ci0+cmVuZGVyU3Vy
ZmFjZSgpLT5jb250ZW50c1RleHR1cmUoKTsKKyAgICBBU1NFUlRfVFJVRShjb250ZW50c1RleHR1
cmUtPmlzVmFsaWQoY29udGVudHNUZXh0dXJlLT5zaXplKCksIGNvbnRlbnRzVGV4dHVyZS0+Zm9y
bWF0KCkpKTsKKyAgICBDQ1JlbmRlcmVyKiByZW5kZXJlciA9IG15SG9zdEltcGwtPmxheWVyUmVu
ZGVyZXIoKTsKKyAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSByZW5kZXJlci0+
aW1wbFRleHR1cmVNYW5hZ2VyKCk7CisgICAgc2l6ZV90IG1heE1lbW9yeUxpbWl0ID0gdGV4dHVy
ZU1hbmFnZXItPm1heE1lbW9yeUxpbWl0Qnl0ZXMoKTsKKworICAgIC8vIFRoaXMgc2hvdWxkIGV2
aWNlIGFsbCBjYWNoZWQgc3VyZmFjZXMKKyAgICB0ZXh0dXJlTWFuYWdlci0+c2V0TWF4TWVtb3J5
TGltaXRCeXRlcygwKTsKKworICAgIC8vIFJlc3RvcmUgb3JpZ2luYWwgbGltaXQKKyAgICB0ZXh0
dXJlTWFuYWdlci0+c2V0TWF4TWVtb3J5TGltaXRCeXRlcyhtYXhNZW1vcnlMaW1pdCk7CisKKyAg
ICAvLyBXYXMgb3VyIHN1cmZhY2UgZXZpY3RlZD8KKyAgICBBU1NFUlRfRkFMU0UoY29udGVudHNU
ZXh0dXJlLT5pc1ZhbGlkKGNvbnRlbnRzVGV4dHVyZS0+c2l6ZSgpLCBjb250ZW50c1RleHR1cmUt
PmZvcm1hdCgpKSk7CisKKyAgICAvLyBDaGFuZ2Ugb3BhY2l0eSBhbmQgZHJhdworICAgIHN1cmZh
Y2VMYXllclB0ci0+c2V0T3BhY2l0eSgwLjZmKTsKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVl
SG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1w
bC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIC8vIEp1c3QgZm9yIGNvbnNpc3Rl
bmN5LCB0aGUgbW9zdCBpbnRlcmVzdGluZyBzdHVmZiBhbHJlYWR5IGhhcHBlbmVkCisgICAgICAg
IG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWRE
cmF3QWxsTGF5ZXJzKGZyYW1lKTsKKworICAgICAgICAvLyBNdXN0IHJlY2VpdmUgdHdvIHJlbmRl
ciBwYXNzZXMsIGJ1dCBvbmx5IHNlY29uZCBvbmUgc2hvdWxkIGhhdmUgcXVhZHMKKyAgICAgICAg
QVNTRVJUX0VRKDJVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKworICAgICAgICAvLyBF
dmVuIHRob3VnaCBub3QgZW5vdWdoIHByb3BlcnRpZXMgY2hhbmdlZCwgdGhlIGVudGlyZSB0aGlu
ZyBtdXN0IGJlCisgICAgICAgIC8vIHJlZHJhd24gYXMgd2UgZG9uJ3QgaGF2ZSBjYWNoZWQgdGV4
dHVyZXMKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRM
aXN0KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNb
MV0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6
UmVuZGVyUGFzcywgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlh
bCgpKTsgLyogUkVNT1ZFIFRISVMgKi8KKyAgICAgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHF1
YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGZyYW1lLnJlbmRlclBhc3Nl
c1sxXS0+cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShxdWFkLT5j
b250ZW50c0NoYW5nZWQoKSk7CisgICAgfQorfQorCitzdHJ1Y3QgUmVuZGVyUGFzc0NhY2hlRW50
cnkgeworICAgIG11dGFibGUgT3duUHRyPENDUmVuZGVyUGFzcz4gcmVuZGVyUGFzc1B0cjsKKyAg
ICBDQ1JlbmRlclBhc3MqIHJlbmRlclBhc3M7CisKKyAgICBSZW5kZXJQYXNzQ2FjaGVFbnRyeShQ
YXNzT3duUHRyPENDUmVuZGVyUGFzcz4gcikKKyAgICAgICAgOiByZW5kZXJQYXNzUHRyKHIpLAor
ICAgICAgICAgIHJlbmRlclBhc3MocmVuZGVyUGFzc1B0ci5nZXQoKSkKKyAgICB7CisgICAgfQor
CisgICAgUmVuZGVyUGFzc0NhY2hlRW50cnkoKQorICAgIHsKKyAgICB9CisKKyAgICBSZW5kZXJQ
YXNzQ2FjaGVFbnRyeShjb25zdCBSZW5kZXJQYXNzQ2FjaGVFbnRyeSYgZW50cnkpCisgICAgICAg
IDogcmVuZGVyUGFzc1B0cihlbnRyeS5yZW5kZXJQYXNzUHRyLnJlbGVhc2UoKSksCisgICAgICAg
ICAgcmVuZGVyUGFzcyhlbnRyeS5yZW5kZXJQYXNzKQorICAgIHsKKyAgICB9CisKKyAgICBSZW5k
ZXJQYXNzQ2FjaGVFbnRyeSYgb3BlcmF0b3I9KGNvbnN0IFJlbmRlclBhc3NDYWNoZUVudHJ5JiBl
bnRyeSkKKyAgICB7CisgICAgICAgIHJlbmRlclBhc3NQdHIgPSBlbnRyeS5yZW5kZXJQYXNzUHRy
LnJlbGVhc2UoKTsKKyAgICAgICAgcmVuZGVyUGFzcyA9IGVudHJ5LnJlbmRlclBhc3M7CisgICAg
ICAgIHJldHVybiAqdGhpczsKKyAgICB9Cit9OworCitzdHJ1Y3QgUmVuZGVyUGFzc1JlbW92YWxU
ZXN0RGF0YSB7CisgICAgQ0NSZW5kZXJQYXNzTGlzdCByZW5kZXJQYXNzTGlzdDsKKyAgICBzdGQ6
Om1hcDxjaGFyLCBSZW5kZXJQYXNzQ2FjaGVFbnRyeT4gcmVuZGVyUGFzc0NhY2hlOworICAgIHN0
ZDo6bWFwPGNvbnN0IENDUmVuZGVyUGFzcyosIGNoYXI+IHJlbmRlclBhc3NJZDsKKyAgICBWZWN0
b3I8T3duUHRyPENDUmVuZGVyU3VyZmFjZT4gPiByZW5kZXJTdXJmYWNlU3RvcmU7CisgICAgVmVj
dG9yPE93blB0cjxDQ0xheWVySW1wbD4gPiBsYXllclN0b3JlOworICAgIE93blB0cjxDQ1NoYXJl
ZFF1YWRTdGF0ZT4gc2hhcmVkUXVhZFN0YXRlOworfTsKKworY2xhc3MgRmFrZVJlbmRlclN1cmZh
Y2UgOiBwdWJsaWMgQ0NSZW5kZXJTdXJmYWNlIHsKK3ByaXZhdGU6CisgICAgYm9vbCBtX2hhc0Nh
Y2hlZFRleHR1cmU7CisKK3B1YmxpYzoKKyAgICBGYWtlUmVuZGVyU3VyZmFjZShDQ0xheWVySW1w
bCogbGF5ZXJJbXBsKQorICAgICAgICA6IENDUmVuZGVyU3VyZmFjZShsYXllckltcGwpLAorICAg
ICAgICAgIG1faGFzQ2FjaGVkVGV4dHVyZShmYWxzZSkKKyAgICB7CisgICAgfQorCisgICAgdmly
dHVhbCBib29sIGhhc0NhY2hlZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0IE9WRVJSSURFCisgICAg
eworICAgICAgICByZXR1cm4gbV9oYXNDYWNoZWRUZXh0dXJlOworICAgIH0KKworICAgIHZpcnR1
YWwgYm9vbCBwcmVwYXJlQ29udGVudHNUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbHJj
KSBPVkVSUklERQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgdm9p
ZCBzZXRIYXNDYWNoZWRUZXh0dXJlKGJvb2wgaGFzQ2FjaGVkVGV4dHVyZSkKKyAgICB7CisgICAg
ICAgIG1faGFzQ2FjaGVkVGV4dHVyZSA9IGhhc0NhY2hlZFRleHR1cmU7CisgICAgfQorfTsKKwor
c3RhdGljIFBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzPiBjcmVhdGVEdW1teVJlbmRlclBhc3MoUmVu
ZGVyUGFzc1JlbW92YWxUZXN0RGF0YSYgdGVzdERhdGEpCit7CisgICAgT3duUHRyPENDTGF5ZXJJ
bXBsPiBsYXllckltcGwgPSBDQ0xheWVySW1wbDo6Y3JlYXRlKDEpOworICAgIENDUmVuZGVyU3Vy
ZmFjZSogcmVuZGVyU3VyZmFjZSA9IG5ldyBGYWtlUmVuZGVyU3VyZmFjZShsYXllckltcGwuZ2V0
KCkpOworICAgIE93blB0cjxDQ1JlbmRlclBhc3M+IHJlbmRlclBhc3NQdHIgPSBDQ1JlbmRlclBh
c3M6OmNyZWF0ZShyZW5kZXJTdXJmYWNlKTsKKworICAgIHRlc3REYXRhLnJlbmRlclN1cmZhY2VT
dG9yZS5hcHBlbmQoYWRvcHRQdHIocmVuZGVyU3VyZmFjZSkpOworICAgIHRlc3REYXRhLmxheWVy
U3RvcmUuYXBwZW5kKGxheWVySW1wbC5yZWxlYXNlKCkpOworICAgIHJldHVybiByZW5kZXJQYXNz
UHRyLnJlbGVhc2UoKTsKK30KKworc3RhdGljIHZvaWQgY29uZmlndXJlUmVuZGVyUGFzc1Rlc3RE
YXRhKGNvbnN0IGNoYXIqIHRlc3RTY3JpcHQsIFJlbmRlclBhc3NSZW1vdmFsVGVzdERhdGEmIHRl
c3REYXRhKQoreworICAgIC8vIE9uZSBzaGFyZWQgc3RhdGUgZm9yIGFsbCBxdWFkcyAtIHdlIGRv
bid0IG5lZWQgdGhlIGNvcnJlY3QgZGV0YWlscworICAgIHRlc3REYXRhLnNoYXJlZFF1YWRTdGF0
ZSA9IENDU2hhcmVkUXVhZFN0YXRlOjpjcmVhdGUoV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwg
V2ViVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgSW50UmVjdCgpLCBJbnRSZWN0KCksIDEuMCwgdHJ1
ZSk7CisKKyAgICBjb25zdCBjaGFyKiBjdXJyZW50Q2hhciA9IHRlc3RTY3JpcHQ7CisKKyAgICAv
LyBQcmUtY3JlYXRlIHJvb3QgcGFzcworICAgIE93blB0cjxDQ1JlbmRlclBhc3M+IHJvb3RSZW5k
ZXJQYXNzID0gY3JlYXRlRHVtbXlSZW5kZXJQYXNzKHRlc3REYXRhKTsKKyAgICB0ZXN0RGF0YS5y
ZW5kZXJQYXNzSWQuaW5zZXJ0KHN0ZDo6cGFpcjxDQ1JlbmRlclBhc3MqLCBjaGFyPihyb290UmVu
ZGVyUGFzcy5nZXQoKSwgdGVzdFNjcmlwdFswXSkpOworICAgIHRlc3REYXRhLnJlbmRlclBhc3ND
YWNoZS5pbnNlcnQoc3RkOjpwYWlyPGNoYXIsIFJlbmRlclBhc3NDYWNoZUVudHJ5Pih0ZXN0U2Ny
aXB0WzBdLCBSZW5kZXJQYXNzQ2FjaGVFbnRyeShyb290UmVuZGVyUGFzcy5yZWxlYXNlKCkpKSk7
CisgICAgd2hpbGUgKCpjdXJyZW50Q2hhciAhPSAnXDAnKSB7CisgICAgICAgIGNoYXIgcmVuZGVy
UGFzc0lkID0gY3VycmVudENoYXJbMF07CisgICAgICAgIGN1cnJlbnRDaGFyKys7CisKKyAgICAg
ICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcmVuZGVyUGFzczsKKworICAgICAgICBBU1NFUlQodGVz
dERhdGEucmVuZGVyUGFzc0NhY2hlW3JlbmRlclBhc3NJZF0ucmVuZGVyUGFzc1B0ci5nZXQoKSk7
CisgICAgICAgIHJlbmRlclBhc3MgPSB0ZXN0RGF0YS5yZW5kZXJQYXNzQ2FjaGVbcmVuZGVyUGFz
c0lkXS5yZW5kZXJQYXNzUHRyLnJlbGVhc2UoKTsKKworICAgICAgICAvLyBDeWNsZSB0aHJvdWdo
IHF1YWQgZGF0YSBhbmQgY3JlYXRlIGFsbCBxdWFkcworICAgICAgICB3aGlsZSAoKmN1cnJlbnRD
aGFyICE9ICdcbicgJiYgKmN1cnJlbnRDaGFyICE9ICdcMCcpIHsKKyAgICAgICAgICAgIGlmICgq
Y3VycmVudENoYXIgPT0gJ3MnKSB7CisgICAgICAgICAgICAgICAgLy8gU29saWQgY29sb3IgZHJh
dyBxdWFkCisgICAgICAgICAgICAgICAgT3duUHRyPENDRHJhd1F1YWQ+IHF1YWQgPSBDQ1NvbGlk
Q29sb3JEcmF3UXVhZDo6Y3JlYXRlKHRlc3REYXRhLnNoYXJlZFF1YWRTdGF0ZS5nZXQoKSwgSW50
UmVjdCgwLCAwLCAxMCwgMTApLCBDb2xvcjo6d2hpdGUpOworICAgICAgICAgICAgICAgIHJlbmRl
clBhc3MtPmFwcGVuZFF1YWQocXVhZC5yZWxlYXNlKCkpOworICAgICAgICAgICAgICAgIGN1cnJl
bnRDaGFyKys7CisgICAgICAgICAgICB9IGVsc2UgaWYgKCgqY3VycmVudENoYXIgPj0gJ0EnKSAm
JiAoKmN1cnJlbnRDaGFyIDw9ICdaJykpIHsKKyAgICAgICAgICAgICAgICAvLyBSZW5kZXJQYXNz
IGRyYXcgcXVhZAorICAgICAgICAgICAgICAgIGNoYXIgbmV3UmVuZGVyUGFzc0lkID0gKmN1cnJl
bnRDaGFyOworICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyKys7CisgICAgICAgICAgICAgICAg
Ym9vbCBoYXNUZXh0dXJlID0gZmFsc2U7CisgICAgICAgICAgICAgICAgYm9vbCBjb250ZW50c0No
YW5nZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmICgqY3Vy
cmVudENoYXIgPT0gJ1snKSB7CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyKys7Cisg
ICAgICAgICAgICAgICAgICAgIHdoaWxlICgoKmN1cnJlbnRDaGFyICE9ICddJykgJiYgKCpjdXJy
ZW50Q2hhciAhPSAnXDAnKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoICgqY3Vy
cmVudENoYXIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2MnOgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzQ2hhbmdlZCA9IGZhbHNlOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAndCc6
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzVGV4dHVyZSA9IHRydWU7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcisrOworICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgICAgIGlmICgqY3VycmVudENoYXIgPT0gJ10nKQorICAgICAg
ICAgICAgICAgICAgICAgICAgY3VycmVudENoYXIrKzsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcmVmUmVu
ZGVyUGFzcyA9IGNyZWF0ZUR1bW15UmVuZGVyUGFzcyh0ZXN0RGF0YSk7CisgICAgICAgICAgICAg
ICAgT3duUHRyPENDUmVuZGVyUGFzc0RyYXdRdWFkPiBxdWFkID0gQ0NSZW5kZXJQYXNzRHJhd1F1
YWQ6OmNyZWF0ZSh0ZXN0RGF0YS5zaGFyZWRRdWFkU3RhdGUuZ2V0KCksIEludFJlY3QoKSwgcmVm
UmVuZGVyUGFzcy5nZXQoKSwgZmFsc2UsIFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucygpLCBX
ZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMoKSwgMSwgY29udGVudHNDaGFuZ2VkKTsKKyAgICAg
ICAgICAgICAgICBGYWtlUmVuZGVyU3VyZmFjZSogcmVmUmVuZGVyU3VyZmFjZSA9IHN0YXRpY19j
YXN0PEZha2VSZW5kZXJTdXJmYWNlKj4ocmVmUmVuZGVyUGFzcy0+dGFyZ2V0U3VyZmFjZSgpKTsK
KyAgICAgICAgICAgICAgICByZWZSZW5kZXJTdXJmYWNlLT5zZXRIYXNDYWNoZWRUZXh0dXJlKGhh
c1RleHR1cmUpOworICAgICAgICAgICAgICAgIHRlc3REYXRhLnJlbmRlclBhc3NJZC5pbnNlcnQo
c3RkOjpwYWlyPENDUmVuZGVyUGFzcyosIGNoYXI+KHJlZlJlbmRlclBhc3MuZ2V0KCksIG5ld1Jl
bmRlclBhc3NJZCkpOworICAgICAgICAgICAgICAgIHRlc3REYXRhLnJlbmRlclBhc3NDYWNoZS5p
bnNlcnQoc3RkOjpwYWlyPGNoYXIsIFJlbmRlclBhc3NDYWNoZUVudHJ5PihuZXdSZW5kZXJQYXNz
SWQsIFJlbmRlclBhc3NDYWNoZUVudHJ5KHJlZlJlbmRlclBhc3MucmVsZWFzZSgpKSkpOworICAg
ICAgICAgICAgICAgIHJlbmRlclBhc3MtPmFwcGVuZFF1YWQocXVhZC5yZWxlYXNlKCkpOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHRlc3REYXRhLnJlbmRlclBhc3NMaXN0Lmlu
c2VydCgwLCByZW5kZXJQYXNzLnJlbGVhc2UoKSk7CisgICAgICAgIGlmICgqY3VycmVudENoYXIg
IT0gJ1wwJykKKyAgICAgICAgICAgIGN1cnJlbnRDaGFyKys7CisgICAgfQorfQorCit2b2lkIGR1
bXBSZW5kZXJQYXNzVGVzdERhdGEoY29uc3QgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSYgdGVz
dERhdGEsIGNoYXIqIGJ1ZmZlcikKK3sKKyAgICBjaGFyKiBwb3MgPSBidWZmZXI7CisgICAgQ0NS
ZW5kZXJQYXNzTGlzdDo6Y29uc3RfcmV2ZXJzZV9pdGVyYXRvciBpdCA9IHRlc3REYXRhLnJlbmRl
clBhc3NMaXN0LnJiZWdpbigpOworICAgIHdoaWxlIChpdCAhPSB0ZXN0RGF0YS5yZW5kZXJQYXNz
TGlzdC5yZW5kKCkpIHsKKyAgICAgICAgQ0NSZW5kZXJQYXNzKiBjdXJyZW50UGFzcyA9IGl0LT5n
ZXQoKTsKKyAgICAgICAgY2hhciBwYXNzSWQgPSB0ZXN0RGF0YS5yZW5kZXJQYXNzSWQuZmluZChj
dXJyZW50UGFzcyktPnNlY29uZDsKKyAgICAgICAgKnBvcyA9IHBhc3NJZDsKKyAgICAgICAgcG9z
Kys7CisKKyAgICAgICAgQ0NRdWFkTGlzdDo6Y29uc3RfaXRlcmF0b3IgcXVhZExpc3RJdGVyYXRv
ciA9IGN1cnJlbnRQYXNzLT5xdWFkTGlzdCgpLmJlZ2luKCk7CisgICAgICAgIHdoaWxlIChxdWFk
TGlzdEl0ZXJhdG9yICE9IGN1cnJlbnRQYXNzLT5xdWFkTGlzdCgpLmVuZCgpKSB7CisgICAgICAg
ICAgICBDQ0RyYXdRdWFkKiBjdXJyZW50UXVhZCA9ICgqcXVhZExpc3RJdGVyYXRvcikuZ2V0KCk7
CisgICAgICAgICAgICBzd2l0Y2ggKGN1cnJlbnRRdWFkLT5tYXRlcmlhbCgpKSB7CisgICAgICAg
ICAgICBjYXNlIENDRHJhd1F1YWQ6OlNvbGlkQ29sb3I6CisgICAgICAgICAgICAgICAgKnBvcyA9
ICdzJzsKKyAgICAgICAgICAgICAgICBwb3MrKzsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgIGNhc2UgQ0NEcmF3UXVhZDo6UmVuZGVyUGFzczoKKyAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiByZW5kZXJQYXNzRHJh
d1F1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGN1cnJlbnRRdWFkKTsK
KyAgICAgICAgICAgICAgICAgICAgY29uc3QgQ0NSZW5kZXJQYXNzKiByZWZQYXNzID0gcmVuZGVy
UGFzc0RyYXdRdWFkLT5yZW5kZXJQYXNzKCk7CisgICAgICAgICAgICAgICAgICAgIGNoYXIgcmVm
UGFzc0lkID0gdGVzdERhdGEucmVuZGVyUGFzc0lkLmZpbmQocmVmUGFzcyktPnNlY29uZDsKKyAg
ICAgICAgICAgICAgICAgICAgKnBvcyA9IHJlZlBhc3NJZDsKKyAgICAgICAgICAgICAgICAgICAg
cG9zKys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAqcG9zID0gJ3gnOworICAgICAgICAgICAg
ICAgIHBvcysrOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgCisgICAgICAgICAgICBxdWFkTGlzdEl0ZXJhdG9yKys7CisgICAgICAgIH0KKyAgICAg
ICAgKnBvcyA9ICdcbic7CisgICAgICAgIHBvcysrOworICAgICAgICBpdCsrOworICAgIH0KKyAg
ICAqcG9zID0gJ1wwJzsKK30KKworc3RhdGljIHZvaWQgdmVyaWZ5UmVuZGVyUGFzc1Rlc3REYXRh
KGNvbnN0IGNoYXIqIGV4cGVjdGVkUmVzdWx0LCBSZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhJiB0
ZXN0RGF0YSkKK3sKKyAgICBjaGFyIGFjdHVhbFJlc3VsdFsxMDI0XTsKKyAgICBkdW1wUmVuZGVy
UGFzc1Rlc3REYXRhKHRlc3REYXRhLCBhY3R1YWxSZXN1bHQpOworICAgIEVYUEVDVF9TVFJFUShl
eHBlY3RlZFJlc3VsdCwgYWN0dWFsUmVzdWx0KTsKK30KKworLy8gRWFjaCBDQ1JlbmRlclBhc3NM
aXN0IGlzIHJlcHJlc2VudGVkIGJ5IGEgc3RyaW5nIHdoaWNoIGRlc2NyaWJlcyB0aGUgY29uZmln
dXJhdGlvbi4KKy8vIFRoZSBzeW50YXggb2YgdGhlIHN0cmluZyBpcyBhcyBmb2xsb3dzOgorLy8K
Ky8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UnNzc3NzWFtjXXNzWXNzc1pbdF1zc1dbY3RdCisvLyBJZGVudGlmaWVzIHRoZSByZW5kZXIgcGFz
cy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV4gXl5eIF4gXiAgIF4gICAgIF4gICAgIF4KKy8v
IFRoZXNlIGFyZSBzb2xpZCBjb2xvciBxdWFkcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
KyAgfCB8ICAgfCAgICAgfCAgICAgfAorLy8gSWRlbnRpZmllcyBSZW5kZXJQYXNzRHJhd1F1YWQn
cyBSZW5kZXJQYXNzLS0tLS0tLS0tLS0tLS0tLS0rIHwgICB8ICAgICB8ICAgICB8CisvLyBUaGlz
IHF1YWQncyBjb250ZW50cyBkaWRuJ3QgY2hhbmdlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
KyAgIHwgICAgIHwgICAgIHwKKy8vIFRoaXMgcXVhZCdzIGNvbnRlbnRzIGNoYW5nZWQgYW5kIGl0
IGhhcyBub3QgdGV4dHVyZS0tLS0tLS0tLS0tLS0tKyAgICAgfCAgICAgfAorLy8gVGhpcyBxdWFk
IGhhcyB0ZXh0dXJlIGJ1dCBpdHMgY29udGVudHMgY2hhbmdlZC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0rICAgICB8CisvLyBUaGlzIHF1YWQncyBjb250ZW50cyBkaWRuJ3QgY2hhbmdlIGFuZCBp
dCBoYXMgdGV4dHVyZSAtIHdpbGwgYmUgcmVtb3ZlZC0tLS0tLSsKKy8vCisvLyBFeHBlY3RlZCBy
ZXN1bHRzIGhhdmUgZXhhY3RseSB0aGUgc2FtZSBzeW50YXgsIGV4Y2VwdCB0aGV5IGRvIG5vdCB1
c2Ugc3F1YXJlIGJyYWNrZXRzLAorLy8gc2luY2Ugd2Ugb25seSBjaGVjayB0aGUgc3RydWN0dXJl
LCBub3QgYXR0cmlidXRlcy4KKy8vCisvLyBUZXN0IGNhc2UgY29uZmlndXJhdGlvbiBjb25zaXN0
cyBvZiBpbml0aWFsaXphdGlvbiBzY3JpcHQgYW5kIGV4cGVjdGVkIHJlc3VsdHMsCisvLyBhbGwg
aW4gdGhlIHNhbWUgZm9ybWF0Lgorc3RydWN0IFRlc3RDYXNlIHsKKyAgICBjb25zdCBjaGFyKiBu
YW1lOworICAgIGNvbnN0IGNoYXIqIGluaXRTY3JpcHQ7CisgICAgY29uc3QgY2hhciogZXhwZWN0
ZWRSZXN1bHQ7Cit9OworCitUZXN0Q2FzZSByZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1tdID0KKyAg
ICB7CisgICAgICAgIHsKKyAgICAgICAgICAgICJTaW5nbGUgcm9vdCBwYXNzIiwKKyAgICAgICAg
ICAgICJSc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc1xuIgorICAgICAgICB9LCB7CisgICAg
ICAgICAgICAiU2luZ2xlIHBhc3MgLSBubyBxdWFkcyIsCisgICAgICAgICAgICAiUlxuIiwKKyAg
ICAgICAgICAgICJSXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJUd28gcGFzc2VzLCBu
byByZW1vdmFsIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3Nz
c1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIgor
ICAgICAgICB9LCB7CisgICAgICAgICAgICAiVHdvIHBhc3NlcywgcmVtb3ZlIGxhc3QiLAorICAg
ICAgICAgICAgIlJzc3NzQVtjdF1zc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIiwKKyAgICAg
ICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIkhhdmUgdGV4
dHVyZSBidXQgY29udGVudHMgY2hhbmdlZCAtIGxlYXZlIHBhc3MiLAorICAgICAgICAgICAgIlJz
c3NzQVt0XXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAgIlJzc3Nz
QXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAg
ICJDb250ZW50cyBkaWRuJ3QgY2hhbmdlIGJ1dCBubyB0ZXh0dXJlIC0gbGVhdmUgcGFzcyIsCisg
ICAgICAgICAgICAiUnNzc3NBW2Ndc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIsCisgICAg
ICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIKKyAgICAgICAgfSwg
eworICAgICAgICAgICAgIk1hbnkgcGFzc2VzLCByZW1vdmUgYWxsIiwKKyAgICAgICAgICAgICJS
c3Nzc0FbY3Rdc3NzXG4iCisgICAgICAgICAgICAiQXNzc0JbY3RdQ1tjdF1zXG4iCisgICAgICAg
ICAgICAiQnNzc0RbY3Rdc3NFW2N0XUZbY3RdXG4iCisgICAgICAgICAgICAiRXNzc3Nzc1xuIgor
ICAgICAgICAgICAgIkNHW2N0XVxuIgorICAgICAgICAgICAgIkRzc3Nzc3NzXG4iCisgICAgICAg
ICAgICAiRnNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJHc3NzXG4iLAorCisgICAgICAgICAgICAi
UnNzc3NBc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJEZWVwIHJlY3Vyc2lvbiwg
cmVtb3ZlIGFsbCIsCisKKyAgICAgICAgICAgICJSc3Nzc3NBW2N0XXNzc3NcbiIKKyAgICAgICAg
ICAgICJBc3Nzc0Jzc3NcbiIKKyAgICAgICAgICAgICJCQ1xuIgorICAgICAgICAgICAgIkNEXG4i
CisgICAgICAgICAgICAiREVcbiIKKyAgICAgICAgICAgICJFRlxuIgorICAgICAgICAgICAgIkZH
XG4iCisgICAgICAgICAgICAiR0hcbiIKKyAgICAgICAgICAgICJIc3NzSXNzc1xuIgorICAgICAg
ICAgICAgIklKXG4iCisgICAgICAgICAgICAiSnNzc3NcbiIsCisgICAgICAgICAgICAKKyAgICAg
ICAgICAgICJSc3Nzc3NBc3Nzc1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiV2lkZSBy
ZWN1cnNpb24sIHJlbW92ZSBhbGwiLAorICAgICAgICAgICAgIlJBW2N0XUJbY3RdQ1tjdF1EW2N0
XUVbY3RdRltjdF1HW2N0XUhbY3RdSVtjdF1KW2N0XVxuIgorICAgICAgICAgICAgIkFzXG4iCisg
ICAgICAgICAgICAiQnNcbiIKKyAgICAgICAgICAgICJDc3Nzc1xuIgorICAgICAgICAgICAgIkRz
c3NzXG4iCisgICAgICAgICAgICAiRXNcbiIKKyAgICAgICAgICAgICJGXG4iCisgICAgICAgICAg
ICAiR3NcbiIKKyAgICAgICAgICAgICJIc1xuIgorICAgICAgICAgICAgIklzXG4iCisgICAgICAg
ICAgICAiSnNzc3NcbiIsCisgICAgICAgICAgICAKKyAgICAgICAgICAgICJSQUJDREVGR0hJSlxu
IgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiUmVtb3ZlIHBhc3NlcyByZWdhcmRsZXNzIG9m
IGNhY2hlIHN0YXRlIiwKKyAgICAgICAgICAgICJSc3Nzc0FbY3Rdc3NzXG4iCisgICAgICAgICAg
ICAiQXNzc0JDc1xuIgorICAgICAgICAgICAgIkJzc3NEW2Ndc3NFW3RdRlxuIgorICAgICAgICAg
ICAgIkVzc3Nzc3NcbiIKKyAgICAgICAgICAgICJDR1xuIgorICAgICAgICAgICAgIkRzc3Nzc3Nz
XG4iCisgICAgICAgICAgICAiRnNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJHc3NzXG4iLAorCisg
ICAgICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJMZWF2
ZSBzb21lIHBhc3NlcywgcmVtb3ZlIG90aGVycyIsCisKKyAgICAgICAgICAgICJSc3Nzc0FbY11z
c3NcbiIKKyAgICAgICAgICAgICJBc3NzQlt0XUNbY3Rdc1xuIgorICAgICAgICAgICAgIkJzc3NE
W2Ndc3NcbiIKKyAgICAgICAgICAgICJDR1xuIgorICAgICAgICAgICAgIkRzc3Nzc3NzXG4iCisg
ICAgICAgICAgICAiR3Nzc1xuIiwKKworICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAg
ICAgICAgIkFzc3NCQ3NcbiIKKyAgICAgICAgICAgICJCc3NzRHNzXG4iCisgICAgICAgICAgICAi
RHNzc3Nzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgMCwgMCwgMAorICAgICAgICB9
CisgICAgfTsKKworVEVTVChSZW5kZXJQYXNzUmVtb3ZhbFRlc3QsIHRlc3RSZW1vdmVSZW5kZXJQ
YXNzZXMpCit7CisgICAgaW50IHRlc3RDYXNlSW5kZXggPSAwOworICAgIHdoaWxlIChyZW1vdmVS
ZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2FzZUluZGV4XS5uYW1lKSB7CisgICAgICAgIERlYnVnU2Nv
cGVkU2V0SW1wbFRocmVhZCBpbXBsVGhyZWFkOworICAgICAgICBSZW5kZXJQYXNzUmVtb3ZhbFRl
c3REYXRhIHRlc3REYXRhOworICAgICAgICBjb25maWd1cmVSZW5kZXJQYXNzVGVzdERhdGEocmVt
b3ZlUmVuZGVyUGFzc2VzQ2FzZXNbdGVzdENhc2VJbmRleF0uaW5pdFNjcmlwdCwgdGVzdERhdGEp
OworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpyZW1vdmVSZWR1bmRhbnRQYXNzZXModGVz
dERhdGEucmVuZGVyUGFzc0xpc3QpOworICAgICAgICB2ZXJpZnlSZW5kZXJQYXNzVGVzdERhdGEo
cmVtb3ZlUmVuZGVyUGFzc2VzQ2FzZXNbdGVzdENhc2VJbmRleF0uZXhwZWN0ZWRSZXN1bHQsIHRl
c3REYXRhKTsKKyAgICAgICAgdGVzdENhc2VJbmRleCsrOworICAgIH0KK30KKwogfSAvLyBuYW1l
c3BhY2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146410</attachid>
            <date>2012-06-07 16:25:21 -0700</date>
            <delta_ts>2012-06-08 11:08:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88482-20120607192520.patch</filename>
            <type>text/plain</type>
            <size>54008</size>
            <attacher>zlieber</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzMxYTRkNzM4OWE4ZmIw
YTc0NDAxNDZiNTkzYWQ5YzFkYTQzYmFjYy4uYjJiNzg4N2MxZjEwOWQ1NGY4ZWFmZTY3ZDk0YjYy
ZjI5ZmRmNTE5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDEyLTA2LTA3ICBaZWV2
IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gUmVu
ZGVyU3VyZmFjZSBmb3Igb3BhY2l0eSB3aXRoIGRlc2NlbmRlbnREcmF3c0NvbnRlbnQgaXMgc2xv
dyB3aGVuIGxhcmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04ODQ4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFBvc3QtcHJvY2Vzc2luZyBDQ1JlbmRlclBhc3NMaXN0IGFmdGVyIGl0J3MgYmVlbiBnZW5l
cmF0ZWQgYW5kCisgICAgICAgIHJlbW92aW5nIGFsbCByZW5kZXIgc3VyZmFjZSBxdWFkcyBmb3Ig
d2hpY2ggdGhlcmUgYXJlIGNhY2hlZAorICAgICAgICB0ZXh0dXJlcywgYW5kIHdob3NlIGNvbnRl
bnQgZGlkbid0IGNoYW5nZS4gQWRkZWQgYSBuZXcgZmxhZyB0bworICAgICAgICBDQ0xheWVySW1w
bCB0byBkaWZmZXJlbnRpYXRlZCBiZXR3ZWVuIGNvbnRlbnQgY2hhbmdlcyBhbmQgcHJvcGVydHkK
KyAgICAgICAgY2hhbmdlcy4KKworICAgICAgICBUaGUgY2hhbmdlcyBhcmUgY292ZXJlZCBieSBu
ZXcgdW5pdCB0ZXN0cyB0aGF0IGNoZWNrIHRoYXQgdGhlCisgICAgICAgIHJlbW92YWwgYWxnb3Jp
dGhtIGZ1bmN0aW9ucyBwcm9wZXJ0bHkuIE5vIHJlbmRlcmluZyBiZWhhdmlvdXIKKyAgICAgICAg
Y2hhbmdlLCBzbyBubyBuZXcgbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0JhY2tncm91bmRGaWx0ZXJzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1JlbmRlclBhc3NRdWFkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NEYW1hZ2VUcmFja2VyOjpleHRlbmREYW1hZ2VGb3JM
YXllcik6CisgICAgICAgIChXZWJDb3JlOjpDQ0RhbWFnZVRyYWNrZXI6OmV4dGVuZERhbWFnZUZv
clJlbmRlclN1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpDQ0xheWVy
SW1wbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBs
OjpsYXllclRhcmdldFN1cmZhY2VEaXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1w
bDo6cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6
Q0NMYXllckltcGw6OnNldE9wYWNpdHkpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6
OnNldFRyYW5zZm9ybSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllckltcGwuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpsYXllclN1cmZh
Y2VQcm9wZXJ0eUNoYW5nZWQpOgorICAgICAgICAoQ0NMYXllckltcGwpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6dHJhY2tEYW1hZ2VGb3JBbGxTdXJm
YWNlcyk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxhdGVS
ZW5kZXJQYXNzZXMpOgorICAgICAgICAoV2ViQ29yZTo6aW5kZXhPZlJlbmRlclBhc3MpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpy
ZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRy
ZWVIb3N0SW1wbDo6cmVtb3ZlUmVkdW5kYW50UGFzc2VzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmg6CisgICAgICAgIChDQ0xh
eWVyVHJlZUhvc3RJbXBsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1JlbmRlclBhc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJQYXNzOjphcHBl
bmRRdWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5oOgorICAgICAgICAoQ0NSZW5kZXJQYXNzKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyUGFzc0RyYXdRdWFkOjpDQ1JlbmRlclBhc3NEcmF3
UXVhZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQ
YXNzRHJhd1F1YWQuaDoKKyAgICAgICAgKENDUmVuZGVyUGFzc0RyYXdRdWFkKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDUmVuZGVyUGFzc0RyYXdRdWFkOjpyZW5kZXJTdXJmYWNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDUmVuZGVyUGFzc0RyYXdRdWFkOjpjb250ZW50c0NoYW5nZWQpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnByZXBhcmVDb250ZW50c1RleHR1cmUp
OgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpoYXNDYWNoZWRDb250ZW50c1Rl
eHR1cmUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1
cmZhY2U6OmFwcGVuZFF1YWRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1JlbmRlclN1cmZhY2UuaDoKKyAgICAgICAgKENDUmVuZGVyU3VyZmFjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnNldENvbnRlbnRzQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OmNvbnRlbnRzQ2hhbmdlZCk6CisKIDIwMTIt
MDYtMDYgIFZpbmNlbnQgU2NoZWliICA8c2NoZWliQGNocm9taXVtLm9yZz4KIAogICAgICAgICBB
ZGQgbmV3IFBvaW50ZXIgTG9jayBzcGVjIGV2ZW50cyB3ZWJraXRwb2ludGVybG9ja2NoYW5nZSBh
bmQgd2Via2l0cG9pbnRlcmxvY2tlcnJvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBl
NDQxNzFmODM5MTRkZTdhNGJjOTY2NTVhN2I1NjZlOTYzZWRlMDk1Li43NjEzOTg5MmY3ZDBlNmMw
NzZjMWYxMTNkZjFiYTliNGNmY2NiOWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIxIEBACisyMDEyLTA2LTA3ICBaZWV2IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gUmVuZGVyU3VyZmFjZSBmb3Igb3BhY2l0eSB3aXRo
IGRlc2NlbmRlbnREcmF3c0NvbnRlbnQgaXMgc2xvdyB3aGVuIGxhcmdlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODQ4MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIHZlcmlmeSBx
dWFkIHJlbW92YWwgYWxnb3JpdGhtLiBBZGRlZCBpbmZyYXN0cnVjdHVyZQorICAgICAgICBjb2Rl
IHRvIGdlbmVyYXRlIGN1c3RvbSByZW5kZXIgcGFzc2VzIG91dCBvZiBhIHNjcmlwdCBlbmNvZGVk
IGFzIEMKKyAgICAgICAgc3RyaW5nLgorCisgICAgICAgICogdGVzdHMvQ0NEYW1hZ2VUcmFja2Vy
VGVzdC5jcHA6CisgICAgICAgIChXZWJLaXRUZXN0czo6VEVTVF9GKToKKyAgICAgICAgKiB0ZXN0
cy9DQ0xheWVySW1wbFRlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpURVNUKToKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHA6
CisKIDIwMTItMDYtMDcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTk3NDQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAppbmRleCA1NWNmNzRmMmY4NDFlMmJmMmVjOWU0Njdj
MWY1N2IwNzljYWU5ZmVlLi4xMDg1YjVhZTVjOWY3OTMxNTRjNDZiNjMxZWRkYWUxY2U0NGU1ZGRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTYxMSw3ICs2MTEs
NyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0JhY2tncm91bmRGaWx0ZXJzKGNv
bnN0IENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdQogICAgIC8vCiAgICAgLy8gUGl4ZWwgY29waWVz
IGluIHRoaXMgYWxnb3JpdGhtIG9jY3VyIGF0IHN0ZXBzIDIsIDMsIDQsIGFuZCA1LgogCi0gICAg
Q0NSZW5kZXJTdXJmYWNlKiBkcmF3aW5nU3VyZmFjZSA9IHF1YWQtPnJlbmRlclBhc3MoKS0+dGFy
Z2V0U3VyZmFjZSgpOworICAgIENDUmVuZGVyU3VyZmFjZSogZHJhd2luZ1N1cmZhY2UgPSBxdWFk
LT5yZW5kZXJTdXJmYWNlKCk7CiAgICAgaWYgKHF1YWQtPmJhY2tncm91bmRGaWx0ZXJzKCkuaXNF
bXB0eSgpKQogICAgICAgICByZXR1cm47CiAKQEAgLTY2NSw3ICs2NjUsNyBAQCB2b2lkIExheWVy
UmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1JlbmRlclBhc3NRdWFkKGNvbnN0IENDUmVuZGVyUGFzc0Ry
YXdRdWFkKiBxdWFkKQogICAgIC8vIFRoZSByZXBsaWNhIGlzIGFsd2F5cyBkcmF3biBmaXJzdCwg
c28gZnJlZSBhZnRlciBkcmF3aW5nIHRoZSBjb250ZW50cy4KICAgICBib29sIHNob3VsZFJlbGVh
c2VUZXh0dXJlcyA9ICFxdWFkLT5pc1JlcGxpY2EoKTsKIAotICAgIENDUmVuZGVyU3VyZmFjZSog
ZHJhd2luZ1N1cmZhY2UgPSBxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZhY2UoKTsKKyAg
ICBDQ1JlbmRlclN1cmZhY2UqIGRyYXdpbmdTdXJmYWNlID0gcXVhZC0+cmVuZGVyU3VyZmFjZSgp
OwogCiAgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggcmVuZGVyVHJhbnNmb3JtID0gcXVhZC0+
bGF5ZXJUcmFuc2Zvcm0oKTsKICAgICAvLyBBcHBseSBhIHNjYWxpbmcgZmFjdG9yIHRvIHNpemUg
dGhlIHF1YWQgZnJvbSAxeDEgdG8gaXRzIGludGVuZGVkIHNpemUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1h
Z2VUcmFja2VyLmNwcAppbmRleCA4ZmQzZWQxMjRiMjMwM2I3N2EwYjBmNDkyODk4M2Q5Yzg5NTFi
ZWRiLi4wZGE3NzUzMGQ0NWFkMGNmYjE4OTM4ZTBkZmZlYmUyOTVkYWY2ZWJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRy
YWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDRGFtYWdlVHJhY2tlci5jcHAKQEAgLTI0NCw2ICsyNDQsOSBAQCB2b2lkIENDRGFtYWdl
VHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yTGF5ZXIoQ0NMYXllckltcGwqIGxheWVyLCBGbG9hdFJl
Y3QmIHRhcmdldAogICAgIC8vICAgICAgcmVnaW9uIGRhbWFnZXMgdGhlIHN1cmZhY2UuCiAgICAg
Ly8KICAgICAvLyBQcm9wZXJ0eSBjaGFuZ2VzIHRha2UgcHJpb3JpdHkgb3ZlciB1cGRhdGUgcmVj
dHMuCisgICAgLy8KKyAgICAvLyBUaGlzIG1ldGhvZCBhc3N1bWVzIHRoYXQgdGhlIGxheWVyIGVp
dGhlciBkb2VzIG5vdCBvd24gYSBzdXJmYWNlIGF0IGFsbCwgb3Igb3ducworICAgIC8vIG91ciB0
YXJnZXQgc3VyZmFjZS4gSW4gYWxsIG90aGVyIGNhc2VzLCBleHRlbmREYW1hZ2VGb3JSZW5kZXJT
dXJmYWNlIG11c3QgYmUgY2FsbGVkIGluc3RlYWQuCiAKICAgICAvLyBDb21wdXRlIHRoZSBsYXll
cidzICJvcmlnaW5UcmFuc2Zvcm0iIGJ5IHRyYW5zbGF0aW5nIHRoZSBkcmF3VHJhbnNmb3JtLgog
ICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IG9yaWdpblRyYW5zZm9ybSA9IGxheWVyLT5kcmF3
VHJhbnNmb3JtKCk7CkBAIC0yNTUsNyArMjU4LDcgQEAgdm9pZCBDQ0RhbWFnZVRyYWNrZXI6OmV4
dGVuZERhbWFnZUZvckxheWVyKENDTGF5ZXJJbXBsKiBsYXllciwgRmxvYXRSZWN0JiB0YXJnZXQK
ICAgICBGbG9hdFJlY3QgbGF5ZXJSZWN0SW5UYXJnZXRTcGFjZSA9IENDTWF0aFV0aWw6Om1hcENs
aXBwZWRSZWN0KG9yaWdpblRyYW5zZm9ybSwgRmxvYXRSZWN0KEZsb2F0UG9pbnQ6Onplcm8oKSwg
bGF5ZXItPmJvdW5kcygpKSk7CiAgICAgc2F2ZVJlY3RGb3JOZXh0RnJhbWUobGF5ZXItPmlkKCks
IGxheWVyUmVjdEluVGFyZ2V0U3BhY2UpOwogCi0gICAgaWYgKGxheWVySXNOZXcgfHwgbGF5ZXIt
PmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpIHsKKyAgICBpZiAobGF5ZXJJc05ldyB8fCBsYXllci0+
bGF5ZXJUYXJnZXRTdXJmYWNlRGlydHkoKSkgewogICAgICAgICAvLyBJZiBhIGxheWVyIGlzIG5l
dyBvciBoYXMgY2hhbmdlZCwgdGhlbiBpdHMgZW50aXJlIGxheWVyIHJlY3QgYWZmZWN0cyB0aGUg
dGFyZ2V0IHN1cmZhY2UuCiAgICAgICAgIHRhcmdldERhbWFnZVJlY3QudW5pdGVJZk5vblplcm8o
bGF5ZXJSZWN0SW5UYXJnZXRTcGFjZSk7CiAKQEAgLTI5Myw3ICsyOTYsNyBAQCB2b2lkIENDRGFt
YWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yUmVuZGVyU3VyZmFjZShDQ0xheWVySW1wbCogbGF5
ZXIsIEZsb2F0UmVjdAogICAgIHNhdmVSZWN0Rm9yTmV4dEZyYW1lKGxheWVyLT5pZCgpLCBzdXJm
YWNlUmVjdEluVGFyZ2V0U3BhY2UpOwogCiAgICAgRmxvYXRSZWN0IGRhbWFnZVJlY3RJbkxvY2Fs
U3BhY2U7Ci0gICAgaWYgKHN1cmZhY2VJc05ldyB8fCByZW5kZXJTdXJmYWNlLT5zdXJmYWNlUHJv
cGVydHlDaGFuZ2VkKCkpIHsKKyAgICBpZiAoc3VyZmFjZUlzTmV3IHx8IHJlbmRlclN1cmZhY2Ut
PnN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSB8fCBsYXllci0+bGF5ZXJTdXJmYWNlUHJvcGVydHlD
aGFuZ2VkKCkpIHsKICAgICAgICAgLy8gVGhlIGVudGlyZSBzdXJmYWNlIGNvbnRyaWJ1dGVzIGRh
bWFnZS4KICAgICAgICAgZGFtYWdlUmVjdEluTG9jYWxTcGFjZSA9IHJlbmRlclN1cmZhY2UtPmNv
bnRlbnRSZWN0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcAppbmRleCA3MmMwZWEyYjc5Y2U3
MmJhNmFlMGZjNjJlYzE3NzZiNjkyYWM1YWZjLi44MjdiMTdjMTQ5ZjY1ZmY5NDIxM2IzODY4Zjk0
NWNmN2Y2YjFlMjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuY3BwCkBAIC01NCw2ICs1NCw3IEBA
IENDTGF5ZXJJbXBsOjpDQ0xheWVySW1wbChpbnQgaWQpCiAgICAgLCBtX2hhdmVXaGVlbEV2ZW50
SGFuZGxlcnMoZmFsc2UpCiAgICAgLCBtX2RvdWJsZVNpZGVkKHRydWUpCiAgICAgLCBtX2xheWVy
UHJvcGVydHlDaGFuZ2VkKGZhbHNlKQorICAgICwgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5n
ZWQoZmFsc2UpCiAgICAgLCBtX21hc2tzVG9Cb3VuZHMoZmFsc2UpCiAgICAgLCBtX29wYXF1ZShm
YWxzZSkKICAgICAsIG1fb3BhY2l0eSgxLjApCkBAIC0yNzMsNiArMjc0LDE5IEBAIHZvaWQgQ0NM
YXllckltcGw6OnNldFN0YWNraW5nT3JkZXJDaGFuZ2VkKGJvb2wgc3RhY2tpbmdPcmRlckNoYW5n
ZWQpCiAgICAgICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZEZvclN1YnRyZWUoKTsKIH0KIAor
Citib29sIENDTGF5ZXJJbXBsOjpsYXllclRhcmdldFN1cmZhY2VEaXJ0eSgpIGNvbnN0Cit7Cisg
ICAgLy8gSWYgdGhlIGxheWVyIGRvZXMgTk9UIG93biBhIHN1cmZhY2UgYnV0IGhhcyBTdXJmYWNl
UHJvcGVydHlDaGFuZ2VkLAorICAgIC8vIHRoaXMgbWVhbnMgdGhhdCBpdHMgdGFyZ2V0IHN1cmZh
Y2UgaXMgYWZmZWN0ZWQgYW5kIG5lZWRzIHRvIGJlIHJlZHJhd24uCisgICAgLy8gSG93ZXZlciwg
aWYgdGhlIGxheWVyIERPRVMgb3duIGEgc3VyZmFjZSB0aGVuIHRoZSBTdXJmYWNlUHJvcGVydHlD
aGFuZ2VkCisgICAgLy8gYWZmZWN0cyB0aGUgdGFyZ2V0IHN1cmZhY2Ugb2YgaXRzIG93bmVkIHN1
cmZhY2UsIGFuZCB0aGVyZWZvcmUgb3VyCisgICAgLy8gb3duZWQgc3VyZmFjZSBpcyBub3QgYWZm
ZWN0ZWQuIFRoaXMgaXMgY2hlY2tlZCBoZXJlLgorICAgIGlmIChtX3JlbmRlclN1cmZhY2UpCisg
ICAgICAgIHJldHVybiBtX2xheWVyUHJvcGVydHlDaGFuZ2VkOworICAgIHJldHVybiBtX2xheWVy
UHJvcGVydHlDaGFuZ2VkIHx8IG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkOworfQorCiB2
b2lkIENDTGF5ZXJJbXBsOjpub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JTdWJ0cmVlKCkKIHsK
ICAgICBtX2xheWVyUHJvcGVydHlDaGFuZ2VkID0gdHJ1ZTsKQEAgLTI4OCw2ICszMDIsOCBAQCB2
b2lkIENDTGF5ZXJJbXBsOjpub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JEZXNjZW5kYW50cygp
CiB2b2lkIENDTGF5ZXJJbXBsOjpyZXNldEFsbENoYW5nZVRyYWNraW5nRm9yU3VidHJlZSgpCiB7
CiAgICAgbV9sYXllclByb3BlcnR5Q2hhbmdlZCA9IGZhbHNlOworICAgIG1fbGF5ZXJTdXJmYWNl
UHJvcGVydHlDaGFuZ2VkID0gZmFsc2U7CisKICAgICBtX3VwZGF0ZVJlY3QgPSBGbG9hdFJlY3Qo
KTsKIAogICAgIGlmIChtX3JlbmRlclN1cmZhY2UpCkBAIC00MjgsNyArNDQ0LDcgQEAgdm9pZCBD
Q0xheWVySW1wbDo6c2V0T3BhY2l0eShmbG9hdCBvcGFjaXR5KQogICAgICAgICByZXR1cm47CiAK
ICAgICBtX29wYWNpdHkgPSBvcGFjaXR5OwotICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZEZv
clN1YnRyZWUoKTsKKyAgICBtX2xheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCA9IHRydWU7CiB9
CiAKIGJvb2wgQ0NMYXllckltcGw6Om9wYWNpdHlJc0FuaW1hdGluZygpIGNvbnN0CkBAIC00NzAs
NyArNDg2LDcgQEAgdm9pZCBDQ0xheWVySW1wbDo6c2V0VHJhbnNmb3JtKGNvbnN0IFdlYlRyYW5z
Zm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm0pCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fdHJh
bnNmb3JtID0gdHJhbnNmb3JtOwotICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZEZvclN1YnRy
ZWUoKTsKKyAgICBtX2xheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCA9IHRydWU7CiB9CiAKIGJv
b2wgQ0NMYXllckltcGw6OnRyYW5zZm9ybUlzQW5pbWF0aW5nKCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBs
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVy
SW1wbC5oCmluZGV4IGZkNGZhY2FhNDBjYmExNWRmNjI5YTFiMjRkYTMyYzJmYTViMzc0NGQuLmQ5
YWY3MmQ2N2M5MWU5MWVlMjNmN2NhZWM2MTI3MTMxM2QxYjYyNTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllcklt
cGwuaApAQCAtMjQ0LDYgKzI0NCwxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTdGFja2luZ09y
ZGVyQ2hhbmdlZChib29sKTsKIAogICAgIGJvb2wgbGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSBjb25z
dCB7IHJldHVybiBtX2xheWVyUHJvcGVydHlDaGFuZ2VkOyB9CisgICAgYm9vbCBsYXllclN1cmZh
Y2VQcm9wZXJ0eUNoYW5nZWQoKSBjb25zdCB7IHJldHVybiBtX2xheWVyU3VyZmFjZVByb3BlcnR5
Q2hhbmdlZDsgfQorCisgICAgLy8gVXNlcyBtX2xheWVyWHh4eENoYW5nZWQgZmxhZ3MgdG8gYW5z
d2VyIHRoZSBxdWVzdGlvbiB3aGV0aGVyIHRoaXMgbGF5ZXIncworICAgIC8vIHRhcmdldCBzdXJm
YWNlJ3MgcGl4ZWxzIGFyZSBhZmZlY3RlZCBieSBhbGwgdGhlIGNoYW5nZXMgaW4gbGF5ZXIncyBj
b250ZW50cyBhbmQgcHJvcGVydGllcy4KKyAgICBib29sIGxheWVyVGFyZ2V0U3VyZmFjZURpcnR5
KCkgY29uc3Q7CisKICAgICB2b2lkIHJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdGb3JTdWJ0cmVlKCk7
CiAKICAgICBDQ0xheWVyQW5pbWF0aW9uQ29udHJvbGxlciogbGF5ZXJBbmltYXRpb25Db250cm9s
bGVyKCkgeyByZXR1cm4gbV9sYXllckFuaW1hdGlvbkNvbnRyb2xsZXIuZ2V0KCk7IH0KQEAgLTMw
Nyw2ICszMTMsMTEgQEAgcHJpdmF0ZToKICAgICAvLyBUcmFja3MgaWYgZHJhd2luZy1yZWxhdGVk
IHByb3BlcnRpZXMgaGF2ZSBjaGFuZ2VkIHNpbmNlIGxhc3QgcmVkcmF3LgogICAgIGJvb2wgbV9s
YXllclByb3BlcnR5Q2hhbmdlZDsKIAorICAgIC8vIEluZGljYXRlcyB0aGF0IGEgcHJvcGVydHkg
aGFzIGNoYW5nZWQgb24gdGhpcyBsYXllciB0aGF0IHdvdWxkIG5vdAorICAgIC8vIGFmZmVjdCB0
aGUgcGl4ZWxzIG9uIGl0cyB0YXJnZXQgc3VyZmFjZSwgYnV0IHdvdWxkIHJlcXVpcmUgcmVkcmF3
aW5nCisgICAgLy8gb2YgdGhlIHRhcmdldCBzdXJmYWNlIG9mIHRoaXMgbGF5ZXIncyB0YXJnZXQg
c3VyZmFjZQorICAgIGJvb2wgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQ7CisKICAgICAv
LyBVc2VzIGxheWVyJ3MgY29udGVudCBzcGFjZS4KICAgICBJbnRSZWN0IG1fdmlzaWJsZUxheWVy
UmVjdDsKICAgICBib29sIG1fbWFza3NUb0JvdW5kczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRy
ZWVIb3N0SW1wbC5jcHAKaW5kZXggNWIxM2UxYjhlY2I1NmY4MTFiNjE2NzRlYTI4MTE0ZWE0Yzcw
MDM2Yi4uNmUxNTliMjUxZDFjODg5Y2ZiY2Y2Y2UyZmVlMDc2YWUyZWRlNDdjNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRy
ZWVIb3N0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNs
dWRlICJjYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uaCIKICNpbmNsdWRlICJjYy9DQ01hdGhVdGls
LmgiCiAjaW5jbHVkZSAiY2MvQ0NQYWdlU2NhbGVBbmltYXRpb24uaCIKKyNpbmNsdWRlICJjYy9D
Q1JlbmRlclBhc3NEcmF3UXVhZC5oIgogI2luY2x1ZGUgImNjL0NDU2luZ2xlVGhyZWFkUHJveHku
aCIKICNpbmNsdWRlICJjYy9DQ1RocmVhZFRhc2suaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRp
bWUuaD4KQEAgLTIyNyw2ICsyMjgsNyBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdEltcGw6OnRyYWNr
RGFtYWdlRm9yQWxsU3VyZmFjZXMoQ0NMYXllckltcGwqIHJvb3REcmF3TGF5ZXIsCiAgICAgICAg
IENDUmVuZGVyU3VyZmFjZSogcmVuZGVyU3VyZmFjZSA9IHJlbmRlclN1cmZhY2VMYXllci0+cmVu
ZGVyU3VyZmFjZSgpOwogICAgICAgICBBU1NFUlQocmVuZGVyU3VyZmFjZSk7CiAgICAgICAgIHJl
bmRlclN1cmZhY2UtPmRhbWFnZVRyYWNrZXIoKS0+dXBkYXRlRGFtYWdlVHJhY2tpbmdTdGF0ZShy
ZW5kZXJTdXJmYWNlLT5sYXllckxpc3QoKSwgcmVuZGVyU3VyZmFjZUxheWVyLT5pZCgpLCByZW5k
ZXJTdXJmYWNlLT5zdXJmYWNlUHJvcGVydHlDaGFuZ2VkT25seUZyb21EZXNjZW5kYW50KCksIHJl
bmRlclN1cmZhY2UtPmNvbnRlbnRSZWN0KCksIHJlbmRlclN1cmZhY2VMYXllci0+bWFza0xheWVy
KCksIHJlbmRlclN1cmZhY2VMYXllci0+ZmlsdGVycygpKTsKKyAgICAgICAgcmVuZGVyU3VyZmFj
ZS0+c2V0Q29udGVudHNDaGFuZ2VkKCFyZW5kZXJTdXJmYWNlLT5kYW1hZ2VUcmFja2VyKCktPmN1
cnJlbnREYW1hZ2VSZWN0KCkuaXNFbXB0eSgpKTsKICAgICB9CiB9CiAKQEAgLTMyOCw2ICszMzAs
OSBAQCBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRlclBhc3NlcyhDQ1Jl
bmRlclBhc3NMaXN0JiBwYXNzZXMsIENDTGF5ZQogCiAgICAgaWYgKGRyYXdGcmFtZSkKICAgICAg
ICAgb2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5yZWNvcmRNZXRyaWNzKHRoaXMp
OworCisgICAgcmVtb3ZlUmVkdW5kYW50UGFzc2VzKHBhc3Nlcyk7CisKICAgICByZXR1cm4gZHJh
d0ZyYW1lOwogfQogCkBAIC0zNzcsNiArMzgyLDc1IEBAIEludFNpemUgQ0NMYXllclRyZWVIb3N0
SW1wbDo6Y29udGVudFNpemUoKSBjb25zdAogICAgIHJldHVybiBtX3Njcm9sbExheWVySW1wbC0+
Y2hpbGRyZW4oKVswXS0+Y29udGVudEJvdW5kcygpOwogfQogCitzdGF0aWMgc3NpemVfdCBpbmRl
eE9mUmVuZGVyUGFzcyhjb25zdCBDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIGNvbnN0IENDUmVu
ZGVyUGFzcyogcGFzcywgc2l6ZV90IHNlYXJjaFVudGlsKQoreworICAgIGZvciAoc2l6ZV90IHBh
c3NJbmRleCA9IDA7IHBhc3NJbmRleCA8IHBhc3Nlcy5zaXplKCk7IHBhc3NJbmRleCsrKQorICAg
ICAgICBpZiAocGFzc2VzW3Bhc3NJbmRleF0uZ2V0KCkgPT0gcGFzcykKKyAgICAgICAgICAgIHJl
dHVybiBwYXNzSW5kZXg7CisKKyAgICByZXR1cm4gLTE7Cit9CisKK3ZvaWQgQ0NMYXllclRyZWVI
b3N0SW1wbDo6cmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKENDUmVuZGVyUGFzc0xpc3QmIHBh
c3Nlcywgc2l6ZV90IGJvdHRvbVBhc3MsIGNvbnN0IENDUmVuZGVyUGFzcyogZmlyc3RUb1JlbW92
ZSkKK3sKKyAgICBzc2l6ZV90IHJlbW92ZUluZGV4ID0gaW5kZXhPZlJlbmRlclBhc3MocGFzc2Vz
LCBmaXJzdFRvUmVtb3ZlLCBib3R0b21QYXNzKTsKKworICAgIC8vIFRoZSBwYXNzIHdhcyBhbHJl
ZGF5IHJlbW92ZWQgYnkgYW5vdGhlciBxdWFkIC0gcHJvYmFibHkgdGhlIG9yaWdpbmFsLCBhbmQg
d2UgYXJlIHRoZSByZXBsaWNhCisgICAgaWYgKHJlbW92ZUluZGV4IDwgMCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcmVtb3ZlZFBhc3MgPSBwYXNzZXNbcmVt
b3ZlSW5kZXhdLnJlbGVhc2UoKTsKKyAgICBwYXNzZXMucmVtb3ZlKHJlbW92ZUluZGV4KTsKKwor
ICAgIC8vIE5vdyBmb2xsb3cgdXAgZm9yIGFsbCBSZW5kZXJQYXNzIHF1YWRzIGFuZCByZW1vdmUg
dGhlaXIgcmVuZGVyIHBhc3NlcyByZWN1cnNpdmVseQorICAgIGNvbnN0IENDUXVhZExpc3QmIHF1
YWRMaXN0ID0gcmVtb3ZlZFBhc3MtPnF1YWRMaXN0KCk7CisgICAgQ0NRdWFkTGlzdDo6Y29uc3RC
YWNrVG9Gcm9udEl0ZXJhdG9yIHF1YWRMaXN0SXRlcmF0b3IgPSBxdWFkTGlzdC5iYWNrVG9Gcm9u
dEJlZ2luKCk7CisgICAgd2hpbGUgKHF1YWRMaXN0SXRlcmF0b3IgIT0gcXVhZExpc3QuYmFja1Rv
RnJvbnRFbmQoKSkgeworICAgICAgICBDQ0RyYXdRdWFkKiBjdXJyZW50UXVhZCA9ICgqcXVhZExp
c3RJdGVyYXRvcikuZ2V0KCk7CisgICAgICAgIGlmIChjdXJyZW50UXVhZC0+bWF0ZXJpYWwoKSA9
PSBDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzKSB7CisgICAgICAgICAgICBDQ1JlbmRlclBhc3NEcmF3
UXVhZCogcmVuZGVyUGFzc1F1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+
KGN1cnJlbnRRdWFkKTsKKyAgICAgICAgICAgIGNvbnN0IENDUmVuZGVyUGFzcyogbmV4dFJlbmRl
clBhc3MgPSByZW5kZXJQYXNzUXVhZC0+cmVuZGVyUGFzcygpOworCisgICAgICAgICAgICAvLyBP
dXIgc2VhcmNoIGlzIG5vdyBsaW1pdGVkIHVwIHRvIHRoZSBwYXNzIHRoYXQgd2UganVzdCByZW1v
dmVkLgorICAgICAgICAgICAgLy8gU3Vic3RpdHV0ZSByZW1vdmVJbmRleCBmb3IgYm90dG9tUGFz
cyBub3cuCisgICAgICAgICAgICByZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUocGFzc2VzLCBy
ZW1vdmVJbmRleCwgbmV4dFJlbmRlclBhc3MpOworICAgICAgICB9CisgICAgICAgIHF1YWRMaXN0
SXRlcmF0b3IrKzsKKyAgICB9Cit9CisKK3ZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3Zl
UmVkdW5kYW50UGFzc2VzKENDUmVuZGVyUGFzc0xpc3QmIHBhc3NlcykKK3sKKyAgICBzc2l6ZV90
IHBhc3NJbmRleCA9IHBhc3Nlcy5zaXplKCkgLSAxOworICAgIHdoaWxlIChwYXNzSW5kZXggPj0g
MCkgeworICAgICAgICBDQ1JlbmRlclBhc3MqIGN1cnJlbnRQYXNzID0gcGFzc2VzW3Bhc3NJbmRl
eF0uZ2V0KCk7CisgICAgICAgIGNvbnN0IENDUXVhZExpc3QmIHF1YWRMaXN0ID0gY3VycmVudFBh
c3MtPnF1YWRMaXN0KCk7CisgICAgICAgIENDUXVhZExpc3Q6OmNvbnN0QmFja1RvRnJvbnRJdGVy
YXRvciBxdWFkTGlzdEl0ZXJhdG9yID0gcXVhZExpc3QuYmFja1RvRnJvbnRCZWdpbigpOworICAg
ICAgICB3aGlsZSAocXVhZExpc3RJdGVyYXRvciAhPSBxdWFkTGlzdC5iYWNrVG9Gcm9udEVuZCgp
KSB7CisgICAgICAgICAgICBDQ0RyYXdRdWFkKiBjdXJyZW50UXVhZCA9ICgqcXVhZExpc3RJdGVy
YXRvcikuZ2V0KCk7CisgICAgICAgICAgICBpZiAoY3VycmVudFF1YWQtPm1hdGVyaWFsKCkgPT0g
Q0NEcmF3UXVhZDo6UmVuZGVyUGFzcykgeworICAgICAgICAgICAgICAgIENDUmVuZGVyUGFzc0Ry
YXdRdWFkKiByZW5kZXJQYXNzUXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFk
Kj4oY3VycmVudFF1YWQpOworICAgICAgICAgICAgICAgIENDUmVuZGVyU3VyZmFjZSogdGFyZ2V0
U3VyZmFjZSA9IHJlbmRlclBhc3NRdWFkLT5yZW5kZXJTdXJmYWNlKCk7CisgICAgICAgICAgICAg
ICAgaWYgKCFyZW5kZXJQYXNzUXVhZC0+Y29udGVudHNDaGFuZ2VkKCkgJiYgdGFyZ2V0U3VyZmFj
ZS0+aGFzQ2FjaGVkQ29udGVudHNUZXh0dXJlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8g
UmVzZXJ2ZSB0aGUgdGV4dHVyZSBpbW1lZGlhdGVseS4gV2UgZG8gbm90IG5lZWQgdG8gcGFzcyBp
biBsYXllciByZW5kZXJlcgorICAgICAgICAgICAgICAgICAgICAvLyBzaW5jZSB0aGUgdGV4dHVy
ZSBhbHJlYWR5IGV4aXN0cywganVzdCBuZWVkcyB0byBiZSByZXNlcnZlZC4KKyAgICAgICAgICAg
ICAgICAgICAgaWYgKHRhcmdldFN1cmZhY2UtPnByZXBhcmVDb250ZW50c1RleHR1cmUoMCkpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGFyZSBjaGFuZ2luZyB0aGUgdmVjdG9yIGlu
IHRoZSBtaWRkbGUgb2YgcmV2ZXJzZSBpdGVyYXRpb24uCisgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBXZSBhcmUgZ3VhcmFudGVlZCB0aGF0IGFueSBkYXRhIGZyb20gaXRlcmF0b3IgdG8gdGhl
IGVuZCB3aWxsIG5vdCBjaGFuZ2UuCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBDYXB0dXJl
IHRoZSBpdGVyYXRvciBwb3NpdGlvbiBmcm9tIHRoZSBlbmQsIGFuZCByZXN0b3JlIGl0IGFmdGVy
IHRoZSBjaGFuZ2UuCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcG9zaXRpb25Gcm9tRW5k
ID0gcGFzc2VzLnNpemUoKSAtIHBhc3NJbmRleDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJl
bW92ZVJlbmRlclBhc3Nlc1JlY3Vyc2l2ZShwYXNzZXMsIHBhc3NJbmRleCwgcmVuZGVyUGFzc1F1
YWQtPnJlbmRlclBhc3MoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBwYXNzSW5kZXggPSBw
YXNzZXMuc2l6ZSgpIC0gcG9zaXRpb25Gcm9tRW5kOworICAgICAgICAgICAgICAgICAgICAgICAg
QVNTRVJUKHBhc3NJbmRleCA+PSAwKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHF1YWRMaXN0SXRlcmF0b3IrKzsK
KyAgICAgICAgfQorICAgICAgICBwYXNzSW5kZXgtLTsKKyAgICB9Cit9CisKIGJvb2wgQ0NMYXll
clRyZWVIb3N0SW1wbDo6cHJlcGFyZVRvRHJhdyhGcmFtZURhdGEmIGZyYW1lKQogewogICAgIFRS
QUNFX0VWRU5UKCJDQ0xheWVyVHJlZUhvc3RJbXBsOjpwcmVwYXJlVG9EcmF3IiwgdGhpcywgMCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3RJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKaW5kZXggYzc0MGE2NjIwMmY0YmQw
ZjFiM2QwNjA2ZDNhZWJhOTQ4OWQyMDA5Mi4uODc3ZjhkMzcwODY0NTkyZDQ2Yjg1ZTE3ZTk3M2Vi
ZTEyOTg4NWY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaApAQCAtMTY3
LDYgKzE2Nyw5IEBAIHB1YmxpYzoKICAgICBDQ0ZyYW1lUmF0ZUNvdW50ZXIqIGZwc0NvdW50ZXIo
KSBjb25zdCB7IHJldHVybiBtX2Zwc0NvdW50ZXIuZ2V0KCk7IH0KICAgICBDQ0RlYnVnUmVjdEhp
c3RvcnkqIGRlYnVnUmVjdEhpc3RvcnkoKSBjb25zdCB7IHJldHVybiBtX2RlYnVnUmVjdEhpc3Rv
cnkuZ2V0KCk7IH0KIAorICAgIC8vIFJlbW92ZXMgYWxsIHJlbmRlciBwYXNzZXMgZm9yIHdoaWNo
IHdlIGhhdmUgY2FjaGVkIHRleHR1cmVzLCBhbmQgd2hpY2ggZGlkIG5vdCBjaGFuZ2UgdGhlaXIg
Y29udGVudC4KKyAgICBzdGF0aWMgdm9pZCByZW1vdmVSZWR1bmRhbnRQYXNzZXMoQ0NSZW5kZXJQ
YXNzTGlzdCYgcGFzc2VzKTsKKwogcHJvdGVjdGVkOgogICAgIENDTGF5ZXJUcmVlSG9zdEltcGwo
Y29uc3QgQ0NTZXR0aW5ncyYsIENDTGF5ZXJUcmVlSG9zdEltcGxDbGllbnQqKTsKIApAQCAtMjA0
LDYgKzIwNyw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhbmltYXRlTGF5ZXJzUmVjdXJzaXZlKEND
TGF5ZXJJbXBsKiwgZG91YmxlIG1vbm90b25pY1RpbWUsIGRvdWJsZSB3YWxsQ2xvY2tUaW1lLCBD
Q0FuaW1hdGlvbkV2ZW50c1ZlY3RvciosIGJvb2wmIGRpZEFuaW1hdGUsIGJvb2wmIG5lZWRzQW5p
bWF0ZUxheWVycyk7CiAgICAgdm9pZCBzZXRCYWNrZ3JvdW5kVGlja2luZ0VuYWJsZWQoYm9vbCk7
CiAgICAgSW50U2l6ZSBjb250ZW50U2l6ZSgpIGNvbnN0OworCisgICAgc3RhdGljIHZvaWQgcmVt
b3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKENDUmVuZGVyUGFzc0xpc3QmIHBhc3Nlcywgc2l6ZV90
IGJvdHRvbVBhc3MsIGNvbnN0IENDUmVuZGVyUGFzcyogZmlyc3RUb1JlbW92ZSk7CisKICAgICB2
b2lkIHNlbmREaWRMb3NlQ29udGV4dFJlY3Vyc2l2ZShDQ0xheWVySW1wbCopOwogICAgIHZvaWQg
Y2xlYXJSZW5kZXJTdXJmYWNlc09uQ0NMYXllckltcGxSZWN1cnNpdmUoQ0NMYXllckltcGwqKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NSZW5kZXJQYXNzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDUmVuZGVyUGFzcy5jcHAKaW5kZXggMGUzYWZjMDQ2OTJlMGJkYmI1ZTRjYzZh
YTE0NDA2ZDhhMWQ5YWY4ZC4uMWU3NmQyYmE2MmZlMGQxN2UyYzUxODg3ZDJkYjdhMTUyNGIzMDkx
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NSZW5kZXJQYXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwCkBAIC0xMDEsNCArMTAxLDkgQEAgdm9pZCBD
Q1JlbmRlclBhc3M6OmFwcGVuZFF1YWRzVG9GaWxsU2NyZWVuKENDTGF5ZXJJbXBsKiByb290TGF5
ZXIsIGNvbnN0IENvbG9yJgogICAgIG1fc2hhcmVkUXVhZFN0YXRlTGlzdC5hcHBlbmQoc2hhcmVk
UXVhZFN0YXRlLnJlbGVhc2UoKSk7CiB9CiAKK3ZvaWQgQ0NSZW5kZXJQYXNzOjphcHBlbmRRdWFk
KFBhc3NPd25QdHI8Q0NEcmF3UXVhZD4gcXVhZCkKK3sKKyAgICBtX3F1YWRMaXN0LmFwcGVuZChx
dWFkKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaAppbmRleCA2NDlkYmFjZGNkYTlmYTAw
N2RiN2UwYjJkMWJlMWUzMDk1ZTA5YTRmLi42MmY5MjkwYWNkMDA1ODJlYWZlNGY0ZTZjZGM4NWUw
MTFmNWEzNzE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBhcHBlbmRRdWFkc0ZvckxheWVyKENDTGF5ZXJJbXBsKiwgQ0NPY2NsdXNp
b25UcmFja2VySW1wbCosIGJvb2wmIGhhZE1pc3NpbmdUaWxlcyk7CiAgICAgdm9pZCBhcHBlbmRR
dWFkc0ZvclJlbmRlclN1cmZhY2VMYXllcihDQ0xheWVySW1wbCosIGNvbnN0IENDUmVuZGVyUGFz
cyogY29udHJpYnV0aW5nUmVuZGVyUGFzcywgQ0NPY2NsdXNpb25UcmFja2VySW1wbCopOwogICAg
IHZvaWQgYXBwZW5kUXVhZHNUb0ZpbGxTY3JlZW4oQ0NMYXllckltcGwqIHJvb3RMYXllciwgY29u
c3QgQ29sb3ImIHNjcmVlbkJhY2tncm91bmRDb2xvciwgY29uc3QgQ0NPY2NsdXNpb25UcmFja2Vy
SW1wbCYpOworICAgIHZvaWQgYXBwZW5kUXVhZChQYXNzT3duUHRyPENDRHJhd1F1YWQ+KTsKIAog
ICAgIGNvbnN0IENDUXVhZExpc3QmIHF1YWRMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9xdWFkTGlz
dDsgfQogICAgIENDUmVuZGVyU3VyZmFjZSogdGFyZ2V0U3VyZmFjZSgpIGNvbnN0IHsgcmV0dXJu
IG1fdGFyZ2V0U3VyZmFjZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQu
Y3BwCmluZGV4IDhkYzRmZjY2YTFjNzE3M2JlNzM3NGE2MjVkYjk5Y2Y0MDdiMWQ2ZTMuLmNjZDQy
MzI2ZmJiZGQ5ODU2N2YzMTE2MmFjNTllYjJjMGM5YWYzNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzc0RyYXdRdWFk
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1JlbmRlclBhc3NEcmF3UXVhZC5jcHAKQEAgLTI3LDIwICsyNywyNCBAQAogCiAjaW5jbHVkZSAi
Y2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQuaCIKIAorI2luY2x1ZGUgImNjL0NDUmVuZGVyUGFzcy5o
IgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzRHJhd1F1
YWQ+IENDUmVuZGVyUGFzc0RyYXdRdWFkOjpjcmVhdGUoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUq
IHNoYXJlZFF1YWRTdGF0ZSwgY29uc3QgSW50UmVjdCYgcXVhZFJlY3QsIGNvbnN0IENDUmVuZGVy
UGFzcyogcmVuZGVyUGFzcywgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVy
T3BlcmF0aW9ucyYgZmlsdGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBi
YWNrZ3JvdW5kRmlsdGVycywgdW5zaWduZWQgbWFza1RleHR1cmVJZCkKK1Bhc3NPd25QdHI8Q0NS
ZW5kZXJQYXNzRHJhd1F1YWQ+IENDUmVuZGVyUGFzc0RyYXdRdWFkOjpjcmVhdGUoY29uc3QgQ0NT
aGFyZWRRdWFkU3RhdGUqIHNoYXJlZFF1YWRTdGF0ZSwgY29uc3QgSW50UmVjdCYgcXVhZFJlY3Qs
IGNvbnN0IENDUmVuZGVyUGFzcyogcmVuZGVyUGFzcywgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdl
YktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0
ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycywgdW5zaWduZWQgbWFza1RleHR1cmVJZCwg
Ym9vbCBjb250ZW50c0NoYW5nZWQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ1JlbmRl
clBhc3NEcmF3UXVhZChzaGFyZWRRdWFkU3RhdGUsIHF1YWRSZWN0LCByZW5kZXJQYXNzLCBpc1Jl
cGxpY2EsIGZpbHRlcnMsIGJhY2tncm91bmRGaWx0ZXJzLCBtYXNrVGV4dHVyZUlkKSk7CisgICAg
cmV0dXJuIGFkb3B0UHRyKG5ldyBDQ1JlbmRlclBhc3NEcmF3UXVhZChzaGFyZWRRdWFkU3RhdGUs
IHF1YWRSZWN0LCByZW5kZXJQYXNzLCBpc1JlcGxpY2EsIGZpbHRlcnMsIGJhY2tncm91bmRGaWx0
ZXJzLCBtYXNrVGV4dHVyZUlkLCBjb250ZW50c0NoYW5nZWQpKTsKIH0KIAotQ0NSZW5kZXJQYXNz
RHJhd1F1YWQ6OkNDUmVuZGVyUGFzc0RyYXdRdWFkKGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiBz
aGFyZWRRdWFkU3RhdGUsIGNvbnN0IEludFJlY3QmIHF1YWRSZWN0LCBjb25zdCBDQ1JlbmRlclBh
c3MqIHJlbmRlclBhc3MsIGJvb2wgaXNSZXBsaWNhLCBjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9w
ZXJhdGlvbnMmIGZpbHRlcnMsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgYmFj
a2dyb3VuZEZpbHRlcnMsIHVuc2lnbmVkIG1hc2tUZXh0dXJlSWQpCitDQ1JlbmRlclBhc3NEcmF3
UXVhZDo6Q0NSZW5kZXJQYXNzRHJhd1F1YWQoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqIHNoYXJl
ZFF1YWRTdGF0ZSwgY29uc3QgSW50UmVjdCYgcXVhZFJlY3QsIGNvbnN0IENDUmVuZGVyUGFzcyog
cmVuZGVyUGFzcywgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0
aW9ucyYgZmlsdGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3Jv
dW5kRmlsdGVycywgdW5zaWduZWQgbWFza1RleHR1cmVJZCwgYm9vbCBjb250ZW50c0NoYW5nZWQp
CiAgICAgOiBDQ0RyYXdRdWFkKHNoYXJlZFF1YWRTdGF0ZSwgQ0NEcmF3UXVhZDo6UmVuZGVyUGFz
cywgcXVhZFJlY3QpCiAgICAgLCBtX3JlbmRlclBhc3MocmVuZGVyUGFzcykKKyAgICAsIG1fcmVu
ZGVyU3VyZmFjZShyZW5kZXJQYXNzLT50YXJnZXRTdXJmYWNlKCkpCiAgICAgLCBtX2lzUmVwbGlj
YShpc1JlcGxpY2EpCiAgICAgLCBtX2ZpbHRlcnMoZmlsdGVycykKICAgICAsIG1fYmFja2dyb3Vu
ZEZpbHRlcnMoYmFja2dyb3VuZEZpbHRlcnMpCiAgICAgLCBtX21hc2tUZXh0dXJlSWQobWFza1Rl
eHR1cmVJZCkKKyAgICAsIG1fY29udGVudHNDaGFuZ2VkKGNvbnRlbnRzQ2hhbmdlZCkKIHsKICAg
ICBBU1NFUlQobV9yZW5kZXJQYXNzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3
UXVhZC5oCmluZGV4IDNjYzZmMjYwNzFhMzNjMDIzMDZhZWFkOWUwOGIwODczMzM0ZTMxZTguLjNh
MjlmOGI2Yjg2ZTIyYzFjMTM5OGIyODFjYjNlNTFmNmY2ODllNGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzc0RyYXdR
dWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NSZW5kZXJQYXNzRHJhd1F1YWQuaApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBDQ1JlbmRl
clBhc3NEcmF3UXVhZF9oCiAKICNpbmNsdWRlICJjYy9DQ0RyYXdRdWFkLmgiCisjaW5jbHVkZSAi
Y2MvQ0NSZW5kZXJTdXJmYWNlLmgiCiAjaW5jbHVkZSA8cHVibGljL1dlYkZpbHRlck9wZXJhdGlv
bnMuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zNywyMyArMzgsMjcgQEAg
Y2xhc3MgQ0NSZW5kZXJQYXNzOwogY2xhc3MgQ0NSZW5kZXJQYXNzRHJhd1F1YWQgOiBwdWJsaWMg
Q0NEcmF3UXVhZCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ0NSZW5kZXJQYXNzRHJhd1F1
YWQpOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPENDUmVuZGVyUGFzc0RyYXdRdWFk
PiBjcmVhdGUoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqLCBjb25zdCBJbnRSZWN0JiwgY29uc3Qg
Q0NSZW5kZXJQYXNzKiwgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3Bl
cmF0aW9ucyYgZmlsdGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNr
Z3JvdW5kRmlsdGVycywgdW5zaWduZWQgbWFza1RleHR1cmVJZCk7CisgICAgc3RhdGljIFBhc3NP
d25QdHI8Q0NSZW5kZXJQYXNzRHJhd1F1YWQ+IGNyZWF0ZShjb25zdCBDQ1NoYXJlZFF1YWRTdGF0
ZSosIGNvbnN0IEludFJlY3QmLCBjb25zdCBDQ1JlbmRlclBhc3MqLCBib29sIGlzUmVwbGljYSwg
Y29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBmaWx0ZXJzLCBjb25zdCBXZWJLaXQ6
OldlYkZpbHRlck9wZXJhdGlvbnMmIGJhY2tncm91bmRGaWx0ZXJzLCB1bnNpZ25lZCBtYXNrVGV4
dHVyZUlkLCBib29sIGNvbnRlbnRzQ2hhbmdlZCk7CiAKICAgICBjb25zdCBDQ1JlbmRlclBhc3Mq
IHJlbmRlclBhc3MoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlclBhc3M7IH0KKyAgICBDQ1JlbmRl
clN1cmZhY2UqIHJlbmRlclN1cmZhY2UoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlclN1cmZhY2U7
IH0KICAgICBib29sIGlzUmVwbGljYSgpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXBsaWNhOyB9CiAg
ICAgdW5zaWduZWQgbWFza1RleHR1cmVJZCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFza1RleHR1cmVJ
ZDsgfQorICAgIGJvb2wgY29udGVudHNDaGFuZ2VkKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50
c0NoYW5nZWQ7IH0KIAogICAgIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmls
dGVycygpIGNvbnN0IHsgcmV0dXJuIG1fZmlsdGVyczsgfQogICAgIGNvbnN0IFdlYktpdDo6V2Vi
RmlsdGVyT3BlcmF0aW9ucyYgYmFja2dyb3VuZEZpbHRlcnMoKSBjb25zdCB7IHJldHVybiBtX2Jh
Y2tncm91bmRGaWx0ZXJzOyB9CiAKIHByaXZhdGU6Ci0gICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQo
Y29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgQ0NSZW5kZXJQ
YXNzKiwgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYg
ZmlsdGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmls
dGVycywgdW5zaWduZWQgbWFza1RleHR1cmVJZCk7CisgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQo
Y29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgQ0NSZW5kZXJQ
YXNzKiwgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYg
ZmlsdGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmls
dGVycywgdW5zaWduZWQgbWFza1RleHR1cmVJZCwgYm9vbCBjb250ZW50c0NoYW5nZWQpOwogCiAg
ICAgY29uc3QgQ0NSZW5kZXJQYXNzKiBtX3JlbmRlclBhc3M7CisgICAgQ0NSZW5kZXJTdXJmYWNl
KiBtX3JlbmRlclN1cmZhY2U7CiAgICAgYm9vbCBtX2lzUmVwbGljYTsKICAgICBXZWJLaXQ6Oldl
YkZpbHRlck9wZXJhdGlvbnMgbV9maWx0ZXJzOwogICAgIFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0
aW9ucyBtX2JhY2tncm91bmRGaWx0ZXJzOwogICAgIHVuc2lnbmVkIG1fbWFza1RleHR1cmVJZDsK
KyAgICBib29sIG1fY29udGVudHNDaGFuZ2VkOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVy
U3VyZmFjZS5jcHAKaW5kZXggZGRhYmQ1MjhjOGZkMWQwYmNkNTZiMjAzNzBkYzUzZGQwMzAyMmVj
Yy4uZmQ1ZGQ2MDZiM2Y4ZTYxYzQwYmY0YjE1MDdiNjY2ZDNjZDk2NDliNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJm
YWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1JlbmRlclN1cmZhY2UuY3BwCkBAIC04OCwxMCArODgsMTUgQEAgRmxvYXRSZWN0IENDUmVu
ZGVyU3VyZmFjZTo6ZHJhd2FibGVDb250ZW50UmVjdCgpIGNvbnN0CiAKIGJvb2wgQ0NSZW5kZXJT
dXJmYWNlOjpwcmVwYXJlQ29udGVudHNUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5
ZXJSZW5kZXJlcikKIHsKLSAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBsYXll
clJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsKKyAgICBpZiAobGF5ZXJSZW5kZXJlcikg
eworICAgICAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBsYXllclJlbmRlcmVy
LT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsKKworICAgICAgICBpZiAoIW1fY29udGVudHNUZXh0dXJl
KQorICAgICAgICAgICAgbV9jb250ZW50c1RleHR1cmUgPSBNYW5hZ2VkVGV4dHVyZTo6Y3JlYXRl
KHRleHR1cmVNYW5hZ2VyKTsKKyAgICB9CiAKICAgICBpZiAoIW1fY29udGVudHNUZXh0dXJlKQot
ICAgICAgICBtX2NvbnRlbnRzVGV4dHVyZSA9IE1hbmFnZWRUZXh0dXJlOjpjcmVhdGUodGV4dHVy
ZU1hbmFnZXIpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAobV9jb250ZW50c1Rl
eHR1cmUtPmlzUmVzZXJ2ZWQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMTQsNiArMTE5
LDExIEBAIGJvb2wgQ0NSZW5kZXJTdXJmYWNlOjpoYXNWYWxpZENvbnRlbnRzVGV4dHVyZSgpIGNv
bnN0CiAgICAgcmV0dXJuIG1fY29udGVudHNUZXh0dXJlICYmIG1fY29udGVudHNUZXh0dXJlLT5p
c1Jlc2VydmVkKCkgJiYgbV9jb250ZW50c1RleHR1cmUtPmlzVmFsaWQobV9jb250ZW50UmVjdC5z
aXplKCksIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBKTsKIH0KIAorYm9vbCBDQ1JlbmRlclN1cmZh
Y2U6Omhhc0NhY2hlZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY29u
dGVudHNUZXh0dXJlICYmIG1fY29udGVudHNUZXh0dXJlLT5pc1ZhbGlkKG1fY29udGVudFJlY3Qu
c2l6ZSgpLCBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSk7Cit9CisKIGJvb2wgQ0NSZW5kZXJTdXJm
YWNlOjpwcmVwYXJlQmFja2dyb3VuZFRleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBsYXll
clJlbmRlcmVyKQogewogICAgIFRleHR1cmVNYW5hZ2VyKiB0ZXh0dXJlTWFuYWdlciA9IGxheWVy
UmVuZGVyZXItPmltcGxUZXh0dXJlTWFuYWdlcigpOwpAQCAtMjg2LDcgKzI5Niw3IEBAIHZvaWQg
Q0NSZW5kZXJTdXJmYWNlOjphcHBlbmRRdWFkcyhDQ1F1YWRDdWxsZXImIHF1YWRMaXN0LCBDQ1No
YXJlZFF1YWRTdGF0ZSogc2hhCiAKICAgICBpbnQgbWFza1RleHR1cmVJZCA9IG1hc2tMYXllciA/
IG1hc2tMYXllci0+Y29udGVudHNUZXh0dXJlSWQoKSA6IDA7CiAKLSAgICBxdWFkTGlzdC5hcHBl
bmRTdXJmYWNlKENDUmVuZGVyUGFzc0RyYXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBj
b250ZW50UmVjdCgpLCByZW5kZXJQYXNzLCBmb3JSZXBsaWNhLCBmaWx0ZXJzKCksIGJhY2tncm91
bmRGaWx0ZXJzKCksIG1hc2tUZXh0dXJlSWQpKTsKKyAgICBxdWFkTGlzdC5hcHBlbmRTdXJmYWNl
KENDUmVuZGVyUGFzc0RyYXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBjb250ZW50UmVj
dCgpLCByZW5kZXJQYXNzLCBmb3JSZXBsaWNhLCBmaWx0ZXJzKCksIGJhY2tncm91bmRGaWx0ZXJz
KCksIG1hc2tUZXh0dXJlSWQsIG1fY29udGVudHNDaGFuZ2VkKSk7CiB9CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVy
U3VyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NSZW5kZXJTdXJmYWNlLmgKaW5kZXggNjI1MjNiODIxMmI3ZTM2ZDY1ZDgyZGM2ZDFjNjliOTFj
ODc0YzY0OS4uYTZkNGJhM2I5MDM3M2Q3OGUzZTcxZmZhNmU2MzdjZDZlYjM3ZmM2YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5k
ZXJTdXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKQEAgLTUzLDkgKzUzLDEwIEBAIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBDQ1JlbmRlclN1cmZhY2UoQ0NMYXllckltcGwqKTsKICAgICB+Q0NSZW5kZXJTdXJm
YWNlKCk7CiAKLSAgICBib29sIHByZXBhcmVDb250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNo
cm9taXVtKik7CisgICAgdmlydHVhbCBib29sIHByZXBhcmVDb250ZW50c1RleHR1cmUoTGF5ZXJS
ZW5kZXJlckNocm9taXVtKik7CiAgICAgdm9pZCByZWxlYXNlQ29udGVudHNUZXh0dXJlKCk7CiAg
ICAgYm9vbCBoYXNWYWxpZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9v
bCBoYXNDYWNoZWRDb250ZW50c1RleHR1cmUoKSBjb25zdDsKIAogICAgIGJvb2wgcHJlcGFyZUJh
Y2tncm91bmRUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSopOwogICAgIHZvaWQgcmVsZWFz
ZUJhY2tncm91bmRUZXh0dXJlKCk7CkBAIC0xMTQsNiArMTE1LDkgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0U2Npc3NvclJlY3QoY29uc3QgSW50UmVjdCYgc2Npc3NvclJlY3QpIHsgbV9zY2lzc29y
UmVjdCA9IHNjaXNzb3JSZWN0OyB9CiAgICAgY29uc3QgSW50UmVjdCYgc2Npc3NvclJlY3QoKSBj
b25zdCB7IHJldHVybiBtX3NjaXNzb3JSZWN0OyB9CiAKKyAgICB2b2lkIHNldENvbnRlbnRzQ2hh
bmdlZChib29sIGNvbnRlbnRzQ2hhbmdlZCkgeyBtX2NvbnRlbnRzQ2hhbmdlZCA9IGNvbnRlbnRz
Q2hhbmdlZDsgfQorICAgIGJvb2wgY29udGVudHNDaGFuZ2VkKCkgY29uc3QgeyByZXR1cm4gbV9j
b250ZW50c0NoYW5nZWQ7IH0KKwogICAgIHZvaWQgc2V0Q29udGVudFJlY3QoY29uc3QgSW50UmVj
dCYpOwogICAgIGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9j
b250ZW50UmVjdDsgfQogCkBAIC0xNzQsNiArMTc4LDExIEBAIHByaXZhdGU6CiAgICAgLy8gVXNl
cyB0aGUgc3BhY2Ugb2YgdGhlIHN1cmZhY2UncyB0YXJnZXQgc3VyZmFjZS4KICAgICBJbnRSZWN0
IG1fc2Npc3NvclJlY3Q7CiAKKyAgICAvLyBGSVhNRTogV2hlbiB0aGUgcmVsYXRpb25zaGlwcyBi
ZXR3ZWVuIENDRGFtYWdlVHJhY2tlci9DQ1JlbmRlclBhc3MvQ0NSZW5kZXJTdXJmYWNlL0NDUmVu
ZGVyUGFzRHJhd1F1YWQKKyAgICAvLyBhcmUgZml4ZWQsIHRoaXMgZmxhZyBtYXkgZ28gYXdheS4g
UmlnaHQgbm93IG5lZWRlZCB0byB0cmFuc2ZlciB0aGUgaW5mb3JtYXRpb24gZnJvbSBDQ0RhbWFn
ZVRyYWNrZXIKKyAgICAvLyB0byBDQ1JlbmRlclBhc3NEcmF3UXVhZCB3aXRob3V0IGNyZWF0aW5n
IG5ldyBjbGFzcyBkZXBlbmRlbmNpZXMuCisgICAgYm9vbCBtX2NvbnRlbnRzQ2hhbmdlZDsKKwog
ICAgIFZlY3RvcjxDQ0xheWVySW1wbCo+IG1fbGF5ZXJMaXN0OwogCiAgICAgLy8gVGhlIG5lYXJl
c3QgYW5jZXN0b3IgdGFyZ2V0IHN1cmZhY2UgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIGNvbnRlbnRz
IG9mIHRoaXMgc3VyZmFjZSwgYW5kIHRoYXQgaXMgZ29pbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3BwCmluZGV4IGJiNGUyYzJh
YzViYTE1ZDNkMzk5OTQzOWNhMjJkYzA3NjU1NGZlODQuLjg3NTA1MjliYWU3MzFiN2Y2ZjUwOThh
YjM2M2VjNGE5Mjk3Yzk0MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcApAQCAtODkyLDcgKzg5Miw3IEBAIFRFU1RfRihD
Q0RhbWFnZVRyYWNrZXJUZXN0LCB2ZXJpZnlEYW1hZ2VGb3JNYXNrKQogICAgIEVYUEVDVF9UUlVF
KGNoaWxkRGFtYWdlUmVjdC5pc0VtcHR5KCkpOwogCiAgICAgLy8gVGhlbiB0ZXN0IHRoZSBwcm9w
ZXJ0eSBjaGFuZ2UuCi0gICAgbWFza0xheWVyLT5zZXRPcGFjaXR5KDAuNSk7CisgICAgbWFza0xh
eWVyLT5zZXRTdGFja2luZ09yZGVyQ2hhbmdlZCh0cnVlKTsKICAgICBlbXVsYXRlRHJhd2luZ09u
ZUZyYW1lKHJvb3QuZ2V0KCkpOwogICAgIGNoaWxkRGFtYWdlUmVjdCA9IGNoaWxkLT5yZW5kZXJT
dXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+Y3VycmVudERhbWFnZVJlY3QoKTsKICAgICBFWFBF
Q1RfRkxPQVRfUkVDVF9FUShGbG9hdFJlY3QoMCwgMCwgMzAsIDMwKSwgY2hpbGREYW1hZ2VSZWN0
KTsKQEAgLTk1NCw3ICs5NTQsNyBAQCBURVNUX0YoQ0NEYW1hZ2VUcmFja2VyVGVzdCwgdmVyaWZ5
RGFtYWdlRm9yUmVwbGljYU1hc2spCiAgICAgQVNTRVJUX1RSVUUoZ3JhbmRDaGlsZDEtPnJlbmRl
clN1cmZhY2UoKSk7CiAKICAgICAvLyBDQVNFIDE6IGEgcHJvcGVydHkgY2hhbmdlIG9uIHRoZSBt
YXNrIHNob3VsZCBkYW1hZ2Ugb25seSB0aGUgcmVmbGVjdGVkIHJlZ2lvbiBvbiB0aGUgdGFyZ2V0
IHN1cmZhY2UuCi0gICAgcmVwbGljYU1hc2tMYXllci0+c2V0T3BhY2l0eSgwLjZmKTsKKyAgICBy
ZXBsaWNhTWFza0xheWVyLT5zZXRTdGFja2luZ09yZGVyQ2hhbmdlZCh0cnVlKTsKICAgICBlbXVs
YXRlRHJhd2luZ09uZUZyYW1lKHJvb3QuZ2V0KCkpOwogCiAgICAgRmxvYXRSZWN0IGdyYW5kQ2hp
bGREYW1hZ2VSZWN0ID0gZ3JhbmRDaGlsZDEtPnJlbmRlclN1cmZhY2UoKS0+ZGFtYWdlVHJhY2tl
cigpLT5jdXJyZW50RGFtYWdlUmVjdCgpOwpAQCAtMTAxNCw3ICsxMDE0LDcgQEAgVEVTVF9GKEND
RGFtYWdlVHJhY2tlclRlc3QsIHZlcmlmeURhbWFnZUZvclJlcGxpY2FNYXNrV2l0aEFuY2hvcikK
ICAgICBBU1NFUlRfVFJVRShncmFuZENoaWxkMS0+cmVuZGVyU3VyZmFjZSgpKTsKIAogICAgIC8v
IEEgcHJvcGVydHkgY2hhbmdlIG9uIHRoZSByZXBsaWNhTWFzayBzaG91bGQgZGFtYWdlIHRoZSBy
ZWZsZWN0ZWQgcmVnaW9uIG9uIHRoZSB0YXJnZXQgc3VyZmFjZS4KLSAgICByZXBsaWNhTWFza0xh
eWVyLT5zZXRPcGFjaXR5KDAuNmYpOworICAgIHJlcGxpY2FNYXNrTGF5ZXItPnNldFN0YWNraW5n
T3JkZXJDaGFuZ2VkKHRydWUpOwogICAgIGVtdWxhdGVEcmF3aW5nT25lRnJhbWUocm9vdC5nZXQo
KSk7CiAKICAgICBGbG9hdFJlY3QgY2hpbGREYW1hZ2VSZWN0ID0gY2hpbGQxLT5yZW5kZXJTdXJm
YWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+Y3VycmVudERhbWFnZVJlY3QoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcAppbmRleCA4MjdjOWFk
YWFlMDc0NDU2YTlkMGMwMmI4NzM4Mzc0NzlmNjM2NWQzLi44YjQwMTU2NmI4YTVmZTNlMjEzMWNm
ZGY1ODVhY2I1MjkzNzNiNWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9DQ0xheWVySW1wbFRlc3QuY3BwCkBAIC00MiwyMSArNDIsMzMgQEAgbmFtZXNwYWNlIHsKICAg
ICBjb2RlVG9UZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfVFJVRShyb290LT5sYXllclByb3BlcnR5Q2hhbmdl
ZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfVFJVRShjaGlsZC0+
bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBF
WFBFQ1RfVFJVRShncmFuZENoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKQorICAgIEVYUEVD
VF9UUlVFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAg
ICAgICAgXAorICAgIEVYUEVDVF9GQUxTRShyb290LT5sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5n
ZWQoKSkKKwogCiAjZGVmaW5lIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0RJRF9OT1RfQ0hB
TkdFKGNvZGVUb1Rlc3QpICAgICAgICAgICBcCiAgICAgcm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFj
a2luZ0ZvclN1YnRyZWUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY29kZVRv
VGVzdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCiAgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAg
ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX0ZBTFNFKGNoaWxkLT5sYXllclBy
b3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRVhQRUNUX0ZB
TFNFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpCisgICAgRVhQRUNUX0ZBTFNF
KGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICBc
CisgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpKQog
CiAjZGVmaW5lIEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX0xBWUVSX0NIQU5HRUQoY29kZVRvVGVz
dCkgICAgICAgICAgICAgICBcCiAgICAgcm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1
YnRyZWUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY29kZVRvVGVzdDsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg
ICAgRVhQRUNUX1RSVUUocm9vdC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX0ZBTFNFKGNoaWxkLT5sYXllclByb3BlcnR5Q2hh
bmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRVhQRUNUX0ZBTFNFKGdyYW5k
Q2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpCisgICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hp
bGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQ
RUNUX0ZBTFNFKHJvb3QtPmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpKQorCisjZGVmaW5l
IEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX1NVUkZBQ0VfQ0hBTkdFRChjb2RlVG9UZXN0KSAgICAg
ICAgICAgICBcCisgICAgcm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29kZVRvVGVzdDsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNU
X0ZBTFNFKHJvb3QtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hpbGQtPmxh
eWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX1RS
VUUocm9vdC0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkpCiAKIFRFU1QoQ0NMYXllcklt
cGxUZXN0LCB2ZXJpZnlMYXllckNoYW5nZXNBcmVUcmFja2VkUHJvcGVybHkpCiB7CkBAIC05OCwx
MSArMTEwLDkgQEAgVEVTVChDQ0xheWVySW1wbFRlc3QsIHZlcmlmeUxheWVyQ2hhbmdlc0FyZVRy
YWNrZWRQcm9wZXJseSkKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJv
b3QtPnNldE1hc2tMYXllcihDQ0xheWVySW1wbDo6Y3JlYXRlKDQpKSk7CiAgICAgRVhFQ1VURV9B
TkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRNYXNrc1RvQm91bmRzKHRydWUpKTsK
ICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldE9wYXF1ZSh0
cnVlKSk7Ci0gICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRP
cGFjaXR5KGFyYml0cmFyeU51bWJlcikpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVF
X0NIQU5HRUQocm9vdC0+c2V0UmVwbGljYUxheWVyKENDTGF5ZXJJbXBsOjpjcmVhdGUoNSkpKTsK
ICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldFBvc2l0aW9u
KGFyYml0cmFyeUZsb2F0UG9pbnQpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9D
SEFOR0VEKHJvb3QtPnNldFByZXNlcnZlczNEKHRydWUpKTsKLSAgICBFWEVDVVRFX0FORF9WRVJJ
RllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldFRyYW5zZm9ybShhcmJpdHJhcnlUcmFuc2Zvcm0p
KTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldERvdWJs
ZVNpZGVkKGZhbHNlKSk7IC8vIGNvbnN0cnVjdG9yIGluaXRpYWxpemVzIGl0IHRvICJ0cnVlIi4K
ICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNjcm9sbEJ5KGFy
Yml0cmFyeUludFNpemUpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VE
KHJvb3QtPnNldFNjcm9sbERlbHRhKGFyYml0cmFyeUludFNpemUpKTsKQEAgLTExNyw2ICsxMjcs
MTAgQEAgVEVTVChDQ0xheWVySW1wbFRlc3QsIHZlcmlmeUxheWVyQ2hhbmdlc0FyZVRyYWNrZWRQ
cm9wZXJseSkKICAgICBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9MQVlFUl9DSEFOR0VEKHJvb3Qt
PnNldEJhY2tncm91bmRDb2xvcihDb2xvcjo6Z3JheSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklG
WV9PTkxZX0xBWUVSX0NIQU5HRUQocm9vdC0+c2V0QmFja2dyb3VuZEZpbHRlcnMoYXJiaXRyYXJ5
RmlsdGVycykpOwogCisgICAgLy8gQ2hhbmdpbmcgdGhlc2UgcHJvcGVydGllcyBvbmx5IGFmZmVj
dHMgaG93IHJlbmRlcidzIHN1cmZhY2UgaXMgZHJhd24KKyAgICBFWEVDVVRFX0FORF9WRVJJRllf
T05MWV9TVVJGQUNFX0NIQU5HRUQocm9vdC0+c2V0T3BhY2l0eShhcmJpdHJhcnlOdW1iZXIpKTsK
KyAgICBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9TVVJGQUNFX0NIQU5HRUQocm9vdC0+c2V0VHJh
bnNmb3JtKGFyYml0cmFyeVRyYW5zZm9ybSkpOworCiAgICAgLy8gU3BlY2lhbCBjYXNlOiBjaGVj
ayB0aGF0IHN1YmxheWVyIHRyYW5zZm9ybSBjaGFuZ2VzIGFsbCBsYXllcidzIGRlc2NlbmRhbnRz
LCBidXQgbm90IHRoZSBsYXllciBpdHNlbGYuCiAgICAgcm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFj
a2luZ0ZvclN1YnRyZWUoKTsKICAgICByb290LT5zZXRTdWJsYXllclRyYW5zZm9ybShhcmJpdHJh
cnlUcmFuc2Zvcm0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9D
Q0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAppbmRleCAxNjU3YzMzNDE4OTEzMDNjZWMzM2U2
MDlkY2JkNzllNDFiMmNjNzlhLi42YzI1NjAyODllZjk5NTFhZGExZmFiOGE3NzVmMjhkZTIzMWI5
ODNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVl
SG9zdEltcGxUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5
ZXJUcmVlSG9zdEltcGxUZXN0LmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgImNjL0ND
TGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NMYXllclRpbGluZ0RhdGEuaCIKICNpbmNsdWRl
ICJjYy9DQ1F1YWRDdWxsZXIuaCIKKyNpbmNsdWRlICJjYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5o
IgogI2luY2x1ZGUgImNjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NT
aW5nbGVUaHJlYWRQcm94eS5oIgogI2luY2x1ZGUgImNjL0NDU29saWRDb2xvckRyYXdRdWFkLmgi
CkBAIC0xNzM0LDQgKzE3MzUsNTA4IEBAIFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwg
ZG9udFVzZU9sZFJlc291cmNlc0FmdGVyTG9zdENvbnRleHQpCiAgICAgbV9ob3N0SW1wbC0+c3dh
cEJ1ZmZlcnMoKTsKIH0KIAorVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBzdXJmYWNl
VGV4dHVyZUNhY2hpbmcpCit7CisgICAgQ0NTZXR0aW5ncyBzZXR0aW5nczsKKyAgICAKKyAgICBz
ZXR0aW5ncy5wYXJ0aWFsU3dhcEVuYWJsZWQgPSB0cnVlOworICAgIAorICAgIE93blB0cjxDQ0xh
eWVyVHJlZUhvc3RJbXBsPiBteUhvc3RJbXBsID0gQ0NMYXllclRyZWVIb3N0SW1wbDo6Y3JlYXRl
KHNldHRpbmdzLCB0aGlzKTsKKyAgICAKKyAgICBSZWZQdHI8Q0NHcmFwaGljc0NvbnRleHQ+IGNv
bnRleHQgPSBDQ0dyYXBoaWNzQ29udGV4dDo6Y3JlYXRlM0QoR3JhcGhpY3NDb250ZXh0M0RQcml2
YXRlOjpjcmVhdGVHcmFwaGljc0NvbnRleHRGcm9tV2ViQ29udGV4dChhZG9wdFB0cihuZXcgUGFy
dGlhbFN3YXBDb250ZXh0KCkpLCBHcmFwaGljc0NvbnRleHQzRDo6UmVuZGVyRGlyZWN0bHlUb0hv
c3RXaW5kb3cpKTsKKworICAgIG15SG9zdEltcGwtPmluaXRpYWxpemVMYXllclJlbmRlcmVyKGNv
bnRleHQucmVsZWFzZSgpLCBVbnRocm90dGxlZFVwbG9hZGVyKTsKKyAgICBteUhvc3RJbXBsLT5z
ZXRWaWV3cG9ydFNpemUoSW50U2l6ZSgxMDAsIDEwMCkpOworCisgICAgT3duUHRyPENDTGF5ZXJJ
bXBsPiByb290ID0gQ0NMYXllckltcGw6OmNyZWF0ZSgxKTsKKyAgICBDQ0xheWVySW1wbCogcm9v
dFB0ciA9IHJvb3QuZ2V0KCk7CisKKyAgICByb290LT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50
KDAsIDApKTsKKyAgICByb290LT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KDAsIDApKTsKKyAgICBy
b290LT5zZXRCb3VuZHMoSW50U2l6ZSgxMDAsIDEwMCkpOworICAgIHJvb3QtPnNldFZpc2libGVM
YXllclJlY3QoSW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpOworICAgIHJvb3QtPnNldERyYXdzQ29u
dGVudCh0cnVlKTsKKyAgICBteUhvc3RJbXBsLT5zZXRSb290TGF5ZXIocm9vdC5yZWxlYXNlKCkp
OworCisgICAgT3duUHRyPENDTGF5ZXJJbXBsPiBzdXJmYWNlTGF5ZXIgPSBDQ0xheWVySW1wbDo6
Y3JlYXRlKDIpOworICAgIENDTGF5ZXJJbXBsKiBzdXJmYWNlTGF5ZXJQdHIgPSBzdXJmYWNlTGF5
ZXIuZ2V0KCk7CisKKyAgICAvLyBTdXJmYWNlIGxheWVyIGlzIHRoZSBsYXllciB0aGF0IGNoYW5n
ZXMgaXRzIG9wYWNpdHkKKyAgICAvLyBJdCB3aWxsIGNvbnRhaW4gb3RoZXIgbGF5ZXJzIHRoYXQg
ZHJhdyBjb250ZW50LgorICAgIHN1cmZhY2VMYXllclB0ci0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQ
b2ludCgwLCAwKSk7CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50
KDEwLCAxMCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0Qm91bmRzKEludFNpemUoNTAsIDUw
KSk7CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRWaXNpYmxlTGF5ZXJSZWN0KEludFJlY3QoMCwg
MCwgNTAsIDUwKSk7CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXREcmF3c0NvbnRlbnQoZmFsc2Up
OyAvLyBvbmx5IGNoaWxkcmVuIGRyYXcgY29udGVudAorICAgIHN1cmZhY2VMYXllclB0ci0+c2V0
T3BhY2l0eSgwLjVmKTsgLy8gVGhpcyB3aWxsIGNhdXNlIGl0IHRvIGhhdmUgYSBzdXJmYWNlCisg
ICAgcm9vdFB0ci0+YWRkQ2hpbGQoc3VyZmFjZUxheWVyLnJlbGVhc2UoKSk7CisKKyAgICAvLyBD
aGlsZCBvZiB0aGUgc3VyZmFjZSBsYXllciB3aWxsIHByb2R1Y2Ugc29tZSBxdWFkcworICAgIE93
blB0cjxGYWtlTGF5ZXJXaXRoUXVhZHM+IGNoaWxkID0gRmFrZUxheWVyV2l0aFF1YWRzOjpjcmVh
dGUoMyk7CisgICAgRmFrZUxheWVyV2l0aFF1YWRzKiBjaGlsZFB0ciA9IGNoaWxkLmdldCgpOwor
CisgICAgY2hpbGRQdHItPnNldEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIGNo
aWxkUHRyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KDUsIDUpKTsKKyAgICBjaGlsZFB0ci0+c2V0
Qm91bmRzKEludFNpemUoMTAsIDEwKSk7CisgICAgY2hpbGRQdHItPnNldFZpc2libGVMYXllclJl
Y3QoSW50UmVjdCgwLCAwLCAxMCwgMTApKTsKKyAgICBjaGlsZFB0ci0+c2V0RHJhd3NDb250ZW50
KHRydWUpOworCisgICAgc3VyZmFjZUxheWVyUHRyLT5hZGRDaGlsZChjaGlsZC5yZWxlYXNlKCkp
OworCisgICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7
CisgICAgICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpKTsK
KworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAgbXlIb3N0
SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZl
IHR3byByZW5kZXIgcGFzc2VzLCBlYWNoIHdpdGggb25lIHF1YWQKKyAgICAgICAgQVNTRVJUX0VR
KDJVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBm
cmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNU
X0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKworICAg
ICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUucmVuZGVyUGFzc2Vz
WzFdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgpKTsKKyAgICAgICAgQ0NSZW5kZXJQYXNzRHJh
d1F1YWQqIHF1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGZyYW1lLnJl
bmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9UUlVF
KHF1YWQtPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKyAgICB9CisKKyAgICAvLyBEcmF3IHdpdGhvdXQg
YW55IGNoYW5nZQorICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRh
IGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZy
YW1lKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAg
IG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworCisgICAgICAgIC8vIE11c3Qg
cmVjZWl2ZSB0d28gRU1QVFkgcmVuZGVyIHBhc3NlcworICAgICAgICBBU1NFUlRfRVEoMlUsIGZy
YW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMFUsIGZyYW1lLnJl
bmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMFUs
IGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgIH0KKworICAg
IC8vIENoYW5nZSBvcGFjaXR5IGFuZCBkcmF3CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRPcGFj
aXR5KDAuNmYpOworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRh
IGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZy
YW1lKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAg
IG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworCisgICAgICAgIC8vIE11c3Qg
cmVjZWl2ZSBvbmUgcmVuZGVyIHBhc3MsIGFzIHRoZSBvdGhlciBvbmUgc2hvdWxkIGJlIGN1bGxl
ZAorICAgICAgICBBU1NFUlRfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworCisg
ICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNp
emUoKSk7CisgICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5y
ZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1Jl
bmRlclBhc3NEcmF3UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFk
Kj4oZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAg
RVhQRUNUX0ZBTFNFKHF1YWQtPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKyAgICB9CisKKyAgICAvLyBD
aGFuZ2UgbGVzcyBiZW5pZ24gcHJvcGVydHkgYW5kIGRyYXcgLSBzaG91bGQgaGF2ZSBjb250ZW50
cyBjaGFuZ2VkIGZsYWcKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldFN0YWNraW5nT3JkZXJDaGFu
Z2VkKHRydWUpOworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRh
IGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZy
YW1lKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAg
IG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworCisgICAgICAgIC8vIE11c3Qg
cmVjZWl2ZSB0d28gcmVuZGVyIHBhc3NlcywgZWFjaCB3aXRoIG9uZSBxdWFkCisgICAgICAgIEFT
U0VSVF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisKKyAgICAgICAgRVhQRUNU
X0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAg
ICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlNvbGlkQ29sb3IsIGZyYW1lLnJlbmRlclBhc3Nlc1sw
XS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKENDRHJh
d1F1YWQ6OlJlbmRlclBhc3MsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS0+
bWF0ZXJpYWwoKSk7CisgICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGlj
X2Nhc3Q8Q0NSZW5kZXJQYXNzRHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRM
aXN0KClbMF0uZ2V0KCkpOworICAgICAgICBFWFBFQ1RfVFJVRShxdWFkLT5jb250ZW50c0NoYW5n
ZWQoKSk7CisgICAgfQorCisgICAgLy8gQ2hhbmdlIG9wYWNpdHkgYWdhaW4sIGJ1dCBldmljdCB0
aGUgY2FjaGVkIHN1cmZhY2UgdGV4dHVyZQorICAgIHN1cmZhY2VMYXllclB0ci0+c2V0T3BhY2l0
eSgwLjVmKTsKKyAgICBNYW5hZ2VkVGV4dHVyZSogY29udGVudHNUZXh0dXJlID0gc3VyZmFjZUxh
eWVyUHRyLT5yZW5kZXJTdXJmYWNlKCktPmNvbnRlbnRzVGV4dHVyZSgpOworICAgIEFTU0VSVF9U
UlVFKGNvbnRlbnRzVGV4dHVyZS0+aXNWYWxpZChjb250ZW50c1RleHR1cmUtPnNpemUoKSwgY29u
dGVudHNUZXh0dXJlLT5mb3JtYXQoKSkpOworICAgIENDUmVuZGVyZXIqIHJlbmRlcmVyID0gbXlI
b3N0SW1wbC0+bGF5ZXJSZW5kZXJlcigpOworICAgIFRleHR1cmVNYW5hZ2VyKiB0ZXh0dXJlTWFu
YWdlciA9IHJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsKKyAgICBzaXplX3QgbWF4TWVt
b3J5TGltaXQgPSB0ZXh0dXJlTWFuYWdlci0+bWF4TWVtb3J5TGltaXRCeXRlcygpOworCisgICAg
Ly8gVGhpcyBzaG91bGQgZXZpY2UgYWxsIGNhY2hlZCBzdXJmYWNlcworICAgIHRleHR1cmVNYW5h
Z2VyLT5zZXRNYXhNZW1vcnlMaW1pdEJ5dGVzKDApOworCisgICAgLy8gUmVzdG9yZSBvcmlnaW5h
bCBsaW1pdAorICAgIHRleHR1cmVNYW5hZ2VyLT5zZXRNYXhNZW1vcnlMaW1pdEJ5dGVzKG1heE1l
bW9yeUxpbWl0KTsKKworICAgIC8vIFdhcyBvdXIgc3VyZmFjZSBldmljdGVkPworICAgIEFTU0VS
VF9GQUxTRShjb250ZW50c1RleHR1cmUtPmlzVmFsaWQoY29udGVudHNUZXh0dXJlLT5zaXplKCks
IGNvbnRlbnRzVGV4dHVyZS0+Zm9ybWF0KCkpKTsKKworICAgIC8vIENoYW5nZSBvcGFjaXR5IGFu
ZCBkcmF3CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRPcGFjaXR5KDAuNmYpOworICAgIHsKKyAg
ICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBF
Q1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgbXlI
b3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdB
bGxMYXllcnMoZnJhbWUpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gcmVuZGVyIHBh
c3NlcworICAgICAgICBBU1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOwor
CisgICAgICAgIC8vIEV2ZW4gdGhvdWdoIG5vdCBlbm91Z2ggcHJvcGVydGllcyBjaGFuZ2VkLCB0
aGUgZW50aXJlIHRoaW5nIG11c3QgYmUKKyAgICAgICAgLy8gcmVkcmF3biBhcyB3ZSBkb24ndCBo
YXZlIGNhY2hlZCB0ZXh0dXJlcworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBh
c3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1l
LnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKS5zaXplKCkpOworCisgICAgICAgIEVYUEVDVF9F
UShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0
KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVhZCA9
IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFzc2VzWzFd
LT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHF1YWQtPmNvbnRl
bnRzQ2hhbmdlZCgpKTsKKyAgICB9Cit9CisKK3N0cnVjdCBSZW5kZXJQYXNzQ2FjaGVFbnRyeSB7
CisgICAgbXV0YWJsZSBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZW5kZXJQYXNzUHRyOworICAgIEND
UmVuZGVyUGFzcyogcmVuZGVyUGFzczsKKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5KFBhc3NP
d25QdHI8Q0NSZW5kZXJQYXNzPiByKQorICAgICAgICA6IHJlbmRlclBhc3NQdHIociksCisgICAg
ICAgICAgcmVuZGVyUGFzcyhyZW5kZXJQYXNzUHRyLmdldCgpKQorICAgIHsKKyAgICB9CisKKyAg
ICBSZW5kZXJQYXNzQ2FjaGVFbnRyeSgpCisgICAgeworICAgIH0KKworICAgIFJlbmRlclBhc3ND
YWNoZUVudHJ5KGNvbnN0IFJlbmRlclBhc3NDYWNoZUVudHJ5JiBlbnRyeSkKKyAgICAgICAgOiBy
ZW5kZXJQYXNzUHRyKGVudHJ5LnJlbmRlclBhc3NQdHIucmVsZWFzZSgpKSwKKyAgICAgICAgICBy
ZW5kZXJQYXNzKGVudHJ5LnJlbmRlclBhc3MpCisgICAgeworICAgIH0KKworICAgIFJlbmRlclBh
c3NDYWNoZUVudHJ5JiBvcGVyYXRvcj0oY29uc3QgUmVuZGVyUGFzc0NhY2hlRW50cnkmIGVudHJ5
KQorICAgIHsKKyAgICAgICAgcmVuZGVyUGFzc1B0ciA9IGVudHJ5LnJlbmRlclBhc3NQdHIucmVs
ZWFzZSgpOworICAgICAgICByZW5kZXJQYXNzID0gZW50cnkucmVuZGVyUGFzczsKKyAgICAgICAg
cmV0dXJuICp0aGlzOworICAgIH0KK307CisKK3N0cnVjdCBSZW5kZXJQYXNzUmVtb3ZhbFRlc3RE
YXRhIHsKKyAgICBDQ1JlbmRlclBhc3NMaXN0IHJlbmRlclBhc3NMaXN0OworICAgIHN0ZDo6bWFw
PGNoYXIsIFJlbmRlclBhc3NDYWNoZUVudHJ5PiByZW5kZXJQYXNzQ2FjaGU7CisgICAgc3RkOjpt
YXA8Y29uc3QgQ0NSZW5kZXJQYXNzKiwgY2hhcj4gcmVuZGVyUGFzc0lkOworICAgIFZlY3RvcjxP
d25QdHI8Q0NSZW5kZXJTdXJmYWNlPiA+IHJlbmRlclN1cmZhY2VTdG9yZTsKKyAgICBWZWN0b3I8
T3duUHRyPENDTGF5ZXJJbXBsPiA+IGxheWVyU3RvcmU7CisgICAgT3duUHRyPENDU2hhcmVkUXVh
ZFN0YXRlPiBzaGFyZWRRdWFkU3RhdGU7Cit9OworCitjbGFzcyBGYWtlUmVuZGVyU3VyZmFjZSA6
IHB1YmxpYyBDQ1JlbmRlclN1cmZhY2UgeworcHJpdmF0ZToKKyAgICBib29sIG1faGFzQ2FjaGVk
VGV4dHVyZTsKKworcHVibGljOgorICAgIEZha2VSZW5kZXJTdXJmYWNlKENDTGF5ZXJJbXBsKiBs
YXllckltcGwpCisgICAgICAgIDogQ0NSZW5kZXJTdXJmYWNlKGxheWVySW1wbCksCisgICAgICAg
ICAgbV9oYXNDYWNoZWRUZXh0dXJlKGZhbHNlKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFs
IGJvb2wgaGFzQ2FjaGVkQ29udGVudHNUZXh0dXJlKCkgY29uc3QgT1ZFUlJJREUKKyAgICB7Cisg
ICAgICAgIHJldHVybiBtX2hhc0NhY2hlZFRleHR1cmU7CisgICAgfQorCisgICAgdmlydHVhbCBi
b29sIHByZXBhcmVDb250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBscmMpIE9W
RVJSSURFCisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNl
dEhhc0NhY2hlZFRleHR1cmUoYm9vbCBoYXNDYWNoZWRUZXh0dXJlKQorICAgIHsKKyAgICAgICAg
bV9oYXNDYWNoZWRUZXh0dXJlID0gaGFzQ2FjaGVkVGV4dHVyZTsKKyAgICB9Cit9OworCitzdGF0
aWMgUGFzc093blB0cjxDQ1JlbmRlclBhc3M+IGNyZWF0ZUR1bW15UmVuZGVyUGFzcyhSZW5kZXJQ
YXNzUmVtb3ZhbFRlc3REYXRhJiB0ZXN0RGF0YSkKK3sKKyAgICBPd25QdHI8Q0NMYXllckltcGw+
IGxheWVySW1wbCA9IENDTGF5ZXJJbXBsOjpjcmVhdGUoMSk7CisgICAgQ0NSZW5kZXJTdXJmYWNl
KiByZW5kZXJTdXJmYWNlID0gbmV3IEZha2VSZW5kZXJTdXJmYWNlKGxheWVySW1wbC5nZXQoKSk7
CisgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcmVuZGVyUGFzc1B0ciA9IENDUmVuZGVyUGFzczo6
Y3JlYXRlKHJlbmRlclN1cmZhY2UpOworCisgICAgdGVzdERhdGEucmVuZGVyU3VyZmFjZVN0b3Jl
LmFwcGVuZChhZG9wdFB0cihyZW5kZXJTdXJmYWNlKSk7CisgICAgdGVzdERhdGEubGF5ZXJTdG9y
ZS5hcHBlbmQobGF5ZXJJbXBsLnJlbGVhc2UoKSk7CisgICAgcmV0dXJuIHJlbmRlclBhc3NQdHIu
cmVsZWFzZSgpOworfQorCitzdGF0aWMgdm9pZCBjb25maWd1cmVSZW5kZXJQYXNzVGVzdERhdGEo
Y29uc3QgY2hhciogdGVzdFNjcmlwdCwgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSYgdGVzdERh
dGEpCit7CisgICAgLy8gT25lIHNoYXJlZCBzdGF0ZSBmb3IgYWxsIHF1YWRzIC0gd2UgZG9uJ3Qg
bmVlZCB0aGUgY29ycmVjdCBkZXRhaWxzCisgICAgdGVzdERhdGEuc2hhcmVkUXVhZFN0YXRlID0g
Q0NTaGFyZWRRdWFkU3RhdGU6OmNyZWF0ZShXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBXZWJU
cmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBJbnRSZWN0KCksIEludFJlY3QoKSwgMS4wLCB0cnVlKTsK
KworICAgIGNvbnN0IGNoYXIqIGN1cnJlbnRDaGFyID0gdGVzdFNjcmlwdDsKKworICAgIC8vIFBy
ZS1jcmVhdGUgcm9vdCBwYXNzCisgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcm9vdFJlbmRlclBh
c3MgPSBjcmVhdGVEdW1teVJlbmRlclBhc3ModGVzdERhdGEpOworICAgIHRlc3REYXRhLnJlbmRl
clBhc3NJZC5pbnNlcnQoc3RkOjpwYWlyPENDUmVuZGVyUGFzcyosIGNoYXI+KHJvb3RSZW5kZXJQ
YXNzLmdldCgpLCB0ZXN0U2NyaXB0WzBdKSk7CisgICAgdGVzdERhdGEucmVuZGVyUGFzc0NhY2hl
Lmluc2VydChzdGQ6OnBhaXI8Y2hhciwgUmVuZGVyUGFzc0NhY2hlRW50cnk+KHRlc3RTY3JpcHRb
MF0sIFJlbmRlclBhc3NDYWNoZUVudHJ5KHJvb3RSZW5kZXJQYXNzLnJlbGVhc2UoKSkpKTsKKyAg
ICB3aGlsZSAoKmN1cnJlbnRDaGFyICE9ICdcMCcpIHsKKyAgICAgICAgY2hhciByZW5kZXJQYXNz
SWQgPSBjdXJyZW50Q2hhclswXTsKKyAgICAgICAgY3VycmVudENoYXIrKzsKKworICAgICAgICBP
d25QdHI8Q0NSZW5kZXJQYXNzPiByZW5kZXJQYXNzOworCisgICAgICAgIGJvb2wgaXNSZXBsaWNh
ID0gZmFsc2U7CisgICAgICAgIGlmICghdGVzdERhdGEucmVuZGVyUGFzc0NhY2hlW3JlbmRlclBh
c3NJZF0ucmVuZGVyUGFzc1B0ci5nZXQoKSkKKyAgICAgICAgICAgIGlzUmVwbGljYSA9IHRydWU7
CisKKyAgICAgICAgcmVuZGVyUGFzcyA9IHRlc3REYXRhLnJlbmRlclBhc3NDYWNoZVtyZW5kZXJQ
YXNzSWRdLnJlbmRlclBhc3NQdHIucmVsZWFzZSgpOworCisgICAgICAgIC8vIEN5Y2xlIHRocm91
Z2ggcXVhZCBkYXRhIGFuZCBjcmVhdGUgYWxsIHF1YWRzCisgICAgICAgIHdoaWxlICgqY3VycmVu
dENoYXIgIT0gJ1xuJyAmJiAqY3VycmVudENoYXIgIT0gJ1wwJykgeworICAgICAgICAgICAgaWYg
KCpjdXJyZW50Q2hhciA9PSAncycpIHsKKyAgICAgICAgICAgICAgICAvLyBTb2xpZCBjb2xvciBk
cmF3IHF1YWQKKyAgICAgICAgICAgICAgICBPd25QdHI8Q0NEcmF3UXVhZD4gcXVhZCA9IENDU29s
aWRDb2xvckRyYXdRdWFkOjpjcmVhdGUodGVzdERhdGEuc2hhcmVkUXVhZFN0YXRlLmdldCgpLCBJ
bnRSZWN0KDAsIDAsIDEwLCAxMCksIENvbG9yOjp3aGl0ZSk7CisgICAgICAgICAgICAgICAgcmVu
ZGVyUGFzcy0+YXBwZW5kUXVhZChxdWFkLnJlbGVhc2UoKSk7CisgICAgICAgICAgICAgICAgY3Vy
cmVudENoYXIrKzsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoKCpjdXJyZW50Q2hhciA+PSAnQScp
ICYmICgqY3VycmVudENoYXIgPD0gJ1onKSkgeworICAgICAgICAgICAgICAgIC8vIFJlbmRlclBh
c3MgZHJhdyBxdWFkCisgICAgICAgICAgICAgICAgY2hhciBuZXdSZW5kZXJQYXNzSWQgPSAqY3Vy
cmVudENoYXI7CisgICAgICAgICAgICAgICAgY3VycmVudENoYXIrKzsKKyAgICAgICAgICAgICAg
ICBib29sIGhhc1RleHR1cmUgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBib29sIGNvbnRlbnRz
Q2hhbmdlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKCpj
dXJyZW50Q2hhciA9PSAnWycpIHsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudENoYXIrKzsK
KyAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCgqY3VycmVudENoYXIgIT0gJ10nKSAmJiAoKmN1
cnJlbnRDaGFyICE9ICdcMCcpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKCpj
dXJyZW50Q2hhcikgeworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnYyc6CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29udGVudHNDaGFuZ2VkID0gZmFsc2U7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICd0
JzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNUZXh0dXJlID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyKys7CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhciA9PSAnXScpCisgICAg
ICAgICAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcisrOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZWZS
ZW5kZXJQYXNzID0gY3JlYXRlRHVtbXlSZW5kZXJQYXNzKHRlc3REYXRhKTsKKyAgICAgICAgICAg
ICAgICBPd25QdHI8Q0NSZW5kZXJQYXNzRHJhd1F1YWQ+IHF1YWQgPSBDQ1JlbmRlclBhc3NEcmF3
UXVhZDo6Y3JlYXRlKHRlc3REYXRhLnNoYXJlZFF1YWRTdGF0ZS5nZXQoKSwgSW50UmVjdCgpLCBy
ZWZSZW5kZXJQYXNzLmdldCgpLCBpc1JlcGxpY2EsIFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9u
cygpLCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMoKSwgMSwgY29udGVudHNDaGFuZ2VkKTsK
KyAgICAgICAgICAgICAgICBGYWtlUmVuZGVyU3VyZmFjZSogcmVmUmVuZGVyU3VyZmFjZSA9IHN0
YXRpY19jYXN0PEZha2VSZW5kZXJTdXJmYWNlKj4ocmVmUmVuZGVyUGFzcy0+dGFyZ2V0U3VyZmFj
ZSgpKTsKKyAgICAgICAgICAgICAgICByZWZSZW5kZXJTdXJmYWNlLT5zZXRIYXNDYWNoZWRUZXh0
dXJlKGhhc1RleHR1cmUpOworICAgICAgICAgICAgICAgIHRlc3REYXRhLnJlbmRlclBhc3NJZC5p
bnNlcnQoc3RkOjpwYWlyPENDUmVuZGVyUGFzcyosIGNoYXI+KHJlZlJlbmRlclBhc3MuZ2V0KCks
IG5ld1JlbmRlclBhc3NJZCkpOworICAgICAgICAgICAgICAgIHRlc3REYXRhLnJlbmRlclBhc3ND
YWNoZS5pbnNlcnQoc3RkOjpwYWlyPGNoYXIsIFJlbmRlclBhc3NDYWNoZUVudHJ5PihuZXdSZW5k
ZXJQYXNzSWQsIFJlbmRlclBhc3NDYWNoZUVudHJ5KHJlZlJlbmRlclBhc3MucmVsZWFzZSgpKSkp
OworICAgICAgICAgICAgICAgIHJlbmRlclBhc3MtPmFwcGVuZFF1YWQocXVhZC5yZWxlYXNlKCkp
OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHRlc3REYXRhLnJlbmRlclBhc3NM
aXN0Lmluc2VydCgwLCByZW5kZXJQYXNzLnJlbGVhc2UoKSk7CisgICAgICAgIGlmICgqY3VycmVu
dENoYXIgIT0gJ1wwJykKKyAgICAgICAgICAgIGN1cnJlbnRDaGFyKys7CisgICAgfQorfQorCit2
b2lkIGR1bXBSZW5kZXJQYXNzVGVzdERhdGEoY29uc3QgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0
YSYgdGVzdERhdGEsIGNoYXIqIGJ1ZmZlcikKK3sKKyAgICBjaGFyKiBwb3MgPSBidWZmZXI7Cisg
ICAgQ0NSZW5kZXJQYXNzTGlzdDo6Y29uc3RfcmV2ZXJzZV9pdGVyYXRvciBpdCA9IHRlc3REYXRh
LnJlbmRlclBhc3NMaXN0LnJiZWdpbigpOworICAgIHdoaWxlIChpdCAhPSB0ZXN0RGF0YS5yZW5k
ZXJQYXNzTGlzdC5yZW5kKCkpIHsKKyAgICAgICAgQ0NSZW5kZXJQYXNzKiBjdXJyZW50UGFzcyA9
IGl0LT5nZXQoKTsKKyAgICAgICAgY2hhciBwYXNzSWQgPSB0ZXN0RGF0YS5yZW5kZXJQYXNzSWQu
ZmluZChjdXJyZW50UGFzcyktPnNlY29uZDsKKyAgICAgICAgKnBvcyA9IHBhc3NJZDsKKyAgICAg
ICAgcG9zKys7CisKKyAgICAgICAgQ0NRdWFkTGlzdDo6Y29uc3RfaXRlcmF0b3IgcXVhZExpc3RJ
dGVyYXRvciA9IGN1cnJlbnRQYXNzLT5xdWFkTGlzdCgpLmJlZ2luKCk7CisgICAgICAgIHdoaWxl
IChxdWFkTGlzdEl0ZXJhdG9yICE9IGN1cnJlbnRQYXNzLT5xdWFkTGlzdCgpLmVuZCgpKSB7Cisg
ICAgICAgICAgICBDQ0RyYXdRdWFkKiBjdXJyZW50UXVhZCA9ICgqcXVhZExpc3RJdGVyYXRvciku
Z2V0KCk7CisgICAgICAgICAgICBzd2l0Y2ggKGN1cnJlbnRRdWFkLT5tYXRlcmlhbCgpKSB7Cisg
ICAgICAgICAgICBjYXNlIENDRHJhd1F1YWQ6OlNvbGlkQ29sb3I6CisgICAgICAgICAgICAgICAg
KnBvcyA9ICdzJzsKKyAgICAgICAgICAgICAgICBwb3MrKzsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIGNhc2UgQ0NEcmF3UXVhZDo6UmVuZGVyUGFzczoKKyAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiByZW5kZXJQ
YXNzRHJhd1F1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGN1cnJlbnRR
dWFkKTsKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgQ0NSZW5kZXJQYXNzKiByZWZQYXNzID0g
cmVuZGVyUGFzc0RyYXdRdWFkLT5yZW5kZXJQYXNzKCk7CisgICAgICAgICAgICAgICAgICAgIGNo
YXIgcmVmUGFzc0lkID0gdGVzdERhdGEucmVuZGVyUGFzc0lkLmZpbmQocmVmUGFzcyktPnNlY29u
ZDsKKyAgICAgICAgICAgICAgICAgICAgKnBvcyA9IHJlZlBhc3NJZDsKKyAgICAgICAgICAgICAg
ICAgICAgcG9zKys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAqcG9zID0gJ3gnOworICAgICAg
ICAgICAgICAgIHBvcysrOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgCisgICAgICAgICAgICBxdWFkTGlzdEl0ZXJhdG9yKys7CisgICAgICAgIH0K
KyAgICAgICAgKnBvcyA9ICdcbic7CisgICAgICAgIHBvcysrOworICAgICAgICBpdCsrOworICAg
IH0KKyAgICAqcG9zID0gJ1wwJzsKK30KKworc3RhdGljIHZvaWQgdmVyaWZ5UmVuZGVyUGFzc1Rl
c3REYXRhKGNvbnN0IGNoYXIqIGV4cGVjdGVkUmVzdWx0LCBSZW5kZXJQYXNzUmVtb3ZhbFRlc3RE
YXRhJiB0ZXN0RGF0YSkKK3sKKyAgICBjaGFyIGFjdHVhbFJlc3VsdFsxMDI0XTsKKyAgICBkdW1w
UmVuZGVyUGFzc1Rlc3REYXRhKHRlc3REYXRhLCBhY3R1YWxSZXN1bHQpOworICAgIEVYUEVDVF9T
VFJFUShleHBlY3RlZFJlc3VsdCwgYWN0dWFsUmVzdWx0KTsKK30KKworLy8gRWFjaCBDQ1JlbmRl
clBhc3NMaXN0IGlzIHJlcHJlc2VudGVkIGJ5IGEgc3RyaW5nIHdoaWNoIGRlc2NyaWJlcyB0aGUg
Y29uZmlndXJhdGlvbi4KKy8vIFRoZSBzeW50YXggb2YgdGhlIHN0cmluZyBpcyBhcyBmb2xsb3dz
OgorLy8KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUnNzc3NzWFtjXXNzWXNzc1pbdF1zc1dbY3RdCisvLyBJZGVudGlmaWVzIHRoZSByZW5k
ZXIgcGFzcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV4gXl5eIF4gXiAgIF4gICAgIF4gICAg
IF4KKy8vIFRoZXNlIGFyZSBzb2xpZCBjb2xvciBxdWFkcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKyAgfCB8ICAgfCAgICAgfCAgICAgfAorLy8gSWRlbnRpZmllcyBSZW5kZXJQYXNzRHJh
d1F1YWQncyBSZW5kZXJQYXNzLS0tLS0tLS0tLS0tLS0tLS0rIHwgICB8ICAgICB8ICAgICB8Cisv
LyBUaGlzIHF1YWQncyBjb250ZW50cyBkaWRuJ3QgY2hhbmdlLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKyAgIHwgICAgIHwgICAgIHwKKy8vIFRoaXMgcXVhZCdzIGNvbnRlbnRzIGNoYW5nZWQg
YW5kIGl0IGhhcyBubyB0ZXh0dXJlLS0tLS0tLS0tLS0tLS0tKyAgICAgfCAgICAgfAorLy8gVGhp
cyBxdWFkIGhhcyB0ZXh0dXJlIGJ1dCBpdHMgY29udGVudHMgY2hhbmdlZC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rICAgICB8CisvLyBUaGlzIHF1YWQncyBjb250ZW50cyBkaWRuJ3QgY2hhbmdl
IGFuZCBpdCBoYXMgdGV4dHVyZSAtIHdpbGwgYmUgcmVtb3ZlZC0tLS0tLSsKKy8vCisvLyBFeHBl
Y3RlZCByZXN1bHRzIGhhdmUgZXhhY3RseSB0aGUgc2FtZSBzeW50YXgsIGV4Y2VwdCB0aGV5IGRv
IG5vdCB1c2Ugc3F1YXJlIGJyYWNrZXRzLAorLy8gc2luY2Ugd2Ugb25seSBjaGVjayB0aGUgc3Ry
dWN0dXJlLCBub3QgYXR0cmlidXRlcy4KKy8vCisvLyBUZXN0IGNhc2UgY29uZmlndXJhdGlvbiBj
b25zaXN0cyBvZiBpbml0aWFsaXphdGlvbiBzY3JpcHQgYW5kIGV4cGVjdGVkIHJlc3VsdHMsCisv
LyBhbGwgaW4gdGhlIHNhbWUgZm9ybWF0Lgorc3RydWN0IFRlc3RDYXNlIHsKKyAgICBjb25zdCBj
aGFyKiBuYW1lOworICAgIGNvbnN0IGNoYXIqIGluaXRTY3JpcHQ7CisgICAgY29uc3QgY2hhciog
ZXhwZWN0ZWRSZXN1bHQ7Cit9OworCitUZXN0Q2FzZSByZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1td
ID0KKyAgICB7CisgICAgICAgIHsKKyAgICAgICAgICAgICJTaW5nbGUgcm9vdCBwYXNzIiwKKyAg
ICAgICAgICAgICJSc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc1xuIgorICAgICAgICB9LCB7
CisgICAgICAgICAgICAiU2luZ2xlIHBhc3MgLSBubyBxdWFkcyIsCisgICAgICAgICAgICAiUlxu
IiwKKyAgICAgICAgICAgICJSXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJUd28gcGFz
c2VzLCBubyByZW1vdmFsIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAg
ICJBc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3Nz
c1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiVHdvIHBhc3NlcywgcmVtb3ZlIGxhc3Qi
LAorICAgICAgICAgICAgIlJzc3NzQVtjdF1zc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIiwK
KyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIkhh
dmUgdGV4dHVyZSBidXQgY29udGVudHMgY2hhbmdlZCAtIGxlYXZlIHBhc3MiLAorICAgICAgICAg
ICAgIlJzc3NzQVt0XXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAg
IlJzc3NzQXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAg
ICAgICAgICJDb250ZW50cyBkaWRuJ3QgY2hhbmdlIGJ1dCBubyB0ZXh0dXJlIC0gbGVhdmUgcGFz
cyIsCisgICAgICAgICAgICAiUnNzc3NBW2Ndc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIs
CisgICAgICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIKKyAgICAg
ICAgfSwgeworICAgICAgICAgICAgIlJlcGxpY2E6IHR3byBxdWFkcyByZWZlcmVuY2UgdGhlIHNh
bWUgcGFzczsgcmVtb3ZlIiwKKyAgICAgICAgICAgICJSc3Nzc0FbY3RdQVtjdF1zc3NcbiIKKyAg
ICAgICAgICAgICJBc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0FBc3NzXG4iCisgICAgICAg
IH0sIHsKKyAgICAgICAgICAgICJSZXBsaWNhOiB0d28gcXVhZHMgcmVmZXJlbmNlIHRoZSBzYW1l
IHBhc3M7IGxlYXZlIiwKKyAgICAgICAgICAgICJSc3Nzc0FbY11BW2Ndc3NzXG4iCisgICAgICAg
ICAgICAiQXNzc3NcbiIsCisgICAgICAgICAgICAiUnNzc3NBQXNzc1xuIgorICAgICAgICAgICAg
IkFzc3NzXG4iLAorICAgICAgICB9LCB7CisgICAgICAgICAgICAiTWFueSBwYXNzZXMsIHJlbW92
ZSBhbGwiLAorICAgICAgICAgICAgIlJzc3NzQVtjdF1zc3NcbiIKKyAgICAgICAgICAgICJBc3Nz
QltjdF1DW2N0XXNcbiIKKyAgICAgICAgICAgICJCc3NzRFtjdF1zc0VbY3RdRltjdF1cbiIKKyAg
ICAgICAgICAgICJFc3Nzc3NzXG4iCisgICAgICAgICAgICAiQ0dbY3RdXG4iCisgICAgICAgICAg
ICAiRHNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJGc3Nzc3Nzc1xuIgorICAgICAgICAgICAgIkdz
c3NcbiIsCisKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAg
ICAgICAgIkRlZXAgcmVjdXJzaW9uLCByZW1vdmUgYWxsIiwKKworICAgICAgICAgICAgIlJzc3Nz
c0FbY3Rdc3Nzc1xuIgorICAgICAgICAgICAgIkFzc3NzQnNzc1xuIgorICAgICAgICAgICAgIkJD
XG4iCisgICAgICAgICAgICAiQ0RcbiIKKyAgICAgICAgICAgICJERVxuIgorICAgICAgICAgICAg
IkVGXG4iCisgICAgICAgICAgICAiRkdcbiIKKyAgICAgICAgICAgICJHSFxuIgorICAgICAgICAg
ICAgIkhzc3NJc3NzXG4iCisgICAgICAgICAgICAiSUpcbiIKKyAgICAgICAgICAgICJKc3Nzc1xu
IiwKKyAgICAgICAgICAgIAorICAgICAgICAgICAgIlJzc3Nzc0Fzc3NzXG4iCisgICAgICAgIH0s
IHsKKyAgICAgICAgICAgICJXaWRlIHJlY3Vyc2lvbiwgcmVtb3ZlIGFsbCIsCisgICAgICAgICAg
ICAiUkFbY3RdQltjdF1DW2N0XURbY3RdRVtjdF1GW2N0XUdbY3RdSFtjdF1JW2N0XUpbY3RdXG4i
CisgICAgICAgICAgICAiQXNcbiIKKyAgICAgICAgICAgICJCc1xuIgorICAgICAgICAgICAgIkNz
c3NzXG4iCisgICAgICAgICAgICAiRHNzc3NcbiIKKyAgICAgICAgICAgICJFc1xuIgorICAgICAg
ICAgICAgIkZcbiIKKyAgICAgICAgICAgICJHc1xuIgorICAgICAgICAgICAgIkhzXG4iCisgICAg
ICAgICAgICAiSXNcbiIKKyAgICAgICAgICAgICJKc3Nzc1xuIiwKKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgIlJBQkNERUZHSElKXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJSZW1v
dmUgcGFzc2VzIHJlZ2FyZGxlc3Mgb2YgY2FjaGUgc3RhdGUiLAorICAgICAgICAgICAgIlJzc3Nz
QVtjdF1zc3NcbiIKKyAgICAgICAgICAgICJBc3NzQkNzXG4iCisgICAgICAgICAgICAiQnNzc0Rb
Y11zc0VbdF1GXG4iCisgICAgICAgICAgICAiRXNzc3Nzc1xuIgorICAgICAgICAgICAgIkNHXG4i
CisgICAgICAgICAgICAiRHNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJGc3Nzc3Nzc1xuIgorICAg
ICAgICAgICAgIkdzc3NcbiIsCisKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAg
fSwgeworICAgICAgICAgICAgIkxlYXZlIHNvbWUgcGFzc2VzLCByZW1vdmUgb3RoZXJzIiwKKwor
ICAgICAgICAgICAgIlJzc3NzQVtjXXNzc1xuIgorICAgICAgICAgICAgIkFzc3NCW3RdQ1tjdF1z
XG4iCisgICAgICAgICAgICAiQnNzc0RbY11zc1xuIgorICAgICAgICAgICAgIkNHXG4iCisgICAg
ICAgICAgICAiRHNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJHc3NzXG4iLAorCisgICAgICAgICAg
ICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc0JDc1xuIgorICAgICAgICAgICAgIkJz
c3NEc3NcbiIKKyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAgICB9LCB7CisgICAgICAg
ICAgICAwLCAwLCAwCisgICAgICAgIH0KKyAgICB9OworCitURVNUKFJlbmRlclBhc3NSZW1vdmFs
VGVzdCwgdGVzdFJlbW92ZVJlbmRlclBhc3NlcykKK3sKKyAgICBpbnQgdGVzdENhc2VJbmRleCA9
IDA7CisgICAgd2hpbGUgKHJlbW92ZVJlbmRlclBhc3Nlc0Nhc2VzW3Rlc3RDYXNlSW5kZXhdLm5h
bWUpIHsKKyAgICAgICAgRGVidWdTY29wZWRTZXRJbXBsVGhyZWFkIGltcGxUaHJlYWQ7CisgICAg
ICAgIFJlbmRlclBhc3NSZW1vdmFsVGVzdERhdGEgdGVzdERhdGE7CisgICAgICAgIGNvbmZpZ3Vy
ZVJlbmRlclBhc3NUZXN0RGF0YShyZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2FzZUluZGV4
XS5pbml0U2NyaXB0LCB0ZXN0RGF0YSk7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OnJl
bW92ZVJlZHVuZGFudFBhc3Nlcyh0ZXN0RGF0YS5yZW5kZXJQYXNzTGlzdCk7CisgICAgICAgIHZl
cmlmeVJlbmRlclBhc3NUZXN0RGF0YShyZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2FzZUlu
ZGV4XS5leHBlY3RlZFJlc3VsdCwgdGVzdERhdGEpOworICAgICAgICB0ZXN0Q2FzZUluZGV4Kys7
CisgICAgfQorfQorCiB9IC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146612</attachid>
            <date>2012-06-08 11:08:39 -0700</date>
            <delta_ts>2012-06-08 14:14:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88482-20120608140839.patch</filename>
            <type>text/plain</type>
            <size>54407</size>
            <attacher>zlieber</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5ODQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzhlNWZkZWE5MDA4Mzkx
YWFjYzBhOTViOTY1OGQwZGIyMzk2OWI1NC4uNjNhMDlkY2VjZmFiZDhiYjZiNTZlYzUxZTAyMWZl
MzU4NzM2NzAxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDEyLTA2LTA4ICBaZWV2
IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gUmVu
ZGVyU3VyZmFjZSBmb3Igb3BhY2l0eSB3aXRoIGRlc2NlbmRlbnREcmF3c0NvbnRlbnQgaXMgc2xv
dyB3aGVuIGxhcmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04ODQ4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFBvc3QtcHJvY2Vzc2luZyBDQ1JlbmRlclBhc3NMaXN0IGFmdGVyIGl0J3MgYmVlbiBnZW5l
cmF0ZWQgYW5kCisgICAgICAgIHJlbW92aW5nIGFsbCByZW5kZXIgc3VyZmFjZSBxdWFkcyBmb3Ig
d2hpY2ggdGhlcmUgYXJlIGNhY2hlZAorICAgICAgICB0ZXh0dXJlcywgYW5kIHdob3NlIGNvbnRl
bnQgZGlkbid0IGNoYW5nZS4gQWRkZWQgYSBuZXcgZmxhZyB0bworICAgICAgICBDQ0xheWVySW1w
bCB0byBkaWZmZXJlbnRpYXRlZCBiZXR3ZWVuIGNvbnRlbnQgY2hhbmdlcyBhbmQgcHJvcGVydHkK
KyAgICAgICAgY2hhbmdlcy4KKworICAgICAgICBUaGUgY2hhbmdlcyBhcmUgY292ZXJlZCBieSBu
ZXcgdW5pdCB0ZXN0cyB0aGF0IGNoZWNrIHRoYXQgdGhlCisgICAgICAgIHJlbW92YWwgYWxnb3Jp
dGhtIGZ1bmN0aW9ucyBwcm9wZXJ0bHkuIE5vIHJlbmRlcmluZyBiZWhhdmlvdXIKKyAgICAgICAg
Y2hhbmdlLCBzbyBubyBuZXcgbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0JhY2tncm91bmRGaWx0ZXJzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1JlbmRlclBhc3NRdWFkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NEYW1hZ2VUcmFja2VyOjpleHRlbmREYW1hZ2VGb3JM
YXllcik6CisgICAgICAgIChXZWJDb3JlOjpDQ0RhbWFnZVRyYWNrZXI6OmV4dGVuZERhbWFnZUZv
clJlbmRlclN1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpDQ0xheWVy
SW1wbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBs
OjpsYXllclRhcmdldFN1cmZhY2VEaXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1w
bDo6cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6
Q0NMYXllckltcGw6OnNldE9wYWNpdHkpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6
OnNldFRyYW5zZm9ybSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllckltcGwuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpsYXllclN1cmZh
Y2VQcm9wZXJ0eUNoYW5nZWQpOgorICAgICAgICAoQ0NMYXllckltcGwpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6dHJhY2tEYW1hZ2VGb3JBbGxTdXJm
YWNlcyk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxhdGVS
ZW5kZXJQYXNzZXMpOgorICAgICAgICAoV2ViQ29yZTo6aW5kZXhPZlJlbmRlclBhc3MpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpy
ZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRy
ZWVIb3N0SW1wbDo6cmVtb3ZlUmVkdW5kYW50UGFzc2VzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmg6CisgICAgICAgIChDQ0xh
eWVyVHJlZUhvc3RJbXBsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1JlbmRlclBhc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJQYXNzOjphcHBl
bmRRdWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5oOgorICAgICAgICAoQ0NSZW5kZXJQYXNzKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyUGFzc0RyYXdRdWFkOjpDQ1JlbmRlclBhc3NEcmF3
UXVhZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQ
YXNzRHJhd1F1YWQuaDoKKyAgICAgICAgKENDUmVuZGVyUGFzc0RyYXdRdWFkKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDUmVuZGVyUGFzc0RyYXdRdWFkOjpyZW5kZXJTdXJmYWNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDUmVuZGVyUGFzc0RyYXdRdWFkOjpjb250ZW50c0NoYW5nZWQpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OkNDUmVuZGVyU3VyZmFjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnByZXBhcmVDb250ZW50c1RleHR1cmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpoYXNDYWNoZWRDb250ZW50c1RleHR1
cmUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZh
Y2U6OmFwcGVuZFF1YWRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1JlbmRlclN1cmZhY2UuaDoKKyAgICAgICAgKENDUmVuZGVyU3VyZmFjZSk6CisgICAgICAg
IChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnNldENvbnRlbnRzQ2hhbmdlZCk6CisgICAgICAg
IChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OmNvbnRlbnRzQ2hhbmdlZCk6CisKIDIwMTItMDYt
MDggIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogRml4IHNldmVyYWwgY29tcGlsZXIgd2FybmluZ3MgYW5kIGVycm9ycy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMGQ3OTI4NjIzNTE0YTQxMmE5NzczMjIyZTRhNzFh
NTE3NDY3YjgyMy4uMjM3ODliMmFjYmUyNDMwZTg0N2RhYmRlNGU1NmM1NGUwMjJmMTQ1NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wNi0wOCAgWmVl
diBMaWViZXIgIDx6bGllYmVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIFJl
bmRlclN1cmZhY2UgZm9yIG9wYWNpdHkgd2l0aCBkZXNjZW5kZW50RHJhd3NDb250ZW50IGlzIHNs
b3cgd2hlbiBsYXJnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODg0ODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRlZCB0ZXN0cyB0byB2ZXJpZnkgcXVhZCByZW1vdmFsIGFsZ29yaXRobS4gQWRkZWQg
aW5mcmFzdHJ1Y3R1cmUKKyAgICAgICAgY29kZSB0byBnZW5lcmF0ZSBjdXN0b20gcmVuZGVyIHBh
c3NlcyBvdXQgb2YgYSBzY3JpcHQgZW5jb2RlZCBhcyBDCisgICAgICAgIHN0cmluZy4KKworICAg
ICAgICAqIHRlc3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0VGVz
dHM6OlRFU1RfRik6CisgICAgICAgICogdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VEVTVCk6CisgICAgICAgICogdGVzdHMv
Q0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwOgorCiAyMDEyLTA2LTA4ICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiAgUm9s
bGVkIERFUFMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAppbmRleCA1NWNm
NzRmMmY4NDFlMmJmMmVjOWU0NjdjMWY1N2IwNzljYWU5ZmVlLi4xMDg1YjVhZTVjOWY3OTMxNTRj
NDZiNjMxZWRkYWUxY2U0NGU1ZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1
bS5jcHAKQEAgLTYxMSw3ICs2MTEsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJh
d0JhY2tncm91bmRGaWx0ZXJzKGNvbnN0IENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdQogICAgIC8v
CiAgICAgLy8gUGl4ZWwgY29waWVzIGluIHRoaXMgYWxnb3JpdGhtIG9jY3VyIGF0IHN0ZXBzIDIs
IDMsIDQsIGFuZCA1LgogCi0gICAgQ0NSZW5kZXJTdXJmYWNlKiBkcmF3aW5nU3VyZmFjZSA9IHF1
YWQtPnJlbmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgpOworICAgIENDUmVuZGVyU3VyZmFjZSog
ZHJhd2luZ1N1cmZhY2UgPSBxdWFkLT5yZW5kZXJTdXJmYWNlKCk7CiAgICAgaWYgKHF1YWQtPmJh
Y2tncm91bmRGaWx0ZXJzKCkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKQEAgLTY2NSw3
ICs2NjUsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1JlbmRlclBhc3NRdWFk
KGNvbnN0IENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkKQogICAgIC8vIFRoZSByZXBsaWNhIGlz
IGFsd2F5cyBkcmF3biBmaXJzdCwgc28gZnJlZSBhZnRlciBkcmF3aW5nIHRoZSBjb250ZW50cy4K
ICAgICBib29sIHNob3VsZFJlbGVhc2VUZXh0dXJlcyA9ICFxdWFkLT5pc1JlcGxpY2EoKTsKIAot
ICAgIENDUmVuZGVyU3VyZmFjZSogZHJhd2luZ1N1cmZhY2UgPSBxdWFkLT5yZW5kZXJQYXNzKCkt
PnRhcmdldFN1cmZhY2UoKTsKKyAgICBDQ1JlbmRlclN1cmZhY2UqIGRyYXdpbmdTdXJmYWNlID0g
cXVhZC0+cmVuZGVyU3VyZmFjZSgpOwogCiAgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggcmVu
ZGVyVHJhbnNmb3JtID0gcXVhZC0+bGF5ZXJUcmFuc2Zvcm0oKTsKICAgICAvLyBBcHBseSBhIHNj
YWxpbmcgZmFjdG9yIHRvIHNpemUgdGhlIHF1YWQgZnJvbSAxeDEgdG8gaXRzIGludGVuZGVkIHNp
emUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFja2VyLmNwcAppbmRleCA4ZmQzZWQxMjRiMjMwM2I3
N2EwYjBmNDkyODk4M2Q5Yzg5NTFiZWRiLi4wZGE3NzUzMGQ0NWFkMGNmYjE4OTM4ZTBkZmZlYmUy
OTVkYWY2ZWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5jcHAKQEAgLTI0NCw2ICsy
NDQsOSBAQCB2b2lkIENDRGFtYWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yTGF5ZXIoQ0NMYXll
ckltcGwqIGxheWVyLCBGbG9hdFJlY3QmIHRhcmdldAogICAgIC8vICAgICAgcmVnaW9uIGRhbWFn
ZXMgdGhlIHN1cmZhY2UuCiAgICAgLy8KICAgICAvLyBQcm9wZXJ0eSBjaGFuZ2VzIHRha2UgcHJp
b3JpdHkgb3ZlciB1cGRhdGUgcmVjdHMuCisgICAgLy8KKyAgICAvLyBUaGlzIG1ldGhvZCBhc3N1
bWVzIHRoYXQgdGhlIGxheWVyIGVpdGhlciBkb2VzIG5vdCBvd24gYSBzdXJmYWNlIGF0IGFsbCwg
b3Igb3ducworICAgIC8vIG91ciB0YXJnZXQgc3VyZmFjZS4gSW4gYWxsIG90aGVyIGNhc2VzLCBl
eHRlbmREYW1hZ2VGb3JSZW5kZXJTdXJmYWNlIG11c3QgYmUgY2FsbGVkIGluc3RlYWQuCiAKICAg
ICAvLyBDb21wdXRlIHRoZSBsYXllcidzICJvcmlnaW5UcmFuc2Zvcm0iIGJ5IHRyYW5zbGF0aW5n
IHRoZSBkcmF3VHJhbnNmb3JtLgogICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IG9yaWdpblRy
YW5zZm9ybSA9IGxheWVyLT5kcmF3VHJhbnNmb3JtKCk7CkBAIC0yNTUsNyArMjU4LDcgQEAgdm9p
ZCBDQ0RhbWFnZVRyYWNrZXI6OmV4dGVuZERhbWFnZUZvckxheWVyKENDTGF5ZXJJbXBsKiBsYXll
ciwgRmxvYXRSZWN0JiB0YXJnZXQKICAgICBGbG9hdFJlY3QgbGF5ZXJSZWN0SW5UYXJnZXRTcGFj
ZSA9IENDTWF0aFV0aWw6Om1hcENsaXBwZWRSZWN0KG9yaWdpblRyYW5zZm9ybSwgRmxvYXRSZWN0
KEZsb2F0UG9pbnQ6Onplcm8oKSwgbGF5ZXItPmJvdW5kcygpKSk7CiAgICAgc2F2ZVJlY3RGb3JO
ZXh0RnJhbWUobGF5ZXItPmlkKCksIGxheWVyUmVjdEluVGFyZ2V0U3BhY2UpOwogCi0gICAgaWYg
KGxheWVySXNOZXcgfHwgbGF5ZXItPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpIHsKKyAgICBpZiAo
bGF5ZXJJc05ldyB8fCBsYXllci0+bGF5ZXJUYXJnZXRTdXJmYWNlRGlydHkoKSkgewogICAgICAg
ICAvLyBJZiBhIGxheWVyIGlzIG5ldyBvciBoYXMgY2hhbmdlZCwgdGhlbiBpdHMgZW50aXJlIGxh
eWVyIHJlY3QgYWZmZWN0cyB0aGUgdGFyZ2V0IHN1cmZhY2UuCiAgICAgICAgIHRhcmdldERhbWFn
ZVJlY3QudW5pdGVJZk5vblplcm8obGF5ZXJSZWN0SW5UYXJnZXRTcGFjZSk7CiAKQEAgLTI5Myw3
ICsyOTYsNyBAQCB2b2lkIENDRGFtYWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yUmVuZGVyU3Vy
ZmFjZShDQ0xheWVySW1wbCogbGF5ZXIsIEZsb2F0UmVjdAogICAgIHNhdmVSZWN0Rm9yTmV4dEZy
YW1lKGxheWVyLT5pZCgpLCBzdXJmYWNlUmVjdEluVGFyZ2V0U3BhY2UpOwogCiAgICAgRmxvYXRS
ZWN0IGRhbWFnZVJlY3RJbkxvY2FsU3BhY2U7Ci0gICAgaWYgKHN1cmZhY2VJc05ldyB8fCByZW5k
ZXJTdXJmYWNlLT5zdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkpIHsKKyAgICBpZiAoc3VyZmFjZUlz
TmV3IHx8IHJlbmRlclN1cmZhY2UtPnN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSB8fCBsYXllci0+
bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkpIHsKICAgICAgICAgLy8gVGhlIGVudGlyZSBz
dXJmYWNlIGNvbnRyaWJ1dGVzIGRhbWFnZS4KICAgICAgICAgZGFtYWdlUmVjdEluTG9jYWxTcGFj
ZSA9IHJlbmRlclN1cmZhY2UtPmNvbnRlbnRSZWN0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNw
cAppbmRleCA3MmMwZWEyYjc5Y2U3MmJhNmFlMGZjNjJlYzE3NzZiNjkyYWM1YWZjLi44MjdiMTdj
MTQ5ZjY1ZmY5NDIxM2IzODY4Zjk0NWNmN2Y2YjFlMjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwu
Y3BwCkBAIC01NCw2ICs1NCw3IEBAIENDTGF5ZXJJbXBsOjpDQ0xheWVySW1wbChpbnQgaWQpCiAg
ICAgLCBtX2hhdmVXaGVlbEV2ZW50SGFuZGxlcnMoZmFsc2UpCiAgICAgLCBtX2RvdWJsZVNpZGVk
KHRydWUpCiAgICAgLCBtX2xheWVyUHJvcGVydHlDaGFuZ2VkKGZhbHNlKQorICAgICwgbV9sYXll
clN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoZmFsc2UpCiAgICAgLCBtX21hc2tzVG9Cb3VuZHMoZmFs
c2UpCiAgICAgLCBtX29wYXF1ZShmYWxzZSkKICAgICAsIG1fb3BhY2l0eSgxLjApCkBAIC0yNzMs
NiArMjc0LDE5IEBAIHZvaWQgQ0NMYXllckltcGw6OnNldFN0YWNraW5nT3JkZXJDaGFuZ2VkKGJv
b2wgc3RhY2tpbmdPcmRlckNoYW5nZWQpCiAgICAgICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdl
ZEZvclN1YnRyZWUoKTsKIH0KIAorCitib29sIENDTGF5ZXJJbXBsOjpsYXllclRhcmdldFN1cmZh
Y2VEaXJ0eSgpIGNvbnN0Cit7CisgICAgLy8gSWYgdGhlIGxheWVyIGRvZXMgTk9UIG93biBhIHN1
cmZhY2UgYnV0IGhhcyBTdXJmYWNlUHJvcGVydHlDaGFuZ2VkLAorICAgIC8vIHRoaXMgbWVhbnMg
dGhhdCBpdHMgdGFyZ2V0IHN1cmZhY2UgaXMgYWZmZWN0ZWQgYW5kIG5lZWRzIHRvIGJlIHJlZHJh
d24uCisgICAgLy8gSG93ZXZlciwgaWYgdGhlIGxheWVyIERPRVMgb3duIGEgc3VyZmFjZSB0aGVu
IHRoZSBTdXJmYWNlUHJvcGVydHlDaGFuZ2VkCisgICAgLy8gYWZmZWN0cyB0aGUgdGFyZ2V0IHN1
cmZhY2Ugb2YgaXRzIG93bmVkIHN1cmZhY2UsIGFuZCB0aGVyZWZvcmUgb3VyCisgICAgLy8gb3du
ZWQgc3VyZmFjZSBpcyBub3QgYWZmZWN0ZWQuIFRoaXMgaXMgY2hlY2tlZCBoZXJlLgorICAgIGlm
IChtX3JlbmRlclN1cmZhY2UpCisgICAgICAgIHJldHVybiBtX2xheWVyUHJvcGVydHlDaGFuZ2Vk
OworICAgIHJldHVybiBtX2xheWVyUHJvcGVydHlDaGFuZ2VkIHx8IG1fbGF5ZXJTdXJmYWNlUHJv
cGVydHlDaGFuZ2VkOworfQorCiB2b2lkIENDTGF5ZXJJbXBsOjpub3RlTGF5ZXJQcm9wZXJ0eUNo
YW5nZWRGb3JTdWJ0cmVlKCkKIHsKICAgICBtX2xheWVyUHJvcGVydHlDaGFuZ2VkID0gdHJ1ZTsK
QEAgLTI4OCw2ICszMDIsOCBAQCB2b2lkIENDTGF5ZXJJbXBsOjpub3RlTGF5ZXJQcm9wZXJ0eUNo
YW5nZWRGb3JEZXNjZW5kYW50cygpCiB2b2lkIENDTGF5ZXJJbXBsOjpyZXNldEFsbENoYW5nZVRy
YWNraW5nRm9yU3VidHJlZSgpCiB7CiAgICAgbV9sYXllclByb3BlcnR5Q2hhbmdlZCA9IGZhbHNl
OworICAgIG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkID0gZmFsc2U7CisKICAgICBtX3Vw
ZGF0ZVJlY3QgPSBGbG9hdFJlY3QoKTsKIAogICAgIGlmIChtX3JlbmRlclN1cmZhY2UpCkBAIC00
MjgsNyArNDQ0LDcgQEAgdm9pZCBDQ0xheWVySW1wbDo6c2V0T3BhY2l0eShmbG9hdCBvcGFjaXR5
KQogICAgICAgICByZXR1cm47CiAKICAgICBtX29wYWNpdHkgPSBvcGFjaXR5OwotICAgIG5vdGVM
YXllclByb3BlcnR5Q2hhbmdlZEZvclN1YnRyZWUoKTsKKyAgICBtX2xheWVyU3VyZmFjZVByb3Bl
cnR5Q2hhbmdlZCA9IHRydWU7CiB9CiAKIGJvb2wgQ0NMYXllckltcGw6Om9wYWNpdHlJc0FuaW1h
dGluZygpIGNvbnN0CkBAIC00NzAsNyArNDg2LDcgQEAgdm9pZCBDQ0xheWVySW1wbDo6c2V0VHJh
bnNmb3JtKGNvbnN0IFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm0pCiAgICAgICAg
IHJldHVybjsKIAogICAgIG1fdHJhbnNmb3JtID0gdHJhbnNmb3JtOwotICAgIG5vdGVMYXllclBy
b3BlcnR5Q2hhbmdlZEZvclN1YnRyZWUoKTsKKyAgICBtX2xheWVyU3VyZmFjZVByb3BlcnR5Q2hh
bmdlZCA9IHRydWU7CiB9CiAKIGJvb2wgQ0NMYXllckltcGw6OnRyYW5zZm9ybUlzQW5pbWF0aW5n
KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDTGF5ZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCmluZGV4IGZkNGZhY2FhNDBjYmExNWRmNjI5YTFi
MjRkYTMyYzJmYTViMzc0NGQuLmQ5YWY3MmQ2N2M5MWU5MWVlMjNmN2NhZWM2MTI3MTMxM2QxYjYy
NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDTGF5ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllckltcGwuaApAQCAtMjQ0LDYgKzI0NCwxMiBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRTdGFja2luZ09yZGVyQ2hhbmdlZChib29sKTsKIAogICAgIGJvb2wgbGF5ZXJQ
cm9wZXJ0eUNoYW5nZWQoKSBjb25zdCB7IHJldHVybiBtX2xheWVyUHJvcGVydHlDaGFuZ2VkOyB9
CisgICAgYm9vbCBsYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSBjb25zdCB7IHJldHVybiBt
X2xheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZDsgfQorCisgICAgLy8gVXNlcyBtX2xheWVyWHh4
eENoYW5nZWQgZmxhZ3MgdG8gYW5zd2VyIHRoZSBxdWVzdGlvbiB3aGV0aGVyIHRoaXMgbGF5ZXIn
cworICAgIC8vIHRhcmdldCBzdXJmYWNlJ3MgcGl4ZWxzIGFyZSBhZmZlY3RlZCBieSBhbGwgdGhl
IGNoYW5nZXMgaW4gbGF5ZXIncyBjb250ZW50cyBhbmQgcHJvcGVydGllcy4KKyAgICBib29sIGxh
eWVyVGFyZ2V0U3VyZmFjZURpcnR5KCkgY29uc3Q7CisKICAgICB2b2lkIHJlc2V0QWxsQ2hhbmdl
VHJhY2tpbmdGb3JTdWJ0cmVlKCk7CiAKICAgICBDQ0xheWVyQW5pbWF0aW9uQ29udHJvbGxlciog
bGF5ZXJBbmltYXRpb25Db250cm9sbGVyKCkgeyByZXR1cm4gbV9sYXllckFuaW1hdGlvbkNvbnRy
b2xsZXIuZ2V0KCk7IH0KQEAgLTMwNyw2ICszMTMsMTEgQEAgcHJpdmF0ZToKICAgICAvLyBUcmFj
a3MgaWYgZHJhd2luZy1yZWxhdGVkIHByb3BlcnRpZXMgaGF2ZSBjaGFuZ2VkIHNpbmNlIGxhc3Qg
cmVkcmF3LgogICAgIGJvb2wgbV9sYXllclByb3BlcnR5Q2hhbmdlZDsKIAorICAgIC8vIEluZGlj
YXRlcyB0aGF0IGEgcHJvcGVydHkgaGFzIGNoYW5nZWQgb24gdGhpcyBsYXllciB0aGF0IHdvdWxk
IG5vdAorICAgIC8vIGFmZmVjdCB0aGUgcGl4ZWxzIG9uIGl0cyB0YXJnZXQgc3VyZmFjZSwgYnV0
IHdvdWxkIHJlcXVpcmUgcmVkcmF3aW5nCisgICAgLy8gb2YgdGhlIHRhcmdldCBzdXJmYWNlIG9m
IHRoaXMgbGF5ZXIncyB0YXJnZXQgc3VyZmFjZQorICAgIGJvb2wgbV9sYXllclN1cmZhY2VQcm9w
ZXJ0eUNoYW5nZWQ7CisKICAgICAvLyBVc2VzIGxheWVyJ3MgY29udGVudCBzcGFjZS4KICAgICBJ
bnRSZWN0IG1fdmlzaWJsZUxheWVyUmVjdDsKICAgICBib29sIG1fbWFza3NUb0JvdW5kczsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKaW5kZXggNWIxM2UxYjhlY2I1NmY4
MTFiNjE2NzRlYTI4MTE0ZWE0YzcwMDM2Yi4uNmUxNTliMjUxZDFjODg5Y2ZiY2Y2Y2UyZmVlMDc2
YWUyZWRlNDdjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKQEAg
LTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJjYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uaCIKICNp
bmNsdWRlICJjYy9DQ01hdGhVdGlsLmgiCiAjaW5jbHVkZSAiY2MvQ0NQYWdlU2NhbGVBbmltYXRp
b24uaCIKKyNpbmNsdWRlICJjYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5oIgogI2luY2x1ZGUgImNj
L0NDU2luZ2xlVGhyZWFkUHJveHkuaCIKICNpbmNsdWRlICJjYy9DQ1RocmVhZFRhc2suaCIKICNp
bmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KQEAgLTIyNyw2ICsyMjgsNyBAQCB2b2lkIENDTGF5
ZXJUcmVlSG9zdEltcGw6OnRyYWNrRGFtYWdlRm9yQWxsU3VyZmFjZXMoQ0NMYXllckltcGwqIHJv
b3REcmF3TGF5ZXIsCiAgICAgICAgIENDUmVuZGVyU3VyZmFjZSogcmVuZGVyU3VyZmFjZSA9IHJl
bmRlclN1cmZhY2VMYXllci0+cmVuZGVyU3VyZmFjZSgpOwogICAgICAgICBBU1NFUlQocmVuZGVy
U3VyZmFjZSk7CiAgICAgICAgIHJlbmRlclN1cmZhY2UtPmRhbWFnZVRyYWNrZXIoKS0+dXBkYXRl
RGFtYWdlVHJhY2tpbmdTdGF0ZShyZW5kZXJTdXJmYWNlLT5sYXllckxpc3QoKSwgcmVuZGVyU3Vy
ZmFjZUxheWVyLT5pZCgpLCByZW5kZXJTdXJmYWNlLT5zdXJmYWNlUHJvcGVydHlDaGFuZ2VkT25s
eUZyb21EZXNjZW5kYW50KCksIHJlbmRlclN1cmZhY2UtPmNvbnRlbnRSZWN0KCksIHJlbmRlclN1
cmZhY2VMYXllci0+bWFza0xheWVyKCksIHJlbmRlclN1cmZhY2VMYXllci0+ZmlsdGVycygpKTsK
KyAgICAgICAgcmVuZGVyU3VyZmFjZS0+c2V0Q29udGVudHNDaGFuZ2VkKCFyZW5kZXJTdXJmYWNl
LT5kYW1hZ2VUcmFja2VyKCktPmN1cnJlbnREYW1hZ2VSZWN0KCkuaXNFbXB0eSgpKTsKICAgICB9
CiB9CiAKQEAgLTMyOCw2ICszMzAsOSBAQCBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1
bGF0ZVJlbmRlclBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIENDTGF5ZQogCiAgICAg
aWYgKGRyYXdGcmFtZSkKICAgICAgICAgb2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3Mo
KS5yZWNvcmRNZXRyaWNzKHRoaXMpOworCisgICAgcmVtb3ZlUmVkdW5kYW50UGFzc2VzKHBhc3Nl
cyk7CisKICAgICByZXR1cm4gZHJhd0ZyYW1lOwogfQogCkBAIC0zNzcsNiArMzgyLDc1IEBAIElu
dFNpemUgQ0NMYXllclRyZWVIb3N0SW1wbDo6Y29udGVudFNpemUoKSBjb25zdAogICAgIHJldHVy
biBtX3Njcm9sbExheWVySW1wbC0+Y2hpbGRyZW4oKVswXS0+Y29udGVudEJvdW5kcygpOwogfQog
CitzdGF0aWMgc3NpemVfdCBpbmRleE9mUmVuZGVyUGFzcyhjb25zdCBDQ1JlbmRlclBhc3NMaXN0
JiBwYXNzZXMsIGNvbnN0IENDUmVuZGVyUGFzcyogcGFzcywgc2l6ZV90IHNlYXJjaFVudGlsKQor
eworICAgIGZvciAoc2l6ZV90IHBhc3NJbmRleCA9IDA7IHBhc3NJbmRleCA8IHBhc3Nlcy5zaXpl
KCk7IHBhc3NJbmRleCsrKQorICAgICAgICBpZiAocGFzc2VzW3Bhc3NJbmRleF0uZ2V0KCkgPT0g
cGFzcykKKyAgICAgICAgICAgIHJldHVybiBwYXNzSW5kZXg7CisKKyAgICByZXR1cm4gLTE7Cit9
CisKK3ZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZl
KENDUmVuZGVyUGFzc0xpc3QmIHBhc3Nlcywgc2l6ZV90IGJvdHRvbVBhc3MsIGNvbnN0IENDUmVu
ZGVyUGFzcyogZmlyc3RUb1JlbW92ZSkKK3sKKyAgICBzc2l6ZV90IHJlbW92ZUluZGV4ID0gaW5k
ZXhPZlJlbmRlclBhc3MocGFzc2VzLCBmaXJzdFRvUmVtb3ZlLCBib3R0b21QYXNzKTsKKworICAg
IC8vIFRoZSBwYXNzIHdhcyBhbHJlZGF5IHJlbW92ZWQgYnkgYW5vdGhlciBxdWFkIC0gcHJvYmFi
bHkgdGhlIG9yaWdpbmFsLCBhbmQgd2UgYXJlIHRoZSByZXBsaWNhCisgICAgaWYgKHJlbW92ZUlu
ZGV4IDwgMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcmVt
b3ZlZFBhc3MgPSBwYXNzZXNbcmVtb3ZlSW5kZXhdLnJlbGVhc2UoKTsKKyAgICBwYXNzZXMucmVt
b3ZlKHJlbW92ZUluZGV4KTsKKworICAgIC8vIE5vdyBmb2xsb3cgdXAgZm9yIGFsbCBSZW5kZXJQ
YXNzIHF1YWRzIGFuZCByZW1vdmUgdGhlaXIgcmVuZGVyIHBhc3NlcyByZWN1cnNpdmVseQorICAg
IGNvbnN0IENDUXVhZExpc3QmIHF1YWRMaXN0ID0gcmVtb3ZlZFBhc3MtPnF1YWRMaXN0KCk7Cisg
ICAgQ0NRdWFkTGlzdDo6Y29uc3RCYWNrVG9Gcm9udEl0ZXJhdG9yIHF1YWRMaXN0SXRlcmF0b3Ig
PSBxdWFkTGlzdC5iYWNrVG9Gcm9udEJlZ2luKCk7CisgICAgd2hpbGUgKHF1YWRMaXN0SXRlcmF0
b3IgIT0gcXVhZExpc3QuYmFja1RvRnJvbnRFbmQoKSkgeworICAgICAgICBDQ0RyYXdRdWFkKiBj
dXJyZW50UXVhZCA9ICgqcXVhZExpc3RJdGVyYXRvcikuZ2V0KCk7CisgICAgICAgIGlmIChjdXJy
ZW50UXVhZC0+bWF0ZXJpYWwoKSA9PSBDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzKSB7CisgICAgICAg
ICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcmVuZGVyUGFzc1F1YWQgPSBzdGF0aWNfY2FzdDxD
Q1JlbmRlclBhc3NEcmF3UXVhZCo+KGN1cnJlbnRRdWFkKTsKKyAgICAgICAgICAgIGNvbnN0IEND
UmVuZGVyUGFzcyogbmV4dFJlbmRlclBhc3MgPSByZW5kZXJQYXNzUXVhZC0+cmVuZGVyUGFzcygp
OworCisgICAgICAgICAgICAvLyBPdXIgc2VhcmNoIGlzIG5vdyBsaW1pdGVkIHVwIHRvIHRoZSBw
YXNzIHRoYXQgd2UganVzdCByZW1vdmVkLgorICAgICAgICAgICAgLy8gU3Vic3RpdHV0ZSByZW1v
dmVJbmRleCBmb3IgYm90dG9tUGFzcyBub3cuCisgICAgICAgICAgICByZW1vdmVSZW5kZXJQYXNz
ZXNSZWN1cnNpdmUocGFzc2VzLCByZW1vdmVJbmRleCwgbmV4dFJlbmRlclBhc3MpOworICAgICAg
ICB9CisgICAgICAgIHF1YWRMaXN0SXRlcmF0b3IrKzsKKyAgICB9Cit9CisKK3ZvaWQgQ0NMYXll
clRyZWVIb3N0SW1wbDo6cmVtb3ZlUmVkdW5kYW50UGFzc2VzKENDUmVuZGVyUGFzc0xpc3QmIHBh
c3NlcykKK3sKKyAgICBzc2l6ZV90IHBhc3NJbmRleCA9IHBhc3Nlcy5zaXplKCkgLSAxOworICAg
IHdoaWxlIChwYXNzSW5kZXggPj0gMCkgeworICAgICAgICBDQ1JlbmRlclBhc3MqIGN1cnJlbnRQ
YXNzID0gcGFzc2VzW3Bhc3NJbmRleF0uZ2V0KCk7CisgICAgICAgIGNvbnN0IENDUXVhZExpc3Qm
IHF1YWRMaXN0ID0gY3VycmVudFBhc3MtPnF1YWRMaXN0KCk7CisgICAgICAgIENDUXVhZExpc3Q6
OmNvbnN0QmFja1RvRnJvbnRJdGVyYXRvciBxdWFkTGlzdEl0ZXJhdG9yID0gcXVhZExpc3QuYmFj
a1RvRnJvbnRCZWdpbigpOworICAgICAgICB3aGlsZSAocXVhZExpc3RJdGVyYXRvciAhPSBxdWFk
TGlzdC5iYWNrVG9Gcm9udEVuZCgpKSB7CisgICAgICAgICAgICBDQ0RyYXdRdWFkKiBjdXJyZW50
UXVhZCA9ICgqcXVhZExpc3RJdGVyYXRvcikuZ2V0KCk7CisgICAgICAgICAgICBpZiAoY3VycmVu
dFF1YWQtPm1hdGVyaWFsKCkgPT0gQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcykgeworICAgICAgICAg
ICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiByZW5kZXJQYXNzUXVhZCA9IHN0YXRpY19jYXN0
PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oY3VycmVudFF1YWQpOworICAgICAgICAgICAgICAgIEND
UmVuZGVyU3VyZmFjZSogdGFyZ2V0U3VyZmFjZSA9IHJlbmRlclBhc3NRdWFkLT5yZW5kZXJTdXJm
YWNlKCk7CisgICAgICAgICAgICAgICAgaWYgKCFyZW5kZXJQYXNzUXVhZC0+Y29udGVudHNDaGFu
Z2VkKCkgJiYgdGFyZ2V0U3VyZmFjZS0+aGFzQ2FjaGVkQ29udGVudHNUZXh0dXJlKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgLy8gUmVzZXJ2ZSB0aGUgdGV4dHVyZSBpbW1lZGlhdGVseS4gV2Ug
ZG8gbm90IG5lZWQgdG8gcGFzcyBpbiBsYXllciByZW5kZXJlcgorICAgICAgICAgICAgICAgICAg
ICAvLyBzaW5jZSB0aGUgdGV4dHVyZSBhbHJlYWR5IGV4aXN0cywganVzdCBuZWVkcyB0byBiZSBy
ZXNlcnZlZC4KKyAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldFN1cmZhY2UtPnByZXBhcmVD
b250ZW50c1RleHR1cmUoMCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGFyZSBj
aGFuZ2luZyB0aGUgdmVjdG9yIGluIHRoZSBtaWRkbGUgb2YgcmV2ZXJzZSBpdGVyYXRpb24uCisg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBhcmUgZ3VhcmFudGVlZCB0aGF0IGFueSBkYXRh
IGZyb20gaXRlcmF0b3IgdG8gdGhlIGVuZCB3aWxsIG5vdCBjaGFuZ2UuCisgICAgICAgICAgICAg
ICAgICAgICAgICAvLyBDYXB0dXJlIHRoZSBpdGVyYXRvciBwb3NpdGlvbiBmcm9tIHRoZSBlbmQs
IGFuZCByZXN0b3JlIGl0IGFmdGVyIHRoZSBjaGFuZ2UuCisgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcG9zaXRpb25Gcm9tRW5kID0gcGFzc2VzLnNpemUoKSAtIHBhc3NJbmRleDsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHJlbW92ZVJlbmRlclBhc3Nlc1JlY3Vyc2l2ZShwYXNzZXMsIHBh
c3NJbmRleCwgcmVuZGVyUGFzc1F1YWQtPnJlbmRlclBhc3MoKSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBwYXNzSW5kZXggPSBwYXNzZXMuc2l6ZSgpIC0gcG9zaXRpb25Gcm9tRW5kOworICAg
ICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHBhc3NJbmRleCA+PSAwKTsKKyAgICAgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IHF1YWRMaXN0SXRlcmF0b3IrKzsKKyAgICAgICAgfQorICAgICAgICBwYXNzSW5kZXgtLTsKKyAg
ICB9Cit9CisKIGJvb2wgQ0NMYXllclRyZWVIb3N0SW1wbDo6cHJlcGFyZVRvRHJhdyhGcmFtZURh
dGEmIGZyYW1lKQogewogICAgIFRSQUNFX0VWRU5UKCJDQ0xheWVyVHJlZUhvc3RJbXBsOjpwcmVw
YXJlVG9EcmF3IiwgdGhpcywgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgK
aW5kZXggYzc0MGE2NjIwMmY0YmQwZjFiM2QwNjA2ZDNhZWJhOTQ4OWQyMDA5Mi4uODc3ZjhkMzcw
ODY0NTkyZDQ2Yjg1ZTE3ZTk3M2ViZTEyOTg4NWY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJU
cmVlSG9zdEltcGwuaApAQCAtMTY3LDYgKzE2Nyw5IEBAIHB1YmxpYzoKICAgICBDQ0ZyYW1lUmF0
ZUNvdW50ZXIqIGZwc0NvdW50ZXIoKSBjb25zdCB7IHJldHVybiBtX2Zwc0NvdW50ZXIuZ2V0KCk7
IH0KICAgICBDQ0RlYnVnUmVjdEhpc3RvcnkqIGRlYnVnUmVjdEhpc3RvcnkoKSBjb25zdCB7IHJl
dHVybiBtX2RlYnVnUmVjdEhpc3RvcnkuZ2V0KCk7IH0KIAorICAgIC8vIFJlbW92ZXMgYWxsIHJl
bmRlciBwYXNzZXMgZm9yIHdoaWNoIHdlIGhhdmUgY2FjaGVkIHRleHR1cmVzLCBhbmQgd2hpY2gg
ZGlkIG5vdCBjaGFuZ2UgdGhlaXIgY29udGVudC4KKyAgICBzdGF0aWMgdm9pZCByZW1vdmVSZWR1
bmRhbnRQYXNzZXMoQ0NSZW5kZXJQYXNzTGlzdCYgcGFzc2VzKTsKKwogcHJvdGVjdGVkOgogICAg
IENDTGF5ZXJUcmVlSG9zdEltcGwoY29uc3QgQ0NTZXR0aW5ncyYsIENDTGF5ZXJUcmVlSG9zdElt
cGxDbGllbnQqKTsKIApAQCAtMjA0LDYgKzIwNyw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhbmlt
YXRlTGF5ZXJzUmVjdXJzaXZlKENDTGF5ZXJJbXBsKiwgZG91YmxlIG1vbm90b25pY1RpbWUsIGRv
dWJsZSB3YWxsQ2xvY2tUaW1lLCBDQ0FuaW1hdGlvbkV2ZW50c1ZlY3RvciosIGJvb2wmIGRpZEFu
aW1hdGUsIGJvb2wmIG5lZWRzQW5pbWF0ZUxheWVycyk7CiAgICAgdm9pZCBzZXRCYWNrZ3JvdW5k
VGlja2luZ0VuYWJsZWQoYm9vbCk7CiAgICAgSW50U2l6ZSBjb250ZW50U2l6ZSgpIGNvbnN0Owor
CisgICAgc3RhdGljIHZvaWQgcmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKENDUmVuZGVyUGFz
c0xpc3QmIHBhc3Nlcywgc2l6ZV90IGJvdHRvbVBhc3MsIGNvbnN0IENDUmVuZGVyUGFzcyogZmly
c3RUb1JlbW92ZSk7CisKICAgICB2b2lkIHNlbmREaWRMb3NlQ29udGV4dFJlY3Vyc2l2ZShDQ0xh
eWVySW1wbCopOwogICAgIHZvaWQgY2xlYXJSZW5kZXJTdXJmYWNlc09uQ0NMYXllckltcGxSZWN1
cnNpdmUoQ0NMYXllckltcGwqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5jcHAKaW5kZXggMGUz
YWZjMDQ2OTJlMGJkYmI1ZTRjYzZhYTE0NDA2ZDhhMWQ5YWY4ZC4uMWU3NmQyYmE2MmZlMGQxN2Uy
YzUxODg3ZDJkYjdhMTUyNGIzMDkxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwCkBAIC0x
MDEsNCArMTAxLDkgQEAgdm9pZCBDQ1JlbmRlclBhc3M6OmFwcGVuZFF1YWRzVG9GaWxsU2NyZWVu
KENDTGF5ZXJJbXBsKiByb290TGF5ZXIsIGNvbnN0IENvbG9yJgogICAgIG1fc2hhcmVkUXVhZFN0
YXRlTGlzdC5hcHBlbmQoc2hhcmVkUXVhZFN0YXRlLnJlbGVhc2UoKSk7CiB9CiAKK3ZvaWQgQ0NS
ZW5kZXJQYXNzOjphcHBlbmRRdWFkKFBhc3NPd25QdHI8Q0NEcmF3UXVhZD4gcXVhZCkKK3sKKyAg
ICBtX3F1YWRMaXN0LmFwcGVuZChxdWFkKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaApp
bmRleCA2NDlkYmFjZGNkYTlmYTAwN2RiN2UwYjJkMWJlMWUzMDk1ZTA5YTRmLi42MmY5MjkwYWNk
MDA1ODJlYWZlNGY0ZTZjZGM4NWUwMTFmNWEzNzE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaApA
QCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhcHBlbmRRdWFkc0ZvckxheWVyKEND
TGF5ZXJJbXBsKiwgQ0NPY2NsdXNpb25UcmFja2VySW1wbCosIGJvb2wmIGhhZE1pc3NpbmdUaWxl
cyk7CiAgICAgdm9pZCBhcHBlbmRRdWFkc0ZvclJlbmRlclN1cmZhY2VMYXllcihDQ0xheWVySW1w
bCosIGNvbnN0IENDUmVuZGVyUGFzcyogY29udHJpYnV0aW5nUmVuZGVyUGFzcywgQ0NPY2NsdXNp
b25UcmFja2VySW1wbCopOwogICAgIHZvaWQgYXBwZW5kUXVhZHNUb0ZpbGxTY3JlZW4oQ0NMYXll
ckltcGwqIHJvb3RMYXllciwgY29uc3QgQ29sb3ImIHNjcmVlbkJhY2tncm91bmRDb2xvciwgY29u
c3QgQ0NPY2NsdXNpb25UcmFja2VySW1wbCYpOworICAgIHZvaWQgYXBwZW5kUXVhZChQYXNzT3du
UHRyPENDRHJhd1F1YWQ+KTsKIAogICAgIGNvbnN0IENDUXVhZExpc3QmIHF1YWRMaXN0KCkgY29u
c3QgeyByZXR1cm4gbV9xdWFkTGlzdDsgfQogICAgIENDUmVuZGVyU3VyZmFjZSogdGFyZ2V0U3Vy
ZmFjZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0U3VyZmFjZTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJh
d1F1YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NSZW5kZXJQYXNzRHJhd1F1YWQuY3BwCmluZGV4IDhkYzRmZjY2YTFjNzE3M2JlNzM3NGE2MjVk
Yjk5Y2Y0MDdiMWQ2ZTMuLmNjZDQyMzI2ZmJiZGQ5ODU2N2YzMTE2MmFjNTllYjJjMGM5YWYzNjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUmVuZGVyUGFzc0RyYXdRdWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5jcHAKQEAgLTI3LDIwICsy
NywyNCBAQAogCiAjaW5jbHVkZSAiY2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQuaCIKIAorI2luY2x1
ZGUgImNjL0NDUmVuZGVyUGFzcy5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NPd25Q
dHI8Q0NSZW5kZXJQYXNzRHJhd1F1YWQ+IENDUmVuZGVyUGFzc0RyYXdRdWFkOjpjcmVhdGUoY29u
c3QgQ0NTaGFyZWRRdWFkU3RhdGUqIHNoYXJlZFF1YWRTdGF0ZSwgY29uc3QgSW50UmVjdCYgcXVh
ZFJlY3QsIGNvbnN0IENDUmVuZGVyUGFzcyogcmVuZGVyUGFzcywgYm9vbCBpc1JlcGxpY2EsIGNv
bnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycywgY29uc3QgV2ViS2l0OjpX
ZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycywgdW5zaWduZWQgbWFza1RleHR1
cmVJZCkKK1Bhc3NPd25QdHI8Q0NSZW5kZXJQYXNzRHJhd1F1YWQ+IENDUmVuZGVyUGFzc0RyYXdR
dWFkOjpjcmVhdGUoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqIHNoYXJlZFF1YWRTdGF0ZSwgY29u
c3QgSW50UmVjdCYgcXVhZFJlY3QsIGNvbnN0IENDUmVuZGVyUGFzcyogcmVuZGVyUGFzcywgYm9v
bCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycywg
Y29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycywgdW5z
aWduZWQgbWFza1RleHR1cmVJZCwgYm9vbCBjb250ZW50c0NoYW5nZWQpCiB7Ci0gICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBDQ1JlbmRlclBhc3NEcmF3UXVhZChzaGFyZWRRdWFkU3RhdGUsIHF1YWRS
ZWN0LCByZW5kZXJQYXNzLCBpc1JlcGxpY2EsIGZpbHRlcnMsIGJhY2tncm91bmRGaWx0ZXJzLCBt
YXNrVGV4dHVyZUlkKSk7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ1JlbmRlclBhc3NEcmF3
UXVhZChzaGFyZWRRdWFkU3RhdGUsIHF1YWRSZWN0LCByZW5kZXJQYXNzLCBpc1JlcGxpY2EsIGZp
bHRlcnMsIGJhY2tncm91bmRGaWx0ZXJzLCBtYXNrVGV4dHVyZUlkLCBjb250ZW50c0NoYW5nZWQp
KTsKIH0KIAotQ0NSZW5kZXJQYXNzRHJhd1F1YWQ6OkNDUmVuZGVyUGFzc0RyYXdRdWFkKGNvbnN0
IENDU2hhcmVkUXVhZFN0YXRlKiBzaGFyZWRRdWFkU3RhdGUsIGNvbnN0IEludFJlY3QmIHF1YWRS
ZWN0LCBjb25zdCBDQ1JlbmRlclBhc3MqIHJlbmRlclBhc3MsIGJvb2wgaXNSZXBsaWNhLCBjb25z
dCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMmIGZpbHRlcnMsIGNvbnN0IFdlYktpdDo6V2Vi
RmlsdGVyT3BlcmF0aW9ucyYgYmFja2dyb3VuZEZpbHRlcnMsIHVuc2lnbmVkIG1hc2tUZXh0dXJl
SWQpCitDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Q0NSZW5kZXJQYXNzRHJhd1F1YWQoY29uc3QgQ0NT
aGFyZWRRdWFkU3RhdGUqIHNoYXJlZFF1YWRTdGF0ZSwgY29uc3QgSW50UmVjdCYgcXVhZFJlY3Qs
IGNvbnN0IENDUmVuZGVyUGFzcyogcmVuZGVyUGFzcywgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdl
YktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0
ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycywgdW5zaWduZWQgbWFza1RleHR1cmVJZCwg
Ym9vbCBjb250ZW50c0NoYW5nZWQpCiAgICAgOiBDQ0RyYXdRdWFkKHNoYXJlZFF1YWRTdGF0ZSwg
Q0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgcXVhZFJlY3QpCiAgICAgLCBtX3JlbmRlclBhc3MocmVu
ZGVyUGFzcykKKyAgICAsIG1fcmVuZGVyU3VyZmFjZShyZW5kZXJQYXNzLT50YXJnZXRTdXJmYWNl
KCkpCiAgICAgLCBtX2lzUmVwbGljYShpc1JlcGxpY2EpCiAgICAgLCBtX2ZpbHRlcnMoZmlsdGVy
cykKICAgICAsIG1fYmFja2dyb3VuZEZpbHRlcnMoYmFja2dyb3VuZEZpbHRlcnMpCiAgICAgLCBt
X21hc2tUZXh0dXJlSWQobWFza1RleHR1cmVJZCkKKyAgICAsIG1fY29udGVudHNDaGFuZ2VkKGNv
bnRlbnRzQ2hhbmdlZCkKIHsKICAgICBBU1NFUlQobV9yZW5kZXJQYXNzKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVy
UGFzc0RyYXdRdWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5oCmluZGV4IDNjYzZmMjYwNzFhMzNjMDIzMDZhZWFk
OWUwOGIwODczMzM0ZTMxZTguLjNhMjlmOGI2Yjg2ZTIyYzFjMTM5OGIyODFjYjNlNTFmNmY2ODll
NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQuaApAQCAtMjcsNiArMjcs
NyBAQAogI2RlZmluZSBDQ1JlbmRlclBhc3NEcmF3UXVhZF9oCiAKICNpbmNsdWRlICJjYy9DQ0Ry
YXdRdWFkLmgiCisjaW5jbHVkZSAiY2MvQ0NSZW5kZXJTdXJmYWNlLmgiCiAjaW5jbHVkZSA8cHVi
bGljL1dlYkZpbHRlck9wZXJhdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
CkBAIC0zNywyMyArMzgsMjcgQEAgY2xhc3MgQ0NSZW5kZXJQYXNzOwogY2xhc3MgQ0NSZW5kZXJQ
YXNzRHJhd1F1YWQgOiBwdWJsaWMgQ0NEcmF3UXVhZCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ0NSZW5kZXJQYXNzRHJhd1F1YWQpOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRy
PENDUmVuZGVyUGFzc0RyYXdRdWFkPiBjcmVhdGUoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqLCBj
b25zdCBJbnRSZWN0JiwgY29uc3QgQ0NSZW5kZXJQYXNzKiwgYm9vbCBpc1JlcGxpY2EsIGNvbnN0
IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycywgY29uc3QgV2ViS2l0OjpXZWJG
aWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycywgdW5zaWduZWQgbWFza1RleHR1cmVJ
ZCk7CisgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzRHJhd1F1YWQ+IGNyZWF0ZShj
b25zdCBDQ1NoYXJlZFF1YWRTdGF0ZSosIGNvbnN0IEludFJlY3QmLCBjb25zdCBDQ1JlbmRlclBh
c3MqLCBib29sIGlzUmVwbGljYSwgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBm
aWx0ZXJzLCBjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMmIGJhY2tncm91bmRGaWx0
ZXJzLCB1bnNpZ25lZCBtYXNrVGV4dHVyZUlkLCBib29sIGNvbnRlbnRzQ2hhbmdlZCk7CiAKICAg
ICBjb25zdCBDQ1JlbmRlclBhc3MqIHJlbmRlclBhc3MoKSBjb25zdCB7IHJldHVybiBtX3JlbmRl
clBhc3M7IH0KKyAgICBDQ1JlbmRlclN1cmZhY2UqIHJlbmRlclN1cmZhY2UoKSBjb25zdCB7IHJl
dHVybiBtX3JlbmRlclN1cmZhY2U7IH0KICAgICBib29sIGlzUmVwbGljYSgpIGNvbnN0IHsgcmV0
dXJuIG1faXNSZXBsaWNhOyB9CiAgICAgdW5zaWduZWQgbWFza1RleHR1cmVJZCgpIGNvbnN0IHsg
cmV0dXJuIG1fbWFza1RleHR1cmVJZDsgfQorICAgIGJvb2wgY29udGVudHNDaGFuZ2VkKCkgY29u
c3QgeyByZXR1cm4gbV9jb250ZW50c0NoYW5nZWQ7IH0KIAogICAgIGNvbnN0IFdlYktpdDo6V2Vi
RmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycygpIGNvbnN0IHsgcmV0dXJuIG1fZmlsdGVyczsgfQog
ICAgIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgYmFja2dyb3VuZEZpbHRlcnMo
KSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmRGaWx0ZXJzOyB9CiAKIHByaXZhdGU6Ci0gICAg
Q0NSZW5kZXJQYXNzRHJhd1F1YWQoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqLCBjb25zdCBJbnRS
ZWN0JiwgY29uc3QgQ0NSZW5kZXJQYXNzKiwgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6
V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVy
YXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycywgdW5zaWduZWQgbWFza1RleHR1cmVJZCk7CisgICAg
Q0NSZW5kZXJQYXNzRHJhd1F1YWQoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqLCBjb25zdCBJbnRS
ZWN0JiwgY29uc3QgQ0NSZW5kZXJQYXNzKiwgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6
V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVy
YXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycywgdW5zaWduZWQgbWFza1RleHR1cmVJZCwgYm9vbCBj
b250ZW50c0NoYW5nZWQpOwogCiAgICAgY29uc3QgQ0NSZW5kZXJQYXNzKiBtX3JlbmRlclBhc3M7
CisgICAgQ0NSZW5kZXJTdXJmYWNlKiBtX3JlbmRlclN1cmZhY2U7CiAgICAgYm9vbCBtX2lzUmVw
bGljYTsKICAgICBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMgbV9maWx0ZXJzOwogICAgIFdl
YktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyBtX2JhY2tncm91bmRGaWx0ZXJzOwogICAgIHVuc2ln
bmVkIG1fbWFza1RleHR1cmVJZDsKKyAgICBib29sIG1fY29udGVudHNDaGFuZ2VkOwogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NSZW5kZXJTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAKaW5kZXggZGRhYmQ1MjhjOGZkMWQwYmNk
NTZiMjAzNzBkYzUzZGQwMzAyMmVjYy4uNzdmZWViNjZlMzlmNmVhMDUwYTRlNDhhZDMwYzQxNjAx
ZmUxMmM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCkBAIC02NCw2ICs2NCw3
IEBAIENDUmVuZGVyU3VyZmFjZTo6Q0NSZW5kZXJTdXJmYWNlKENDTGF5ZXJJbXBsKiBvd25pbmdM
YXllcikKICAgICAsIG1fZHJhd09wYWNpdHlJc0FuaW1hdGluZyhmYWxzZSkKICAgICAsIG1fdGFy
Z2V0U3VyZmFjZVRyYW5zZm9ybXNBcmVBbmltYXRpbmcoZmFsc2UpCiAgICAgLCBtX3NjcmVlblNw
YWNlVHJhbnNmb3Jtc0FyZUFuaW1hdGluZyhmYWxzZSkKKyAgICAsIG1fY29udGVudHNDaGFuZ2Vk
KHRydWUpCiAgICAgLCBtX25lYXJlc3RBbmNlc3RvclRoYXRNb3Zlc1BpeGVscygwKQogICAgICwg
bV90YXJnZXRSZW5kZXJTdXJmYWNlTGF5ZXJJbmRleEhpc3RvcnkoMCkKICAgICAsIG1fY3VycmVu
dExheWVySW5kZXhIaXN0b3J5KDApCkBAIC04OCwxMCArODksMTUgQEAgRmxvYXRSZWN0IENDUmVu
ZGVyU3VyZmFjZTo6ZHJhd2FibGVDb250ZW50UmVjdCgpIGNvbnN0CiAKIGJvb2wgQ0NSZW5kZXJT
dXJmYWNlOjpwcmVwYXJlQ29udGVudHNUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5
ZXJSZW5kZXJlcikKIHsKLSAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBsYXll
clJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsKKyAgICBpZiAobGF5ZXJSZW5kZXJlcikg
eworICAgICAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBsYXllclJlbmRlcmVy
LT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsKKworICAgICAgICBpZiAoIW1fY29udGVudHNUZXh0dXJl
KQorICAgICAgICAgICAgbV9jb250ZW50c1RleHR1cmUgPSBNYW5hZ2VkVGV4dHVyZTo6Y3JlYXRl
KHRleHR1cmVNYW5hZ2VyKTsKKyAgICB9CiAKICAgICBpZiAoIW1fY29udGVudHNUZXh0dXJlKQot
ICAgICAgICBtX2NvbnRlbnRzVGV4dHVyZSA9IE1hbmFnZWRUZXh0dXJlOjpjcmVhdGUodGV4dHVy
ZU1hbmFnZXIpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAobV9jb250ZW50c1Rl
eHR1cmUtPmlzUmVzZXJ2ZWQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMTQsNiArMTIw
LDExIEBAIGJvb2wgQ0NSZW5kZXJTdXJmYWNlOjpoYXNWYWxpZENvbnRlbnRzVGV4dHVyZSgpIGNv
bnN0CiAgICAgcmV0dXJuIG1fY29udGVudHNUZXh0dXJlICYmIG1fY29udGVudHNUZXh0dXJlLT5p
c1Jlc2VydmVkKCkgJiYgbV9jb250ZW50c1RleHR1cmUtPmlzVmFsaWQobV9jb250ZW50UmVjdC5z
aXplKCksIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBKTsKIH0KIAorYm9vbCBDQ1JlbmRlclN1cmZh
Y2U6Omhhc0NhY2hlZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY29u
dGVudHNUZXh0dXJlICYmIG1fY29udGVudHNUZXh0dXJlLT5pc1ZhbGlkKG1fY29udGVudFJlY3Qu
c2l6ZSgpLCBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSk7Cit9CisKIGJvb2wgQ0NSZW5kZXJTdXJm
YWNlOjpwcmVwYXJlQmFja2dyb3VuZFRleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBsYXll
clJlbmRlcmVyKQogewogICAgIFRleHR1cmVNYW5hZ2VyKiB0ZXh0dXJlTWFuYWdlciA9IGxheWVy
UmVuZGVyZXItPmltcGxUZXh0dXJlTWFuYWdlcigpOwpAQCAtMjg2LDcgKzI5Nyw3IEBAIHZvaWQg
Q0NSZW5kZXJTdXJmYWNlOjphcHBlbmRRdWFkcyhDQ1F1YWRDdWxsZXImIHF1YWRMaXN0LCBDQ1No
YXJlZFF1YWRTdGF0ZSogc2hhCiAKICAgICBpbnQgbWFza1RleHR1cmVJZCA9IG1hc2tMYXllciA/
IG1hc2tMYXllci0+Y29udGVudHNUZXh0dXJlSWQoKSA6IDA7CiAKLSAgICBxdWFkTGlzdC5hcHBl
bmRTdXJmYWNlKENDUmVuZGVyUGFzc0RyYXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBj
b250ZW50UmVjdCgpLCByZW5kZXJQYXNzLCBmb3JSZXBsaWNhLCBmaWx0ZXJzKCksIGJhY2tncm91
bmRGaWx0ZXJzKCksIG1hc2tUZXh0dXJlSWQpKTsKKyAgICBxdWFkTGlzdC5hcHBlbmRTdXJmYWNl
KENDUmVuZGVyUGFzc0RyYXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBjb250ZW50UmVj
dCgpLCByZW5kZXJQYXNzLCBmb3JSZXBsaWNhLCBmaWx0ZXJzKCksIGJhY2tncm91bmRGaWx0ZXJz
KCksIG1hc2tUZXh0dXJlSWQsIG1fY29udGVudHNDaGFuZ2VkKSk7CiB9CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVy
U3VyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NSZW5kZXJTdXJmYWNlLmgKaW5kZXggNjI1MjNiODIxMmI3ZTM2ZDY1ZDgyZGM2ZDFjNjliOTFj
ODc0YzY0OS4uYTZkNGJhM2I5MDM3M2Q3OGUzZTcxZmZhNmU2MzdjZDZlYjM3ZmM2YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5k
ZXJTdXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKQEAgLTUzLDkgKzUzLDEwIEBAIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBDQ1JlbmRlclN1cmZhY2UoQ0NMYXllckltcGwqKTsKICAgICB+Q0NSZW5kZXJTdXJm
YWNlKCk7CiAKLSAgICBib29sIHByZXBhcmVDb250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNo
cm9taXVtKik7CisgICAgdmlydHVhbCBib29sIHByZXBhcmVDb250ZW50c1RleHR1cmUoTGF5ZXJS
ZW5kZXJlckNocm9taXVtKik7CiAgICAgdm9pZCByZWxlYXNlQ29udGVudHNUZXh0dXJlKCk7CiAg
ICAgYm9vbCBoYXNWYWxpZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9v
bCBoYXNDYWNoZWRDb250ZW50c1RleHR1cmUoKSBjb25zdDsKIAogICAgIGJvb2wgcHJlcGFyZUJh
Y2tncm91bmRUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSopOwogICAgIHZvaWQgcmVsZWFz
ZUJhY2tncm91bmRUZXh0dXJlKCk7CkBAIC0xMTQsNiArMTE1LDkgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0U2Npc3NvclJlY3QoY29uc3QgSW50UmVjdCYgc2Npc3NvclJlY3QpIHsgbV9zY2lzc29y
UmVjdCA9IHNjaXNzb3JSZWN0OyB9CiAgICAgY29uc3QgSW50UmVjdCYgc2Npc3NvclJlY3QoKSBj
b25zdCB7IHJldHVybiBtX3NjaXNzb3JSZWN0OyB9CiAKKyAgICB2b2lkIHNldENvbnRlbnRzQ2hh
bmdlZChib29sIGNvbnRlbnRzQ2hhbmdlZCkgeyBtX2NvbnRlbnRzQ2hhbmdlZCA9IGNvbnRlbnRz
Q2hhbmdlZDsgfQorICAgIGJvb2wgY29udGVudHNDaGFuZ2VkKCkgY29uc3QgeyByZXR1cm4gbV9j
b250ZW50c0NoYW5nZWQ7IH0KKwogICAgIHZvaWQgc2V0Q29udGVudFJlY3QoY29uc3QgSW50UmVj
dCYpOwogICAgIGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9j
b250ZW50UmVjdDsgfQogCkBAIC0xNzQsNiArMTc4LDExIEBAIHByaXZhdGU6CiAgICAgLy8gVXNl
cyB0aGUgc3BhY2Ugb2YgdGhlIHN1cmZhY2UncyB0YXJnZXQgc3VyZmFjZS4KICAgICBJbnRSZWN0
IG1fc2Npc3NvclJlY3Q7CiAKKyAgICAvLyBGSVhNRTogV2hlbiB0aGUgcmVsYXRpb25zaGlwcyBi
ZXR3ZWVuIENDRGFtYWdlVHJhY2tlci9DQ1JlbmRlclBhc3MvQ0NSZW5kZXJTdXJmYWNlL0NDUmVu
ZGVyUGFzRHJhd1F1YWQKKyAgICAvLyBhcmUgZml4ZWQsIHRoaXMgZmxhZyBtYXkgZ28gYXdheS4g
UmlnaHQgbm93IG5lZWRlZCB0byB0cmFuc2ZlciB0aGUgaW5mb3JtYXRpb24gZnJvbSBDQ0RhbWFn
ZVRyYWNrZXIKKyAgICAvLyB0byBDQ1JlbmRlclBhc3NEcmF3UXVhZCB3aXRob3V0IGNyZWF0aW5n
IG5ldyBjbGFzcyBkZXBlbmRlbmNpZXMuCisgICAgYm9vbCBtX2NvbnRlbnRzQ2hhbmdlZDsKKwog
ICAgIFZlY3RvcjxDQ0xheWVySW1wbCo+IG1fbGF5ZXJMaXN0OwogCiAgICAgLy8gVGhlIG5lYXJl
c3QgYW5jZXN0b3IgdGFyZ2V0IHN1cmZhY2UgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIGNvbnRlbnRz
IG9mIHRoaXMgc3VyZmFjZSwgYW5kIHRoYXQgaXMgZ29pbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3BwCmluZGV4IGJiNGUyYzJh
YzViYTE1ZDNkMzk5OTQzOWNhMjJkYzA3NjU1NGZlODQuLjg3NTA1MjliYWU3MzFiN2Y2ZjUwOThh
YjM2M2VjNGE5Mjk3Yzk0MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcApAQCAtODkyLDcgKzg5Miw3IEBAIFRFU1RfRihD
Q0RhbWFnZVRyYWNrZXJUZXN0LCB2ZXJpZnlEYW1hZ2VGb3JNYXNrKQogICAgIEVYUEVDVF9UUlVF
KGNoaWxkRGFtYWdlUmVjdC5pc0VtcHR5KCkpOwogCiAgICAgLy8gVGhlbiB0ZXN0IHRoZSBwcm9w
ZXJ0eSBjaGFuZ2UuCi0gICAgbWFza0xheWVyLT5zZXRPcGFjaXR5KDAuNSk7CisgICAgbWFza0xh
eWVyLT5zZXRTdGFja2luZ09yZGVyQ2hhbmdlZCh0cnVlKTsKICAgICBlbXVsYXRlRHJhd2luZ09u
ZUZyYW1lKHJvb3QuZ2V0KCkpOwogICAgIGNoaWxkRGFtYWdlUmVjdCA9IGNoaWxkLT5yZW5kZXJT
dXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+Y3VycmVudERhbWFnZVJlY3QoKTsKICAgICBFWFBF
Q1RfRkxPQVRfUkVDVF9FUShGbG9hdFJlY3QoMCwgMCwgMzAsIDMwKSwgY2hpbGREYW1hZ2VSZWN0
KTsKQEAgLTk1NCw3ICs5NTQsNyBAQCBURVNUX0YoQ0NEYW1hZ2VUcmFja2VyVGVzdCwgdmVyaWZ5
RGFtYWdlRm9yUmVwbGljYU1hc2spCiAgICAgQVNTRVJUX1RSVUUoZ3JhbmRDaGlsZDEtPnJlbmRl
clN1cmZhY2UoKSk7CiAKICAgICAvLyBDQVNFIDE6IGEgcHJvcGVydHkgY2hhbmdlIG9uIHRoZSBt
YXNrIHNob3VsZCBkYW1hZ2Ugb25seSB0aGUgcmVmbGVjdGVkIHJlZ2lvbiBvbiB0aGUgdGFyZ2V0
IHN1cmZhY2UuCi0gICAgcmVwbGljYU1hc2tMYXllci0+c2V0T3BhY2l0eSgwLjZmKTsKKyAgICBy
ZXBsaWNhTWFza0xheWVyLT5zZXRTdGFja2luZ09yZGVyQ2hhbmdlZCh0cnVlKTsKICAgICBlbXVs
YXRlRHJhd2luZ09uZUZyYW1lKHJvb3QuZ2V0KCkpOwogCiAgICAgRmxvYXRSZWN0IGdyYW5kQ2hp
bGREYW1hZ2VSZWN0ID0gZ3JhbmRDaGlsZDEtPnJlbmRlclN1cmZhY2UoKS0+ZGFtYWdlVHJhY2tl
cigpLT5jdXJyZW50RGFtYWdlUmVjdCgpOwpAQCAtMTAxNCw3ICsxMDE0LDcgQEAgVEVTVF9GKEND
RGFtYWdlVHJhY2tlclRlc3QsIHZlcmlmeURhbWFnZUZvclJlcGxpY2FNYXNrV2l0aEFuY2hvcikK
ICAgICBBU1NFUlRfVFJVRShncmFuZENoaWxkMS0+cmVuZGVyU3VyZmFjZSgpKTsKIAogICAgIC8v
IEEgcHJvcGVydHkgY2hhbmdlIG9uIHRoZSByZXBsaWNhTWFzayBzaG91bGQgZGFtYWdlIHRoZSBy
ZWZsZWN0ZWQgcmVnaW9uIG9uIHRoZSB0YXJnZXQgc3VyZmFjZS4KLSAgICByZXBsaWNhTWFza0xh
eWVyLT5zZXRPcGFjaXR5KDAuNmYpOworICAgIHJlcGxpY2FNYXNrTGF5ZXItPnNldFN0YWNraW5n
T3JkZXJDaGFuZ2VkKHRydWUpOwogICAgIGVtdWxhdGVEcmF3aW5nT25lRnJhbWUocm9vdC5nZXQo
KSk7CiAKICAgICBGbG9hdFJlY3QgY2hpbGREYW1hZ2VSZWN0ID0gY2hpbGQxLT5yZW5kZXJTdXJm
YWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+Y3VycmVudERhbWFnZVJlY3QoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcAppbmRleCA4MjdjOWFk
YWFlMDc0NDU2YTlkMGMwMmI4NzM4Mzc0NzlmNjM2NWQzLi44YjQwMTU2NmI4YTVmZTNlMjEzMWNm
ZGY1ODVhY2I1MjkzNzNiNWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9DQ0xheWVySW1wbFRlc3QuY3BwCkBAIC00MiwyMSArNDIsMzMgQEAgbmFtZXNwYWNlIHsKICAg
ICBjb2RlVG9UZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfVFJVRShyb290LT5sYXllclByb3BlcnR5Q2hhbmdl
ZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfVFJVRShjaGlsZC0+
bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBF
WFBFQ1RfVFJVRShncmFuZENoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKQorICAgIEVYUEVD
VF9UUlVFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAg
ICAgICAgXAorICAgIEVYUEVDVF9GQUxTRShyb290LT5sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5n
ZWQoKSkKKwogCiAjZGVmaW5lIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0RJRF9OT1RfQ0hB
TkdFKGNvZGVUb1Rlc3QpICAgICAgICAgICBcCiAgICAgcm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFj
a2luZ0ZvclN1YnRyZWUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY29kZVRv
VGVzdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCiAgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAg
ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX0ZBTFNFKGNoaWxkLT5sYXllclBy
b3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRVhQRUNUX0ZB
TFNFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpCisgICAgRVhQRUNUX0ZBTFNF
KGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICBc
CisgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpKQog
CiAjZGVmaW5lIEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX0xBWUVSX0NIQU5HRUQoY29kZVRvVGVz
dCkgICAgICAgICAgICAgICBcCiAgICAgcm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1
YnRyZWUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY29kZVRvVGVzdDsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg
ICAgRVhQRUNUX1RSVUUocm9vdC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX0ZBTFNFKGNoaWxkLT5sYXllclByb3BlcnR5Q2hh
bmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRVhQRUNUX0ZBTFNFKGdyYW5k
Q2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpCisgICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hp
bGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQ
RUNUX0ZBTFNFKHJvb3QtPmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpKQorCisjZGVmaW5l
IEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX1NVUkZBQ0VfQ0hBTkdFRChjb2RlVG9UZXN0KSAgICAg
ICAgICAgICBcCisgICAgcm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29kZVRvVGVzdDsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNU
X0ZBTFNFKHJvb3QtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hpbGQtPmxh
eWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX1RS
VUUocm9vdC0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkpCiAKIFRFU1QoQ0NMYXllcklt
cGxUZXN0LCB2ZXJpZnlMYXllckNoYW5nZXNBcmVUcmFja2VkUHJvcGVybHkpCiB7CkBAIC05OCwx
MSArMTEwLDkgQEAgVEVTVChDQ0xheWVySW1wbFRlc3QsIHZlcmlmeUxheWVyQ2hhbmdlc0FyZVRy
YWNrZWRQcm9wZXJseSkKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJv
b3QtPnNldE1hc2tMYXllcihDQ0xheWVySW1wbDo6Y3JlYXRlKDQpKSk7CiAgICAgRVhFQ1VURV9B
TkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRNYXNrc1RvQm91bmRzKHRydWUpKTsK
ICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldE9wYXF1ZSh0
cnVlKSk7Ci0gICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRP
cGFjaXR5KGFyYml0cmFyeU51bWJlcikpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVF
X0NIQU5HRUQocm9vdC0+c2V0UmVwbGljYUxheWVyKENDTGF5ZXJJbXBsOjpjcmVhdGUoNSkpKTsK
ICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldFBvc2l0aW9u
KGFyYml0cmFyeUZsb2F0UG9pbnQpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9D
SEFOR0VEKHJvb3QtPnNldFByZXNlcnZlczNEKHRydWUpKTsKLSAgICBFWEVDVVRFX0FORF9WRVJJ
RllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldFRyYW5zZm9ybShhcmJpdHJhcnlUcmFuc2Zvcm0p
KTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldERvdWJs
ZVNpZGVkKGZhbHNlKSk7IC8vIGNvbnN0cnVjdG9yIGluaXRpYWxpemVzIGl0IHRvICJ0cnVlIi4K
ICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNjcm9sbEJ5KGFy
Yml0cmFyeUludFNpemUpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VE
KHJvb3QtPnNldFNjcm9sbERlbHRhKGFyYml0cmFyeUludFNpemUpKTsKQEAgLTExNyw2ICsxMjcs
MTAgQEAgVEVTVChDQ0xheWVySW1wbFRlc3QsIHZlcmlmeUxheWVyQ2hhbmdlc0FyZVRyYWNrZWRQ
cm9wZXJseSkKICAgICBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9MQVlFUl9DSEFOR0VEKHJvb3Qt
PnNldEJhY2tncm91bmRDb2xvcihDb2xvcjo6Z3JheSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklG
WV9PTkxZX0xBWUVSX0NIQU5HRUQocm9vdC0+c2V0QmFja2dyb3VuZEZpbHRlcnMoYXJiaXRyYXJ5
RmlsdGVycykpOwogCisgICAgLy8gQ2hhbmdpbmcgdGhlc2UgcHJvcGVydGllcyBvbmx5IGFmZmVj
dHMgaG93IHJlbmRlcidzIHN1cmZhY2UgaXMgZHJhd24KKyAgICBFWEVDVVRFX0FORF9WRVJJRllf
T05MWV9TVVJGQUNFX0NIQU5HRUQocm9vdC0+c2V0T3BhY2l0eShhcmJpdHJhcnlOdW1iZXIpKTsK
KyAgICBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9TVVJGQUNFX0NIQU5HRUQocm9vdC0+c2V0VHJh
bnNmb3JtKGFyYml0cmFyeVRyYW5zZm9ybSkpOworCiAgICAgLy8gU3BlY2lhbCBjYXNlOiBjaGVj
ayB0aGF0IHN1YmxheWVyIHRyYW5zZm9ybSBjaGFuZ2VzIGFsbCBsYXllcidzIGRlc2NlbmRhbnRz
LCBidXQgbm90IHRoZSBsYXllciBpdHNlbGYuCiAgICAgcm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFj
a2luZ0ZvclN1YnRyZWUoKTsKICAgICByb290LT5zZXRTdWJsYXllclRyYW5zZm9ybShhcmJpdHJh
cnlUcmFuc2Zvcm0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9D
Q0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAppbmRleCAxNjU3YzMzNDE4OTEzMDNjZWMzM2U2
MDlkY2JkNzllNDFiMmNjNzlhLi42YzI1NjAyODllZjk5NTFhZGExZmFiOGE3NzVmMjhkZTIzMWI5
ODNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVl
SG9zdEltcGxUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5
ZXJUcmVlSG9zdEltcGxUZXN0LmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgImNjL0ND
TGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NMYXllclRpbGluZ0RhdGEuaCIKICNpbmNsdWRl
ICJjYy9DQ1F1YWRDdWxsZXIuaCIKKyNpbmNsdWRlICJjYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5o
IgogI2luY2x1ZGUgImNjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NT
aW5nbGVUaHJlYWRQcm94eS5oIgogI2luY2x1ZGUgImNjL0NDU29saWRDb2xvckRyYXdRdWFkLmgi
CkBAIC0xNzM0LDQgKzE3MzUsNTA4IEBAIFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwg
ZG9udFVzZU9sZFJlc291cmNlc0FmdGVyTG9zdENvbnRleHQpCiAgICAgbV9ob3N0SW1wbC0+c3dh
cEJ1ZmZlcnMoKTsKIH0KIAorVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBzdXJmYWNl
VGV4dHVyZUNhY2hpbmcpCit7CisgICAgQ0NTZXR0aW5ncyBzZXR0aW5nczsKKyAgICAKKyAgICBz
ZXR0aW5ncy5wYXJ0aWFsU3dhcEVuYWJsZWQgPSB0cnVlOworICAgIAorICAgIE93blB0cjxDQ0xh
eWVyVHJlZUhvc3RJbXBsPiBteUhvc3RJbXBsID0gQ0NMYXllclRyZWVIb3N0SW1wbDo6Y3JlYXRl
KHNldHRpbmdzLCB0aGlzKTsKKyAgICAKKyAgICBSZWZQdHI8Q0NHcmFwaGljc0NvbnRleHQ+IGNv
bnRleHQgPSBDQ0dyYXBoaWNzQ29udGV4dDo6Y3JlYXRlM0QoR3JhcGhpY3NDb250ZXh0M0RQcml2
YXRlOjpjcmVhdGVHcmFwaGljc0NvbnRleHRGcm9tV2ViQ29udGV4dChhZG9wdFB0cihuZXcgUGFy
dGlhbFN3YXBDb250ZXh0KCkpLCBHcmFwaGljc0NvbnRleHQzRDo6UmVuZGVyRGlyZWN0bHlUb0hv
c3RXaW5kb3cpKTsKKworICAgIG15SG9zdEltcGwtPmluaXRpYWxpemVMYXllclJlbmRlcmVyKGNv
bnRleHQucmVsZWFzZSgpLCBVbnRocm90dGxlZFVwbG9hZGVyKTsKKyAgICBteUhvc3RJbXBsLT5z
ZXRWaWV3cG9ydFNpemUoSW50U2l6ZSgxMDAsIDEwMCkpOworCisgICAgT3duUHRyPENDTGF5ZXJJ
bXBsPiByb290ID0gQ0NMYXllckltcGw6OmNyZWF0ZSgxKTsKKyAgICBDQ0xheWVySW1wbCogcm9v
dFB0ciA9IHJvb3QuZ2V0KCk7CisKKyAgICByb290LT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50
KDAsIDApKTsKKyAgICByb290LT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KDAsIDApKTsKKyAgICBy
b290LT5zZXRCb3VuZHMoSW50U2l6ZSgxMDAsIDEwMCkpOworICAgIHJvb3QtPnNldFZpc2libGVM
YXllclJlY3QoSW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpOworICAgIHJvb3QtPnNldERyYXdzQ29u
dGVudCh0cnVlKTsKKyAgICBteUhvc3RJbXBsLT5zZXRSb290TGF5ZXIocm9vdC5yZWxlYXNlKCkp
OworCisgICAgT3duUHRyPENDTGF5ZXJJbXBsPiBzdXJmYWNlTGF5ZXIgPSBDQ0xheWVySW1wbDo6
Y3JlYXRlKDIpOworICAgIENDTGF5ZXJJbXBsKiBzdXJmYWNlTGF5ZXJQdHIgPSBzdXJmYWNlTGF5
ZXIuZ2V0KCk7CisKKyAgICAvLyBTdXJmYWNlIGxheWVyIGlzIHRoZSBsYXllciB0aGF0IGNoYW5n
ZXMgaXRzIG9wYWNpdHkKKyAgICAvLyBJdCB3aWxsIGNvbnRhaW4gb3RoZXIgbGF5ZXJzIHRoYXQg
ZHJhdyBjb250ZW50LgorICAgIHN1cmZhY2VMYXllclB0ci0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQ
b2ludCgwLCAwKSk7CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50
KDEwLCAxMCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0Qm91bmRzKEludFNpemUoNTAsIDUw
KSk7CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRWaXNpYmxlTGF5ZXJSZWN0KEludFJlY3QoMCwg
MCwgNTAsIDUwKSk7CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXREcmF3c0NvbnRlbnQoZmFsc2Up
OyAvLyBvbmx5IGNoaWxkcmVuIGRyYXcgY29udGVudAorICAgIHN1cmZhY2VMYXllclB0ci0+c2V0
T3BhY2l0eSgwLjVmKTsgLy8gVGhpcyB3aWxsIGNhdXNlIGl0IHRvIGhhdmUgYSBzdXJmYWNlCisg
ICAgcm9vdFB0ci0+YWRkQ2hpbGQoc3VyZmFjZUxheWVyLnJlbGVhc2UoKSk7CisKKyAgICAvLyBD
aGlsZCBvZiB0aGUgc3VyZmFjZSBsYXllciB3aWxsIHByb2R1Y2Ugc29tZSBxdWFkcworICAgIE93
blB0cjxGYWtlTGF5ZXJXaXRoUXVhZHM+IGNoaWxkID0gRmFrZUxheWVyV2l0aFF1YWRzOjpjcmVh
dGUoMyk7CisgICAgRmFrZUxheWVyV2l0aFF1YWRzKiBjaGlsZFB0ciA9IGNoaWxkLmdldCgpOwor
CisgICAgY2hpbGRQdHItPnNldEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIGNo
aWxkUHRyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KDUsIDUpKTsKKyAgICBjaGlsZFB0ci0+c2V0
Qm91bmRzKEludFNpemUoMTAsIDEwKSk7CisgICAgY2hpbGRQdHItPnNldFZpc2libGVMYXllclJl
Y3QoSW50UmVjdCgwLCAwLCAxMCwgMTApKTsKKyAgICBjaGlsZFB0ci0+c2V0RHJhd3NDb250ZW50
KHRydWUpOworCisgICAgc3VyZmFjZUxheWVyUHRyLT5hZGRDaGlsZChjaGlsZC5yZWxlYXNlKCkp
OworCisgICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7
CisgICAgICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpKTsK
KworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAgbXlIb3N0
SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZl
IHR3byByZW5kZXIgcGFzc2VzLCBlYWNoIHdpdGggb25lIHF1YWQKKyAgICAgICAgQVNTRVJUX0VR
KDJVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBm
cmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNU
X0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKworICAg
ICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUucmVuZGVyUGFzc2Vz
WzFdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgpKTsKKyAgICAgICAgQ0NSZW5kZXJQYXNzRHJh
d1F1YWQqIHF1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGZyYW1lLnJl
bmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9UUlVF
KHF1YWQtPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKyAgICB9CisKKyAgICAvLyBEcmF3IHdpdGhvdXQg
YW55IGNoYW5nZQorICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRh
IGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZy
YW1lKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAg
IG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworCisgICAgICAgIC8vIE11c3Qg
cmVjZWl2ZSB0d28gRU1QVFkgcmVuZGVyIHBhc3NlcworICAgICAgICBBU1NFUlRfRVEoMlUsIGZy
YW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMFUsIGZyYW1lLnJl
bmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMFUs
IGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgIH0KKworICAg
IC8vIENoYW5nZSBvcGFjaXR5IGFuZCBkcmF3CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRPcGFj
aXR5KDAuNmYpOworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRh
IGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZy
YW1lKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAg
IG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworCisgICAgICAgIC8vIE11c3Qg
cmVjZWl2ZSBvbmUgcmVuZGVyIHBhc3MsIGFzIHRoZSBvdGhlciBvbmUgc2hvdWxkIGJlIGN1bGxl
ZAorICAgICAgICBBU1NFUlRfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworCisg
ICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNp
emUoKSk7CisgICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5y
ZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1Jl
bmRlclBhc3NEcmF3UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFk
Kj4oZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAg
RVhQRUNUX0ZBTFNFKHF1YWQtPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKyAgICB9CisKKyAgICAvLyBD
aGFuZ2UgbGVzcyBiZW5pZ24gcHJvcGVydHkgYW5kIGRyYXcgLSBzaG91bGQgaGF2ZSBjb250ZW50
cyBjaGFuZ2VkIGZsYWcKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldFN0YWNraW5nT3JkZXJDaGFu
Z2VkKHRydWUpOworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRh
IGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZy
YW1lKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAg
IG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworCisgICAgICAgIC8vIE11c3Qg
cmVjZWl2ZSB0d28gcmVuZGVyIHBhc3NlcywgZWFjaCB3aXRoIG9uZSBxdWFkCisgICAgICAgIEFT
U0VSVF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisKKyAgICAgICAgRVhQRUNU
X0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAg
ICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlNvbGlkQ29sb3IsIGZyYW1lLnJlbmRlclBhc3Nlc1sw
XS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKENDRHJh
d1F1YWQ6OlJlbmRlclBhc3MsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS0+
bWF0ZXJpYWwoKSk7CisgICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGlj
X2Nhc3Q8Q0NSZW5kZXJQYXNzRHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRM
aXN0KClbMF0uZ2V0KCkpOworICAgICAgICBFWFBFQ1RfVFJVRShxdWFkLT5jb250ZW50c0NoYW5n
ZWQoKSk7CisgICAgfQorCisgICAgLy8gQ2hhbmdlIG9wYWNpdHkgYWdhaW4sIGJ1dCBldmljdCB0
aGUgY2FjaGVkIHN1cmZhY2UgdGV4dHVyZQorICAgIHN1cmZhY2VMYXllclB0ci0+c2V0T3BhY2l0
eSgwLjVmKTsKKyAgICBNYW5hZ2VkVGV4dHVyZSogY29udGVudHNUZXh0dXJlID0gc3VyZmFjZUxh
eWVyUHRyLT5yZW5kZXJTdXJmYWNlKCktPmNvbnRlbnRzVGV4dHVyZSgpOworICAgIEFTU0VSVF9U
UlVFKGNvbnRlbnRzVGV4dHVyZS0+aXNWYWxpZChjb250ZW50c1RleHR1cmUtPnNpemUoKSwgY29u
dGVudHNUZXh0dXJlLT5mb3JtYXQoKSkpOworICAgIENDUmVuZGVyZXIqIHJlbmRlcmVyID0gbXlI
b3N0SW1wbC0+bGF5ZXJSZW5kZXJlcigpOworICAgIFRleHR1cmVNYW5hZ2VyKiB0ZXh0dXJlTWFu
YWdlciA9IHJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsKKyAgICBzaXplX3QgbWF4TWVt
b3J5TGltaXQgPSB0ZXh0dXJlTWFuYWdlci0+bWF4TWVtb3J5TGltaXRCeXRlcygpOworCisgICAg
Ly8gVGhpcyBzaG91bGQgZXZpY2UgYWxsIGNhY2hlZCBzdXJmYWNlcworICAgIHRleHR1cmVNYW5h
Z2VyLT5zZXRNYXhNZW1vcnlMaW1pdEJ5dGVzKDApOworCisgICAgLy8gUmVzdG9yZSBvcmlnaW5h
bCBsaW1pdAorICAgIHRleHR1cmVNYW5hZ2VyLT5zZXRNYXhNZW1vcnlMaW1pdEJ5dGVzKG1heE1l
bW9yeUxpbWl0KTsKKworICAgIC8vIFdhcyBvdXIgc3VyZmFjZSBldmljdGVkPworICAgIEFTU0VS
VF9GQUxTRShjb250ZW50c1RleHR1cmUtPmlzVmFsaWQoY29udGVudHNUZXh0dXJlLT5zaXplKCks
IGNvbnRlbnRzVGV4dHVyZS0+Zm9ybWF0KCkpKTsKKworICAgIC8vIENoYW5nZSBvcGFjaXR5IGFu
ZCBkcmF3CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRPcGFjaXR5KDAuNmYpOworICAgIHsKKyAg
ICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBF
Q1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgbXlI
b3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdB
bGxMYXllcnMoZnJhbWUpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gcmVuZGVyIHBh
c3NlcworICAgICAgICBBU1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOwor
CisgICAgICAgIC8vIEV2ZW4gdGhvdWdoIG5vdCBlbm91Z2ggcHJvcGVydGllcyBjaGFuZ2VkLCB0
aGUgZW50aXJlIHRoaW5nIG11c3QgYmUKKyAgICAgICAgLy8gcmVkcmF3biBhcyB3ZSBkb24ndCBo
YXZlIGNhY2hlZCB0ZXh0dXJlcworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBh
c3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1l
LnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKS5zaXplKCkpOworCisgICAgICAgIEVYUEVDVF9F
UShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0
KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVhZCA9
IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFzc2VzWzFd
LT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHF1YWQtPmNvbnRl
bnRzQ2hhbmdlZCgpKTsKKyAgICB9Cit9CisKK3N0cnVjdCBSZW5kZXJQYXNzQ2FjaGVFbnRyeSB7
CisgICAgbXV0YWJsZSBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZW5kZXJQYXNzUHRyOworICAgIEND
UmVuZGVyUGFzcyogcmVuZGVyUGFzczsKKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5KFBhc3NP
d25QdHI8Q0NSZW5kZXJQYXNzPiByKQorICAgICAgICA6IHJlbmRlclBhc3NQdHIociksCisgICAg
ICAgICAgcmVuZGVyUGFzcyhyZW5kZXJQYXNzUHRyLmdldCgpKQorICAgIHsKKyAgICB9CisKKyAg
ICBSZW5kZXJQYXNzQ2FjaGVFbnRyeSgpCisgICAgeworICAgIH0KKworICAgIFJlbmRlclBhc3ND
YWNoZUVudHJ5KGNvbnN0IFJlbmRlclBhc3NDYWNoZUVudHJ5JiBlbnRyeSkKKyAgICAgICAgOiBy
ZW5kZXJQYXNzUHRyKGVudHJ5LnJlbmRlclBhc3NQdHIucmVsZWFzZSgpKSwKKyAgICAgICAgICBy
ZW5kZXJQYXNzKGVudHJ5LnJlbmRlclBhc3MpCisgICAgeworICAgIH0KKworICAgIFJlbmRlclBh
c3NDYWNoZUVudHJ5JiBvcGVyYXRvcj0oY29uc3QgUmVuZGVyUGFzc0NhY2hlRW50cnkmIGVudHJ5
KQorICAgIHsKKyAgICAgICAgcmVuZGVyUGFzc1B0ciA9IGVudHJ5LnJlbmRlclBhc3NQdHIucmVs
ZWFzZSgpOworICAgICAgICByZW5kZXJQYXNzID0gZW50cnkucmVuZGVyUGFzczsKKyAgICAgICAg
cmV0dXJuICp0aGlzOworICAgIH0KK307CisKK3N0cnVjdCBSZW5kZXJQYXNzUmVtb3ZhbFRlc3RE
YXRhIHsKKyAgICBDQ1JlbmRlclBhc3NMaXN0IHJlbmRlclBhc3NMaXN0OworICAgIHN0ZDo6bWFw
PGNoYXIsIFJlbmRlclBhc3NDYWNoZUVudHJ5PiByZW5kZXJQYXNzQ2FjaGU7CisgICAgc3RkOjpt
YXA8Y29uc3QgQ0NSZW5kZXJQYXNzKiwgY2hhcj4gcmVuZGVyUGFzc0lkOworICAgIFZlY3RvcjxP
d25QdHI8Q0NSZW5kZXJTdXJmYWNlPiA+IHJlbmRlclN1cmZhY2VTdG9yZTsKKyAgICBWZWN0b3I8
T3duUHRyPENDTGF5ZXJJbXBsPiA+IGxheWVyU3RvcmU7CisgICAgT3duUHRyPENDU2hhcmVkUXVh
ZFN0YXRlPiBzaGFyZWRRdWFkU3RhdGU7Cit9OworCitjbGFzcyBGYWtlUmVuZGVyU3VyZmFjZSA6
IHB1YmxpYyBDQ1JlbmRlclN1cmZhY2UgeworcHJpdmF0ZToKKyAgICBib29sIG1faGFzQ2FjaGVk
VGV4dHVyZTsKKworcHVibGljOgorICAgIEZha2VSZW5kZXJTdXJmYWNlKENDTGF5ZXJJbXBsKiBs
YXllckltcGwpCisgICAgICAgIDogQ0NSZW5kZXJTdXJmYWNlKGxheWVySW1wbCksCisgICAgICAg
ICAgbV9oYXNDYWNoZWRUZXh0dXJlKGZhbHNlKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFs
IGJvb2wgaGFzQ2FjaGVkQ29udGVudHNUZXh0dXJlKCkgY29uc3QgT1ZFUlJJREUKKyAgICB7Cisg
ICAgICAgIHJldHVybiBtX2hhc0NhY2hlZFRleHR1cmU7CisgICAgfQorCisgICAgdmlydHVhbCBi
b29sIHByZXBhcmVDb250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBscmMpIE9W
RVJSSURFCisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNl
dEhhc0NhY2hlZFRleHR1cmUoYm9vbCBoYXNDYWNoZWRUZXh0dXJlKQorICAgIHsKKyAgICAgICAg
bV9oYXNDYWNoZWRUZXh0dXJlID0gaGFzQ2FjaGVkVGV4dHVyZTsKKyAgICB9Cit9OworCitzdGF0
aWMgUGFzc093blB0cjxDQ1JlbmRlclBhc3M+IGNyZWF0ZUR1bW15UmVuZGVyUGFzcyhSZW5kZXJQ
YXNzUmVtb3ZhbFRlc3REYXRhJiB0ZXN0RGF0YSkKK3sKKyAgICBPd25QdHI8Q0NMYXllckltcGw+
IGxheWVySW1wbCA9IENDTGF5ZXJJbXBsOjpjcmVhdGUoMSk7CisgICAgQ0NSZW5kZXJTdXJmYWNl
KiByZW5kZXJTdXJmYWNlID0gbmV3IEZha2VSZW5kZXJTdXJmYWNlKGxheWVySW1wbC5nZXQoKSk7
CisgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcmVuZGVyUGFzc1B0ciA9IENDUmVuZGVyUGFzczo6
Y3JlYXRlKHJlbmRlclN1cmZhY2UpOworCisgICAgdGVzdERhdGEucmVuZGVyU3VyZmFjZVN0b3Jl
LmFwcGVuZChhZG9wdFB0cihyZW5kZXJTdXJmYWNlKSk7CisgICAgdGVzdERhdGEubGF5ZXJTdG9y
ZS5hcHBlbmQobGF5ZXJJbXBsLnJlbGVhc2UoKSk7CisgICAgcmV0dXJuIHJlbmRlclBhc3NQdHIu
cmVsZWFzZSgpOworfQorCitzdGF0aWMgdm9pZCBjb25maWd1cmVSZW5kZXJQYXNzVGVzdERhdGEo
Y29uc3QgY2hhciogdGVzdFNjcmlwdCwgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSYgdGVzdERh
dGEpCit7CisgICAgLy8gT25lIHNoYXJlZCBzdGF0ZSBmb3IgYWxsIHF1YWRzIC0gd2UgZG9uJ3Qg
bmVlZCB0aGUgY29ycmVjdCBkZXRhaWxzCisgICAgdGVzdERhdGEuc2hhcmVkUXVhZFN0YXRlID0g
Q0NTaGFyZWRRdWFkU3RhdGU6OmNyZWF0ZShXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBXZWJU
cmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBJbnRSZWN0KCksIEludFJlY3QoKSwgMS4wLCB0cnVlKTsK
KworICAgIGNvbnN0IGNoYXIqIGN1cnJlbnRDaGFyID0gdGVzdFNjcmlwdDsKKworICAgIC8vIFBy
ZS1jcmVhdGUgcm9vdCBwYXNzCisgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcm9vdFJlbmRlclBh
c3MgPSBjcmVhdGVEdW1teVJlbmRlclBhc3ModGVzdERhdGEpOworICAgIHRlc3REYXRhLnJlbmRl
clBhc3NJZC5pbnNlcnQoc3RkOjpwYWlyPENDUmVuZGVyUGFzcyosIGNoYXI+KHJvb3RSZW5kZXJQ
YXNzLmdldCgpLCB0ZXN0U2NyaXB0WzBdKSk7CisgICAgdGVzdERhdGEucmVuZGVyUGFzc0NhY2hl
Lmluc2VydChzdGQ6OnBhaXI8Y2hhciwgUmVuZGVyUGFzc0NhY2hlRW50cnk+KHRlc3RTY3JpcHRb
MF0sIFJlbmRlclBhc3NDYWNoZUVudHJ5KHJvb3RSZW5kZXJQYXNzLnJlbGVhc2UoKSkpKTsKKyAg
ICB3aGlsZSAoKmN1cnJlbnRDaGFyICE9ICdcMCcpIHsKKyAgICAgICAgY2hhciByZW5kZXJQYXNz
SWQgPSBjdXJyZW50Q2hhclswXTsKKyAgICAgICAgY3VycmVudENoYXIrKzsKKworICAgICAgICBP
d25QdHI8Q0NSZW5kZXJQYXNzPiByZW5kZXJQYXNzOworCisgICAgICAgIGJvb2wgaXNSZXBsaWNh
ID0gZmFsc2U7CisgICAgICAgIGlmICghdGVzdERhdGEucmVuZGVyUGFzc0NhY2hlW3JlbmRlclBh
c3NJZF0ucmVuZGVyUGFzc1B0ci5nZXQoKSkKKyAgICAgICAgICAgIGlzUmVwbGljYSA9IHRydWU7
CisKKyAgICAgICAgcmVuZGVyUGFzcyA9IHRlc3REYXRhLnJlbmRlclBhc3NDYWNoZVtyZW5kZXJQ
YXNzSWRdLnJlbmRlclBhc3NQdHIucmVsZWFzZSgpOworCisgICAgICAgIC8vIEN5Y2xlIHRocm91
Z2ggcXVhZCBkYXRhIGFuZCBjcmVhdGUgYWxsIHF1YWRzCisgICAgICAgIHdoaWxlICgqY3VycmVu
dENoYXIgIT0gJ1xuJyAmJiAqY3VycmVudENoYXIgIT0gJ1wwJykgeworICAgICAgICAgICAgaWYg
KCpjdXJyZW50Q2hhciA9PSAncycpIHsKKyAgICAgICAgICAgICAgICAvLyBTb2xpZCBjb2xvciBk
cmF3IHF1YWQKKyAgICAgICAgICAgICAgICBPd25QdHI8Q0NEcmF3UXVhZD4gcXVhZCA9IENDU29s
aWRDb2xvckRyYXdRdWFkOjpjcmVhdGUodGVzdERhdGEuc2hhcmVkUXVhZFN0YXRlLmdldCgpLCBJ
bnRSZWN0KDAsIDAsIDEwLCAxMCksIENvbG9yOjp3aGl0ZSk7CisgICAgICAgICAgICAgICAgcmVu
ZGVyUGFzcy0+YXBwZW5kUXVhZChxdWFkLnJlbGVhc2UoKSk7CisgICAgICAgICAgICAgICAgY3Vy
cmVudENoYXIrKzsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoKCpjdXJyZW50Q2hhciA+PSAnQScp
ICYmICgqY3VycmVudENoYXIgPD0gJ1onKSkgeworICAgICAgICAgICAgICAgIC8vIFJlbmRlclBh
c3MgZHJhdyBxdWFkCisgICAgICAgICAgICAgICAgY2hhciBuZXdSZW5kZXJQYXNzSWQgPSAqY3Vy
cmVudENoYXI7CisgICAgICAgICAgICAgICAgY3VycmVudENoYXIrKzsKKyAgICAgICAgICAgICAg
ICBib29sIGhhc1RleHR1cmUgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBib29sIGNvbnRlbnRz
Q2hhbmdlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKCpj
dXJyZW50Q2hhciA9PSAnWycpIHsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudENoYXIrKzsK
KyAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCgqY3VycmVudENoYXIgIT0gJ10nKSAmJiAoKmN1
cnJlbnRDaGFyICE9ICdcMCcpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKCpj
dXJyZW50Q2hhcikgeworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnYyc6CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29udGVudHNDaGFuZ2VkID0gZmFsc2U7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICd0
JzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNUZXh0dXJlID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyKys7CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhciA9PSAnXScpCisgICAg
ICAgICAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcisrOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZWZS
ZW5kZXJQYXNzID0gY3JlYXRlRHVtbXlSZW5kZXJQYXNzKHRlc3REYXRhKTsKKyAgICAgICAgICAg
ICAgICBPd25QdHI8Q0NSZW5kZXJQYXNzRHJhd1F1YWQ+IHF1YWQgPSBDQ1JlbmRlclBhc3NEcmF3
UXVhZDo6Y3JlYXRlKHRlc3REYXRhLnNoYXJlZFF1YWRTdGF0ZS5nZXQoKSwgSW50UmVjdCgpLCBy
ZWZSZW5kZXJQYXNzLmdldCgpLCBpc1JlcGxpY2EsIFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9u
cygpLCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMoKSwgMSwgY29udGVudHNDaGFuZ2VkKTsK
KyAgICAgICAgICAgICAgICBGYWtlUmVuZGVyU3VyZmFjZSogcmVmUmVuZGVyU3VyZmFjZSA9IHN0
YXRpY19jYXN0PEZha2VSZW5kZXJTdXJmYWNlKj4ocmVmUmVuZGVyUGFzcy0+dGFyZ2V0U3VyZmFj
ZSgpKTsKKyAgICAgICAgICAgICAgICByZWZSZW5kZXJTdXJmYWNlLT5zZXRIYXNDYWNoZWRUZXh0
dXJlKGhhc1RleHR1cmUpOworICAgICAgICAgICAgICAgIHRlc3REYXRhLnJlbmRlclBhc3NJZC5p
bnNlcnQoc3RkOjpwYWlyPENDUmVuZGVyUGFzcyosIGNoYXI+KHJlZlJlbmRlclBhc3MuZ2V0KCks
IG5ld1JlbmRlclBhc3NJZCkpOworICAgICAgICAgICAgICAgIHRlc3REYXRhLnJlbmRlclBhc3ND
YWNoZS5pbnNlcnQoc3RkOjpwYWlyPGNoYXIsIFJlbmRlclBhc3NDYWNoZUVudHJ5PihuZXdSZW5k
ZXJQYXNzSWQsIFJlbmRlclBhc3NDYWNoZUVudHJ5KHJlZlJlbmRlclBhc3MucmVsZWFzZSgpKSkp
OworICAgICAgICAgICAgICAgIHJlbmRlclBhc3MtPmFwcGVuZFF1YWQocXVhZC5yZWxlYXNlKCkp
OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHRlc3REYXRhLnJlbmRlclBhc3NM
aXN0Lmluc2VydCgwLCByZW5kZXJQYXNzLnJlbGVhc2UoKSk7CisgICAgICAgIGlmICgqY3VycmVu
dENoYXIgIT0gJ1wwJykKKyAgICAgICAgICAgIGN1cnJlbnRDaGFyKys7CisgICAgfQorfQorCit2
b2lkIGR1bXBSZW5kZXJQYXNzVGVzdERhdGEoY29uc3QgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0
YSYgdGVzdERhdGEsIGNoYXIqIGJ1ZmZlcikKK3sKKyAgICBjaGFyKiBwb3MgPSBidWZmZXI7Cisg
ICAgQ0NSZW5kZXJQYXNzTGlzdDo6Y29uc3RfcmV2ZXJzZV9pdGVyYXRvciBpdCA9IHRlc3REYXRh
LnJlbmRlclBhc3NMaXN0LnJiZWdpbigpOworICAgIHdoaWxlIChpdCAhPSB0ZXN0RGF0YS5yZW5k
ZXJQYXNzTGlzdC5yZW5kKCkpIHsKKyAgICAgICAgQ0NSZW5kZXJQYXNzKiBjdXJyZW50UGFzcyA9
IGl0LT5nZXQoKTsKKyAgICAgICAgY2hhciBwYXNzSWQgPSB0ZXN0RGF0YS5yZW5kZXJQYXNzSWQu
ZmluZChjdXJyZW50UGFzcyktPnNlY29uZDsKKyAgICAgICAgKnBvcyA9IHBhc3NJZDsKKyAgICAg
ICAgcG9zKys7CisKKyAgICAgICAgQ0NRdWFkTGlzdDo6Y29uc3RfaXRlcmF0b3IgcXVhZExpc3RJ
dGVyYXRvciA9IGN1cnJlbnRQYXNzLT5xdWFkTGlzdCgpLmJlZ2luKCk7CisgICAgICAgIHdoaWxl
IChxdWFkTGlzdEl0ZXJhdG9yICE9IGN1cnJlbnRQYXNzLT5xdWFkTGlzdCgpLmVuZCgpKSB7Cisg
ICAgICAgICAgICBDQ0RyYXdRdWFkKiBjdXJyZW50UXVhZCA9ICgqcXVhZExpc3RJdGVyYXRvciku
Z2V0KCk7CisgICAgICAgICAgICBzd2l0Y2ggKGN1cnJlbnRRdWFkLT5tYXRlcmlhbCgpKSB7Cisg
ICAgICAgICAgICBjYXNlIENDRHJhd1F1YWQ6OlNvbGlkQ29sb3I6CisgICAgICAgICAgICAgICAg
KnBvcyA9ICdzJzsKKyAgICAgICAgICAgICAgICBwb3MrKzsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIGNhc2UgQ0NEcmF3UXVhZDo6UmVuZGVyUGFzczoKKyAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiByZW5kZXJQ
YXNzRHJhd1F1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGN1cnJlbnRR
dWFkKTsKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgQ0NSZW5kZXJQYXNzKiByZWZQYXNzID0g
cmVuZGVyUGFzc0RyYXdRdWFkLT5yZW5kZXJQYXNzKCk7CisgICAgICAgICAgICAgICAgICAgIGNo
YXIgcmVmUGFzc0lkID0gdGVzdERhdGEucmVuZGVyUGFzc0lkLmZpbmQocmVmUGFzcyktPnNlY29u
ZDsKKyAgICAgICAgICAgICAgICAgICAgKnBvcyA9IHJlZlBhc3NJZDsKKyAgICAgICAgICAgICAg
ICAgICAgcG9zKys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAqcG9zID0gJ3gnOworICAgICAg
ICAgICAgICAgIHBvcysrOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgCisgICAgICAgICAgICBxdWFkTGlzdEl0ZXJhdG9yKys7CisgICAgICAgIH0K
KyAgICAgICAgKnBvcyA9ICdcbic7CisgICAgICAgIHBvcysrOworICAgICAgICBpdCsrOworICAg
IH0KKyAgICAqcG9zID0gJ1wwJzsKK30KKworc3RhdGljIHZvaWQgdmVyaWZ5UmVuZGVyUGFzc1Rl
c3REYXRhKGNvbnN0IGNoYXIqIGV4cGVjdGVkUmVzdWx0LCBSZW5kZXJQYXNzUmVtb3ZhbFRlc3RE
YXRhJiB0ZXN0RGF0YSkKK3sKKyAgICBjaGFyIGFjdHVhbFJlc3VsdFsxMDI0XTsKKyAgICBkdW1w
UmVuZGVyUGFzc1Rlc3REYXRhKHRlc3REYXRhLCBhY3R1YWxSZXN1bHQpOworICAgIEVYUEVDVF9T
VFJFUShleHBlY3RlZFJlc3VsdCwgYWN0dWFsUmVzdWx0KTsKK30KKworLy8gRWFjaCBDQ1JlbmRl
clBhc3NMaXN0IGlzIHJlcHJlc2VudGVkIGJ5IGEgc3RyaW5nIHdoaWNoIGRlc2NyaWJlcyB0aGUg
Y29uZmlndXJhdGlvbi4KKy8vIFRoZSBzeW50YXggb2YgdGhlIHN0cmluZyBpcyBhcyBmb2xsb3dz
OgorLy8KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUnNzc3NzWFtjXXNzWXNzc1pbdF1zc1dbY3RdCisvLyBJZGVudGlmaWVzIHRoZSByZW5k
ZXIgcGFzcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV4gXl5eIF4gXiAgIF4gICAgIF4gICAg
IF4KKy8vIFRoZXNlIGFyZSBzb2xpZCBjb2xvciBxdWFkcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKyAgfCB8ICAgfCAgICAgfCAgICAgfAorLy8gSWRlbnRpZmllcyBSZW5kZXJQYXNzRHJh
d1F1YWQncyBSZW5kZXJQYXNzLS0tLS0tLS0tLS0tLS0tLS0rIHwgICB8ICAgICB8ICAgICB8Cisv
LyBUaGlzIHF1YWQncyBjb250ZW50cyBkaWRuJ3QgY2hhbmdlLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKyAgIHwgICAgIHwgICAgIHwKKy8vIFRoaXMgcXVhZCdzIGNvbnRlbnRzIGNoYW5nZWQg
YW5kIGl0IGhhcyBubyB0ZXh0dXJlLS0tLS0tLS0tLS0tLS0tKyAgICAgfCAgICAgfAorLy8gVGhp
cyBxdWFkIGhhcyB0ZXh0dXJlIGJ1dCBpdHMgY29udGVudHMgY2hhbmdlZC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rICAgICB8CisvLyBUaGlzIHF1YWQncyBjb250ZW50cyBkaWRuJ3QgY2hhbmdl
IGFuZCBpdCBoYXMgdGV4dHVyZSAtIHdpbGwgYmUgcmVtb3ZlZC0tLS0tLSsKKy8vCisvLyBFeHBl
Y3RlZCByZXN1bHRzIGhhdmUgZXhhY3RseSB0aGUgc2FtZSBzeW50YXgsIGV4Y2VwdCB0aGV5IGRv
IG5vdCB1c2Ugc3F1YXJlIGJyYWNrZXRzLAorLy8gc2luY2Ugd2Ugb25seSBjaGVjayB0aGUgc3Ry
dWN0dXJlLCBub3QgYXR0cmlidXRlcy4KKy8vCisvLyBUZXN0IGNhc2UgY29uZmlndXJhdGlvbiBj
b25zaXN0cyBvZiBpbml0aWFsaXphdGlvbiBzY3JpcHQgYW5kIGV4cGVjdGVkIHJlc3VsdHMsCisv
LyBhbGwgaW4gdGhlIHNhbWUgZm9ybWF0Lgorc3RydWN0IFRlc3RDYXNlIHsKKyAgICBjb25zdCBj
aGFyKiBuYW1lOworICAgIGNvbnN0IGNoYXIqIGluaXRTY3JpcHQ7CisgICAgY29uc3QgY2hhciog
ZXhwZWN0ZWRSZXN1bHQ7Cit9OworCitUZXN0Q2FzZSByZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1td
ID0KKyAgICB7CisgICAgICAgIHsKKyAgICAgICAgICAgICJTaW5nbGUgcm9vdCBwYXNzIiwKKyAg
ICAgICAgICAgICJSc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc1xuIgorICAgICAgICB9LCB7
CisgICAgICAgICAgICAiU2luZ2xlIHBhc3MgLSBubyBxdWFkcyIsCisgICAgICAgICAgICAiUlxu
IiwKKyAgICAgICAgICAgICJSXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJUd28gcGFz
c2VzLCBubyByZW1vdmFsIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAg
ICJBc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3Nz
c1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiVHdvIHBhc3NlcywgcmVtb3ZlIGxhc3Qi
LAorICAgICAgICAgICAgIlJzc3NzQVtjdF1zc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIiwK
KyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIkhh
dmUgdGV4dHVyZSBidXQgY29udGVudHMgY2hhbmdlZCAtIGxlYXZlIHBhc3MiLAorICAgICAgICAg
ICAgIlJzc3NzQVt0XXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAg
IlJzc3NzQXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAg
ICAgICAgICJDb250ZW50cyBkaWRuJ3QgY2hhbmdlIGJ1dCBubyB0ZXh0dXJlIC0gbGVhdmUgcGFz
cyIsCisgICAgICAgICAgICAiUnNzc3NBW2Ndc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIs
CisgICAgICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIKKyAgICAg
ICAgfSwgeworICAgICAgICAgICAgIlJlcGxpY2E6IHR3byBxdWFkcyByZWZlcmVuY2UgdGhlIHNh
bWUgcGFzczsgcmVtb3ZlIiwKKyAgICAgICAgICAgICJSc3Nzc0FbY3RdQVtjdF1zc3NcbiIKKyAg
ICAgICAgICAgICJBc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0FBc3NzXG4iCisgICAgICAg
IH0sIHsKKyAgICAgICAgICAgICJSZXBsaWNhOiB0d28gcXVhZHMgcmVmZXJlbmNlIHRoZSBzYW1l
IHBhc3M7IGxlYXZlIiwKKyAgICAgICAgICAgICJSc3Nzc0FbY11BW2Ndc3NzXG4iCisgICAgICAg
ICAgICAiQXNzc3NcbiIsCisgICAgICAgICAgICAiUnNzc3NBQXNzc1xuIgorICAgICAgICAgICAg
IkFzc3NzXG4iLAorICAgICAgICB9LCB7CisgICAgICAgICAgICAiTWFueSBwYXNzZXMsIHJlbW92
ZSBhbGwiLAorICAgICAgICAgICAgIlJzc3NzQVtjdF1zc3NcbiIKKyAgICAgICAgICAgICJBc3Nz
QltjdF1DW2N0XXNcbiIKKyAgICAgICAgICAgICJCc3NzRFtjdF1zc0VbY3RdRltjdF1cbiIKKyAg
ICAgICAgICAgICJFc3Nzc3NzXG4iCisgICAgICAgICAgICAiQ0dbY3RdXG4iCisgICAgICAgICAg
ICAiRHNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJGc3Nzc3Nzc1xuIgorICAgICAgICAgICAgIkdz
c3NcbiIsCisKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAg
ICAgICAgIkRlZXAgcmVjdXJzaW9uLCByZW1vdmUgYWxsIiwKKworICAgICAgICAgICAgIlJzc3Nz
c0FbY3Rdc3Nzc1xuIgorICAgICAgICAgICAgIkFzc3NzQnNzc1xuIgorICAgICAgICAgICAgIkJD
XG4iCisgICAgICAgICAgICAiQ0RcbiIKKyAgICAgICAgICAgICJERVxuIgorICAgICAgICAgICAg
IkVGXG4iCisgICAgICAgICAgICAiRkdcbiIKKyAgICAgICAgICAgICJHSFxuIgorICAgICAgICAg
ICAgIkhzc3NJc3NzXG4iCisgICAgICAgICAgICAiSUpcbiIKKyAgICAgICAgICAgICJKc3Nzc1xu
IiwKKyAgICAgICAgICAgIAorICAgICAgICAgICAgIlJzc3Nzc0Fzc3NzXG4iCisgICAgICAgIH0s
IHsKKyAgICAgICAgICAgICJXaWRlIHJlY3Vyc2lvbiwgcmVtb3ZlIGFsbCIsCisgICAgICAgICAg
ICAiUkFbY3RdQltjdF1DW2N0XURbY3RdRVtjdF1GW2N0XUdbY3RdSFtjdF1JW2N0XUpbY3RdXG4i
CisgICAgICAgICAgICAiQXNcbiIKKyAgICAgICAgICAgICJCc1xuIgorICAgICAgICAgICAgIkNz
c3NzXG4iCisgICAgICAgICAgICAiRHNzc3NcbiIKKyAgICAgICAgICAgICJFc1xuIgorICAgICAg
ICAgICAgIkZcbiIKKyAgICAgICAgICAgICJHc1xuIgorICAgICAgICAgICAgIkhzXG4iCisgICAg
ICAgICAgICAiSXNcbiIKKyAgICAgICAgICAgICJKc3Nzc1xuIiwKKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgIlJBQkNERUZHSElKXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJSZW1v
dmUgcGFzc2VzIHJlZ2FyZGxlc3Mgb2YgY2FjaGUgc3RhdGUiLAorICAgICAgICAgICAgIlJzc3Nz
QVtjdF1zc3NcbiIKKyAgICAgICAgICAgICJBc3NzQkNzXG4iCisgICAgICAgICAgICAiQnNzc0Rb
Y11zc0VbdF1GXG4iCisgICAgICAgICAgICAiRXNzc3Nzc1xuIgorICAgICAgICAgICAgIkNHXG4i
CisgICAgICAgICAgICAiRHNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJGc3Nzc3Nzc1xuIgorICAg
ICAgICAgICAgIkdzc3NcbiIsCisKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAg
fSwgeworICAgICAgICAgICAgIkxlYXZlIHNvbWUgcGFzc2VzLCByZW1vdmUgb3RoZXJzIiwKKwor
ICAgICAgICAgICAgIlJzc3NzQVtjXXNzc1xuIgorICAgICAgICAgICAgIkFzc3NCW3RdQ1tjdF1z
XG4iCisgICAgICAgICAgICAiQnNzc0RbY11zc1xuIgorICAgICAgICAgICAgIkNHXG4iCisgICAg
ICAgICAgICAiRHNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJHc3NzXG4iLAorCisgICAgICAgICAg
ICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc0JDc1xuIgorICAgICAgICAgICAgIkJz
c3NEc3NcbiIKKyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAgICB9LCB7CisgICAgICAg
ICAgICAwLCAwLCAwCisgICAgICAgIH0KKyAgICB9OworCitURVNUKFJlbmRlclBhc3NSZW1vdmFs
VGVzdCwgdGVzdFJlbW92ZVJlbmRlclBhc3NlcykKK3sKKyAgICBpbnQgdGVzdENhc2VJbmRleCA9
IDA7CisgICAgd2hpbGUgKHJlbW92ZVJlbmRlclBhc3Nlc0Nhc2VzW3Rlc3RDYXNlSW5kZXhdLm5h
bWUpIHsKKyAgICAgICAgRGVidWdTY29wZWRTZXRJbXBsVGhyZWFkIGltcGxUaHJlYWQ7CisgICAg
ICAgIFJlbmRlclBhc3NSZW1vdmFsVGVzdERhdGEgdGVzdERhdGE7CisgICAgICAgIGNvbmZpZ3Vy
ZVJlbmRlclBhc3NUZXN0RGF0YShyZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2FzZUluZGV4
XS5pbml0U2NyaXB0LCB0ZXN0RGF0YSk7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OnJl
bW92ZVJlZHVuZGFudFBhc3Nlcyh0ZXN0RGF0YS5yZW5kZXJQYXNzTGlzdCk7CisgICAgICAgIHZl
cmlmeVJlbmRlclBhc3NUZXN0RGF0YShyZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2FzZUlu
ZGV4XS5leHBlY3RlZFJlc3VsdCwgdGVzdERhdGEpOworICAgICAgICB0ZXN0Q2FzZUluZGV4Kys7
CisgICAgfQorfQorCiB9IC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146648</attachid>
            <date>2012-06-08 14:14:37 -0700</date>
            <delta_ts>2012-06-12 13:59:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88482-20120608171436.patch</filename>
            <type>text/plain</type>
            <size>56938</size>
            <attacher>zlieber</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5ODYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjAzYTc0ODJmMzExZDAx
NWFiMWI1Y2JjNzZhZWU1ZDU1NzBkZmI3ZS4uNzhjY2ZkNWFjYTNmNjJmMGRmNDBlMTYyNTEwMWM4
Njg5YjAxMzQxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDEyLTA2LTA4ICBaZWV2
IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gUmVu
ZGVyU3VyZmFjZSBmb3Igb3BhY2l0eSB3aXRoIGRlc2NlbmRlbnREcmF3c0NvbnRlbnQgaXMgc2xv
dyB3aGVuIGxhcmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04ODQ4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFBvc3QtcHJvY2Vzc2luZyBDQ1JlbmRlclBhc3NMaXN0IGFmdGVyIGl0J3MgYmVlbiBnZW5l
cmF0ZWQgYW5kCisgICAgICAgIHJlbW92aW5nIGFsbCByZW5kZXIgc3VyZmFjZSBxdWFkcyBmb3Ig
d2hpY2ggdGhlcmUgYXJlIGNhY2hlZAorICAgICAgICB0ZXh0dXJlcywgYW5kIHdob3NlIGNvbnRl
bnQgZGlkbid0IGNoYW5nZS4gQWRkZWQgYSBuZXcgZmxhZyB0bworICAgICAgICBDQ0xheWVySW1w
bCB0byBkaWZmZXJlbnRpYXRlZCBiZXR3ZWVuIGNvbnRlbnQgY2hhbmdlcyBhbmQgcHJvcGVydHkK
KyAgICAgICAgY2hhbmdlcy4KKworICAgICAgICBUaGUgY2hhbmdlcyBhcmUgY292ZXJlZCBieSBu
ZXcgdW5pdCB0ZXN0cyB0aGF0IGNoZWNrIHRoYXQgdGhlCisgICAgICAgIHJlbW92YWwgYWxnb3Jp
dGhtIGZ1bmN0aW9ucyBwcm9wZXJ0bHkuIE5vIHJlbmRlcmluZyBiZWhhdmlvdXIKKyAgICAgICAg
Y2hhbmdlLCBzbyBubyBuZXcgbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0JhY2tncm91bmRGaWx0ZXJzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1JlbmRlclBhc3NRdWFkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NEYW1hZ2VUcmFja2VyOjpleHRlbmREYW1hZ2VGb3JM
YXllcik6CisgICAgICAgIChXZWJDb3JlOjpDQ0RhbWFnZVRyYWNrZXI6OmV4dGVuZERhbWFnZUZv
clJlbmRlclN1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpDQ0xheWVy
SW1wbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBs
OjpsYXllclRhcmdldFN1cmZhY2VEaXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1w
bDo6bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5
ZXJJbXBsOjpyZXNldEFsbENoYW5nZVRyYWNraW5nRm9yU3VidHJlZSk6CisgICAgICAgIChXZWJD
b3JlOjpDQ0xheWVySW1wbDo6c2V0T3BhY2l0eSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVy
SW1wbDo6c2V0VHJhbnNmb3JtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVySW1wbC5oOgorICAgICAgICAoQ0NMYXllckltcGwpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6dHJhY2tEYW1hZ2VGb3JBbGxTdXJm
YWNlcyk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxhdGVS
ZW5kZXJQYXNzZXMpOgorICAgICAgICAoV2ViQ29yZTo6aW5kZXhPZlJlbmRlclBhc3MpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpy
ZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRy
ZWVIb3N0SW1wbDo6cmVtb3ZlUmVkdW5kYW50UGFzc2VzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmg6CisgICAgICAgIChDQ0xh
eWVyVHJlZUhvc3RJbXBsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1JlbmRlclBhc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJQYXNzOjphcHBl
bmRRdWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5oOgorICAgICAgICAoQ0NSZW5kZXJQYXNzKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyUGFzc0RyYXdRdWFkOjpDQ1JlbmRlclBhc3NEcmF3
UXVhZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQ
YXNzRHJhd1F1YWQuaDoKKyAgICAgICAgKENDUmVuZGVyUGFzc0RyYXdRdWFkKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDUmVuZGVyUGFzc0RyYXdRdWFkOjpyZW5kZXJTdXJmYWNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDUmVuZGVyUGFzc0RyYXdRdWFkOjpjb250ZW50c0NoYW5nZWQpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OkNDUmVuZGVyU3VyZmFjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnByZXBhcmVDb250ZW50c1RleHR1cmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpoYXNDYWNoZWRDb250ZW50c1RleHR1
cmUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZh
Y2U6OmFwcGVuZFF1YWRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1JlbmRlclN1cmZhY2UuaDoKKyAgICAgICAgKENDUmVuZGVyU3VyZmFjZSk6CisgICAgICAg
IChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnNldENvbnRlbnRzQ2hhbmdlZCk6CisgICAgICAg
IChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OmNvbnRlbnRzQ2hhbmdlZCk6CisKIDIwMTItMDYt
MDggIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KIAogICAgICAgICBFdmVudEhhbmRs
ZXIgc2hvdWxkbid0IHNjaGVkdWxlIHRoZSBmYWtlIG1vdXNlbW92ZSBldmVudCB0aW1lciB3aGVu
IHNjcm9sbGluZyBvbiBkZXZpY2VzIHRoYXQgZG9uJ3QgaGF2ZSBhIG1vdXNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCmluZGV4IGRlZThmZTg2YjcxZmVhNzVmMjNlMTQwNjc1YjQyMzMwY2M5ZWVl
ODguLmVmNjk2ZmQzNjFiNzNjNDQ4NzlhNjJjZGYxYzU0M2MzMzZlYjMwNDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDYtMDggIFplZXYgTGllYmVy
ICA8emxpZWJlckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBSZW5kZXJTdXJm
YWNlIGZvciBvcGFjaXR5IHdpdGggZGVzY2VuZGVudERyYXdzQ29udGVudCBpcyBzbG93IHdoZW4g
bGFyZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4
NDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
ZWQgdGVzdHMgdG8gdmVyaWZ5IHF1YWQgcmVtb3ZhbCBhbGdvcml0aG0uIEFkZGVkIGluZnJhc3Ry
dWN0dXJlCisgICAgICAgIGNvZGUgdG8gZ2VuZXJhdGUgY3VzdG9tIHJlbmRlciBwYXNzZXMgb3V0
IG9mIGEgc2NyaXB0IGVuY29kZWQgYXMgQworICAgICAgICBzdHJpbmcuCisKKyAgICAgICAgKiB0
ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdFRlc3RzOjpURVNU
X0YpOgorICAgICAgICAqIHRlc3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHA6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlRFU1QpOgorICAgICAgICAqIHRlc3RzL0NDTGF5ZXJU
cmVlSG9zdEltcGxUZXN0LmNwcDoKKwogMjAxMi0wNi0wOCAgSmFtZXMgUm9iaW5zb24gIDxqYW1l
c3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQ2xlYW4gdXAgc29tZSB1bm5l
Y2Vzc2FyeSBMYXllckNocm9taXVtLmggaW5jbHVkZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uY3BwCmluZGV4IDU1Y2Y3NGYyZjg0MWUyYmYyZWM5ZTQ2N2MxZjU3YjA3OWNhZTlm
ZWUuLjEwODViNWFlNWM5Zjc5MzE1NGM0NmI2MzFlZGRhZTFjZTQ0ZTVkZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJD
aHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcApAQCAtNjExLDcgKzYxMSw3IEBAIHZvaWQgTGF5
ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3QmFja2dyb3VuZEZpbHRlcnMoY29uc3QgQ0NSZW5kZXJQ
YXNzRHJhd1F1YWQqIHF1CiAgICAgLy8KICAgICAvLyBQaXhlbCBjb3BpZXMgaW4gdGhpcyBhbGdv
cml0aG0gb2NjdXIgYXQgc3RlcHMgMiwgMywgNCwgYW5kIDUuCiAKLSAgICBDQ1JlbmRlclN1cmZh
Y2UqIGRyYXdpbmdTdXJmYWNlID0gcXVhZC0+cmVuZGVyUGFzcygpLT50YXJnZXRTdXJmYWNlKCk7
CisgICAgQ0NSZW5kZXJTdXJmYWNlKiBkcmF3aW5nU3VyZmFjZSA9IHF1YWQtPnJlbmRlclN1cmZh
Y2UoKTsKICAgICBpZiAocXVhZC0+YmFja2dyb3VuZEZpbHRlcnMoKS5pc0VtcHR5KCkpCiAgICAg
ICAgIHJldHVybjsKIApAQCAtNjY1LDcgKzY2NSw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9t
aXVtOjpkcmF3UmVuZGVyUGFzc1F1YWQoY29uc3QgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQp
CiAgICAgLy8gVGhlIHJlcGxpY2EgaXMgYWx3YXlzIGRyYXduIGZpcnN0LCBzbyBmcmVlIGFmdGVy
IGRyYXdpbmcgdGhlIGNvbnRlbnRzLgogICAgIGJvb2wgc2hvdWxkUmVsZWFzZVRleHR1cmVzID0g
IXF1YWQtPmlzUmVwbGljYSgpOwogCi0gICAgQ0NSZW5kZXJTdXJmYWNlKiBkcmF3aW5nU3VyZmFj
ZSA9IHF1YWQtPnJlbmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgpOworICAgIENDUmVuZGVyU3Vy
ZmFjZSogZHJhd2luZ1N1cmZhY2UgPSBxdWFkLT5yZW5kZXJTdXJmYWNlKCk7CiAKICAgICBXZWJU
cmFuc2Zvcm1hdGlvbk1hdHJpeCByZW5kZXJUcmFuc2Zvcm0gPSBxdWFkLT5sYXllclRyYW5zZm9y
bSgpOwogICAgIC8vIEFwcGx5IGEgc2NhbGluZyBmYWN0b3IgdG8gc2l6ZSB0aGUgcXVhZCBmcm9t
IDF4MSB0byBpdHMgaW50ZW5kZWQgc2l6ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3Bw
CmluZGV4IDhmZDNlZDEyNGIyMzAzYjc3YTBiMGY0OTI4OTgzZDljODk1MWJlZGIuLjBkYTc3NTMw
ZDQ1YWQwY2ZiMTg5MzhlMGRmZmViZTI5NWRhZjZlYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VU
cmFja2VyLmNwcApAQCAtMjQ0LDYgKzI0NCw5IEBAIHZvaWQgQ0NEYW1hZ2VUcmFja2VyOjpleHRl
bmREYW1hZ2VGb3JMYXllcihDQ0xheWVySW1wbCogbGF5ZXIsIEZsb2F0UmVjdCYgdGFyZ2V0CiAg
ICAgLy8gICAgICByZWdpb24gZGFtYWdlcyB0aGUgc3VyZmFjZS4KICAgICAvLwogICAgIC8vIFBy
b3BlcnR5IGNoYW5nZXMgdGFrZSBwcmlvcml0eSBvdmVyIHVwZGF0ZSByZWN0cy4KKyAgICAvLwor
ICAgIC8vIFRoaXMgbWV0aG9kIGFzc3VtZXMgdGhhdCB0aGUgbGF5ZXIgZWl0aGVyIGRvZXMgbm90
IG93biBhIHN1cmZhY2UgYXQgYWxsLCBvciBvd25zCisgICAgLy8gb3VyIHRhcmdldCBzdXJmYWNl
LiBJbiBhbGwgb3RoZXIgY2FzZXMsIGV4dGVuZERhbWFnZUZvclJlbmRlclN1cmZhY2UgbXVzdCBi
ZSBjYWxsZWQgaW5zdGVhZC4KIAogICAgIC8vIENvbXB1dGUgdGhlIGxheWVyJ3MgIm9yaWdpblRy
YW5zZm9ybSIgYnkgdHJhbnNsYXRpbmcgdGhlIGRyYXdUcmFuc2Zvcm0uCiAgICAgV2ViVHJhbnNm
b3JtYXRpb25NYXRyaXggb3JpZ2luVHJhbnNmb3JtID0gbGF5ZXItPmRyYXdUcmFuc2Zvcm0oKTsK
QEAgLTI1NSw3ICsyNTgsNyBAQCB2b2lkIENDRGFtYWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9y
TGF5ZXIoQ0NMYXllckltcGwqIGxheWVyLCBGbG9hdFJlY3QmIHRhcmdldAogICAgIEZsb2F0UmVj
dCBsYXllclJlY3RJblRhcmdldFNwYWNlID0gQ0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJlY3Qob3Jp
Z2luVHJhbnNmb3JtLCBGbG9hdFJlY3QoRmxvYXRQb2ludDo6emVybygpLCBsYXllci0+Ym91bmRz
KCkpKTsKICAgICBzYXZlUmVjdEZvck5leHRGcmFtZShsYXllci0+aWQoKSwgbGF5ZXJSZWN0SW5U
YXJnZXRTcGFjZSk7CiAKLSAgICBpZiAobGF5ZXJJc05ldyB8fCBsYXllci0+bGF5ZXJQcm9wZXJ0
eUNoYW5nZWQoKSkgeworICAgIGlmIChsYXllcklzTmV3IHx8IGxheWVyLT5sYXllclRhcmdldFN1
cmZhY2VEaXJ0eSgpKSB7CiAgICAgICAgIC8vIElmIGEgbGF5ZXIgaXMgbmV3IG9yIGhhcyBjaGFu
Z2VkLCB0aGVuIGl0cyBlbnRpcmUgbGF5ZXIgcmVjdCBhZmZlY3RzIHRoZSB0YXJnZXQgc3VyZmFj
ZS4KICAgICAgICAgdGFyZ2V0RGFtYWdlUmVjdC51bml0ZUlmTm9uWmVybyhsYXllclJlY3RJblRh
cmdldFNwYWNlKTsKIApAQCAtMjkzLDcgKzI5Niw3IEBAIHZvaWQgQ0NEYW1hZ2VUcmFja2VyOjpl
eHRlbmREYW1hZ2VGb3JSZW5kZXJTdXJmYWNlKENDTGF5ZXJJbXBsKiBsYXllciwgRmxvYXRSZWN0
CiAgICAgc2F2ZVJlY3RGb3JOZXh0RnJhbWUobGF5ZXItPmlkKCksIHN1cmZhY2VSZWN0SW5UYXJn
ZXRTcGFjZSk7CiAKICAgICBGbG9hdFJlY3QgZGFtYWdlUmVjdEluTG9jYWxTcGFjZTsKLSAgICBp
ZiAoc3VyZmFjZUlzTmV3IHx8IHJlbmRlclN1cmZhY2UtPnN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQo
KSkgeworICAgIGlmIChzdXJmYWNlSXNOZXcgfHwgcmVuZGVyU3VyZmFjZS0+c3VyZmFjZVByb3Bl
cnR5Q2hhbmdlZCgpIHx8IGxheWVyLT5sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSkgewog
ICAgICAgICAvLyBUaGUgZW50aXJlIHN1cmZhY2UgY29udHJpYnV0ZXMgZGFtYWdlLgogICAgICAg
ICBkYW1hZ2VSZWN0SW5Mb2NhbFNwYWNlID0gcmVuZGVyU3VyZmFjZS0+Y29udGVudFJlY3QoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NMYXllckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NMYXllckltcGwuY3BwCmluZGV4IDcyYzBlYTJiNzljZTcyYmE2YWUwZmM2MmVj
MTc3NmI2OTJhYzVhZmMuLjkyNzI3YTRlZmQxZWZjM2NjOWMzNmYwNWY0ZTVlYzEyYmJjZDE4NTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAKQEAgLTU0LDYgKzU0LDcgQEAgQ0NMYXllckltcGw6
OkNDTGF5ZXJJbXBsKGludCBpZCkKICAgICAsIG1faGF2ZVdoZWVsRXZlbnRIYW5kbGVycyhmYWxz
ZSkKICAgICAsIG1fZG91YmxlU2lkZWQodHJ1ZSkKICAgICAsIG1fbGF5ZXJQcm9wZXJ0eUNoYW5n
ZWQoZmFsc2UpCisgICAgLCBtX2xheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZChmYWxzZSkKICAg
ICAsIG1fbWFza3NUb0JvdW5kcyhmYWxzZSkKICAgICAsIG1fb3BhcXVlKGZhbHNlKQogICAgICwg
bV9vcGFjaXR5KDEuMCkKQEAgLTI3Myw2ICsyNzQsMzYgQEAgdm9pZCBDQ0xheWVySW1wbDo6c2V0
U3RhY2tpbmdPcmRlckNoYW5nZWQoYm9vbCBzdGFja2luZ09yZGVyQ2hhbmdlZCkKICAgICAgICAg
bm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yU3VidHJlZSgpOwogfQogCisKK2Jvb2wgQ0NMYXll
ckltcGw6OmxheWVyVGFyZ2V0U3VyZmFjZURpcnR5KCkgY29uc3QKK3sKKyAgICAvLyBJZiB0aGUg
bGF5ZXIgZG9lcyBOT1Qgb3duIGEgc3VyZmFjZSBidXQgaGFzIFN1cmZhY2VQcm9wZXJ0eUNoYW5n
ZWQsCisgICAgLy8gdGhpcyBtZWFucyB0aGF0IGl0cyB0YXJnZXQgc3VyZmFjZSBpcyBhZmZlY3Rl
ZCBhbmQgbmVlZHMgdG8gYmUgcmVkcmF3bi4KKyAgICAvLyBIb3dldmVyLCBpZiB0aGUgbGF5ZXIg
RE9FUyBvd24gYSBzdXJmYWNlIHRoZW4gdGhlIFN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQKKyAgICAv
LyBhZmZlY3RzIHRoZSB0YXJnZXQgc3VyZmFjZSBvZiBpdHMgb3duZWQgc3VyZmFjZSwgYW5kIHRo
ZXJlZm9yZSBvdXIKKyAgICAvLyBvd25lZCBzdXJmYWNlIGlzIG5vdCBhZmZlY3RlZC4gVGhpcyBp
cyBjaGVja2VkIGhlcmUuCisgICAgaWYgKG1fcmVuZGVyU3VyZmFjZSkKKyAgICAgICAgcmV0dXJu
IG1fbGF5ZXJQcm9wZXJ0eUNoYW5nZWQ7CisgICAgcmV0dXJuIG1fbGF5ZXJQcm9wZXJ0eUNoYW5n
ZWQgfHwgbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCk7Cit9CisKK2Jvb2wgQ0NMYXllcklt
cGw6OmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpIGNvbnN0Cit7CisgICAgaWYgKG1fbGF5
ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIC8v
IFJ1biB1cCB0aGUgdHJlZSBvZiBsYXllcnMgdW50aWwgd2UgZmluZCBhIHN1cmZhY2Utb3duaW5n
IGxheWVyLgorICAgIC8vIEFzayBldmVyeW9uZSBleGNlcHQgZm9yIHRoZSBzdXJmYWNlLW93bmlu
ZyBsYXllci4KKyAgICBDQ0xheWVySW1wbCogY3VycmVudCA9IHRoaXMtPm1fcGFyZW50OworICAg
IHdoaWxlIChjdXJyZW50ICYmICFjdXJyZW50LT5tX3JlbmRlclN1cmZhY2UpIHsKKyAgICAgICAg
aWYgKGN1cnJlbnQtPm1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKQorICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgIGN1cnJlbnQgPSBjdXJyZW50LT5tX3BhcmVudDsKKyAgICB9
CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgQ0NMYXllckltcGw6Om5vdGVMYXllclBy
b3BlcnR5Q2hhbmdlZEZvclN1YnRyZWUoKQogewogICAgIG1fbGF5ZXJQcm9wZXJ0eUNoYW5nZWQg
PSB0cnVlOwpAQCAtMjg4LDYgKzMxOSw4IEBAIHZvaWQgQ0NMYXllckltcGw6Om5vdGVMYXllclBy
b3BlcnR5Q2hhbmdlZEZvckRlc2NlbmRhbnRzKCkKIHZvaWQgQ0NMYXllckltcGw6OnJlc2V0QWxs
Q2hhbmdlVHJhY2tpbmdGb3JTdWJ0cmVlKCkKIHsKICAgICBtX2xheWVyUHJvcGVydHlDaGFuZ2Vk
ID0gZmFsc2U7CisgICAgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgPSBmYWxzZTsKKwog
ICAgIG1fdXBkYXRlUmVjdCA9IEZsb2F0UmVjdCgpOwogCiAgICAgaWYgKG1fcmVuZGVyU3VyZmFj
ZSkKQEAgLTQyOCw3ICs0NjEsNyBAQCB2b2lkIENDTGF5ZXJJbXBsOjpzZXRPcGFjaXR5KGZsb2F0
IG9wYWNpdHkpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fb3BhY2l0eSA9IG9wYWNpdHk7Ci0g
ICAgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yU3VidHJlZSgpOworICAgIG1fbGF5ZXJTdXJm
YWNlUHJvcGVydHlDaGFuZ2VkID0gdHJ1ZTsKIH0KIAogYm9vbCBDQ0xheWVySW1wbDo6b3BhY2l0
eUlzQW5pbWF0aW5nKCkgY29uc3QKQEAgLTQ3MCw3ICs1MDMsNyBAQCB2b2lkIENDTGF5ZXJJbXBs
OjpzZXRUcmFuc2Zvcm0oY29uc3QgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybSkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgbV90cmFuc2Zvcm0gPSB0cmFuc2Zvcm07Ci0gICAgbm90
ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yU3VidHJlZSgpOworICAgIG1fbGF5ZXJTdXJmYWNlUHJv
cGVydHlDaGFuZ2VkID0gdHJ1ZTsKIH0KIAogYm9vbCBDQ0xheWVySW1wbDo6dHJhbnNmb3JtSXNB
bmltYXRpbmcoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKaW5kZXggZjAzYzVjM2VhMzFkOWJi
NDcyNTAxOTE2MzM5OTVhNDBhOTBlZWRkZC4uZWM4MThmZDFjYmM5YjA4NmNmYTg3MGI1NWY3NjAw
NGRlNWE2OGRiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCkBAIC0yNDQsNiArMjQ0LDEyIEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFN0YWNraW5nT3JkZXJDaGFuZ2VkKGJvb2wpOwogCiAgICAgYm9v
bCBsYXllclByb3BlcnR5Q2hhbmdlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5ZXJQcm9wZXJ0eUNo
YW5nZWQ7IH0KKyAgICBib29sIGxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpIGNvbnN0Owor
CisgICAgLy8gVXNlcyBtX2xheWVyWHh4eENoYW5nZWQgZmxhZ3MgdG8gYW5zd2VyIHRoZSBxdWVz
dGlvbiB3aGV0aGVyIHRoaXMgbGF5ZXIncworICAgIC8vIHRhcmdldCBzdXJmYWNlJ3MgcGl4ZWxz
IGFyZSBhZmZlY3RlZCBieSBhbGwgdGhlIGNoYW5nZXMgaW4gbGF5ZXIncyBjb250ZW50cyBhbmQg
cHJvcGVydGllcy4KKyAgICBib29sIGxheWVyVGFyZ2V0U3VyZmFjZURpcnR5KCkgY29uc3Q7CisK
ICAgICB2b2lkIHJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdGb3JTdWJ0cmVlKCk7CiAKICAgICBDQ0xh
eWVyQW5pbWF0aW9uQ29udHJvbGxlciogbGF5ZXJBbmltYXRpb25Db250cm9sbGVyKCkgeyByZXR1
cm4gbV9sYXllckFuaW1hdGlvbkNvbnRyb2xsZXIuZ2V0KCk7IH0KQEAgLTMwNyw2ICszMTMsMTEg
QEAgcHJpdmF0ZToKICAgICAvLyBUcmFja3MgaWYgZHJhd2luZy1yZWxhdGVkIHByb3BlcnRpZXMg
aGF2ZSBjaGFuZ2VkIHNpbmNlIGxhc3QgcmVkcmF3LgogICAgIGJvb2wgbV9sYXllclByb3BlcnR5
Q2hhbmdlZDsKIAorICAgIC8vIEluZGljYXRlcyB0aGF0IGEgcHJvcGVydHkgaGFzIGNoYW5nZWQg
b24gdGhpcyBsYXllciB0aGF0IHdvdWxkIG5vdAorICAgIC8vIGFmZmVjdCB0aGUgcGl4ZWxzIG9u
IGl0cyB0YXJnZXQgc3VyZmFjZSwgYnV0IHdvdWxkIHJlcXVpcmUgcmVkcmF3aW5nCisgICAgLy8g
b2YgdGhlIHRhcmdldCBzdXJmYWNlIG9mIHRoaXMgbGF5ZXIncyB0YXJnZXQgc3VyZmFjZQorICAg
IGJvb2wgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQ7CisKICAgICAvLyBVc2VzIGxheWVy
J3MgY29udGVudCBzcGFjZS4KICAgICBJbnRSZWN0IG1fdmlzaWJsZUxheWVyUmVjdDsKICAgICBi
b29sIG1fbWFza3NUb0JvdW5kczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5j
cHAKaW5kZXggNWIxM2UxYjhlY2I1NmY4MTFiNjE2NzRlYTI4MTE0ZWE0YzcwMDM2Yi4uNmUxNTli
MjUxZDFjODg5Y2ZiY2Y2Y2UyZmVlMDc2YWUyZWRlNDdjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllclRyZWVIb3N0SW1wbC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJjYy9DQ0xh
eWVyVHJlZUhvc3RDb21tb24uaCIKICNpbmNsdWRlICJjYy9DQ01hdGhVdGlsLmgiCiAjaW5jbHVk
ZSAiY2MvQ0NQYWdlU2NhbGVBbmltYXRpb24uaCIKKyNpbmNsdWRlICJjYy9DQ1JlbmRlclBhc3NE
cmF3UXVhZC5oIgogI2luY2x1ZGUgImNjL0NDU2luZ2xlVGhyZWFkUHJveHkuaCIKICNpbmNsdWRl
ICJjYy9DQ1RocmVhZFRhc2suaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KQEAgLTIy
Nyw2ICsyMjgsNyBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdEltcGw6OnRyYWNrRGFtYWdlRm9yQWxs
U3VyZmFjZXMoQ0NMYXllckltcGwqIHJvb3REcmF3TGF5ZXIsCiAgICAgICAgIENDUmVuZGVyU3Vy
ZmFjZSogcmVuZGVyU3VyZmFjZSA9IHJlbmRlclN1cmZhY2VMYXllci0+cmVuZGVyU3VyZmFjZSgp
OwogICAgICAgICBBU1NFUlQocmVuZGVyU3VyZmFjZSk7CiAgICAgICAgIHJlbmRlclN1cmZhY2Ut
PmRhbWFnZVRyYWNrZXIoKS0+dXBkYXRlRGFtYWdlVHJhY2tpbmdTdGF0ZShyZW5kZXJTdXJmYWNl
LT5sYXllckxpc3QoKSwgcmVuZGVyU3VyZmFjZUxheWVyLT5pZCgpLCByZW5kZXJTdXJmYWNlLT5z
dXJmYWNlUHJvcGVydHlDaGFuZ2VkT25seUZyb21EZXNjZW5kYW50KCksIHJlbmRlclN1cmZhY2Ut
PmNvbnRlbnRSZWN0KCksIHJlbmRlclN1cmZhY2VMYXllci0+bWFza0xheWVyKCksIHJlbmRlclN1
cmZhY2VMYXllci0+ZmlsdGVycygpKTsKKyAgICAgICAgcmVuZGVyU3VyZmFjZS0+c2V0Q29udGVu
dHNDaGFuZ2VkKCFyZW5kZXJTdXJmYWNlLT5kYW1hZ2VUcmFja2VyKCktPmN1cnJlbnREYW1hZ2VS
ZWN0KCkuaXNFbXB0eSgpKTsKICAgICB9CiB9CiAKQEAgLTMyOCw2ICszMzAsOSBAQCBib29sIEND
TGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRlclBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0
JiBwYXNzZXMsIENDTGF5ZQogCiAgICAgaWYgKGRyYXdGcmFtZSkKICAgICAgICAgb2NjbHVzaW9u
VHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5yZWNvcmRNZXRyaWNzKHRoaXMpOworCisgICAgcmVt
b3ZlUmVkdW5kYW50UGFzc2VzKHBhc3Nlcyk7CisKICAgICByZXR1cm4gZHJhd0ZyYW1lOwogfQog
CkBAIC0zNzcsNiArMzgyLDc1IEBAIEludFNpemUgQ0NMYXllclRyZWVIb3N0SW1wbDo6Y29udGVu
dFNpemUoKSBjb25zdAogICAgIHJldHVybiBtX3Njcm9sbExheWVySW1wbC0+Y2hpbGRyZW4oKVsw
XS0+Y29udGVudEJvdW5kcygpOwogfQogCitzdGF0aWMgc3NpemVfdCBpbmRleE9mUmVuZGVyUGFz
cyhjb25zdCBDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIGNvbnN0IENDUmVuZGVyUGFzcyogcGFz
cywgc2l6ZV90IHNlYXJjaFVudGlsKQoreworICAgIGZvciAoc2l6ZV90IHBhc3NJbmRleCA9IDA7
IHBhc3NJbmRleCA8IHBhc3Nlcy5zaXplKCk7IHBhc3NJbmRleCsrKQorICAgICAgICBpZiAocGFz
c2VzW3Bhc3NJbmRleF0uZ2V0KCkgPT0gcGFzcykKKyAgICAgICAgICAgIHJldHVybiBwYXNzSW5k
ZXg7CisKKyAgICByZXR1cm4gLTE7Cit9CisKK3ZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6cmVt
b3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKENDUmVuZGVyUGFzc0xpc3QmIHBhc3Nlcywgc2l6ZV90
IGJvdHRvbVBhc3MsIGNvbnN0IENDUmVuZGVyUGFzcyogZmlyc3RUb1JlbW92ZSkKK3sKKyAgICBz
c2l6ZV90IHJlbW92ZUluZGV4ID0gaW5kZXhPZlJlbmRlclBhc3MocGFzc2VzLCBmaXJzdFRvUmVt
b3ZlLCBib3R0b21QYXNzKTsKKworICAgIC8vIFRoZSBwYXNzIHdhcyBhbHJlZGF5IHJlbW92ZWQg
YnkgYW5vdGhlciBxdWFkIC0gcHJvYmFibHkgdGhlIG9yaWdpbmFsLCBhbmQgd2UgYXJlIHRoZSBy
ZXBsaWNhCisgICAgaWYgKHJlbW92ZUluZGV4IDwgMCkKKyAgICAgICAgcmV0dXJuOworCisgICAg
T3duUHRyPENDUmVuZGVyUGFzcz4gcmVtb3ZlZFBhc3MgPSBwYXNzZXNbcmVtb3ZlSW5kZXhdLnJl
bGVhc2UoKTsKKyAgICBwYXNzZXMucmVtb3ZlKHJlbW92ZUluZGV4KTsKKworICAgIC8vIE5vdyBm
b2xsb3cgdXAgZm9yIGFsbCBSZW5kZXJQYXNzIHF1YWRzIGFuZCByZW1vdmUgdGhlaXIgcmVuZGVy
IHBhc3NlcyByZWN1cnNpdmVseQorICAgIGNvbnN0IENDUXVhZExpc3QmIHF1YWRMaXN0ID0gcmVt
b3ZlZFBhc3MtPnF1YWRMaXN0KCk7CisgICAgQ0NRdWFkTGlzdDo6Y29uc3RCYWNrVG9Gcm9udEl0
ZXJhdG9yIHF1YWRMaXN0SXRlcmF0b3IgPSBxdWFkTGlzdC5iYWNrVG9Gcm9udEJlZ2luKCk7Cisg
ICAgd2hpbGUgKHF1YWRMaXN0SXRlcmF0b3IgIT0gcXVhZExpc3QuYmFja1RvRnJvbnRFbmQoKSkg
eworICAgICAgICBDQ0RyYXdRdWFkKiBjdXJyZW50UXVhZCA9ICgqcXVhZExpc3RJdGVyYXRvciku
Z2V0KCk7CisgICAgICAgIGlmIChjdXJyZW50UXVhZC0+bWF0ZXJpYWwoKSA9PSBDQ0RyYXdRdWFk
OjpSZW5kZXJQYXNzKSB7CisgICAgICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcmVuZGVy
UGFzc1F1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGN1cnJlbnRRdWFk
KTsKKyAgICAgICAgICAgIGNvbnN0IENDUmVuZGVyUGFzcyogbmV4dFJlbmRlclBhc3MgPSByZW5k
ZXJQYXNzUXVhZC0+cmVuZGVyUGFzcygpOworCisgICAgICAgICAgICAvLyBPdXIgc2VhcmNoIGlz
IG5vdyBsaW1pdGVkIHVwIHRvIHRoZSBwYXNzIHRoYXQgd2UganVzdCByZW1vdmVkLgorICAgICAg
ICAgICAgLy8gU3Vic3RpdHV0ZSByZW1vdmVJbmRleCBmb3IgYm90dG9tUGFzcyBub3cuCisgICAg
ICAgICAgICByZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUocGFzc2VzLCByZW1vdmVJbmRleCwg
bmV4dFJlbmRlclBhc3MpOworICAgICAgICB9CisgICAgICAgIHF1YWRMaXN0SXRlcmF0b3IrKzsK
KyAgICB9Cit9CisKK3ZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3ZlUmVkdW5kYW50UGFz
c2VzKENDUmVuZGVyUGFzc0xpc3QmIHBhc3NlcykKK3sKKyAgICBzc2l6ZV90IHBhc3NJbmRleCA9
IHBhc3Nlcy5zaXplKCkgLSAxOworICAgIHdoaWxlIChwYXNzSW5kZXggPj0gMCkgeworICAgICAg
ICBDQ1JlbmRlclBhc3MqIGN1cnJlbnRQYXNzID0gcGFzc2VzW3Bhc3NJbmRleF0uZ2V0KCk7Cisg
ICAgICAgIGNvbnN0IENDUXVhZExpc3QmIHF1YWRMaXN0ID0gY3VycmVudFBhc3MtPnF1YWRMaXN0
KCk7CisgICAgICAgIENDUXVhZExpc3Q6OmNvbnN0QmFja1RvRnJvbnRJdGVyYXRvciBxdWFkTGlz
dEl0ZXJhdG9yID0gcXVhZExpc3QuYmFja1RvRnJvbnRCZWdpbigpOworICAgICAgICB3aGlsZSAo
cXVhZExpc3RJdGVyYXRvciAhPSBxdWFkTGlzdC5iYWNrVG9Gcm9udEVuZCgpKSB7CisgICAgICAg
ICAgICBDQ0RyYXdRdWFkKiBjdXJyZW50UXVhZCA9ICgqcXVhZExpc3RJdGVyYXRvcikuZ2V0KCk7
CisgICAgICAgICAgICBpZiAoY3VycmVudFF1YWQtPm1hdGVyaWFsKCkgPT0gQ0NEcmF3UXVhZDo6
UmVuZGVyUGFzcykgeworICAgICAgICAgICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiByZW5k
ZXJQYXNzUXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oY3VycmVudFF1
YWQpOworICAgICAgICAgICAgICAgIENDUmVuZGVyU3VyZmFjZSogdGFyZ2V0U3VyZmFjZSA9IHJl
bmRlclBhc3NRdWFkLT5yZW5kZXJTdXJmYWNlKCk7CisgICAgICAgICAgICAgICAgaWYgKCFyZW5k
ZXJQYXNzUXVhZC0+Y29udGVudHNDaGFuZ2VkKCkgJiYgdGFyZ2V0U3VyZmFjZS0+aGFzQ2FjaGVk
Q29udGVudHNUZXh0dXJlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gUmVzZXJ2ZSB0aGUg
dGV4dHVyZSBpbW1lZGlhdGVseS4gV2UgZG8gbm90IG5lZWQgdG8gcGFzcyBpbiBsYXllciByZW5k
ZXJlcgorICAgICAgICAgICAgICAgICAgICAvLyBzaW5jZSB0aGUgdGV4dHVyZSBhbHJlYWR5IGV4
aXN0cywganVzdCBuZWVkcyB0byBiZSByZXNlcnZlZC4KKyAgICAgICAgICAgICAgICAgICAgaWYg
KHRhcmdldFN1cmZhY2UtPnByZXBhcmVDb250ZW50c1RleHR1cmUoMCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIFdlIGFyZSBjaGFuZ2luZyB0aGUgdmVjdG9yIGluIHRoZSBtaWRkbGUg
b2YgcmV2ZXJzZSBpdGVyYXRpb24uCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBhcmUg
Z3VhcmFudGVlZCB0aGF0IGFueSBkYXRhIGZyb20gaXRlcmF0b3IgdG8gdGhlIGVuZCB3aWxsIG5v
dCBjaGFuZ2UuCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBDYXB0dXJlIHRoZSBpdGVyYXRv
ciBwb3NpdGlvbiBmcm9tIHRoZSBlbmQsIGFuZCByZXN0b3JlIGl0IGFmdGVyIHRoZSBjaGFuZ2Uu
CisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcG9zaXRpb25Gcm9tRW5kID0gcGFzc2VzLnNp
emUoKSAtIHBhc3NJbmRleDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZVJlbmRlclBh
c3Nlc1JlY3Vyc2l2ZShwYXNzZXMsIHBhc3NJbmRleCwgcmVuZGVyUGFzc1F1YWQtPnJlbmRlclBh
c3MoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBwYXNzSW5kZXggPSBwYXNzZXMuc2l6ZSgp
IC0gcG9zaXRpb25Gcm9tRW5kOworICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHBhc3NJ
bmRleCA+PSAwKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIHF1YWRMaXN0SXRlcmF0b3IrKzsKKyAgICAgICAgfQor
ICAgICAgICBwYXNzSW5kZXgtLTsKKyAgICB9Cit9CisKIGJvb2wgQ0NMYXllclRyZWVIb3N0SW1w
bDo6cHJlcGFyZVRvRHJhdyhGcmFtZURhdGEmIGZyYW1lKQogewogICAgIFRSQUNFX0VWRU5UKCJD
Q0xheWVyVHJlZUhvc3RJbXBsOjpwcmVwYXJlVG9EcmF3IiwgdGhpcywgMCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJl
ZUhvc3RJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKaW5kZXggYzc0MGE2NjIwMmY0YmQwZjFiM2QwNjA2ZDNh
ZWJhOTQ4OWQyMDA5Mi4uODc3ZjhkMzcwODY0NTkyZDQ2Yjg1ZTE3ZTk3M2ViZTEyOTg4NWY4MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllclRyZWVIb3N0SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaApAQCAtMTY3LDYgKzE2Nyw5IEBA
IHB1YmxpYzoKICAgICBDQ0ZyYW1lUmF0ZUNvdW50ZXIqIGZwc0NvdW50ZXIoKSBjb25zdCB7IHJl
dHVybiBtX2Zwc0NvdW50ZXIuZ2V0KCk7IH0KICAgICBDQ0RlYnVnUmVjdEhpc3RvcnkqIGRlYnVn
UmVjdEhpc3RvcnkoKSBjb25zdCB7IHJldHVybiBtX2RlYnVnUmVjdEhpc3RvcnkuZ2V0KCk7IH0K
IAorICAgIC8vIFJlbW92ZXMgYWxsIHJlbmRlciBwYXNzZXMgZm9yIHdoaWNoIHdlIGhhdmUgY2Fj
aGVkIHRleHR1cmVzLCBhbmQgd2hpY2ggZGlkIG5vdCBjaGFuZ2UgdGhlaXIgY29udGVudC4KKyAg
ICBzdGF0aWMgdm9pZCByZW1vdmVSZWR1bmRhbnRQYXNzZXMoQ0NSZW5kZXJQYXNzTGlzdCYgcGFz
c2VzKTsKKwogcHJvdGVjdGVkOgogICAgIENDTGF5ZXJUcmVlSG9zdEltcGwoY29uc3QgQ0NTZXR0
aW5ncyYsIENDTGF5ZXJUcmVlSG9zdEltcGxDbGllbnQqKTsKIApAQCAtMjA0LDYgKzIwNyw5IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBhbmltYXRlTGF5ZXJzUmVjdXJzaXZlKENDTGF5ZXJJbXBsKiwg
ZG91YmxlIG1vbm90b25pY1RpbWUsIGRvdWJsZSB3YWxsQ2xvY2tUaW1lLCBDQ0FuaW1hdGlvbkV2
ZW50c1ZlY3RvciosIGJvb2wmIGRpZEFuaW1hdGUsIGJvb2wmIG5lZWRzQW5pbWF0ZUxheWVycyk7
CiAgICAgdm9pZCBzZXRCYWNrZ3JvdW5kVGlja2luZ0VuYWJsZWQoYm9vbCk7CiAgICAgSW50U2l6
ZSBjb250ZW50U2l6ZSgpIGNvbnN0OworCisgICAgc3RhdGljIHZvaWQgcmVtb3ZlUmVuZGVyUGFz
c2VzUmVjdXJzaXZlKENDUmVuZGVyUGFzc0xpc3QmIHBhc3Nlcywgc2l6ZV90IGJvdHRvbVBhc3Ms
IGNvbnN0IENDUmVuZGVyUGFzcyogZmlyc3RUb1JlbW92ZSk7CisKICAgICB2b2lkIHNlbmREaWRM
b3NlQ29udGV4dFJlY3Vyc2l2ZShDQ0xheWVySW1wbCopOwogICAgIHZvaWQgY2xlYXJSZW5kZXJT
dXJmYWNlc09uQ0NMYXllckltcGxSZWN1cnNpdmUoQ0NMYXllckltcGwqKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQ
YXNzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
UmVuZGVyUGFzcy5jcHAKaW5kZXggMGUzYWZjMDQ2OTJlMGJkYmI1ZTRjYzZhYTE0NDA2ZDhhMWQ5
YWY4ZC4uMWU3NmQyYmE2MmZlMGQxN2UyYzUxODg3ZDJkYjdhMTUyNGIzMDkxYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQ
YXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1JlbmRlclBhc3MuY3BwCkBAIC0xMDEsNCArMTAxLDkgQEAgdm9pZCBDQ1JlbmRlclBhc3M6
OmFwcGVuZFF1YWRzVG9GaWxsU2NyZWVuKENDTGF5ZXJJbXBsKiByb290TGF5ZXIsIGNvbnN0IENv
bG9yJgogICAgIG1fc2hhcmVkUXVhZFN0YXRlTGlzdC5hcHBlbmQoc2hhcmVkUXVhZFN0YXRlLnJl
bGVhc2UoKSk7CiB9CiAKK3ZvaWQgQ0NSZW5kZXJQYXNzOjphcHBlbmRRdWFkKFBhc3NPd25QdHI8
Q0NEcmF3UXVhZD4gcXVhZCkKK3sKKyAgICBtX3F1YWRMaXN0LmFwcGVuZChxdWFkKTsKK30KKwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NSZW5kZXJQYXNzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1JlbmRlclBhc3MuaAppbmRleCA2NDlkYmFjZGNkYTlmYTAwN2RiN2UwYjJkMWJl
MWUzMDk1ZTA5YTRmLi42MmY5MjkwYWNkMDA1ODJlYWZlNGY0ZTZjZGM4NWUwMTFmNWEzNzE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1JlbmRlclBhc3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1JlbmRlclBhc3MuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBhcHBlbmRRdWFkc0ZvckxheWVyKENDTGF5ZXJJbXBsKiwgQ0NPY2NsdXNpb25UcmFja2VySW1w
bCosIGJvb2wmIGhhZE1pc3NpbmdUaWxlcyk7CiAgICAgdm9pZCBhcHBlbmRRdWFkc0ZvclJlbmRl
clN1cmZhY2VMYXllcihDQ0xheWVySW1wbCosIGNvbnN0IENDUmVuZGVyUGFzcyogY29udHJpYnV0
aW5nUmVuZGVyUGFzcywgQ0NPY2NsdXNpb25UcmFja2VySW1wbCopOwogICAgIHZvaWQgYXBwZW5k
UXVhZHNUb0ZpbGxTY3JlZW4oQ0NMYXllckltcGwqIHJvb3RMYXllciwgY29uc3QgQ29sb3ImIHNj
cmVlbkJhY2tncm91bmRDb2xvciwgY29uc3QgQ0NPY2NsdXNpb25UcmFja2VySW1wbCYpOworICAg
IHZvaWQgYXBwZW5kUXVhZChQYXNzT3duUHRyPENDRHJhd1F1YWQ+KTsKIAogICAgIGNvbnN0IEND
UXVhZExpc3QmIHF1YWRMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9xdWFkTGlzdDsgfQogICAgIEND
UmVuZGVyU3VyZmFjZSogdGFyZ2V0U3VyZmFjZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0U3Vy
ZmFjZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQuY3BwCmluZGV4IDhk
YzRmZjY2YTFjNzE3M2JlNzM3NGE2MjVkYjk5Y2Y0MDdiMWQ2ZTMuLmNjZDQyMzI2ZmJiZGQ5ODU2
N2YzMTE2MmFjNTllYjJjMGM5YWYzNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NE
cmF3UXVhZC5jcHAKQEAgLTI3LDIwICsyNywyNCBAQAogCiAjaW5jbHVkZSAiY2MvQ0NSZW5kZXJQ
YXNzRHJhd1F1YWQuaCIKIAorI2luY2x1ZGUgImNjL0NDUmVuZGVyUGFzcy5oIgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLVBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzRHJhd1F1YWQ+IENDUmVuZGVy
UGFzc0RyYXdRdWFkOjpjcmVhdGUoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqIHNoYXJlZFF1YWRT
dGF0ZSwgY29uc3QgSW50UmVjdCYgcXVhZFJlY3QsIGNvbnN0IENDUmVuZGVyUGFzcyogcmVuZGVy
UGFzcywgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYg
ZmlsdGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmls
dGVycywgdW5zaWduZWQgbWFza1RleHR1cmVJZCkKK1Bhc3NPd25QdHI8Q0NSZW5kZXJQYXNzRHJh
d1F1YWQ+IENDUmVuZGVyUGFzc0RyYXdRdWFkOjpjcmVhdGUoY29uc3QgQ0NTaGFyZWRRdWFkU3Rh
dGUqIHNoYXJlZFF1YWRTdGF0ZSwgY29uc3QgSW50UmVjdCYgcXVhZFJlY3QsIGNvbnN0IENDUmVu
ZGVyUGFzcyogcmVuZGVyUGFzcywgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmls
dGVyT3BlcmF0aW9ucyYgZmlsdGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25z
JiBiYWNrZ3JvdW5kRmlsdGVycywgdW5zaWduZWQgbWFza1RleHR1cmVJZCwgYm9vbCBjb250ZW50
c0NoYW5nZWQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ1JlbmRlclBhc3NEcmF3UXVh
ZChzaGFyZWRRdWFkU3RhdGUsIHF1YWRSZWN0LCByZW5kZXJQYXNzLCBpc1JlcGxpY2EsIGZpbHRl
cnMsIGJhY2tncm91bmRGaWx0ZXJzLCBtYXNrVGV4dHVyZUlkKSk7CisgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBDQ1JlbmRlclBhc3NEcmF3UXVhZChzaGFyZWRRdWFkU3RhdGUsIHF1YWRSZWN0LCBy
ZW5kZXJQYXNzLCBpc1JlcGxpY2EsIGZpbHRlcnMsIGJhY2tncm91bmRGaWx0ZXJzLCBtYXNrVGV4
dHVyZUlkLCBjb250ZW50c0NoYW5nZWQpKTsKIH0KIAotQ0NSZW5kZXJQYXNzRHJhd1F1YWQ6OkND
UmVuZGVyUGFzc0RyYXdRdWFkKGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiBzaGFyZWRRdWFkU3Rh
dGUsIGNvbnN0IEludFJlY3QmIHF1YWRSZWN0LCBjb25zdCBDQ1JlbmRlclBhc3MqIHJlbmRlclBh
c3MsIGJvb2wgaXNSZXBsaWNhLCBjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMmIGZp
bHRlcnMsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgYmFja2dyb3VuZEZpbHRl
cnMsIHVuc2lnbmVkIG1hc2tUZXh0dXJlSWQpCitDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Q0NSZW5k
ZXJQYXNzRHJhd1F1YWQoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqIHNoYXJlZFF1YWRTdGF0ZSwg
Y29uc3QgSW50UmVjdCYgcXVhZFJlY3QsIGNvbnN0IENDUmVuZGVyUGFzcyogcmVuZGVyUGFzcywg
Ym9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVy
cywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycywg
dW5zaWduZWQgbWFza1RleHR1cmVJZCwgYm9vbCBjb250ZW50c0NoYW5nZWQpCiAgICAgOiBDQ0Ry
YXdRdWFkKHNoYXJlZFF1YWRTdGF0ZSwgQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgcXVhZFJlY3Qp
CiAgICAgLCBtX3JlbmRlclBhc3MocmVuZGVyUGFzcykKKyAgICAsIG1fcmVuZGVyU3VyZmFjZShy
ZW5kZXJQYXNzLT50YXJnZXRTdXJmYWNlKCkpCiAgICAgLCBtX2lzUmVwbGljYShpc1JlcGxpY2Ep
CiAgICAgLCBtX2ZpbHRlcnMoZmlsdGVycykKICAgICAsIG1fYmFja2dyb3VuZEZpbHRlcnMoYmFj
a2dyb3VuZEZpbHRlcnMpCiAgICAgLCBtX21hc2tUZXh0dXJlSWQobWFza1RleHR1cmVJZCkKKyAg
ICAsIG1fY29udGVudHNDaGFuZ2VkKGNvbnRlbnRzQ2hhbmdlZCkKIHsKICAgICBBU1NFUlQobV9y
ZW5kZXJQYXNzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5oCmluZGV4
IDNjYzZmMjYwNzFhMzNjMDIzMDZhZWFkOWUwOGIwODczMzM0ZTMxZTguLjNhMjlmOGI2Yjg2ZTIy
YzFjMTM5OGIyODFjYjNlNTFmNmY2ODllNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNz
RHJhd1F1YWQuaApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBDQ1JlbmRlclBhc3NEcmF3UXVh
ZF9oCiAKICNpbmNsdWRlICJjYy9DQ0RyYXdRdWFkLmgiCisjaW5jbHVkZSAiY2MvQ0NSZW5kZXJT
dXJmYWNlLmgiCiAjaW5jbHVkZSA8cHVibGljL1dlYkZpbHRlck9wZXJhdGlvbnMuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zNywyMyArMzgsMjcgQEAgY2xhc3MgQ0NSZW5k
ZXJQYXNzOwogY2xhc3MgQ0NSZW5kZXJQYXNzRHJhd1F1YWQgOiBwdWJsaWMgQ0NEcmF3UXVhZCB7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ0NSZW5kZXJQYXNzRHJhd1F1YWQpOwogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzT3duUHRyPENDUmVuZGVyUGFzc0RyYXdRdWFkPiBjcmVhdGUoY29u
c3QgQ0NTaGFyZWRRdWFkU3RhdGUqLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgQ0NSZW5kZXJQYXNz
KiwgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmls
dGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVy
cywgdW5zaWduZWQgbWFza1RleHR1cmVJZCk7CisgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NSZW5k
ZXJQYXNzRHJhd1F1YWQ+IGNyZWF0ZShjb25zdCBDQ1NoYXJlZFF1YWRTdGF0ZSosIGNvbnN0IElu
dFJlY3QmLCBjb25zdCBDQ1JlbmRlclBhc3MqLCBib29sIGlzUmVwbGljYSwgY29uc3QgV2ViS2l0
OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBmaWx0ZXJzLCBjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9w
ZXJhdGlvbnMmIGJhY2tncm91bmRGaWx0ZXJzLCB1bnNpZ25lZCBtYXNrVGV4dHVyZUlkLCBib29s
IGNvbnRlbnRzQ2hhbmdlZCk7CiAKICAgICBjb25zdCBDQ1JlbmRlclBhc3MqIHJlbmRlclBhc3Mo
KSBjb25zdCB7IHJldHVybiBtX3JlbmRlclBhc3M7IH0KKyAgICBDQ1JlbmRlclN1cmZhY2UqIHJl
bmRlclN1cmZhY2UoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlclN1cmZhY2U7IH0KICAgICBib29s
IGlzUmVwbGljYSgpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXBsaWNhOyB9CiAgICAgdW5zaWduZWQg
bWFza1RleHR1cmVJZCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFza1RleHR1cmVJZDsgfQorICAgIGJv
b2wgY29udGVudHNDaGFuZ2VkKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c0NoYW5nZWQ7IH0K
IAogICAgIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycygpIGNvbnN0
IHsgcmV0dXJuIG1fZmlsdGVyczsgfQogICAgIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0
aW9ucyYgYmFja2dyb3VuZEZpbHRlcnMoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmRGaWx0
ZXJzOyB9CiAKIHByaXZhdGU6Ci0gICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQoY29uc3QgQ0NTaGFy
ZWRRdWFkU3RhdGUqLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgQ0NSZW5kZXJQYXNzKiwgYm9vbCBp
c1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycywgY29u
c3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycywgdW5zaWdu
ZWQgbWFza1RleHR1cmVJZCk7CisgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQoY29uc3QgQ0NTaGFy
ZWRRdWFkU3RhdGUqLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgQ0NSZW5kZXJQYXNzKiwgYm9vbCBp
c1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycywgY29u
c3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycywgdW5zaWdu
ZWQgbWFza1RleHR1cmVJZCwgYm9vbCBjb250ZW50c0NoYW5nZWQpOwogCiAgICAgY29uc3QgQ0NS
ZW5kZXJQYXNzKiBtX3JlbmRlclBhc3M7CisgICAgQ0NSZW5kZXJTdXJmYWNlKiBtX3JlbmRlclN1
cmZhY2U7CiAgICAgYm9vbCBtX2lzUmVwbGljYTsKICAgICBXZWJLaXQ6OldlYkZpbHRlck9wZXJh
dGlvbnMgbV9maWx0ZXJzOwogICAgIFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyBtX2JhY2tn
cm91bmRGaWx0ZXJzOwogICAgIHVuc2lnbmVkIG1fbWFza1RleHR1cmVJZDsKKyAgICBib29sIG1f
Y29udGVudHNDaGFuZ2VkOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAK
aW5kZXggZGRhYmQ1MjhjOGZkMWQwYmNkNTZiMjAzNzBkYzUzZGQwMzAyMmVjYy4uNzdmZWViNjZl
MzlmNmVhMDUwYTRlNDhhZDMwYzQxNjAxZmUxMmM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1
cmZhY2UuY3BwCkBAIC02NCw2ICs2NCw3IEBAIENDUmVuZGVyU3VyZmFjZTo6Q0NSZW5kZXJTdXJm
YWNlKENDTGF5ZXJJbXBsKiBvd25pbmdMYXllcikKICAgICAsIG1fZHJhd09wYWNpdHlJc0FuaW1h
dGluZyhmYWxzZSkKICAgICAsIG1fdGFyZ2V0U3VyZmFjZVRyYW5zZm9ybXNBcmVBbmltYXRpbmco
ZmFsc2UpCiAgICAgLCBtX3NjcmVlblNwYWNlVHJhbnNmb3Jtc0FyZUFuaW1hdGluZyhmYWxzZSkK
KyAgICAsIG1fY29udGVudHNDaGFuZ2VkKHRydWUpCiAgICAgLCBtX25lYXJlc3RBbmNlc3RvclRo
YXRNb3Zlc1BpeGVscygwKQogICAgICwgbV90YXJnZXRSZW5kZXJTdXJmYWNlTGF5ZXJJbmRleEhp
c3RvcnkoMCkKICAgICAsIG1fY3VycmVudExheWVySW5kZXhIaXN0b3J5KDApCkBAIC04OCwxMCAr
ODksMTUgQEAgRmxvYXRSZWN0IENDUmVuZGVyU3VyZmFjZTo6ZHJhd2FibGVDb250ZW50UmVjdCgp
IGNvbnN0CiAKIGJvb2wgQ0NSZW5kZXJTdXJmYWNlOjpwcmVwYXJlQ29udGVudHNUZXh0dXJlKExh
eWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJlcikKIHsKLSAgICBUZXh0dXJlTWFuYWdl
ciogdGV4dHVyZU1hbmFnZXIgPSBsYXllclJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsK
KyAgICBpZiAobGF5ZXJSZW5kZXJlcikgeworICAgICAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVy
ZU1hbmFnZXIgPSBsYXllclJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsKKworICAgICAg
ICBpZiAoIW1fY29udGVudHNUZXh0dXJlKQorICAgICAgICAgICAgbV9jb250ZW50c1RleHR1cmUg
PSBNYW5hZ2VkVGV4dHVyZTo6Y3JlYXRlKHRleHR1cmVNYW5hZ2VyKTsKKyAgICB9CiAKICAgICBp
ZiAoIW1fY29udGVudHNUZXh0dXJlKQotICAgICAgICBtX2NvbnRlbnRzVGV4dHVyZSA9IE1hbmFn
ZWRUZXh0dXJlOjpjcmVhdGUodGV4dHVyZU1hbmFnZXIpOworICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICBpZiAobV9jb250ZW50c1RleHR1cmUtPmlzUmVzZXJ2ZWQoKSkKICAgICAgICAgcmV0
dXJuIHRydWU7CkBAIC0xMTQsNiArMTIwLDExIEBAIGJvb2wgQ0NSZW5kZXJTdXJmYWNlOjpoYXNW
YWxpZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY29udGVudHNUZXh0dXJl
ICYmIG1fY29udGVudHNUZXh0dXJlLT5pc1Jlc2VydmVkKCkgJiYgbV9jb250ZW50c1RleHR1cmUt
PmlzVmFsaWQobV9jb250ZW50UmVjdC5zaXplKCksIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBKTsK
IH0KIAorYm9vbCBDQ1JlbmRlclN1cmZhY2U6Omhhc0NhY2hlZENvbnRlbnRzVGV4dHVyZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fY29udGVudHNUZXh0dXJlICYmIG1fY29udGVudHNUZXh0dXJl
LT5pc1ZhbGlkKG1fY29udGVudFJlY3Quc2l6ZSgpLCBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSk7
Cit9CisKIGJvb2wgQ0NSZW5kZXJTdXJmYWNlOjpwcmVwYXJlQmFja2dyb3VuZFRleHR1cmUoTGF5
ZXJSZW5kZXJlckNocm9taXVtKiBsYXllclJlbmRlcmVyKQogewogICAgIFRleHR1cmVNYW5hZ2Vy
KiB0ZXh0dXJlTWFuYWdlciA9IGxheWVyUmVuZGVyZXItPmltcGxUZXh0dXJlTWFuYWdlcigpOwpA
QCAtMjg2LDcgKzI5Nyw3IEBAIHZvaWQgQ0NSZW5kZXJTdXJmYWNlOjphcHBlbmRRdWFkcyhDQ1F1
YWRDdWxsZXImIHF1YWRMaXN0LCBDQ1NoYXJlZFF1YWRTdGF0ZSogc2hhCiAKICAgICBpbnQgbWFz
a1RleHR1cmVJZCA9IG1hc2tMYXllciA/IG1hc2tMYXllci0+Y29udGVudHNUZXh0dXJlSWQoKSA6
IDA7CiAKLSAgICBxdWFkTGlzdC5hcHBlbmRTdXJmYWNlKENDUmVuZGVyUGFzc0RyYXdRdWFkOjpj
cmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBjb250ZW50UmVjdCgpLCByZW5kZXJQYXNzLCBmb3JSZXBs
aWNhLCBmaWx0ZXJzKCksIGJhY2tncm91bmRGaWx0ZXJzKCksIG1hc2tUZXh0dXJlSWQpKTsKKyAg
ICBxdWFkTGlzdC5hcHBlbmRTdXJmYWNlKENDUmVuZGVyUGFzc0RyYXdRdWFkOjpjcmVhdGUoc2hh
cmVkUXVhZFN0YXRlLCBjb250ZW50UmVjdCgpLCByZW5kZXJQYXNzLCBmb3JSZXBsaWNhLCBmaWx0
ZXJzKCksIGJhY2tncm91bmRGaWx0ZXJzKCksIG1hc2tUZXh0dXJlSWQsIG1fY29udGVudHNDaGFu
Z2VkKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKaW5kZXggNjI1MjNiODIx
MmI3ZTM2ZDY1ZDgyZGM2ZDFjNjliOTFjODc0YzY0OS4uYTZkNGJhM2I5MDM3M2Q3OGUzZTcxZmZh
NmU2MzdjZDZlYjM3ZmM2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKQEAgLTUzLDkg
KzUzLDEwIEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBDQ1JlbmRlclN1cmZhY2UoQ0NMYXllcklt
cGwqKTsKICAgICB+Q0NSZW5kZXJTdXJmYWNlKCk7CiAKLSAgICBib29sIHByZXBhcmVDb250ZW50
c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CisgICAgdmlydHVhbCBib29sIHByZXBh
cmVDb250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CiAgICAgdm9pZCByZWxl
YXNlQ29udGVudHNUZXh0dXJlKCk7CiAgICAgYm9vbCBoYXNWYWxpZENvbnRlbnRzVGV4dHVyZSgp
IGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBoYXNDYWNoZWRDb250ZW50c1RleHR1cmUoKSBjb25z
dDsKIAogICAgIGJvb2wgcHJlcGFyZUJhY2tncm91bmRUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJv
bWl1bSopOwogICAgIHZvaWQgcmVsZWFzZUJhY2tncm91bmRUZXh0dXJlKCk7CkBAIC0xMTQsNiAr
MTE1LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2Npc3NvclJlY3QoY29uc3QgSW50UmVjdCYg
c2Npc3NvclJlY3QpIHsgbV9zY2lzc29yUmVjdCA9IHNjaXNzb3JSZWN0OyB9CiAgICAgY29uc3Qg
SW50UmVjdCYgc2Npc3NvclJlY3QoKSBjb25zdCB7IHJldHVybiBtX3NjaXNzb3JSZWN0OyB9CiAK
KyAgICB2b2lkIHNldENvbnRlbnRzQ2hhbmdlZChib29sIGNvbnRlbnRzQ2hhbmdlZCkgeyBtX2Nv
bnRlbnRzQ2hhbmdlZCA9IGNvbnRlbnRzQ2hhbmdlZDsgfQorICAgIGJvb2wgY29udGVudHNDaGFu
Z2VkKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c0NoYW5nZWQ7IH0KKwogICAgIHZvaWQgc2V0
Q29udGVudFJlY3QoY29uc3QgSW50UmVjdCYpOwogICAgIGNvbnN0IEludFJlY3QmIGNvbnRlbnRS
ZWN0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50UmVjdDsgfQogCkBAIC0xNzQsNiArMTc4LDEx
IEBAIHByaXZhdGU6CiAgICAgLy8gVXNlcyB0aGUgc3BhY2Ugb2YgdGhlIHN1cmZhY2UncyB0YXJn
ZXQgc3VyZmFjZS4KICAgICBJbnRSZWN0IG1fc2Npc3NvclJlY3Q7CiAKKyAgICAvLyBGSVhNRTog
V2hlbiB0aGUgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIENDRGFtYWdlVHJhY2tlci9DQ1JlbmRlclBh
c3MvQ0NSZW5kZXJTdXJmYWNlL0NDUmVuZGVyUGFzRHJhd1F1YWQKKyAgICAvLyBhcmUgZml4ZWQs
IHRoaXMgZmxhZyBtYXkgZ28gYXdheS4gUmlnaHQgbm93IG5lZWRlZCB0byB0cmFuc2ZlciB0aGUg
aW5mb3JtYXRpb24gZnJvbSBDQ0RhbWFnZVRyYWNrZXIKKyAgICAvLyB0byBDQ1JlbmRlclBhc3NE
cmF3UXVhZCB3aXRob3V0IGNyZWF0aW5nIG5ldyBjbGFzcyBkZXBlbmRlbmNpZXMuCisgICAgYm9v
bCBtX2NvbnRlbnRzQ2hhbmdlZDsKKwogICAgIFZlY3RvcjxDQ0xheWVySW1wbCo+IG1fbGF5ZXJM
aXN0OwogCiAgICAgLy8gVGhlIG5lYXJlc3QgYW5jZXN0b3IgdGFyZ2V0IHN1cmZhY2UgdGhhdCB3
aWxsIGNvbnRhaW4gdGhlIGNvbnRlbnRzIG9mIHRoaXMgc3VyZmFjZSwgYW5kIHRoYXQgaXMgZ29p
bmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEYW1hZ2VUcmFj
a2VyVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRGFtYWdlVHJhY2tl
clRlc3QuY3BwCmluZGV4IGJiNGUyYzJhYzViYTE1ZDNkMzk5OTQzOWNhMjJkYzA3NjU1NGZlODQu
Ljg3NTA1MjliYWU3MzFiN2Y2ZjUwOThhYjM2M2VjNGE5Mjk3Yzk0MzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcApAQCAt
ODkyLDcgKzg5Miw3IEBAIFRFU1RfRihDQ0RhbWFnZVRyYWNrZXJUZXN0LCB2ZXJpZnlEYW1hZ2VG
b3JNYXNrKQogICAgIEVYUEVDVF9UUlVFKGNoaWxkRGFtYWdlUmVjdC5pc0VtcHR5KCkpOwogCiAg
ICAgLy8gVGhlbiB0ZXN0IHRoZSBwcm9wZXJ0eSBjaGFuZ2UuCi0gICAgbWFza0xheWVyLT5zZXRP
cGFjaXR5KDAuNSk7CisgICAgbWFza0xheWVyLT5zZXRTdGFja2luZ09yZGVyQ2hhbmdlZCh0cnVl
KTsKICAgICBlbXVsYXRlRHJhd2luZ09uZUZyYW1lKHJvb3QuZ2V0KCkpOwogICAgIGNoaWxkRGFt
YWdlUmVjdCA9IGNoaWxkLT5yZW5kZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+Y3VycmVu
dERhbWFnZVJlY3QoKTsKICAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShGbG9hdFJlY3QoMCwgMCwg
MzAsIDMwKSwgY2hpbGREYW1hZ2VSZWN0KTsKQEAgLTk1NCw3ICs5NTQsNyBAQCBURVNUX0YoQ0NE
YW1hZ2VUcmFja2VyVGVzdCwgdmVyaWZ5RGFtYWdlRm9yUmVwbGljYU1hc2spCiAgICAgQVNTRVJU
X1RSVUUoZ3JhbmRDaGlsZDEtPnJlbmRlclN1cmZhY2UoKSk7CiAKICAgICAvLyBDQVNFIDE6IGEg
cHJvcGVydHkgY2hhbmdlIG9uIHRoZSBtYXNrIHNob3VsZCBkYW1hZ2Ugb25seSB0aGUgcmVmbGVj
dGVkIHJlZ2lvbiBvbiB0aGUgdGFyZ2V0IHN1cmZhY2UuCi0gICAgcmVwbGljYU1hc2tMYXllci0+
c2V0T3BhY2l0eSgwLjZmKTsKKyAgICByZXBsaWNhTWFza0xheWVyLT5zZXRTdGFja2luZ09yZGVy
Q2hhbmdlZCh0cnVlKTsKICAgICBlbXVsYXRlRHJhd2luZ09uZUZyYW1lKHJvb3QuZ2V0KCkpOwog
CiAgICAgRmxvYXRSZWN0IGdyYW5kQ2hpbGREYW1hZ2VSZWN0ID0gZ3JhbmRDaGlsZDEtPnJlbmRl
clN1cmZhY2UoKS0+ZGFtYWdlVHJhY2tlcigpLT5jdXJyZW50RGFtYWdlUmVjdCgpOwpAQCAtMTAx
NCw3ICsxMDE0LDcgQEAgVEVTVF9GKENDRGFtYWdlVHJhY2tlclRlc3QsIHZlcmlmeURhbWFnZUZv
clJlcGxpY2FNYXNrV2l0aEFuY2hvcikKICAgICBBU1NFUlRfVFJVRShncmFuZENoaWxkMS0+cmVu
ZGVyU3VyZmFjZSgpKTsKIAogICAgIC8vIEEgcHJvcGVydHkgY2hhbmdlIG9uIHRoZSByZXBsaWNh
TWFzayBzaG91bGQgZGFtYWdlIHRoZSByZWZsZWN0ZWQgcmVnaW9uIG9uIHRoZSB0YXJnZXQgc3Vy
ZmFjZS4KLSAgICByZXBsaWNhTWFza0xheWVyLT5zZXRPcGFjaXR5KDAuNmYpOworICAgIHJlcGxp
Y2FNYXNrTGF5ZXItPnNldFN0YWNraW5nT3JkZXJDaGFuZ2VkKHRydWUpOwogICAgIGVtdWxhdGVE
cmF3aW5nT25lRnJhbWUocm9vdC5nZXQoKSk7CiAKICAgICBGbG9hdFJlY3QgY2hpbGREYW1hZ2VS
ZWN0ID0gY2hpbGQxLT5yZW5kZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+Y3VycmVudERh
bWFnZVJlY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NM
YXllckltcGxUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllcklt
cGxUZXN0LmNwcAppbmRleCA4MjdjOWFkYWFlMDc0NDU2YTlkMGMwMmI4NzM4Mzc0NzlmNjM2NWQz
Li44YjQwMTU2NmI4YTVmZTNlMjEzMWNmZGY1ODVhY2I1MjkzNzNiNWQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVySW1wbFRlc3QuY3BwCkBAIC00MiwyMSAr
NDIsMzMgQEAgbmFtZXNwYWNlIHsKICAgICBjb2RlVG9UZXN0OyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfVFJVRShy
b290LT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
ICAgICBFWFBFQ1RfVFJVRShjaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBFWFBFQ1RfVFJVRShncmFuZENoaWxkLT5sYXllclByb3Bl
cnR5Q2hhbmdlZCgpKQorICAgIEVYUEVDVF9UUlVFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlD
aGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVDVF9GQUxTRShyb290LT5s
YXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSkKKwogCiAjZGVmaW5lIEVYRUNVVEVfQU5EX1ZF
UklGWV9TVUJUUkVFX0RJRF9OT1RfQ0hBTkdFKGNvZGVUb1Rlc3QpICAgICAgICAgICBcCiAgICAg
cm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCiAgICAgY29kZVRvVGVzdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxh
eWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgRVhQ
RUNUX0ZBTFNFKGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFu
Z2VkKCkpCisgICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2Vk
KCkpOyAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyU3Vy
ZmFjZVByb3BlcnR5Q2hhbmdlZCgpKQogCiAjZGVmaW5lIEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZ
X0xBWUVSX0NIQU5HRUQoY29kZVRvVGVzdCkgICAgICAgICAgICAgICBcCiAgICAgcm9vdC0+cmVz
ZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgY29kZVRvVGVzdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX1RSVUUocm9vdC0+bGF5ZXJQcm9wZXJ0
eUNoYW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX0ZBTFNF
KGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpCisg
ICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAg
ICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyU3VyZmFjZVByb3Bl
cnR5Q2hhbmdlZCgpKQorCisjZGVmaW5lIEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX1NVUkZBQ0Vf
Q0hBTkdFRChjb2RlVG9UZXN0KSAgICAgICAgICAgICBcCisgICAgcm9vdC0+cmVzZXRBbGxDaGFu
Z2VUcmFja2luZ0ZvclN1YnRyZWUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
Y29kZVRvVGVzdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyUHJvcGVydHlDaGFuZ2Vk
KCkpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKGNoaWxkLT5s
YXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQ
RUNUX0ZBTFNFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAg
ICAgICAgICBcCisgICAgRVhQRUNUX1RSVUUocm9vdC0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFu
Z2VkKCkpCiAKIFRFU1QoQ0NMYXllckltcGxUZXN0LCB2ZXJpZnlMYXllckNoYW5nZXNBcmVUcmFj
a2VkUHJvcGVybHkpCiB7CkBAIC05OCwxMSArMTEwLDkgQEAgVEVTVChDQ0xheWVySW1wbFRlc3Qs
IHZlcmlmeUxheWVyQ2hhbmdlc0FyZVRyYWNrZWRQcm9wZXJseSkKICAgICBFWEVDVVRFX0FORF9W
RVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldE1hc2tMYXllcihDQ0xheWVySW1wbDo6Y3Jl
YXRlKDQpKSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5z
ZXRNYXNrc1RvQm91bmRzKHRydWUpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9D
SEFOR0VEKHJvb3QtPnNldE9wYXF1ZSh0cnVlKSk7Ci0gICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NV
QlRSRUVfQ0hBTkdFRChyb290LT5zZXRPcGFjaXR5KGFyYml0cmFyeU51bWJlcikpOwogICAgIEVY
RUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0UmVwbGljYUxheWVyKEND
TGF5ZXJJbXBsOjpjcmVhdGUoNSkpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9D
SEFOR0VEKHJvb3QtPnNldFBvc2l0aW9uKGFyYml0cmFyeUZsb2F0UG9pbnQpKTsKICAgICBFWEVD
VVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldFByZXNlcnZlczNEKHRydWUp
KTsKLSAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldFRyYW5z
Zm9ybShhcmJpdHJhcnlUcmFuc2Zvcm0pKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJF
RV9DSEFOR0VEKHJvb3QtPnNldERvdWJsZVNpZGVkKGZhbHNlKSk7IC8vIGNvbnN0cnVjdG9yIGlu
aXRpYWxpemVzIGl0IHRvICJ0cnVlIi4KICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9D
SEFOR0VEKHJvb3QtPnNjcm9sbEJ5KGFyYml0cmFyeUludFNpemUpKTsKICAgICBFWEVDVVRFX0FO
RF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldFNjcm9sbERlbHRhKGFyYml0cmFyeUlu
dFNpemUpKTsKQEAgLTExNyw2ICsxMjcsMTAgQEAgVEVTVChDQ0xheWVySW1wbFRlc3QsIHZlcmlm
eUxheWVyQ2hhbmdlc0FyZVRyYWNrZWRQcm9wZXJseSkKICAgICBFWEVDVVRFX0FORF9WRVJJRllf
T05MWV9MQVlFUl9DSEFOR0VEKHJvb3QtPnNldEJhY2tncm91bmRDb2xvcihDb2xvcjo6Z3JheSkp
OwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX0xBWUVSX0NIQU5HRUQocm9vdC0+c2V0QmFj
a2dyb3VuZEZpbHRlcnMoYXJiaXRyYXJ5RmlsdGVycykpOwogCisgICAgLy8gQ2hhbmdpbmcgdGhl
c2UgcHJvcGVydGllcyBvbmx5IGFmZmVjdHMgaG93IHJlbmRlcidzIHN1cmZhY2UgaXMgZHJhd24K
KyAgICBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9TVVJGQUNFX0NIQU5HRUQocm9vdC0+c2V0T3Bh
Y2l0eShhcmJpdHJhcnlOdW1iZXIpKTsKKyAgICBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9TVVJG
QUNFX0NIQU5HRUQocm9vdC0+c2V0VHJhbnNmb3JtKGFyYml0cmFyeVRyYW5zZm9ybSkpOworCiAg
ICAgLy8gU3BlY2lhbCBjYXNlOiBjaGVjayB0aGF0IHN1YmxheWVyIHRyYW5zZm9ybSBjaGFuZ2Vz
IGFsbCBsYXllcidzIGRlc2NlbmRhbnRzLCBidXQgbm90IHRoZSBsYXllciBpdHNlbGYuCiAgICAg
cm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKTsKICAgICByb290LT5zZXRT
dWJsYXllclRyYW5zZm9ybShhcmJpdHJhcnlUcmFuc2Zvcm0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAppbmRl
eCAxNjU3YzMzNDE4OTEzMDNjZWMzM2U2MDlkY2JkNzllNDFiMmNjNzlhLi44NGYyYTY3NjE5Yjdi
YzgxYTIxNDMyZjc3MDliM2M0M2RhOThjMjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcApAQCAtMzQsNiAr
MzQsNyBAQAogI2luY2x1ZGUgImNjL0NDTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NMYXll
clRpbGluZ0RhdGEuaCIKICNpbmNsdWRlICJjYy9DQ1F1YWRDdWxsZXIuaCIKKyNpbmNsdWRlICJj
Yy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5oIgogI2luY2x1ZGUgImNjL0NDU2Nyb2xsYmFyTGF5ZXJJ
bXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oIgogI2luY2x1ZGUgImNj
L0NDU29saWRDb2xvckRyYXdRdWFkLmgiCkBAIC0xNzM0LDQgKzE3MzUsNTUzIEBAIFRFU1RfRihD
Q0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgZG9udFVzZU9sZFJlc291cmNlc0FmdGVyTG9zdENvbnRl
eHQpCiAgICAgbV9ob3N0SW1wbC0+c3dhcEJ1ZmZlcnMoKTsKIH0KIAorVEVTVF9GKENDTGF5ZXJU
cmVlSG9zdEltcGxUZXN0LCBzdXJmYWNlVGV4dHVyZUNhY2hpbmcpCit7CisgICAgQ0NTZXR0aW5n
cyBzZXR0aW5nczsKKyAgICAKKyAgICBzZXR0aW5ncy5wYXJ0aWFsU3dhcEVuYWJsZWQgPSB0cnVl
OworICAgIAorICAgIE93blB0cjxDQ0xheWVyVHJlZUhvc3RJbXBsPiBteUhvc3RJbXBsID0gQ0NM
YXllclRyZWVIb3N0SW1wbDo6Y3JlYXRlKHNldHRpbmdzLCB0aGlzKTsKKyAgICAKKyAgICBSZWZQ
dHI8Q0NHcmFwaGljc0NvbnRleHQ+IGNvbnRleHQgPSBDQ0dyYXBoaWNzQ29udGV4dDo6Y3JlYXRl
M0QoR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpjcmVhdGVHcmFwaGljc0NvbnRleHRGcm9tV2Vi
Q29udGV4dChhZG9wdFB0cihuZXcgUGFydGlhbFN3YXBDb250ZXh0KCkpLCBHcmFwaGljc0NvbnRl
eHQzRDo6UmVuZGVyRGlyZWN0bHlUb0hvc3RXaW5kb3cpKTsKKworICAgIG15SG9zdEltcGwtPmlu
aXRpYWxpemVMYXllclJlbmRlcmVyKGNvbnRleHQucmVsZWFzZSgpLCBVbnRocm90dGxlZFVwbG9h
ZGVyKTsKKyAgICBteUhvc3RJbXBsLT5zZXRWaWV3cG9ydFNpemUoSW50U2l6ZSgxMDAsIDEwMCkp
OworCisgICAgT3duUHRyPENDTGF5ZXJJbXBsPiByb290ID0gQ0NMYXllckltcGw6OmNyZWF0ZSgx
KTsKKyAgICBDQ0xheWVySW1wbCogcm9vdFB0ciA9IHJvb3QuZ2V0KCk7CisKKyAgICByb290LT5z
ZXRBbmNob3JQb2ludChGbG9hdFBvaW50KDAsIDApKTsKKyAgICByb290LT5zZXRQb3NpdGlvbihG
bG9hdFBvaW50KDAsIDApKTsKKyAgICByb290LT5zZXRCb3VuZHMoSW50U2l6ZSgxMDAsIDEwMCkp
OworICAgIHJvb3QtPnNldFZpc2libGVMYXllclJlY3QoSW50UmVjdCgwLCAwLCAxMDAsIDEwMCkp
OworICAgIHJvb3QtPnNldERyYXdzQ29udGVudCh0cnVlKTsKKyAgICBteUhvc3RJbXBsLT5zZXRS
b290TGF5ZXIocm9vdC5yZWxlYXNlKCkpOworCisgICAgLy8gSW50ZXJtZWRpYXRlIGxheWVyIGRv
ZXMgbm90IG93biBhIHN1cmZhY2UsIGFuZCBkb2VzIG5vdCBkcmF3IGNvbnRlbnQuCisgICAgT3du
UHRyPENDTGF5ZXJJbXBsPiBpbnRlcm1lZGlhdGVMYXllciA9IENDTGF5ZXJJbXBsOjpjcmVhdGUo
Mik7CisgICAgQ0NMYXllckltcGwqIGludGVybWVkaWF0ZUxheWVyUHRyID0gaW50ZXJtZWRpYXRl
TGF5ZXIuZ2V0KCk7CisKKyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0QW5jaG9yUG9pbnQo
RmxvYXRQb2ludCgwLCAwKSk7CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNldFBvc2l0aW9u
KEZsb2F0UG9pbnQoMTAsIDEwKSk7CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNldEJvdW5k
cyhJbnRTaXplKDEwMCwgMTAwKSk7CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNldFZpc2li
bGVMYXllclJlY3QoSW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpOworICAgIGludGVybWVkaWF0ZUxh
eWVyUHRyLT5zZXREcmF3c0NvbnRlbnQoZmFsc2UpOyAvLyBvbmx5IGNoaWxkcmVuIGRyYXcgY29u
dGVudAorICAgIHJvb3RQdHItPmFkZENoaWxkKGludGVybWVkaWF0ZUxheWVyLnJlbGVhc2UoKSk7
CisKKyAgICBPd25QdHI8Q0NMYXllckltcGw+IHN1cmZhY2VMYXllciA9IENDTGF5ZXJJbXBsOjpj
cmVhdGUoMyk7CisgICAgQ0NMYXllckltcGwqIHN1cmZhY2VMYXllclB0ciA9IHN1cmZhY2VMYXll
ci5nZXQoKTsKKworICAgIC8vIFN1cmZhY2UgbGF5ZXIgaXMgdGhlIGxheWVyIHRoYXQgY2hhbmdl
cyBpdHMgb3BhY2l0eQorICAgIC8vIEl0IHdpbGwgY29udGFpbiBvdGhlciBsYXllcnMgdGhhdCBk
cmF3IGNvbnRlbnQuCisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRBbmNob3JQb2ludChGbG9hdFBv
aW50KDAsIDApKTsKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQo
MTAsIDEwKSk7CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRCb3VuZHMoSW50U2l6ZSg1MCwgNTAp
KTsKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldFZpc2libGVMYXllclJlY3QoSW50UmVjdCgwLCAw
LCA1MCwgNTApKTsKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldERyYXdzQ29udGVudChmYWxzZSk7
IC8vIG9ubHkgY2hpbGRyZW4gZHJhdyBjb250ZW50CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRP
cGFjaXR5KDAuNWYpOyAvLyBUaGlzIHdpbGwgY2F1c2UgaXQgdG8gaGF2ZSBhIHN1cmZhY2UKKyAg
ICBpbnRlcm1lZGlhdGVMYXllclB0ci0+YWRkQ2hpbGQoc3VyZmFjZUxheWVyLnJlbGVhc2UoKSk7
CisKKyAgICAvLyBDaGlsZCBvZiB0aGUgc3VyZmFjZSBsYXllciB3aWxsIHByb2R1Y2Ugc29tZSBx
dWFkcworICAgIE93blB0cjxGYWtlTGF5ZXJXaXRoUXVhZHM+IGNoaWxkID0gRmFrZUxheWVyV2l0
aFF1YWRzOjpjcmVhdGUoNCk7CisgICAgRmFrZUxheWVyV2l0aFF1YWRzKiBjaGlsZFB0ciA9IGNo
aWxkLmdldCgpOworCisgICAgY2hpbGRQdHItPnNldEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwg
MCkpOworICAgIGNoaWxkUHRyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KDUsIDUpKTsKKyAgICBj
aGlsZFB0ci0+c2V0Qm91bmRzKEludFNpemUoMTAsIDEwKSk7CisgICAgY2hpbGRQdHItPnNldFZp
c2libGVMYXllclJlY3QoSW50UmVjdCgwLCAwLCAxMCwgMTApKTsKKyAgICBjaGlsZFB0ci0+c2V0
RHJhd3NDb250ZW50KHRydWUpOworCisgICAgc3VyZmFjZUxheWVyUHRyLT5hZGRDaGlsZChjaGls
ZC5yZWxlYXNlKCkpOworCisgICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFt
ZURhdGEgZnJhbWU7CisgICAgICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVUb0Ry
YXcoZnJhbWUpKTsKKworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAg
ICAgICAgbXlIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisKKyAgICAgICAgLy8g
TXVzdCByZWNlaXZlIHR3byByZW5kZXIgcGFzc2VzLCBlYWNoIHdpdGggb25lIHF1YWQKKyAgICAg
ICAgQVNTRVJUX0VRKDJVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKyAgICAgICAgRVhQ
RUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAg
ICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KCkuc2l6
ZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUu
cmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgpKTsKKyAgICAgICAgQ0NS
ZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVh
ZCo+KGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAg
IEVYUEVDVF9UUlVFKHF1YWQtPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKyAgICB9CisKKyAgICAvLyBE
cmF3IHdpdGhvdXQgYW55IGNoYW5nZQorICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1w
bDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVw
YXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFt
ZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworCisgICAg
ICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gRU1QVFkgcmVuZGVyIHBhc3NlcworICAgICAgICBBU1NF
UlRfRVEoMlUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEo
MFUsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBF
WFBFQ1RfRVEoMFUsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKS5zaXplKCkpOwor
ICAgIH0KKworICAgIC8vIENoYW5nZSBvcGFjaXR5IGFuZCBkcmF3CisgICAgc3VyZmFjZUxheWVy
UHRyLT5zZXRPcGFjaXR5KDAuNmYpOworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1w
bDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVw
YXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFt
ZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworCisgICAg
ICAgIC8vIE11c3QgcmVjZWl2ZSBvbmUgcmVuZGVyIHBhc3MsIGFzIHRoZSBvdGhlciBvbmUgc2hv
dWxkIGJlIGN1bGxlZAorICAgICAgICBBU1NFUlRfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlcy5z
aXplKCkpOworCisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5x
dWFkTGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQ
YXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOwor
ICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVy
UGFzc0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLmdldCgp
KTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHF1YWQtPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKyAgICB9
CisKKyAgICAvLyBDaGFuZ2UgbGVzcyBiZW5pZ24gcHJvcGVydHkgYW5kIGRyYXcgLSBzaG91bGQg
aGF2ZSBjb250ZW50cyBjaGFuZ2VkIGZsYWcKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldFN0YWNr
aW5nT3JkZXJDaGFuZ2VkKHRydWUpOworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1w
bDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVw
YXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFt
ZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworCisgICAg
ICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gcmVuZGVyIHBhc3NlcywgZWFjaCB3aXRoIG9uZSBxdWFk
CisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisKKyAg
ICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6
ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlNvbGlkQ29sb3IsIGZyYW1lLnJl
bmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisKKyAgICAgICAgRVhQ
RUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRlclBhc3MsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVh
ZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisgICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBx
dWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQYXNzRHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNz
ZXNbMV0tPnF1YWRMaXN0KClbMF0uZ2V0KCkpOworICAgICAgICBFWFBFQ1RfVFJVRShxdWFkLT5j
b250ZW50c0NoYW5nZWQoKSk7CisgICAgfQorCisgICAgLy8gQ2hhbmdlIG9wYWNpdHkgYWdhaW4s
IGJ1dCBldmljdCB0aGUgY2FjaGVkIHN1cmZhY2UgdGV4dHVyZQorICAgIHN1cmZhY2VMYXllclB0
ci0+c2V0T3BhY2l0eSgwLjVmKTsKKyAgICBNYW5hZ2VkVGV4dHVyZSogY29udGVudHNUZXh0dXJl
ID0gc3VyZmFjZUxheWVyUHRyLT5yZW5kZXJTdXJmYWNlKCktPmNvbnRlbnRzVGV4dHVyZSgpOwor
ICAgIEFTU0VSVF9UUlVFKGNvbnRlbnRzVGV4dHVyZS0+aXNWYWxpZChjb250ZW50c1RleHR1cmUt
PnNpemUoKSwgY29udGVudHNUZXh0dXJlLT5mb3JtYXQoKSkpOworICAgIENDUmVuZGVyZXIqIHJl
bmRlcmVyID0gbXlIb3N0SW1wbC0+bGF5ZXJSZW5kZXJlcigpOworICAgIFRleHR1cmVNYW5hZ2Vy
KiB0ZXh0dXJlTWFuYWdlciA9IHJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsKKyAgICBz
aXplX3QgbWF4TWVtb3J5TGltaXQgPSB0ZXh0dXJlTWFuYWdlci0+bWF4TWVtb3J5TGltaXRCeXRl
cygpOworCisgICAgLy8gVGhpcyBzaG91bGQgZXZpY2UgYWxsIGNhY2hlZCBzdXJmYWNlcworICAg
IHRleHR1cmVNYW5hZ2VyLT5zZXRNYXhNZW1vcnlMaW1pdEJ5dGVzKDApOworCisgICAgLy8gUmVz
dG9yZSBvcmlnaW5hbCBsaW1pdAorICAgIHRleHR1cmVNYW5hZ2VyLT5zZXRNYXhNZW1vcnlMaW1p
dEJ5dGVzKG1heE1lbW9yeUxpbWl0KTsKKworICAgIC8vIFdhcyBvdXIgc3VyZmFjZSBldmljdGVk
PworICAgIEFTU0VSVF9GQUxTRShjb250ZW50c1RleHR1cmUtPmlzVmFsaWQoY29udGVudHNUZXh0
dXJlLT5zaXplKCksIGNvbnRlbnRzVGV4dHVyZS0+Zm9ybWF0KCkpKTsKKworICAgIC8vIENoYW5n
ZSBvcGFjaXR5IGFuZCBkcmF3CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRPcGFjaXR5KDAuNmYp
OworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOwor
ICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisK
KyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdElt
cGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0
d28gcmVuZGVyIHBhc3NlcworICAgICAgICBBU1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRlclBhc3Nl
cy5zaXplKCkpOworCisgICAgICAgIC8vIEV2ZW4gdGhvdWdoIG5vdCBlbm91Z2ggcHJvcGVydGll
cyBjaGFuZ2VkLCB0aGUgZW50aXJlIHRoaW5nIG11c3QgYmUKKyAgICAgICAgLy8gcmVkcmF3biBh
cyB3ZSBkb24ndCBoYXZlIGNhY2hlZCB0ZXh0dXJlcworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZy
YW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1Rf
RVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKS5zaXplKCkpOworCisgICAg
ICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNb
MV0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3
UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUucmVu
ZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNF
KHF1YWQtPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKyAgICB9CisKKyAgICAvLyBEcmF3IHdpdGhvdXQg
YW55IGNoYW5nZSwgdG8gbWFrZSBzdXJlIHRoZSBzdGF0ZSBpcyBjbGVhcgorICAgIHsKKyAgICAg
ICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1Rf
VFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgbXlIb3N0
SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxM
YXllcnMoZnJhbWUpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gRU1QVFkgcmVuZGVy
IHBhc3NlcworICAgICAgICBBU1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkp
OworICAgICAgICBFWFBFQ1RfRVEoMFUsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3Qo
KS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMFUsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+
cXVhZExpc3QoKS5zaXplKCkpOworICAgIH0KKworICAgIC8vIENoYW5nZSBvcGFjaXR5IG9uIHRo
ZSBpbnRlcm1lZGlhdGUgbGF5ZXIKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zv
cm0gPSBpbnRlcm1lZGlhdGVMYXllclB0ci0+dHJhbnNmb3JtKCk7CisgICAgdHJhbnNmb3JtLnNl
dE0xMSgxLjAwMDEpOworICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRUcmFuc2Zvcm0odHJh
bnNmb3JtKTsKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBm
cmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFt
ZSkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBt
eUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKKworICAgICAgICAvLyBNdXN0IHJl
Y2VpdmUgb25lIHJlbmRlciBwYXNzLCBhcyB0aGUgb3RoZXIgb25lIHNob3VsZCBiZSBjdWxsZWQu
CisgICAgICAgIEFTU0VSVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisgICAg
ICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNpemUo
KSk7CisKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRlclBhc3MsIGZyYW1lLnJl
bmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisgICAgICAgIENDUmVu
ZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQYXNzRHJhd1F1YWQq
PihmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClbMF0uZ2V0KCkpOworICAgICAgICBF
WFBFQ1RfRkFMU0UocXVhZC0+Y29udGVudHNDaGFuZ2VkKCkpOworICAgIH0KK30KKworc3RydWN0
IFJlbmRlclBhc3NDYWNoZUVudHJ5IHsKKyAgICBtdXRhYmxlIE93blB0cjxDQ1JlbmRlclBhc3M+
IHJlbmRlclBhc3NQdHI7CisgICAgQ0NSZW5kZXJQYXNzKiByZW5kZXJQYXNzOworCisgICAgUmVu
ZGVyUGFzc0NhY2hlRW50cnkoUGFzc093blB0cjxDQ1JlbmRlclBhc3M+IHIpCisgICAgICAgIDog
cmVuZGVyUGFzc1B0cihyKSwKKyAgICAgICAgICByZW5kZXJQYXNzKHJlbmRlclBhc3NQdHIuZ2V0
KCkpCisgICAgeworICAgIH0KKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5KCkKKyAgICB7Cisg
ICAgfQorCisgICAgUmVuZGVyUGFzc0NhY2hlRW50cnkoY29uc3QgUmVuZGVyUGFzc0NhY2hlRW50
cnkmIGVudHJ5KQorICAgICAgICA6IHJlbmRlclBhc3NQdHIoZW50cnkucmVuZGVyUGFzc1B0ci5y
ZWxlYXNlKCkpLAorICAgICAgICAgIHJlbmRlclBhc3MoZW50cnkucmVuZGVyUGFzcykKKyAgICB7
CisgICAgfQorCisgICAgUmVuZGVyUGFzc0NhY2hlRW50cnkmIG9wZXJhdG9yPShjb25zdCBSZW5k
ZXJQYXNzQ2FjaGVFbnRyeSYgZW50cnkpCisgICAgeworICAgICAgICByZW5kZXJQYXNzUHRyID0g
ZW50cnkucmVuZGVyUGFzc1B0ci5yZWxlYXNlKCk7CisgICAgICAgIHJlbmRlclBhc3MgPSBlbnRy
eS5yZW5kZXJQYXNzOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorfTsKKworc3RydWN0
IFJlbmRlclBhc3NSZW1vdmFsVGVzdERhdGEgeworICAgIENDUmVuZGVyUGFzc0xpc3QgcmVuZGVy
UGFzc0xpc3Q7CisgICAgc3RkOjptYXA8Y2hhciwgUmVuZGVyUGFzc0NhY2hlRW50cnk+IHJlbmRl
clBhc3NDYWNoZTsKKyAgICBzdGQ6Om1hcDxjb25zdCBDQ1JlbmRlclBhc3MqLCBjaGFyPiByZW5k
ZXJQYXNzSWQ7CisgICAgVmVjdG9yPE93blB0cjxDQ1JlbmRlclN1cmZhY2U+ID4gcmVuZGVyU3Vy
ZmFjZVN0b3JlOworICAgIFZlY3RvcjxPd25QdHI8Q0NMYXllckltcGw+ID4gbGF5ZXJTdG9yZTsK
KyAgICBPd25QdHI8Q0NTaGFyZWRRdWFkU3RhdGU+IHNoYXJlZFF1YWRTdGF0ZTsKK307CisKK2Ns
YXNzIEZha2VSZW5kZXJTdXJmYWNlIDogcHVibGljIENDUmVuZGVyU3VyZmFjZSB7Citwcml2YXRl
OgorICAgIGJvb2wgbV9oYXNDYWNoZWRUZXh0dXJlOworCitwdWJsaWM6CisgICAgRmFrZVJlbmRl
clN1cmZhY2UoQ0NMYXllckltcGwqIGxheWVySW1wbCkKKyAgICAgICAgOiBDQ1JlbmRlclN1cmZh
Y2UobGF5ZXJJbXBsKSwKKyAgICAgICAgICBtX2hhc0NhY2hlZFRleHR1cmUoZmFsc2UpCisgICAg
eworICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBoYXNDYWNoZWRDb250ZW50c1RleHR1cmUoKSBj
b25zdCBPVkVSUklERQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1faGFzQ2FjaGVkVGV4dHVyZTsK
KyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgcHJlcGFyZUNvbnRlbnRzVGV4dHVyZShMYXllclJl
bmRlcmVyQ2hyb21pdW0qIGxyYykgT1ZFUlJJREUKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKworICAgIHZvaWQgc2V0SGFzQ2FjaGVkVGV4dHVyZShib29sIGhhc0NhY2hlZFRl
eHR1cmUpCisgICAgeworICAgICAgICBtX2hhc0NhY2hlZFRleHR1cmUgPSBoYXNDYWNoZWRUZXh0
dXJlOworICAgIH0KK307CisKK3N0YXRpYyBQYXNzT3duUHRyPENDUmVuZGVyUGFzcz4gY3JlYXRl
RHVtbXlSZW5kZXJQYXNzKFJlbmRlclBhc3NSZW1vdmFsVGVzdERhdGEmIHRlc3REYXRhKQorewor
ICAgIE93blB0cjxDQ0xheWVySW1wbD4gbGF5ZXJJbXBsID0gQ0NMYXllckltcGw6OmNyZWF0ZSgx
KTsKKyAgICBDQ1JlbmRlclN1cmZhY2UqIHJlbmRlclN1cmZhY2UgPSBuZXcgRmFrZVJlbmRlclN1
cmZhY2UobGF5ZXJJbXBsLmdldCgpKTsKKyAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZW5kZXJQ
YXNzUHRyID0gQ0NSZW5kZXJQYXNzOjpjcmVhdGUocmVuZGVyU3VyZmFjZSk7CisKKyAgICB0ZXN0
RGF0YS5yZW5kZXJTdXJmYWNlU3RvcmUuYXBwZW5kKGFkb3B0UHRyKHJlbmRlclN1cmZhY2UpKTsK
KyAgICB0ZXN0RGF0YS5sYXllclN0b3JlLmFwcGVuZChsYXllckltcGwucmVsZWFzZSgpKTsKKyAg
ICByZXR1cm4gcmVuZGVyUGFzc1B0ci5yZWxlYXNlKCk7Cit9CisKK3N0YXRpYyB2b2lkIGNvbmZp
Z3VyZVJlbmRlclBhc3NUZXN0RGF0YShjb25zdCBjaGFyKiB0ZXN0U2NyaXB0LCBSZW5kZXJQYXNz
UmVtb3ZhbFRlc3REYXRhJiB0ZXN0RGF0YSkKK3sKKyAgICAvLyBPbmUgc2hhcmVkIHN0YXRlIGZv
ciBhbGwgcXVhZHMgLSB3ZSBkb24ndCBuZWVkIHRoZSBjb3JyZWN0IGRldGFpbHMKKyAgICB0ZXN0
RGF0YS5zaGFyZWRRdWFkU3RhdGUgPSBDQ1NoYXJlZFF1YWRTdGF0ZTo6Y3JlYXRlKFdlYlRyYW5z
Zm9ybWF0aW9uTWF0cml4KCksIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4KCksIEludFJlY3QoKSwg
SW50UmVjdCgpLCAxLjAsIHRydWUpOworCisgICAgY29uc3QgY2hhciogY3VycmVudENoYXIgPSB0
ZXN0U2NyaXB0OworCisgICAgLy8gUHJlLWNyZWF0ZSByb290IHBhc3MKKyAgICBPd25QdHI8Q0NS
ZW5kZXJQYXNzPiByb290UmVuZGVyUGFzcyA9IGNyZWF0ZUR1bW15UmVuZGVyUGFzcyh0ZXN0RGF0
YSk7CisgICAgdGVzdERhdGEucmVuZGVyUGFzc0lkLmluc2VydChzdGQ6OnBhaXI8Q0NSZW5kZXJQ
YXNzKiwgY2hhcj4ocm9vdFJlbmRlclBhc3MuZ2V0KCksIHRlc3RTY3JpcHRbMF0pKTsKKyAgICB0
ZXN0RGF0YS5yZW5kZXJQYXNzQ2FjaGUuaW5zZXJ0KHN0ZDo6cGFpcjxjaGFyLCBSZW5kZXJQYXNz
Q2FjaGVFbnRyeT4odGVzdFNjcmlwdFswXSwgUmVuZGVyUGFzc0NhY2hlRW50cnkocm9vdFJlbmRl
clBhc3MucmVsZWFzZSgpKSkpOworICAgIHdoaWxlICgqY3VycmVudENoYXIgIT0gJ1wwJykgewor
ICAgICAgICBjaGFyIHJlbmRlclBhc3NJZCA9IGN1cnJlbnRDaGFyWzBdOworICAgICAgICBjdXJy
ZW50Q2hhcisrOworCisgICAgICAgIE93blB0cjxDQ1JlbmRlclBhc3M+IHJlbmRlclBhc3M7CisK
KyAgICAgICAgYm9vbCBpc1JlcGxpY2EgPSBmYWxzZTsKKyAgICAgICAgaWYgKCF0ZXN0RGF0YS5y
ZW5kZXJQYXNzQ2FjaGVbcmVuZGVyUGFzc0lkXS5yZW5kZXJQYXNzUHRyLmdldCgpKQorICAgICAg
ICAgICAgaXNSZXBsaWNhID0gdHJ1ZTsKKworICAgICAgICByZW5kZXJQYXNzID0gdGVzdERhdGEu
cmVuZGVyUGFzc0NhY2hlW3JlbmRlclBhc3NJZF0ucmVuZGVyUGFzc1B0ci5yZWxlYXNlKCk7CisK
KyAgICAgICAgLy8gQ3ljbGUgdGhyb3VnaCBxdWFkIGRhdGEgYW5kIGNyZWF0ZSBhbGwgcXVhZHMK
KyAgICAgICAgd2hpbGUgKCpjdXJyZW50Q2hhciAhPSAnXG4nICYmICpjdXJyZW50Q2hhciAhPSAn
XDAnKSB7CisgICAgICAgICAgICBpZiAoKmN1cnJlbnRDaGFyID09ICdzJykgeworICAgICAgICAg
ICAgICAgIC8vIFNvbGlkIGNvbG9yIGRyYXcgcXVhZAorICAgICAgICAgICAgICAgIE93blB0cjxD
Q0RyYXdRdWFkPiBxdWFkID0gQ0NTb2xpZENvbG9yRHJhd1F1YWQ6OmNyZWF0ZSh0ZXN0RGF0YS5z
aGFyZWRRdWFkU3RhdGUuZ2V0KCksIEludFJlY3QoMCwgMCwgMTAsIDEwKSwgQ29sb3I6OndoaXRl
KTsKKyAgICAgICAgICAgICAgICByZW5kZXJQYXNzLT5hcHBlbmRRdWFkKHF1YWQucmVsZWFzZSgp
KTsKKyAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcisrOworICAgICAgICAgICAgfSBlbHNlIGlm
ICgoKmN1cnJlbnRDaGFyID49ICdBJykgJiYgKCpjdXJyZW50Q2hhciA8PSAnWicpKSB7CisgICAg
ICAgICAgICAgICAgLy8gUmVuZGVyUGFzcyBkcmF3IHF1YWQKKyAgICAgICAgICAgICAgICBjaGFy
IG5ld1JlbmRlclBhc3NJZCA9ICpjdXJyZW50Q2hhcjsKKyAgICAgICAgICAgICAgICBjdXJyZW50
Q2hhcisrOworICAgICAgICAgICAgICAgIGJvb2wgaGFzVGV4dHVyZSA9IGZhbHNlOworICAgICAg
ICAgICAgICAgIGJvb2wgY29udGVudHNDaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAK
KyAgICAgICAgICAgICAgICBpZiAoKmN1cnJlbnRDaGFyID09ICdbJykgeworICAgICAgICAgICAg
ICAgICAgICBjdXJyZW50Q2hhcisrOworICAgICAgICAgICAgICAgICAgICB3aGlsZSAoKCpjdXJy
ZW50Q2hhciAhPSAnXScpICYmICgqY3VycmVudENoYXIgIT0gJ1wwJykpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHN3aXRjaCAoKmN1cnJlbnRDaGFyKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICBjYXNlICdjJzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50c0NoYW5n
ZWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNhc2UgJ3QnOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhh
c1RleHR1cmUgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudENo
YXIrKzsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAoKmN1
cnJlbnRDaGFyID09ICddJykKKyAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyKys7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIE93
blB0cjxDQ1JlbmRlclBhc3M+IHJlZlJlbmRlclBhc3MgPSBjcmVhdGVEdW1teVJlbmRlclBhc3Mo
dGVzdERhdGEpOworICAgICAgICAgICAgICAgIE93blB0cjxDQ1JlbmRlclBhc3NEcmF3UXVhZD4g
cXVhZCA9IENDUmVuZGVyUGFzc0RyYXdRdWFkOjpjcmVhdGUodGVzdERhdGEuc2hhcmVkUXVhZFN0
YXRlLmdldCgpLCBJbnRSZWN0KCksIHJlZlJlbmRlclBhc3MuZ2V0KCksIGlzUmVwbGljYSwgV2Vi
S2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zKCksIFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucygp
LCAxLCBjb250ZW50c0NoYW5nZWQpOworICAgICAgICAgICAgICAgIEZha2VSZW5kZXJTdXJmYWNl
KiByZWZSZW5kZXJTdXJmYWNlID0gc3RhdGljX2Nhc3Q8RmFrZVJlbmRlclN1cmZhY2UqPihyZWZS
ZW5kZXJQYXNzLT50YXJnZXRTdXJmYWNlKCkpOworICAgICAgICAgICAgICAgIHJlZlJlbmRlclN1
cmZhY2UtPnNldEhhc0NhY2hlZFRleHR1cmUoaGFzVGV4dHVyZSk7CisgICAgICAgICAgICAgICAg
dGVzdERhdGEucmVuZGVyUGFzc0lkLmluc2VydChzdGQ6OnBhaXI8Q0NSZW5kZXJQYXNzKiwgY2hh
cj4ocmVmUmVuZGVyUGFzcy5nZXQoKSwgbmV3UmVuZGVyUGFzc0lkKSk7CisgICAgICAgICAgICAg
ICAgdGVzdERhdGEucmVuZGVyUGFzc0NhY2hlLmluc2VydChzdGQ6OnBhaXI8Y2hhciwgUmVuZGVy
UGFzc0NhY2hlRW50cnk+KG5ld1JlbmRlclBhc3NJZCwgUmVuZGVyUGFzc0NhY2hlRW50cnkocmVm
UmVuZGVyUGFzcy5yZWxlYXNlKCkpKSk7CisgICAgICAgICAgICAgICAgcmVuZGVyUGFzcy0+YXBw
ZW5kUXVhZChxdWFkLnJlbGVhc2UoKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgdGVzdERhdGEucmVuZGVyUGFzc0xpc3QuaW5zZXJ0KDAsIHJlbmRlclBhc3MucmVsZWFzZSgp
KTsKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhciAhPSAnXDAnKQorICAgICAgICAgICAgY3VycmVu
dENoYXIrKzsKKyAgICB9Cit9CisKK3ZvaWQgZHVtcFJlbmRlclBhc3NUZXN0RGF0YShjb25zdCBS
ZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhJiB0ZXN0RGF0YSwgY2hhciogYnVmZmVyKQoreworICAg
IGNoYXIqIHBvcyA9IGJ1ZmZlcjsKKyAgICBDQ1JlbmRlclBhc3NMaXN0Ojpjb25zdF9yZXZlcnNl
X2l0ZXJhdG9yIGl0ID0gdGVzdERhdGEucmVuZGVyUGFzc0xpc3QucmJlZ2luKCk7CisgICAgd2hp
bGUgKGl0ICE9IHRlc3REYXRhLnJlbmRlclBhc3NMaXN0LnJlbmQoKSkgeworICAgICAgICBDQ1Jl
bmRlclBhc3MqIGN1cnJlbnRQYXNzID0gaXQtPmdldCgpOworICAgICAgICBjaGFyIHBhc3NJZCA9
IHRlc3REYXRhLnJlbmRlclBhc3NJZC5maW5kKGN1cnJlbnRQYXNzKS0+c2Vjb25kOworICAgICAg
ICAqcG9zID0gcGFzc0lkOworICAgICAgICBwb3MrKzsKKworICAgICAgICBDQ1F1YWRMaXN0Ojpj
b25zdF9pdGVyYXRvciBxdWFkTGlzdEl0ZXJhdG9yID0gY3VycmVudFBhc3MtPnF1YWRMaXN0KCku
YmVnaW4oKTsKKyAgICAgICAgd2hpbGUgKHF1YWRMaXN0SXRlcmF0b3IgIT0gY3VycmVudFBhc3Mt
PnF1YWRMaXN0KCkuZW5kKCkpIHsKKyAgICAgICAgICAgIENDRHJhd1F1YWQqIGN1cnJlbnRRdWFk
ID0gKCpxdWFkTGlzdEl0ZXJhdG9yKS5nZXQoKTsKKyAgICAgICAgICAgIHN3aXRjaCAoY3VycmVu
dFF1YWQtPm1hdGVyaWFsKCkpIHsKKyAgICAgICAgICAgIGNhc2UgQ0NEcmF3UXVhZDo6U29saWRD
b2xvcjoKKyAgICAgICAgICAgICAgICAqcG9zID0gJ3MnOworICAgICAgICAgICAgICAgIHBvcysr
OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDQ0RyYXdRdWFkOjpS
ZW5kZXJQYXNzOgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgQ0NSZW5k
ZXJQYXNzRHJhd1F1YWQqIHJlbmRlclBhc3NEcmF3UXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVy
UGFzc0RyYXdRdWFkKj4oY3VycmVudFF1YWQpOworICAgICAgICAgICAgICAgICAgICBjb25zdCBD
Q1JlbmRlclBhc3MqIHJlZlBhc3MgPSByZW5kZXJQYXNzRHJhd1F1YWQtPnJlbmRlclBhc3MoKTsK
KyAgICAgICAgICAgICAgICAgICAgY2hhciByZWZQYXNzSWQgPSB0ZXN0RGF0YS5yZW5kZXJQYXNz
SWQuZmluZChyZWZQYXNzKS0+c2Vjb25kOworICAgICAgICAgICAgICAgICAgICAqcG9zID0gcmVm
UGFzc0lkOworICAgICAgICAgICAgICAgICAgICBwb3MrKzsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAg
ICAgICpwb3MgPSAneCc7CisgICAgICAgICAgICAgICAgcG9zKys7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHF1YWRMaXN0
SXRlcmF0b3IrKzsKKyAgICAgICAgfQorICAgICAgICAqcG9zID0gJ1xuJzsKKyAgICAgICAgcG9z
Kys7CisgICAgICAgIGl0Kys7CisgICAgfQorICAgICpwb3MgPSAnXDAnOworfQorCitzdGF0aWMg
dm9pZCB2ZXJpZnlSZW5kZXJQYXNzVGVzdERhdGEoY29uc3QgY2hhciogZXhwZWN0ZWRSZXN1bHQs
IFJlbmRlclBhc3NSZW1vdmFsVGVzdERhdGEmIHRlc3REYXRhKQoreworICAgIGNoYXIgYWN0dWFs
UmVzdWx0WzEwMjRdOworICAgIGR1bXBSZW5kZXJQYXNzVGVzdERhdGEodGVzdERhdGEsIGFjdHVh
bFJlc3VsdCk7CisgICAgRVhQRUNUX1NUUkVRKGV4cGVjdGVkUmVzdWx0LCBhY3R1YWxSZXN1bHQp
OworfQorCisvLyBFYWNoIENDUmVuZGVyUGFzc0xpc3QgaXMgcmVwcmVzZW50ZWQgYnkgYSBzdHJp
bmcgd2hpY2ggZGVzY3JpYmVzIHRoZSBjb25maWd1cmF0aW9uLgorLy8gVGhlIHN5bnRheCBvZiB0
aGUgc3RyaW5nIGlzIGFzIGZvbGxvd3M6CisvLworLy8gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSc3Nzc3NYW2Ndc3NZc3NzWlt0XXNzV1tjdF0K
Ky8vIElkZW50aWZpZXMgdGhlIHJlbmRlciBwYXNzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
XiBeXl4gXiBeICAgXiAgICAgXiAgICAgXgorLy8gVGhlc2UgYXJlIHNvbGlkIGNvbG9yIHF1YWRz
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICB8IHwgICB8ICAgICB8ICAgICB8CisvLyBJ
ZGVudGlmaWVzIFJlbmRlclBhc3NEcmF3UXVhZCdzIFJlbmRlclBhc3MtLS0tLS0tLS0tLS0tLS0t
LSsgfCAgIHwgICAgIHwgICAgIHwKKy8vIFRoaXMgcXVhZCdzIGNvbnRlbnRzIGRpZG4ndCBjaGFu
Z2UtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgfCAgICAgfCAgICAgfAorLy8gVGhpcyBx
dWFkJ3MgY29udGVudHMgY2hhbmdlZCBhbmQgaXQgaGFzIG5vIHRleHR1cmUtLS0tLS0tLS0tLS0t
LS0rICAgICB8ICAgICB8CisvLyBUaGlzIHF1YWQgaGFzIHRleHR1cmUgYnV0IGl0cyBjb250ZW50
cyBjaGFuZ2VkLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICAgIHwKKy8vIFRoaXMgcXVhZCdz
IGNvbnRlbnRzIGRpZG4ndCBjaGFuZ2UgYW5kIGl0IGhhcyB0ZXh0dXJlIC0gd2lsbCBiZSByZW1v
dmVkLS0tLS0tKworLy8KKy8vIEV4cGVjdGVkIHJlc3VsdHMgaGF2ZSBleGFjdGx5IHRoZSBzYW1l
IHN5bnRheCwgZXhjZXB0IHRoZXkgZG8gbm90IHVzZSBzcXVhcmUgYnJhY2tldHMsCisvLyBzaW5j
ZSB3ZSBvbmx5IGNoZWNrIHRoZSBzdHJ1Y3R1cmUsIG5vdCBhdHRyaWJ1dGVzLgorLy8KKy8vIFRl
c3QgY2FzZSBjb25maWd1cmF0aW9uIGNvbnNpc3RzIG9mIGluaXRpYWxpemF0aW9uIHNjcmlwdCBh
bmQgZXhwZWN0ZWQgcmVzdWx0cywKKy8vIGFsbCBpbiB0aGUgc2FtZSBmb3JtYXQuCitzdHJ1Y3Qg
VGVzdENhc2UgeworICAgIGNvbnN0IGNoYXIqIG5hbWU7CisgICAgY29uc3QgY2hhciogaW5pdFNj
cmlwdDsKKyAgICBjb25zdCBjaGFyKiBleHBlY3RlZFJlc3VsdDsKK307CisKK1Rlc3RDYXNlIHJl
bW92ZVJlbmRlclBhc3Nlc0Nhc2VzW10gPQorICAgIHsKKyAgICAgICAgeworICAgICAgICAgICAg
IlNpbmdsZSByb290IHBhc3MiLAorICAgICAgICAgICAgIlJzc3NzXG4iLAorICAgICAgICAgICAg
IlJzc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJTaW5nbGUgcGFzcyAtIG5vIHF1
YWRzIiwKKyAgICAgICAgICAgICJSXG4iLAorICAgICAgICAgICAgIlJcbiIKKyAgICAgICAgfSwg
eworICAgICAgICAgICAgIlR3byBwYXNzZXMsIG5vIHJlbW92YWwiLAorICAgICAgICAgICAgIlJz
c3NzQXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAgIlJzc3NzQXNz
c1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJU
d28gcGFzc2VzLCByZW1vdmUgbGFzdCIsCisgICAgICAgICAgICAiUnNzc3NBW2N0XXNzc1xuIgor
ICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAg
ICB9LCB7CisgICAgICAgICAgICAiSGF2ZSB0ZXh0dXJlIGJ1dCBjb250ZW50cyBjaGFuZ2VkIC0g
bGVhdmUgcGFzcyIsCisgICAgICAgICAgICAiUnNzc3NBW3Rdc3NzXG4iCisgICAgICAgICAgICAi
QXNzc3NcbiIsCisgICAgICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3Nc
biIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIkNvbnRlbnRzIGRpZG4ndCBjaGFuZ2UgYnV0
IG5vIHRleHR1cmUgLSBsZWF2ZSBwYXNzIiwKKyAgICAgICAgICAgICJSc3Nzc0FbY11zc3NcbiIK
KyAgICAgICAgICAgICJBc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAg
ICAgICAgICJBc3Nzc1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiUmVwbGljYTogdHdv
IHF1YWRzIHJlZmVyZW5jZSB0aGUgc2FtZSBwYXNzOyByZW1vdmUiLAorICAgICAgICAgICAgIlJz
c3NzQVtjdF1BW2N0XXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAg
IlJzc3NzQUFzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIlJlcGxpY2E6IHR3byBx
dWFkcyByZWZlcmVuY2UgdGhlIHNhbWUgcGFzczsgbGVhdmUiLAorICAgICAgICAgICAgIlJzc3Nz
QVtjXUFbY11zc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nz
c0FBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIsCisgICAgICAgIH0sIHsKKyAgICAgICAg
ICAgICJNYW55IHBhc3NlcywgcmVtb3ZlIGFsbCIsCisgICAgICAgICAgICAiUnNzc3NBW2N0XXNz
c1xuIgorICAgICAgICAgICAgIkFzc3NCW2N0XUNbY3Rdc1xuIgorICAgICAgICAgICAgIkJzc3NE
W2N0XXNzRVtjdF1GW2N0XVxuIgorICAgICAgICAgICAgIkVzc3Nzc3NcbiIKKyAgICAgICAgICAg
ICJDR1tjdF1cbiIKKyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAgICAgICAgIkZzc3Nz
c3NzXG4iCisgICAgICAgICAgICAiR3Nzc1xuIiwKKworICAgICAgICAgICAgIlJzc3NzQXNzc1xu
IgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiRGVlcCByZWN1cnNpb24sIHJlbW92ZSBhbGwi
LAorCisgICAgICAgICAgICAiUnNzc3NzQVtjdF1zc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NC
c3NzXG4iCisgICAgICAgICAgICAiQkNcbiIKKyAgICAgICAgICAgICJDRFxuIgorICAgICAgICAg
ICAgIkRFXG4iCisgICAgICAgICAgICAiRUZcbiIKKyAgICAgICAgICAgICJGR1xuIgorICAgICAg
ICAgICAgIkdIXG4iCisgICAgICAgICAgICAiSHNzc0lzc3NcbiIKKyAgICAgICAgICAgICJJSlxu
IgorICAgICAgICAgICAgIkpzc3NzXG4iLAorICAgICAgICAgICAgCisgICAgICAgICAgICAiUnNz
c3NzQXNzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIldpZGUgcmVjdXJzaW9uLCBy
ZW1vdmUgYWxsIiwKKyAgICAgICAgICAgICJSQVtjdF1CW2N0XUNbY3RdRFtjdF1FW2N0XUZbY3Rd
R1tjdF1IW2N0XUlbY3RdSltjdF1cbiIKKyAgICAgICAgICAgICJBc1xuIgorICAgICAgICAgICAg
IkJzXG4iCisgICAgICAgICAgICAiQ3Nzc3NcbiIKKyAgICAgICAgICAgICJEc3Nzc1xuIgorICAg
ICAgICAgICAgIkVzXG4iCisgICAgICAgICAgICAiRlxuIgorICAgICAgICAgICAgIkdzXG4iCisg
ICAgICAgICAgICAiSHNcbiIKKyAgICAgICAgICAgICJJc1xuIgorICAgICAgICAgICAgIkpzc3Nz
XG4iLAorICAgICAgICAgICAgCisgICAgICAgICAgICAiUkFCQ0RFRkdISUpcbiIKKyAgICAgICAg
fSwgeworICAgICAgICAgICAgIlJlbW92ZSBwYXNzZXMgcmVnYXJkbGVzcyBvZiBjYWNoZSBzdGF0
ZSIsCisgICAgICAgICAgICAiUnNzc3NBW2N0XXNzc1xuIgorICAgICAgICAgICAgIkFzc3NCQ3Nc
biIKKyAgICAgICAgICAgICJCc3NzRFtjXXNzRVt0XUZcbiIKKyAgICAgICAgICAgICJFc3Nzc3Nz
XG4iCisgICAgICAgICAgICAiQ0dcbiIKKyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAg
ICAgICAgIkZzc3Nzc3NzXG4iCisgICAgICAgICAgICAiR3Nzc1xuIiwKKworICAgICAgICAgICAg
IlJzc3NzQXNzc1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiTGVhdmUgc29tZSBwYXNz
ZXMsIHJlbW92ZSBvdGhlcnMiLAorCisgICAgICAgICAgICAiUnNzc3NBW2Ndc3NzXG4iCisgICAg
ICAgICAgICAiQXNzc0JbdF1DW2N0XXNcbiIKKyAgICAgICAgICAgICJCc3NzRFtjXXNzXG4iCisg
ICAgICAgICAgICAiQ0dcbiIKKyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAgICAgICAg
Ikdzc3NcbiIsCisKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3Nz
QkNzXG4iCisgICAgICAgICAgICAiQnNzc0Rzc1xuIgorICAgICAgICAgICAgIkRzc3Nzc3NzXG4i
CisgICAgICAgIH0sIHsKKyAgICAgICAgICAgIDAsIDAsIDAKKyAgICAgICAgfQorICAgIH07CisK
K1RFU1QoUmVuZGVyUGFzc1JlbW92YWxUZXN0LCB0ZXN0UmVtb3ZlUmVuZGVyUGFzc2VzKQorewor
ICAgIGludCB0ZXN0Q2FzZUluZGV4ID0gMDsKKyAgICB3aGlsZSAocmVtb3ZlUmVuZGVyUGFzc2Vz
Q2FzZXNbdGVzdENhc2VJbmRleF0ubmFtZSkgeworICAgICAgICBEZWJ1Z1Njb3BlZFNldEltcGxU
aHJlYWQgaW1wbFRocmVhZDsKKyAgICAgICAgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSB0ZXN0
RGF0YTsKKyAgICAgICAgY29uZmlndXJlUmVuZGVyUGFzc1Rlc3REYXRhKHJlbW92ZVJlbmRlclBh
c3Nlc0Nhc2VzW3Rlc3RDYXNlSW5kZXhdLmluaXRTY3JpcHQsIHRlc3REYXRhKTsKKyAgICAgICAg
Q0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3ZlUmVkdW5kYW50UGFzc2VzKHRlc3REYXRhLnJlbmRl
clBhc3NMaXN0KTsKKyAgICAgICAgdmVyaWZ5UmVuZGVyUGFzc1Rlc3REYXRhKHJlbW92ZVJlbmRl
clBhc3Nlc0Nhc2VzW3Rlc3RDYXNlSW5kZXhdLmV4cGVjdGVkUmVzdWx0LCB0ZXN0RGF0YSk7Cisg
ICAgICAgIHRlc3RDYXNlSW5kZXgrKzsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147153</attachid>
            <date>2012-06-12 13:59:45 -0700</date>
            <delta_ts>2012-06-14 17:22:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88482-20120612165944.patch</filename>
            <type>text/plain</type>
            <size>57872</size>
            <attacher>zlieber</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWU2ZGJiYTVmNTQ2ODZj
ZDg0N2NlOTlmYTMxZmYyMGU2MTUyZWY0MC4uZWNjOGFmNzFiYmFmYjJjOGU1NGNhZTUxNTRkMDgx
MzBmYTgyMzc1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDEyLTA2LTEyICBaZWV2
IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ29t
cG9zaXRvciBzaG91bGQgYXZvaWQgZHJhd2luZyBxdWFkcyB3aGVuIGNhY2hlZCB0ZXh0dXJlcyBh
cmUgYXZhaWxhYmxlIGFuZCBjb250ZW50cyB1bmNoYW5nZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUG9zdC1wcm9jZXNzaW5nIENDUmVuZGVyUGFzc0xp
c3QgYWZ0ZXIgaXQncyBiZWVuIGdlbmVyYXRlZCBhbmQKKyAgICAgICAgcmVtb3ZpbmcgYWxsIHJl
bmRlciBzdXJmYWNlIHF1YWRzIGZvciB3aGljaCB0aGVyZSBhcmUKKyAgICAgICAgY2FjaGVkIHRl
eHR1cmVzLCBhbmQgd2hvc2UgY29udGVudCBkaWRuJ3QgY2hhbmdlLiBBZGRlZCBhIG5ldworICAg
ICAgICBmbGFnIHRvIENDTGF5ZXJJbXBsIHRvIGRpZmZlcmVudGlhdGUgc3VyZmFjZSBwcm9wZXJ0
eSBjaGFuZ2UgYW5kCisgICAgICAgIGxheWVyIHByb3BlcnR5IGNoYW5nZS4KKworICAgICAgICBU
aGUgY2hhbmdlcyBhcmUgY292ZXJlZCBieSBuZXcgdW5pdCB0ZXN0cyB0aGF0IGNoZWNrIHRoYXQK
KyAgICAgICAgdGhlIHJlbW92YWwgYWxnb3JpdGhtIGZ1bmN0aW9ucyBwcm9wZXJ0bHkuIE5vIHJl
bmRlcmluZworICAgICAgICBiZWhhdmlvdXIgY2hhbmdlLCBzbyBubyBuZXcgbGF5b3V0IHRlc3Rz
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNo
cm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJh
d0JhY2tncm91bmRGaWx0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJv
bWl1bTo6ZHJhd1JlbmRlclBhc3NRdWFkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bGF5ZXJU
YXJnZXRTdXJmYWNlUmVxdWlyZXNSZWRyYXdpbmcpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ0RhbWFnZVRyYWNrZXI6OmV4dGVuZERhbWFnZUZvckxheWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNDRGFtYWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yUmVuZGVyU3Vy
ZmFjZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllcklt
cGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OkNDTGF5ZXJJbXBsKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpsYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6cmVz
ZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXll
ckltcGw6OnNldE9wYWNpdHkpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OnNldFRy
YW5zZm9ybSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
ckltcGwuaDoKKyAgICAgICAgKENDTGF5ZXJJbXBsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OnRyYWNrRGFtYWdlRm9yQWxsU3VyZmFjZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6Y2FsY3VsYXRlUmVuZGVyUGFzc2Vz
KToKKyAgICAgICAgKFdlYkNvcmU6OmluZGV4T2ZSZW5kZXJQYXNzKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3ZlUmVuZGVy
UGFzc2VzUmVjdXJzaXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6
OnJlbW92ZVBhc3Nlc1dpdGhDYWNoZWRUZXh0dXJlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oOgorICAgICAgICAoQ0NMYXll
clRyZWVIb3N0SW1wbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NSZW5kZXJQYXNzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyUGFzczo6YXBwZW5k
UXVhZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaDoKKyAgICAgICAgKENDUmVuZGVyUGFzcyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJQYXNzRHJhd1F1YWQ6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Q0NSZW5kZXJQYXNzRHJhd1F1
YWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFz
c0RyYXdRdWFkLmg6CisgICAgICAgIChDQ1JlbmRlclBhc3NEcmF3UXVhZCk6CisgICAgICAgIChX
ZWJDb3JlOjpDQ1JlbmRlclBhc3NEcmF3UXVhZDo6dGFyZ2V0UmVuZGVyU3VyZmFjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Y29udGVudHNDaGFuZ2VkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpDQ1JlbmRlclN1cmZhY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpwcmVwYXJlQ29udGVudHNUZXh0dXJl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyU3VyZmFjZTo6aGFzQ2FjaGVkQ29udGVudHNU
ZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJT
dXJmYWNlOjphcHBlbmRRdWFkcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmg6CisgICAgICAgIChDQ1JlbmRlclN1cmZhY2UpOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpzZXRDb250ZW50c0NoYW5nZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpjb250ZW50c0NoYW5nZWQpOgorCiAyMDEy
LTA2LTEyICBNaW4gUWluICA8cWlubWluQGdvb2dsZS5jb20+CiAKICAgICAgICAgRGlzYWJsZSBh
dXRvcGxheSB3aGVuIHVzZXIgZ2VzdHVyZSBpcyByZXF1aXJlZCBmb3IgbWVkaWEgcGxheWJhY2sK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggY2U4ZmNmMTQ5ODVjYjMwN2I5MDllODEwMTVm
NDU1YjhjMTJlMzk0NS4uMjFkYzM5YjZmMjkzYjA5NzY1YzYwOTY3ZTdkNTFjZDYzOWRlZGIwOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wNi0xMiAg
WmVldiBMaWViZXIgIDx6bGllYmVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1d
IENvbXBvc2l0b3Igc2hvdWxkIGF2b2lkIGRyYXdpbmcgcXVhZHMgd2hlbiBjYWNoZWQgdGV4dHVy
ZXMgYXJlIGF2YWlsYWJsZSBhbmQgY29udGVudHMgdW5jaGFuZ2VkCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODQ4MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIHZlcmlmeSBxdWFk
IHJlbW92YWwgYWxnb3JpdGhtLiBBZGRlZCBpbmZyYXN0cnVjdHVyZQorICAgICAgICBjb2RlIHRv
IGdlbmVyYXRlIGN1c3RvbSByZW5kZXIgcGFzc2VzIG91dCBvZiBhIHNjcmlwdCBlbmNvZGVkIGFz
IEMKKyAgICAgICAgc3RyaW5nLgorCisgICAgICAgICogdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVz
dC5jcHA6CisgICAgICAgIChXZWJLaXRUZXN0czo6VEVTVF9GKToKKyAgICAgICAgKiB0ZXN0cy9D
Q0xheWVySW1wbFRlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpURVNUKToKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHA6CisK
IDIwMTItMDYtMTIgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBbY2hyb21pdW1dIEZpeCBpbmNvcnJlY3QgTGF5ZXJDaHJvbWl1bSBzY3JvbGwgcG9zaXRpb24g
Zm9yIFJUTCBvdmVyZmxvdyBwYWdlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5j
cHAKaW5kZXggM2UyMDg4YThhZjk1OGNjMDRkNTJlNWUxODRiYmQ3NjEwOTZmYjdlMy4uOGY2NWMw
NDc1Mjg0ZTdkZmE1YjI0Y2JlYjJmYzQzZGUzYWE4M2EyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJl
bmRlcmVyQ2hyb21pdW0uY3BwCkBAIC02MTAsNyArNjEwLDcgQEAgdm9pZCBMYXllclJlbmRlcmVy
Q2hyb21pdW06OmRyYXdCYWNrZ3JvdW5kRmlsdGVycyhjb25zdCBDQ1JlbmRlclBhc3NEcmF3UXVh
ZCogcXUKICAgICAvLwogICAgIC8vIFBpeGVsIGNvcGllcyBpbiB0aGlzIGFsZ29yaXRobSBvY2N1
ciBhdCBzdGVwcyAyLCAzLCA0LCBhbmQgNS4KIAotICAgIENDUmVuZGVyU3VyZmFjZSogZHJhd2lu
Z1N1cmZhY2UgPSBxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZhY2UoKTsKKyAgICBDQ1Jl
bmRlclN1cmZhY2UqIGRyYXdpbmdTdXJmYWNlID0gcXVhZC0+dGFyZ2V0UmVuZGVyU3VyZmFjZSgp
OwogICAgIGlmIChxdWFkLT5iYWNrZ3JvdW5kRmlsdGVycygpLmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuOwogCkBAIC02NjUsNyArNjY1LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06
OmRyYXdSZW5kZXJQYXNzUXVhZChjb25zdCBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVhZCkKICAg
ICAvLyBUaGUgcmVwbGljYSBpcyBhbHdheXMgZHJhd24gZmlyc3QsIHNvIGZyZWUgYWZ0ZXIgZHJh
d2luZyB0aGUgY29udGVudHMuCiAgICAgYm9vbCBzaG91bGRSZWxlYXNlVGV4dHVyZXMgPSAhcXVh
ZC0+aXNSZXBsaWNhKCk7CiAKLSAgICBDQ1JlbmRlclN1cmZhY2UqIGRyYXdpbmdTdXJmYWNlID0g
cXVhZC0+cmVuZGVyUGFzcygpLT50YXJnZXRTdXJmYWNlKCk7CisgICAgQ0NSZW5kZXJTdXJmYWNl
KiBkcmF3aW5nU3VyZmFjZSA9IHF1YWQtPnRhcmdldFJlbmRlclN1cmZhY2UoKTsKIAogICAgIFdl
YlRyYW5zZm9ybWF0aW9uTWF0cml4IHJlbmRlclRyYW5zZm9ybSA9IHF1YWQtPmxheWVyVHJhbnNm
b3JtKCk7CiAgICAgLy8gQXBwbHkgYSBzY2FsaW5nIGZhY3RvciB0byBzaXplIHRoZSBxdWFkIGZy
b20gMXgxIHRvIGl0cyBpbnRlbmRlZCBzaXplLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFja2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5j
cHAKaW5kZXggYTZmZGJiOGZmZmFjY2EzOWY5MWYwYzAzYWI3MmZhZTg0YWU2NjZmMC4uNjFiOTcz
YjRiNmUzMzg4YjM4NGNmY2RkNTZlNjBmNDlkYWYzZjhkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFja2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFn
ZVRyYWNrZXIuY3BwCkBAIC0yMzksNiArMjM5LDE4IEBAIEZsb2F0UmVjdCBDQ0RhbWFnZVRyYWNr
ZXI6OnRyYWNrRGFtYWdlRnJvbUxlZnRvdmVyUmVjdHMoKQogICAgIHJldHVybiBkYW1hZ2VSZWN0
OwogfQogCitzdGF0aWMgYm9vbCBsYXllclRhcmdldFN1cmZhY2VSZXF1aXJlc1JlZHJhd2luZyhD
Q0xheWVySW1wbCogbGF5ZXIpCit7CisgICAgLy8gSWYgdGhlIGxheWVyIGRvZXMgTk9UIG93biBh
IHN1cmZhY2UgYnV0IGhhcyBTdXJmYWNlUHJvcGVydHlDaGFuZ2VkLAorICAgIC8vIHRoaXMgbWVh
bnMgdGhhdCBpdHMgdGFyZ2V0IHN1cmZhY2UgaXMgYWZmZWN0ZWQgYW5kIG5lZWRzIHRvIGJlIHJl
ZHJhd24uCisgICAgLy8gSG93ZXZlciwgaWYgdGhlIGxheWVyIERPRVMgb3duIGEgc3VyZmFjZSwg
dGhlbiB0aGUgU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCAKKyAgICAvLyBmbGFnIHNob3VsZCBub3Qg
YmUgdXNlZCBoZXJlLCBiZWNhdXNlIHRoYXQgZmxhZyByZXByZXNlbnRzIHdoZXRoZXIgdGhlCisg
ICAgLy8gbGF5ZXIncyBzdXJmYWNlIGhhcyBjaGFuZ2VkLgorICAgIGlmIChsYXllci0+cmVuZGVy
U3VyZmFjZSgpKQorICAgICAgICByZXR1cm4gbGF5ZXItPmxheWVyUHJvcGVydHlDaGFuZ2VkKCk7
CisgICAgcmV0dXJuIGxheWVyLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpIHx8IGxheWVyLT5sYXll
clN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKTsKK30KKwogdm9pZCBDQ0RhbWFnZVRyYWNrZXI6OmV4
dGVuZERhbWFnZUZvckxheWVyKENDTGF5ZXJJbXBsKiBsYXllciwgRmxvYXRSZWN0JiB0YXJnZXRE
YW1hZ2VSZWN0KQogewogICAgIC8vIFRoZXJlIGFyZSB0d28gd2F5cyB0aGF0IGEgbGF5ZXIgY2Fu
IGRhbWFnZSBhIHJlZ2lvbiBvZiB0aGUgdGFyZ2V0IHN1cmZhY2U6CkBAIC0yNTEsNiArMjYzLDEx
IEBAIHZvaWQgQ0NEYW1hZ2VUcmFja2VyOjpleHRlbmREYW1hZ2VGb3JMYXllcihDQ0xheWVySW1w
bCogbGF5ZXIsIEZsb2F0UmVjdCYgdGFyZ2V0CiAgICAgLy8gICAgICByZWdpb24gZGFtYWdlcyB0
aGUgc3VyZmFjZS4KICAgICAvLwogICAgIC8vIFByb3BlcnR5IGNoYW5nZXMgdGFrZSBwcmlvcml0
eSBvdmVyIHVwZGF0ZSByZWN0cy4KKyAgICAvLworICAgIC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxl
ZCB3aGVuIHdlIHdhbnQgdG8gY29uc2lkZXIgaG93IGEgbGF5ZXIgY29udHJpYnV0ZXMgdG8gaXRz
CisgICAgLy8gdGFyZ2V0UmVuZGVyU3VyZmFjZSwgZXZlbiBpZiB0aGF0IGxheWVyIG93bnMgdGhl
IHRhcmdldFJlbmRlclN1cmZhY2UgaXRzZWxmLgorICAgIC8vIFRvIGNvbnNpZGVyIGhvdyBhIGxh
eWVyJ3MgdGFyZ2V0U3VyZmFjZSBjb250cmlidXRlcyB0byB0aGUgYW5jZXN0b3JTdXJmYWNlLAor
ICAgIC8vIGV4dGVuZERhbWFnZUZvclJlbmRlclN1cmZhY2UoKSBtdXN0IGJlIGNhbGxlZCBpbnN0
ZWFkLgogCiAgICAgLy8gQ29tcHV0ZSB0aGUgbGF5ZXIncyAib3JpZ2luVHJhbnNmb3JtIiBieSB0
cmFuc2xhdGluZyB0aGUgZHJhd1RyYW5zZm9ybS4KICAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJp
eCBvcmlnaW5UcmFuc2Zvcm0gPSBsYXllci0+ZHJhd1RyYW5zZm9ybSgpOwpAQCAtMjYyLDcgKzI3
OSw3IEBAIHZvaWQgQ0NEYW1hZ2VUcmFja2VyOjpleHRlbmREYW1hZ2VGb3JMYXllcihDQ0xheWVy
SW1wbCogbGF5ZXIsIEZsb2F0UmVjdCYgdGFyZ2V0CiAgICAgRmxvYXRSZWN0IGxheWVyUmVjdElu
VGFyZ2V0U3BhY2UgPSBDQ01hdGhVdGlsOjptYXBDbGlwcGVkUmVjdChvcmlnaW5UcmFuc2Zvcm0s
IEZsb2F0UmVjdChGbG9hdFBvaW50Ojp6ZXJvKCksIGxheWVyLT5ib3VuZHMoKSkpOwogICAgIHNh
dmVSZWN0Rm9yTmV4dEZyYW1lKGxheWVyLT5pZCgpLCBsYXllclJlY3RJblRhcmdldFNwYWNlKTsK
IAotICAgIGlmIChsYXllcklzTmV3IHx8IGxheWVyLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKSB7
CisgICAgaWYgKGxheWVySXNOZXcgfHwgbGF5ZXJUYXJnZXRTdXJmYWNlUmVxdWlyZXNSZWRyYXdp
bmcobGF5ZXIpKSB7CiAgICAgICAgIC8vIElmIGEgbGF5ZXIgaXMgbmV3IG9yIGhhcyBjaGFuZ2Vk
LCB0aGVuIGl0cyBlbnRpcmUgbGF5ZXIgcmVjdCBhZmZlY3RzIHRoZSB0YXJnZXQgc3VyZmFjZS4K
ICAgICAgICAgdGFyZ2V0RGFtYWdlUmVjdC51bml0ZUlmTm9uWmVybyhsYXllclJlY3RJblRhcmdl
dFNwYWNlKTsKIApAQCAtMzAwLDcgKzMxNyw3IEBAIHZvaWQgQ0NEYW1hZ2VUcmFja2VyOjpleHRl
bmREYW1hZ2VGb3JSZW5kZXJTdXJmYWNlKENDTGF5ZXJJbXBsKiBsYXllciwgRmxvYXRSZWN0CiAg
ICAgc2F2ZVJlY3RGb3JOZXh0RnJhbWUobGF5ZXItPmlkKCksIHN1cmZhY2VSZWN0SW5UYXJnZXRT
cGFjZSk7CiAKICAgICBGbG9hdFJlY3QgZGFtYWdlUmVjdEluTG9jYWxTcGFjZTsKLSAgICBpZiAo
c3VyZmFjZUlzTmV3IHx8IHJlbmRlclN1cmZhY2UtPnN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSkg
eworICAgIGlmIChzdXJmYWNlSXNOZXcgfHwgcmVuZGVyU3VyZmFjZS0+c3VyZmFjZVByb3BlcnR5
Q2hhbmdlZCgpIHx8IGxheWVyLT5sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSkgewogICAg
ICAgICAvLyBUaGUgZW50aXJlIHN1cmZhY2UgY29udHJpYnV0ZXMgZGFtYWdlLgogICAgICAgICBk
YW1hZ2VSZWN0SW5Mb2NhbFNwYWNlID0gcmVuZGVyU3VyZmFjZS0+Y29udGVudFJlY3QoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NMYXllckltcGwuY3BwCmluZGV4IGMxNTVhNDgwYjE2NzRhNTJlYTgyZGZkNjdjMGRh
MjViOGUyMzBhOTcuLmNiZjc2NDJjNjYyMmIwNTM1Y2NjOGRiMzdkNTUyNDRjMGRmMTBlOGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVySW1wbC5jcHAKQEAgLTU0LDYgKzU0LDcgQEAgQ0NMYXllckltcGw6OkND
TGF5ZXJJbXBsKGludCBpZCkKICAgICAsIG1faGF2ZVdoZWVsRXZlbnRIYW5kbGVycyhmYWxzZSkK
ICAgICAsIG1fZG91YmxlU2lkZWQodHJ1ZSkKICAgICAsIG1fbGF5ZXJQcm9wZXJ0eUNoYW5nZWQo
ZmFsc2UpCisgICAgLCBtX2xheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZChmYWxzZSkKICAgICAs
IG1fbWFza3NUb0JvdW5kcyhmYWxzZSkKICAgICAsIG1fb3BhcXVlKGZhbHNlKQogICAgICwgbV9v
cGFjaXR5KDEuMCkKQEAgLTI3NSw2ICsyNzYsMjYgQEAgdm9pZCBDQ0xheWVySW1wbDo6c2V0U3Rh
Y2tpbmdPcmRlckNoYW5nZWQoYm9vbCBzdGFja2luZ09yZGVyQ2hhbmdlZCkKICAgICAgICAgbm90
ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yU3VidHJlZSgpOwogfQogCitib29sIENDTGF5ZXJJbXBs
OjpsYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSBjb25zdAoreworICAgIGlmIChtX2xheWVy
U3VyZmFjZVByb3BlcnR5Q2hhbmdlZCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAvLyBJ
ZiB0aGlzIGxheWVyJ3Mgc3VyZmFjZSBwcm9wZXJ0eSBoYXNuJ3QgY2hhbmdlZCwgd2Ugd2FudCB0
byBzZWUgaWYKKyAgICAvLyBzb21lIGxheWVyIGFib3ZlIHVzIGhhcyBjaGFuZ2VkIHRoaXMgcHJv
cGVydHkuIFRoaXMgaXMgZG9uZSBmb3IgdGhlCisgICAgLy8gY2FzZSB3aGVuIHN1Y2ggcGFyZW50
IGxheWVyIGRvZXMgbm90IGRyYXcgY29udGVudCwgYW5kIHRoZXJlZm9yZSB3aWxsCisgICAgLy8g
bm90IGJlIHRyYXZlcnNlZCBieSB0aGUgZGFtYWdlIHRyYWNrZXIuIFdlIG5lZWQgdG8gbWFrZSBz
dXJlIHRoYXQKKyAgICAvLyBwcm9wZXJ0eSBjaGFuZ2Ugb24gc3VjaCBsYXllciB3aWxsIGJlIGNh
dWdodCBieSBpdHMgZGVzY2VuZGFudHMuCisgICAgQ0NMYXllckltcGwqIGN1cnJlbnQgPSB0aGlz
LT5tX3BhcmVudDsKKyAgICB3aGlsZSAoY3VycmVudCAmJiAhY3VycmVudC0+bV9yZW5kZXJTdXJm
YWNlKSB7CisgICAgICAgIGlmIChjdXJyZW50LT5tX2xheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdl
ZCkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBjdXJyZW50ID0gY3VycmVudC0+
bV9wYXJlbnQ7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiB2b2lkIENDTGF5ZXJJ
bXBsOjpub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JTdWJ0cmVlKCkKIHsKICAgICBtX2xheWVy
UHJvcGVydHlDaGFuZ2VkID0gdHJ1ZTsKQEAgLTI5MCw2ICszMTEsOCBAQCB2b2lkIENDTGF5ZXJJ
bXBsOjpub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JEZXNjZW5kYW50cygpCiB2b2lkIENDTGF5
ZXJJbXBsOjpyZXNldEFsbENoYW5nZVRyYWNraW5nRm9yU3VidHJlZSgpCiB7CiAgICAgbV9sYXll
clByb3BlcnR5Q2hhbmdlZCA9IGZhbHNlOworICAgIG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFu
Z2VkID0gZmFsc2U7CisKICAgICBtX3VwZGF0ZVJlY3QgPSBGbG9hdFJlY3QoKTsKIAogICAgIGlm
IChtX3JlbmRlclN1cmZhY2UpCkBAIC00MzAsNyArNDUzLDcgQEAgdm9pZCBDQ0xheWVySW1wbDo6
c2V0T3BhY2l0eShmbG9hdCBvcGFjaXR5KQogICAgICAgICByZXR1cm47CiAKICAgICBtX29wYWNp
dHkgPSBvcGFjaXR5OwotICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZEZvclN1YnRyZWUoKTsK
KyAgICBtX2xheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCA9IHRydWU7CiB9CiAKIGJvb2wgQ0NM
YXllckltcGw6Om9wYWNpdHlJc0FuaW1hdGluZygpIGNvbnN0CkBAIC00NzIsNyArNDk1LDcgQEAg
dm9pZCBDQ0xheWVySW1wbDo6c2V0VHJhbnNmb3JtKGNvbnN0IFdlYlRyYW5zZm9ybWF0aW9uTWF0
cml4JiB0cmFuc2Zvcm0pCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fdHJhbnNmb3JtID0gdHJh
bnNmb3JtOwotICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZEZvclN1YnRyZWUoKTsKKyAgICBt
X2xheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCA9IHRydWU7CiB9CiAKIGJvb2wgQ0NMYXllcklt
cGw6OnRyYW5zZm9ybUlzQW5pbWF0aW5nKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCmluZGV4
IDcxODk5NjNhMDQzZmYyYWU2ODdjOGM3MDE0NmJiNTczYmIwZjlmODMuLjA4MjY4YjBhYWEzMzAx
Y2I5MmFhNWM0NDE5Njc5NWVmN2I1MDUwN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaApAQCAtMjUw
LDYgKzI1MCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0YWNraW5nT3JkZXJDaGFuZ2VkKGJv
b2wpOwogCiAgICAgYm9vbCBsYXllclByb3BlcnR5Q2hhbmdlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
bGF5ZXJQcm9wZXJ0eUNoYW5nZWQ7IH0KKyAgICBib29sIGxheWVyU3VyZmFjZVByb3BlcnR5Q2hh
bmdlZCgpIGNvbnN0OworCiAgICAgdm9pZCByZXNldEFsbENoYW5nZVRyYWNraW5nRm9yU3VidHJl
ZSgpOwogCiAgICAgQ0NMYXllckFuaW1hdGlvbkNvbnRyb2xsZXIqIGxheWVyQW5pbWF0aW9uQ29u
dHJvbGxlcigpIHsgcmV0dXJuIG1fbGF5ZXJBbmltYXRpb25Db250cm9sbGVyLmdldCgpOyB9CkBA
IC0zMTMsNiArMzE1LDEyIEBAIHByaXZhdGU6CiAgICAgLy8gVHJhY2tzIGlmIGRyYXdpbmctcmVs
YXRlZCBwcm9wZXJ0aWVzIGhhdmUgY2hhbmdlZCBzaW5jZSBsYXN0IHJlZHJhdy4KICAgICBib29s
IG1fbGF5ZXJQcm9wZXJ0eUNoYW5nZWQ7CiAKKyAgICAvLyBJbmRpY2F0ZXMgdGhhdCBhIHByb3Bl
cnR5IGhhcyBjaGFuZ2VkIG9uIHRoaXMgbGF5ZXIgdGhhdCB3b3VsZCBub3QKKyAgICAvLyBhZmZl
Y3QgdGhlIHBpeGVscyBvbiBpdHMgdGFyZ2V0IHN1cmZhY2UsIGJ1dCB3b3VsZCByZXF1aXJlIHJl
ZHJhd2luZworICAgIC8vIGJ1dCB3b3VsZCByZXF1aXJlIHJlZHJhd2luZyB0aGUgdGFyZ2V0U3Vy
ZmFjZSBvbnRvIGl0cyBhbmNlc3RvciB0YXJnZXRTdXJmYWNlLgorICAgIC8vIEZvciBsYXllcnMg
dGhhdCBkbyBub3Qgb3duIGEgc3VyZmFjZSB0aGlzIGZsYWcgYWN0cyBhcyBtX2xheWVyUHJvcGVy
dHlDaGFuZ2VkLgorICAgIGJvb2wgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQ7CisKICAg
ICAvLyBVc2VzIGxheWVyJ3MgY29udGVudCBzcGFjZS4KICAgICBJbnRSZWN0IG1fdmlzaWJsZUxh
eWVyUmVjdDsKICAgICBib29sIG1fbWFza3NUb0JvdW5kczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
clRyZWVIb3N0SW1wbC5jcHAKaW5kZXggNjBjNDJkN2Q3NDMzYjRkYTI2YzI1MDAyMmZlZjhmOTAy
NDA2ZmJlNS4uZmIyZjhkMTg3ZGIwMTljNDRjMGEwMzg3ODFmNWZkZDdlNGFhNjM3NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
clRyZWVIb3N0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNp
bmNsdWRlICJjYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uaCIKICNpbmNsdWRlICJjYy9DQ01hdGhV
dGlsLmgiCiAjaW5jbHVkZSAiY2MvQ0NQYWdlU2NhbGVBbmltYXRpb24uaCIKKyNpbmNsdWRlICJj
Yy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5oIgogI2luY2x1ZGUgImNjL0NDU2luZ2xlVGhyZWFkUHJv
eHkuaCIKICNpbmNsdWRlICJjYy9DQ1RocmVhZFRhc2suaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVu
dFRpbWUuaD4KQEAgLTIyOCw2ICsyMjksNyBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdEltcGw6OnRy
YWNrRGFtYWdlRm9yQWxsU3VyZmFjZXMoQ0NMYXllckltcGwqIHJvb3REcmF3TGF5ZXIsCiAgICAg
ICAgIENDUmVuZGVyU3VyZmFjZSogcmVuZGVyU3VyZmFjZSA9IHJlbmRlclN1cmZhY2VMYXllci0+
cmVuZGVyU3VyZmFjZSgpOwogICAgICAgICBBU1NFUlQocmVuZGVyU3VyZmFjZSk7CiAgICAgICAg
IHJlbmRlclN1cmZhY2UtPmRhbWFnZVRyYWNrZXIoKS0+dXBkYXRlRGFtYWdlVHJhY2tpbmdTdGF0
ZShyZW5kZXJTdXJmYWNlLT5sYXllckxpc3QoKSwgcmVuZGVyU3VyZmFjZUxheWVyLT5pZCgpLCBy
ZW5kZXJTdXJmYWNlLT5zdXJmYWNlUHJvcGVydHlDaGFuZ2VkT25seUZyb21EZXNjZW5kYW50KCks
IHJlbmRlclN1cmZhY2UtPmNvbnRlbnRSZWN0KCksIHJlbmRlclN1cmZhY2VMYXllci0+bWFza0xh
eWVyKCksIHJlbmRlclN1cmZhY2VMYXllci0+ZmlsdGVycygpKTsKKyAgICAgICAgcmVuZGVyU3Vy
ZmFjZS0+c2V0Q29udGVudHNDaGFuZ2VkKCFyZW5kZXJTdXJmYWNlLT5kYW1hZ2VUcmFja2VyKCkt
PmN1cnJlbnREYW1hZ2VSZWN0KCkuaXNFbXB0eSgpKTsKICAgICB9CiB9CiAKQEAgLTMyOSw2ICsz
MzEsOSBAQCBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRlclBhc3NlcyhD
Q1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIENDTGF5ZQogCiAgICAgaWYgKGRyYXdGcmFtZSkKICAg
ICAgICAgb2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5yZWNvcmRNZXRyaWNzKHRo
aXMpOworCisgICAgcmVtb3ZlUGFzc2VzV2l0aENhY2hlZFRleHR1cmVzKHBhc3Nlcyk7CisKICAg
ICByZXR1cm4gZHJhd0ZyYW1lOwogfQogCkBAIC0zNzgsNiArMzgzLDc1IEBAIEludFNpemUgQ0NM
YXllclRyZWVIb3N0SW1wbDo6Y29udGVudFNpemUoKSBjb25zdAogICAgIHJldHVybiBtX3Njcm9s
bExheWVySW1wbC0+Y2hpbGRyZW4oKVswXS0+Y29udGVudEJvdW5kcygpOwogfQogCitzdGF0aWMg
c3NpemVfdCBpbmRleE9mUmVuZGVyUGFzcyhjb25zdCBDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMs
IGNvbnN0IENDUmVuZGVyUGFzcyogcGFzcywgc2l6ZV90IHNlYXJjaFVudGlsKQoreworICAgIGZv
ciAoc2l6ZV90IHBhc3NJbmRleCA9IDA7IHBhc3NJbmRleCA8IHBhc3Nlcy5zaXplKCk7IHBhc3NJ
bmRleCsrKQorICAgICAgICBpZiAocGFzc2VzW3Bhc3NJbmRleF0uZ2V0KCkgPT0gcGFzcykKKyAg
ICAgICAgICAgIHJldHVybiBwYXNzSW5kZXg7CisKKyAgICByZXR1cm4gLTE7Cit9CisKK3ZvaWQg
Q0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKENDUmVuZGVy
UGFzc0xpc3QmIHBhc3Nlcywgc2l6ZV90IGJvdHRvbVBhc3MsIGNvbnN0IENDUmVuZGVyUGFzcyog
Zmlyc3RUb1JlbW92ZSkKK3sKKyAgICBzc2l6ZV90IHJlbW92ZUluZGV4ID0gaW5kZXhPZlJlbmRl
clBhc3MocGFzc2VzLCBmaXJzdFRvUmVtb3ZlLCBib3R0b21QYXNzKTsKKworICAgIC8vIFRoZSBw
YXNzIHdhcyBhbHJlZGF5IHJlbW92ZWQgYnkgYW5vdGhlciBxdWFkIC0gcHJvYmFibHkgdGhlIG9y
aWdpbmFsLCBhbmQgd2UgYXJlIHRoZSByZXBsaWNhCisgICAgaWYgKHJlbW92ZUluZGV4IDwgMCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcmVtb3ZlZFBhc3Mg
PSBwYXNzZXNbcmVtb3ZlSW5kZXhdLnJlbGVhc2UoKTsKKyAgICBwYXNzZXMucmVtb3ZlKHJlbW92
ZUluZGV4KTsKKworICAgIC8vIE5vdyBmb2xsb3cgdXAgZm9yIGFsbCBSZW5kZXJQYXNzIHF1YWRz
IGFuZCByZW1vdmUgdGhlaXIgcmVuZGVyIHBhc3NlcyByZWN1cnNpdmVseQorICAgIGNvbnN0IEND
UXVhZExpc3QmIHF1YWRMaXN0ID0gcmVtb3ZlZFBhc3MtPnF1YWRMaXN0KCk7CisgICAgQ0NRdWFk
TGlzdDo6Y29uc3RCYWNrVG9Gcm9udEl0ZXJhdG9yIHF1YWRMaXN0SXRlcmF0b3IgPSBxdWFkTGlz
dC5iYWNrVG9Gcm9udEJlZ2luKCk7CisgICAgd2hpbGUgKHF1YWRMaXN0SXRlcmF0b3IgIT0gcXVh
ZExpc3QuYmFja1RvRnJvbnRFbmQoKSkgeworICAgICAgICBDQ0RyYXdRdWFkKiBjdXJyZW50UXVh
ZCA9ICgqcXVhZExpc3RJdGVyYXRvcikuZ2V0KCk7CisgICAgICAgIGlmIChjdXJyZW50UXVhZC0+
bWF0ZXJpYWwoKSA9PSBDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzKSB7CisgICAgICAgICAgICBDQ1Jl
bmRlclBhc3NEcmF3UXVhZCogcmVuZGVyUGFzc1F1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBh
c3NEcmF3UXVhZCo+KGN1cnJlbnRRdWFkKTsKKyAgICAgICAgICAgIGNvbnN0IENDUmVuZGVyUGFz
cyogbmV4dFJlbmRlclBhc3MgPSByZW5kZXJQYXNzUXVhZC0+cmVuZGVyUGFzcygpOworCisgICAg
ICAgICAgICAvLyBPdXIgc2VhcmNoIGlzIG5vdyBsaW1pdGVkIHVwIHRvIHRoZSBwYXNzIHRoYXQg
d2UganVzdCByZW1vdmVkLgorICAgICAgICAgICAgLy8gU3Vic3RpdHV0ZSByZW1vdmVJbmRleCBm
b3IgYm90dG9tUGFzcyBub3cuCisgICAgICAgICAgICByZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNp
dmUocGFzc2VzLCByZW1vdmVJbmRleCwgbmV4dFJlbmRlclBhc3MpOworICAgICAgICB9CisgICAg
ICAgIHF1YWRMaXN0SXRlcmF0b3IrKzsKKyAgICB9Cit9CisKK3ZvaWQgQ0NMYXllclRyZWVIb3N0
SW1wbDo6cmVtb3ZlUGFzc2VzV2l0aENhY2hlZFRleHR1cmVzKENDUmVuZGVyUGFzc0xpc3QmIHBh
c3NlcykKK3sKKyAgICBzc2l6ZV90IHBhc3NJbmRleCA9IHBhc3Nlcy5zaXplKCkgLSAxOworICAg
IHdoaWxlIChwYXNzSW5kZXggPj0gMCkgeworICAgICAgICBDQ1JlbmRlclBhc3MqIGN1cnJlbnRQ
YXNzID0gcGFzc2VzW3Bhc3NJbmRleF0uZ2V0KCk7CisgICAgICAgIGNvbnN0IENDUXVhZExpc3Qm
IHF1YWRMaXN0ID0gY3VycmVudFBhc3MtPnF1YWRMaXN0KCk7CisgICAgICAgIENDUXVhZExpc3Q6
OmNvbnN0QmFja1RvRnJvbnRJdGVyYXRvciBxdWFkTGlzdEl0ZXJhdG9yID0gcXVhZExpc3QuYmFj
a1RvRnJvbnRCZWdpbigpOworICAgICAgICB3aGlsZSAocXVhZExpc3RJdGVyYXRvciAhPSBxdWFk
TGlzdC5iYWNrVG9Gcm9udEVuZCgpKSB7CisgICAgICAgICAgICBDQ0RyYXdRdWFkKiBjdXJyZW50
UXVhZCA9ICgqcXVhZExpc3RJdGVyYXRvcikuZ2V0KCk7CisgICAgICAgICAgICBpZiAoY3VycmVu
dFF1YWQtPm1hdGVyaWFsKCkgPT0gQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcykgeworICAgICAgICAg
ICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiByZW5kZXJQYXNzUXVhZCA9IHN0YXRpY19jYXN0
PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oY3VycmVudFF1YWQpOworICAgICAgICAgICAgICAgIEND
UmVuZGVyU3VyZmFjZSogdGFyZ2V0U3VyZmFjZSA9IHJlbmRlclBhc3NRdWFkLT50YXJnZXRSZW5k
ZXJTdXJmYWNlKCk7CisgICAgICAgICAgICAgICAgaWYgKCFyZW5kZXJQYXNzUXVhZC0+Y29udGVu
dHNDaGFuZ2VkKCkgJiYgdGFyZ2V0U3VyZmFjZS0+aGFzQ2FjaGVkQ29udGVudHNUZXh0dXJlKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgLy8gUmVzZXJ2ZSB0aGUgdGV4dHVyZSBpbW1lZGlhdGVs
eS4gV2UgZG8gbm90IG5lZWQgdG8gcGFzcyBpbiBsYXllciByZW5kZXJlcgorICAgICAgICAgICAg
ICAgICAgICAvLyBzaW5jZSB0aGUgdGV4dHVyZSBhbHJlYWR5IGV4aXN0cywganVzdCBuZWVkcyB0
byBiZSByZXNlcnZlZC4KKyAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldFN1cmZhY2UtPnBy
ZXBhcmVDb250ZW50c1RleHR1cmUoMCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdl
IGFyZSBjaGFuZ2luZyB0aGUgdmVjdG9yIGluIHRoZSBtaWRkbGUgb2YgcmV2ZXJzZSBpdGVyYXRp
b24uCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBhcmUgZ3VhcmFudGVlZCB0aGF0IGFu
eSBkYXRhIGZyb20gaXRlcmF0b3IgdG8gdGhlIGVuZCB3aWxsIG5vdCBjaGFuZ2UuCisgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBDYXB0dXJlIHRoZSBpdGVyYXRvciBwb3NpdGlvbiBmcm9tIHRo
ZSBlbmQsIGFuZCByZXN0b3JlIGl0IGFmdGVyIHRoZSBjaGFuZ2UuCisgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcG9zaXRpb25Gcm9tRW5kID0gcGFzc2VzLnNpemUoKSAtIHBhc3NJbmRleDsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZVJlbmRlclBhc3Nlc1JlY3Vyc2l2ZShwYXNz
ZXMsIHBhc3NJbmRleCwgcmVuZGVyUGFzc1F1YWQtPnJlbmRlclBhc3MoKSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBwYXNzSW5kZXggPSBwYXNzZXMuc2l6ZSgpIC0gcG9zaXRpb25Gcm9tRW5k
OworICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHBhc3NJbmRleCA+PSAwKTsKKyAgICAg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIHF1YWRMaXN0SXRlcmF0b3IrKzsKKyAgICAgICAgfQorICAgICAgICBwYXNzSW5kZXgt
LTsKKyAgICB9Cit9CisKIGJvb2wgQ0NMYXllclRyZWVIb3N0SW1wbDo6cHJlcGFyZVRvRHJhdyhG
cmFtZURhdGEmIGZyYW1lKQogewogICAgIFRSQUNFX0VWRU5UKCJDQ0xheWVyVHJlZUhvc3RJbXBs
OjpwcmVwYXJlVG9EcmF3IiwgdGhpcywgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJ
bXBsLmgKaW5kZXggMDk1YzBlNWIzOTMyNDFhNjk1YzUxNDA1MGY0MGRiZjgzZTgzYjA5MS4uYzVl
Y2E1ZGI5Y2JlM2MxZDkzZDI2MjUyMGU5OGYyOGQ5NmYzOTMxMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdEltcGwuaApAQCAtMTcxLDYgKzE3MSw5IEBAIHB1YmxpYzoKICAgICBDQ0Zy
YW1lUmF0ZUNvdW50ZXIqIGZwc0NvdW50ZXIoKSBjb25zdCB7IHJldHVybiBtX2Zwc0NvdW50ZXIu
Z2V0KCk7IH0KICAgICBDQ0RlYnVnUmVjdEhpc3RvcnkqIGRlYnVnUmVjdEhpc3RvcnkoKSBjb25z
dCB7IHJldHVybiBtX2RlYnVnUmVjdEhpc3RvcnkuZ2V0KCk7IH0KIAorICAgIC8vIFJlbW92ZXMg
YWxsIHJlbmRlciBwYXNzZXMgZm9yIHdoaWNoIHdlIGhhdmUgY2FjaGVkIHRleHR1cmVzLCBhbmQg
d2hpY2ggZGlkIG5vdCBjaGFuZ2UgdGhlaXIgY29udGVudC4KKyAgICBzdGF0aWMgdm9pZCByZW1v
dmVQYXNzZXNXaXRoQ2FjaGVkVGV4dHVyZXMoQ0NSZW5kZXJQYXNzTGlzdCYgcGFzc2VzKTsKKwog
cHJvdGVjdGVkOgogICAgIENDTGF5ZXJUcmVlSG9zdEltcGwoY29uc3QgQ0NTZXR0aW5ncyYsIEND
TGF5ZXJUcmVlSG9zdEltcGxDbGllbnQqKTsKIApAQCAtMjA4LDYgKzIxMSw5IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBhbmltYXRlTGF5ZXJzUmVjdXJzaXZlKENDTGF5ZXJJbXBsKiwgZG91YmxlIG1v
bm90b25pY1RpbWUsIGRvdWJsZSB3YWxsQ2xvY2tUaW1lLCBDQ0FuaW1hdGlvbkV2ZW50c1ZlY3Rv
ciosIGJvb2wmIGRpZEFuaW1hdGUsIGJvb2wmIG5lZWRzQW5pbWF0ZUxheWVycyk7CiAgICAgdm9p
ZCBzZXRCYWNrZ3JvdW5kVGlja2luZ0VuYWJsZWQoYm9vbCk7CiAgICAgSW50U2l6ZSBjb250ZW50
U2l6ZSgpIGNvbnN0OworCisgICAgc3RhdGljIHZvaWQgcmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJz
aXZlKENDUmVuZGVyUGFzc0xpc3QmIHBhc3Nlcywgc2l6ZV90IGJvdHRvbVBhc3MsIGNvbnN0IEND
UmVuZGVyUGFzcyogZmlyc3RUb1JlbW92ZSk7CisKICAgICB2b2lkIHNlbmREaWRMb3NlQ29udGV4
dFJlY3Vyc2l2ZShDQ0xheWVySW1wbCopOwogICAgIHZvaWQgY2xlYXJSZW5kZXJTdXJmYWNlc09u
Q0NMYXllckltcGxSZWN1cnNpdmUoQ0NMYXllckltcGwqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFz
cy5jcHAKaW5kZXggYTU1ZmViODVjNDU0ZDc0ZTU3Y2JiMzViODg0Njg1YjQwNTBlM2Q5MS4uZWJh
YzgxZWQwNGI4OGU3NWE5ZWJhYjFkZmRhMzFlMTViMmE3NmMyYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRl
clBhc3MuY3BwCkBAIC0xMDIsNCArMTAyLDkgQEAgdm9pZCBDQ1JlbmRlclBhc3M6OmFwcGVuZFF1
YWRzVG9GaWxsU2NyZWVuKENDTGF5ZXJJbXBsKiByb290TGF5ZXIsIGNvbnN0IENvbG9yJgogICAg
IG1fc2hhcmVkUXVhZFN0YXRlTGlzdC5hcHBlbmQoc2hhcmVkUXVhZFN0YXRlLnJlbGVhc2UoKSk7
CiB9CiAKK3ZvaWQgQ0NSZW5kZXJQYXNzOjphcHBlbmRRdWFkKFBhc3NPd25QdHI8Q0NEcmF3UXVh
ZD4gcXVhZCkKK3sKKyAgICBtX3F1YWRMaXN0LmFwcGVuZChxdWFkKTsKK30KKwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5k
ZXJQYXNzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1JlbmRlclBhc3MuaAppbmRleCBhNDUxMDA2Y2U4OGIxMmIwNzIzNzBkZmEyMjM5ZjgzODNiYTcx
ZmM2Li4xYjNmZDBhOTM4YWU2NDc1ZWFjMTlkNWNiOWE4ZGQ5N2Q1MjEwZGM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBh
c3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1JlbmRlclBhc3MuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhcHBlbmRR
dWFkc0ZvckxheWVyKENDTGF5ZXJJbXBsKiwgQ0NPY2NsdXNpb25UcmFja2VySW1wbCosIGJvb2wm
IGhhZE1pc3NpbmdUaWxlcyk7CiAgICAgdm9pZCBhcHBlbmRRdWFkc0ZvclJlbmRlclN1cmZhY2VM
YXllcihDQ0xheWVySW1wbCosIGNvbnN0IENDUmVuZGVyUGFzcyogY29udHJpYnV0aW5nUmVuZGVy
UGFzcywgQ0NPY2NsdXNpb25UcmFja2VySW1wbCopOwogICAgIHZvaWQgYXBwZW5kUXVhZHNUb0Zp
bGxTY3JlZW4oQ0NMYXllckltcGwqIHJvb3RMYXllciwgY29uc3QgQ29sb3ImIHNjcmVlbkJhY2tn
cm91bmRDb2xvciwgY29uc3QgQ0NPY2NsdXNpb25UcmFja2VySW1wbCYpOworICAgIHZvaWQgYXBw
ZW5kUXVhZChQYXNzT3duUHRyPENDRHJhd1F1YWQ+KTsKIAogICAgIGNvbnN0IENDUXVhZExpc3Qm
IHF1YWRMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9xdWFkTGlzdDsgfQogICAgIENDUmVuZGVyU3Vy
ZmFjZSogdGFyZ2V0U3VyZmFjZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0U3VyZmFjZTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NSZW5kZXJQYXNzRHJhd1F1YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQuY3BwCmluZGV4IDhkYzRmZjY2YTFj
NzE3M2JlNzM3NGE2MjVkYjk5Y2Y0MDdiMWQ2ZTMuLjZmNzE0Mzc5Mzg0Mjg5MzhhNzBhYjlmOGIw
MmI4YjYxMmViZGNmNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5j
cHAKQEAgLTI3LDIwICsyNywyNCBAQAogCiAjaW5jbHVkZSAiY2MvQ0NSZW5kZXJQYXNzRHJhd1F1
YWQuaCIKIAorI2luY2x1ZGUgImNjL0NDUmVuZGVyUGFzcy5oIgorCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLVBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzRHJhd1F1YWQ+IENDUmVuZGVyUGFzc0RyYXdR
dWFkOjpjcmVhdGUoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqIHNoYXJlZFF1YWRTdGF0ZSwgY29u
c3QgSW50UmVjdCYgcXVhZFJlY3QsIGNvbnN0IENDUmVuZGVyUGFzcyogcmVuZGVyUGFzcywgYm9v
bCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycywg
Y29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycywgdW5z
aWduZWQgbWFza1RleHR1cmVJZCkKK1Bhc3NPd25QdHI8Q0NSZW5kZXJQYXNzRHJhd1F1YWQ+IEND
UmVuZGVyUGFzc0RyYXdRdWFkOjpjcmVhdGUoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqIHNoYXJl
ZFF1YWRTdGF0ZSwgY29uc3QgSW50UmVjdCYgcXVhZFJlY3QsIGNvbnN0IENDUmVuZGVyUGFzcyog
cmVuZGVyUGFzcywgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0
aW9ucyYgZmlsdGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3Jv
dW5kRmlsdGVycywgdW5zaWduZWQgbWFza1RleHR1cmVJZCwgYm9vbCBjb250ZW50c0NoYW5nZWQp
CiB7Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ1JlbmRlclBhc3NEcmF3UXVhZChzaGFyZWRR
dWFkU3RhdGUsIHF1YWRSZWN0LCByZW5kZXJQYXNzLCBpc1JlcGxpY2EsIGZpbHRlcnMsIGJhY2tn
cm91bmRGaWx0ZXJzLCBtYXNrVGV4dHVyZUlkKSk7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBD
Q1JlbmRlclBhc3NEcmF3UXVhZChzaGFyZWRRdWFkU3RhdGUsIHF1YWRSZWN0LCByZW5kZXJQYXNz
LCBpc1JlcGxpY2EsIGZpbHRlcnMsIGJhY2tncm91bmRGaWx0ZXJzLCBtYXNrVGV4dHVyZUlkLCBj
b250ZW50c0NoYW5nZWQpKTsKIH0KIAotQ0NSZW5kZXJQYXNzRHJhd1F1YWQ6OkNDUmVuZGVyUGFz
c0RyYXdRdWFkKGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiBzaGFyZWRRdWFkU3RhdGUsIGNvbnN0
IEludFJlY3QmIHF1YWRSZWN0LCBjb25zdCBDQ1JlbmRlclBhc3MqIHJlbmRlclBhc3MsIGJvb2wg
aXNSZXBsaWNhLCBjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMmIGZpbHRlcnMsIGNv
bnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgYmFja2dyb3VuZEZpbHRlcnMsIHVuc2ln
bmVkIG1hc2tUZXh0dXJlSWQpCitDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Q0NSZW5kZXJQYXNzRHJh
d1F1YWQoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqIHNoYXJlZFF1YWRTdGF0ZSwgY29uc3QgSW50
UmVjdCYgcXVhZFJlY3QsIGNvbnN0IENDUmVuZGVyUGFzcyogcmVuZGVyUGFzcywgYm9vbCBpc1Jl
cGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycywgY29uc3Qg
V2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycywgdW5zaWduZWQg
bWFza1RleHR1cmVJZCwgYm9vbCBjb250ZW50c0NoYW5nZWQpCiAgICAgOiBDQ0RyYXdRdWFkKHNo
YXJlZFF1YWRTdGF0ZSwgQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgcXVhZFJlY3QpCiAgICAgLCBt
X3JlbmRlclBhc3MocmVuZGVyUGFzcykKKyAgICAsIG1fdGFyZ2V0UmVuZGVyU3VyZmFjZShyZW5k
ZXJQYXNzLT50YXJnZXRTdXJmYWNlKCkpCiAgICAgLCBtX2lzUmVwbGljYShpc1JlcGxpY2EpCiAg
ICAgLCBtX2ZpbHRlcnMoZmlsdGVycykKICAgICAsIG1fYmFja2dyb3VuZEZpbHRlcnMoYmFja2dy
b3VuZEZpbHRlcnMpCiAgICAgLCBtX21hc2tUZXh0dXJlSWQobWFza1RleHR1cmVJZCkKKyAgICAs
IG1fY29udGVudHNDaGFuZ2VkKGNvbnRlbnRzQ2hhbmdlZCkKIHsKICAgICBBU1NFUlQobV9yZW5k
ZXJQYXNzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5oCmluZGV4IDNj
YzZmMjYwNzFhMzNjMDIzMDZhZWFkOWUwOGIwODczMzM0ZTMxZTguLmM0OWRiYjhjMTJhZjJiZGE0
MzdlNjc2N2ZlNzRhYTZmNzczYTk4ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJh
d1F1YWQuaApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBDQ1JlbmRlclBhc3NEcmF3UXVhZF9o
CiAKICNpbmNsdWRlICJjYy9DQ0RyYXdRdWFkLmgiCisjaW5jbHVkZSAiY2MvQ0NSZW5kZXJTdXJm
YWNlLmgiCiAjaW5jbHVkZSA8cHVibGljL1dlYkZpbHRlck9wZXJhdGlvbnMuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zNywyMyArMzgsMjcgQEAgY2xhc3MgQ0NSZW5kZXJQ
YXNzOwogY2xhc3MgQ0NSZW5kZXJQYXNzRHJhd1F1YWQgOiBwdWJsaWMgQ0NEcmF3UXVhZCB7CiAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ0NSZW5kZXJQYXNzRHJhd1F1YWQpOwogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzT3duUHRyPENDUmVuZGVyUGFzc0RyYXdRdWFkPiBjcmVhdGUoY29uc3Qg
Q0NTaGFyZWRRdWFkU3RhdGUqLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgQ0NSZW5kZXJQYXNzKiwg
Ym9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVy
cywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycywg
dW5zaWduZWQgbWFza1RleHR1cmVJZCk7CisgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NSZW5kZXJQ
YXNzRHJhd1F1YWQ+IGNyZWF0ZShjb25zdCBDQ1NoYXJlZFF1YWRTdGF0ZSosIGNvbnN0IEludFJl
Y3QmLCBjb25zdCBDQ1JlbmRlclBhc3MqLCBib29sIGlzUmVwbGljYSwgY29uc3QgV2ViS2l0OjpX
ZWJGaWx0ZXJPcGVyYXRpb25zJiBmaWx0ZXJzLCBjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJh
dGlvbnMmIGJhY2tncm91bmRGaWx0ZXJzLCB1bnNpZ25lZCBtYXNrVGV4dHVyZUlkLCBib29sIGNv
bnRlbnRzQ2hhbmdlZCk7CiAKICAgICBjb25zdCBDQ1JlbmRlclBhc3MqIHJlbmRlclBhc3MoKSBj
b25zdCB7IHJldHVybiBtX3JlbmRlclBhc3M7IH0KKyAgICBDQ1JlbmRlclN1cmZhY2UqIHRhcmdl
dFJlbmRlclN1cmZhY2UoKSBjb25zdCB7IHJldHVybiBtX3RhcmdldFJlbmRlclN1cmZhY2U7IH0K
ICAgICBib29sIGlzUmVwbGljYSgpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXBsaWNhOyB9CiAgICAg
dW5zaWduZWQgbWFza1RleHR1cmVJZCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFza1RleHR1cmVJZDsg
fQorICAgIGJvb2wgY29udGVudHNDaGFuZ2VkKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c0No
YW5nZWQ7IH0KIAogICAgIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVy
cygpIGNvbnN0IHsgcmV0dXJuIG1fZmlsdGVyczsgfQogICAgIGNvbnN0IFdlYktpdDo6V2ViRmls
dGVyT3BlcmF0aW9ucyYgYmFja2dyb3VuZEZpbHRlcnMoKSBjb25zdCB7IHJldHVybiBtX2JhY2tn
cm91bmRGaWx0ZXJzOyB9CiAKIHByaXZhdGU6Ci0gICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQoY29u
c3QgQ0NTaGFyZWRRdWFkU3RhdGUqLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgQ0NSZW5kZXJQYXNz
KiwgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmls
dGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVy
cywgdW5zaWduZWQgbWFza1RleHR1cmVJZCk7CisgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQoY29u
c3QgQ0NTaGFyZWRRdWFkU3RhdGUqLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgQ0NSZW5kZXJQYXNz
KiwgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmls
dGVycywgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVy
cywgdW5zaWduZWQgbWFza1RleHR1cmVJZCwgYm9vbCBjb250ZW50c0NoYW5nZWQpOwogCiAgICAg
Y29uc3QgQ0NSZW5kZXJQYXNzKiBtX3JlbmRlclBhc3M7CisgICAgQ0NSZW5kZXJTdXJmYWNlKiBt
X3RhcmdldFJlbmRlclN1cmZhY2U7CiAgICAgYm9vbCBtX2lzUmVwbGljYTsKICAgICBXZWJLaXQ6
OldlYkZpbHRlck9wZXJhdGlvbnMgbV9maWx0ZXJzOwogICAgIFdlYktpdDo6V2ViRmlsdGVyT3Bl
cmF0aW9ucyBtX2JhY2tncm91bmRGaWx0ZXJzOwogICAgIHVuc2lnbmVkIG1fbWFza1RleHR1cmVJ
ZDsKKyAgICBib29sIG1fY29udGVudHNDaGFuZ2VkOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVu
ZGVyU3VyZmFjZS5jcHAKaW5kZXggZGRhYmQ1MjhjOGZkMWQwYmNkNTZiMjAzNzBkYzUzZGQwMzAy
MmVjYy4uNzdmZWViNjZlMzlmNmVhMDUwYTRlNDhhZDMwYzQxNjAxZmUxMmM5MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJT
dXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCkBAIC02NCw2ICs2NCw3IEBAIENDUmVuZGVyU3VyZmFj
ZTo6Q0NSZW5kZXJTdXJmYWNlKENDTGF5ZXJJbXBsKiBvd25pbmdMYXllcikKICAgICAsIG1fZHJh
d09wYWNpdHlJc0FuaW1hdGluZyhmYWxzZSkKICAgICAsIG1fdGFyZ2V0U3VyZmFjZVRyYW5zZm9y
bXNBcmVBbmltYXRpbmcoZmFsc2UpCiAgICAgLCBtX3NjcmVlblNwYWNlVHJhbnNmb3Jtc0FyZUFu
aW1hdGluZyhmYWxzZSkKKyAgICAsIG1fY29udGVudHNDaGFuZ2VkKHRydWUpCiAgICAgLCBtX25l
YXJlc3RBbmNlc3RvclRoYXRNb3Zlc1BpeGVscygwKQogICAgICwgbV90YXJnZXRSZW5kZXJTdXJm
YWNlTGF5ZXJJbmRleEhpc3RvcnkoMCkKICAgICAsIG1fY3VycmVudExheWVySW5kZXhIaXN0b3J5
KDApCkBAIC04OCwxMCArODksMTUgQEAgRmxvYXRSZWN0IENDUmVuZGVyU3VyZmFjZTo6ZHJhd2Fi
bGVDb250ZW50UmVjdCgpIGNvbnN0CiAKIGJvb2wgQ0NSZW5kZXJTdXJmYWNlOjpwcmVwYXJlQ29u
dGVudHNUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJlcikKIHsKLSAg
ICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBsYXllclJlbmRlcmVyLT5pbXBsVGV4
dHVyZU1hbmFnZXIoKTsKKyAgICBpZiAobGF5ZXJSZW5kZXJlcikgeworICAgICAgICBUZXh0dXJl
TWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBsYXllclJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFn
ZXIoKTsKKworICAgICAgICBpZiAoIW1fY29udGVudHNUZXh0dXJlKQorICAgICAgICAgICAgbV9j
b250ZW50c1RleHR1cmUgPSBNYW5hZ2VkVGV4dHVyZTo6Y3JlYXRlKHRleHR1cmVNYW5hZ2VyKTsK
KyAgICB9CiAKICAgICBpZiAoIW1fY29udGVudHNUZXh0dXJlKQotICAgICAgICBtX2NvbnRlbnRz
VGV4dHVyZSA9IE1hbmFnZWRUZXh0dXJlOjpjcmVhdGUodGV4dHVyZU1hbmFnZXIpOworICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAobV9jb250ZW50c1RleHR1cmUtPmlzUmVzZXJ2ZWQo
KSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMTQsNiArMTIwLDExIEBAIGJvb2wgQ0NSZW5k
ZXJTdXJmYWNlOjpoYXNWYWxpZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1f
Y29udGVudHNUZXh0dXJlICYmIG1fY29udGVudHNUZXh0dXJlLT5pc1Jlc2VydmVkKCkgJiYgbV9j
b250ZW50c1RleHR1cmUtPmlzVmFsaWQobV9jb250ZW50UmVjdC5zaXplKCksIEdyYXBoaWNzQ29u
dGV4dDNEOjpSR0JBKTsKIH0KIAorYm9vbCBDQ1JlbmRlclN1cmZhY2U6Omhhc0NhY2hlZENvbnRl
bnRzVGV4dHVyZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY29udGVudHNUZXh0dXJlICYmIG1f
Y29udGVudHNUZXh0dXJlLT5pc1ZhbGlkKG1fY29udGVudFJlY3Quc2l6ZSgpLCBHcmFwaGljc0Nv
bnRleHQzRDo6UkdCQSk7Cit9CisKIGJvb2wgQ0NSZW5kZXJTdXJmYWNlOjpwcmVwYXJlQmFja2dy
b3VuZFRleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBsYXllclJlbmRlcmVyKQogewogICAg
IFRleHR1cmVNYW5hZ2VyKiB0ZXh0dXJlTWFuYWdlciA9IGxheWVyUmVuZGVyZXItPmltcGxUZXh0
dXJlTWFuYWdlcigpOwpAQCAtMjg2LDcgKzI5Nyw3IEBAIHZvaWQgQ0NSZW5kZXJTdXJmYWNlOjph
cHBlbmRRdWFkcyhDQ1F1YWRDdWxsZXImIHF1YWRMaXN0LCBDQ1NoYXJlZFF1YWRTdGF0ZSogc2hh
CiAKICAgICBpbnQgbWFza1RleHR1cmVJZCA9IG1hc2tMYXllciA/IG1hc2tMYXllci0+Y29udGVu
dHNUZXh0dXJlSWQoKSA6IDA7CiAKLSAgICBxdWFkTGlzdC5hcHBlbmRTdXJmYWNlKENDUmVuZGVy
UGFzc0RyYXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBjb250ZW50UmVjdCgpLCByZW5k
ZXJQYXNzLCBmb3JSZXBsaWNhLCBmaWx0ZXJzKCksIGJhY2tncm91bmRGaWx0ZXJzKCksIG1hc2tU
ZXh0dXJlSWQpKTsKKyAgICBxdWFkTGlzdC5hcHBlbmRTdXJmYWNlKENDUmVuZGVyUGFzc0RyYXdR
dWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBjb250ZW50UmVjdCgpLCByZW5kZXJQYXNzLCBm
b3JSZXBsaWNhLCBmaWx0ZXJzKCksIGJhY2tncm91bmRGaWx0ZXJzKCksIG1hc2tUZXh0dXJlSWQs
IG1fY29udGVudHNDaGFuZ2VkKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgK
aW5kZXggNjI1MjNiODIxMmI3ZTM2ZDY1ZDgyZGM2ZDFjNjliOTFjODc0YzY0OS4uYTZkNGJhM2I5
MDM3M2Q3OGUzZTcxZmZhNmU2MzdjZDZlYjM3ZmM2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJm
YWNlLmgKQEAgLTUzLDkgKzUzLDEwIEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBDQ1JlbmRlclN1
cmZhY2UoQ0NMYXllckltcGwqKTsKICAgICB+Q0NSZW5kZXJTdXJmYWNlKCk7CiAKLSAgICBib29s
IHByZXBhcmVDb250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CisgICAgdmly
dHVhbCBib29sIHByZXBhcmVDb250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7
CiAgICAgdm9pZCByZWxlYXNlQ29udGVudHNUZXh0dXJlKCk7CiAgICAgYm9vbCBoYXNWYWxpZENv
bnRlbnRzVGV4dHVyZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBoYXNDYWNoZWRDb250ZW50
c1RleHR1cmUoKSBjb25zdDsKIAogICAgIGJvb2wgcHJlcGFyZUJhY2tncm91bmRUZXh0dXJlKExh
eWVyUmVuZGVyZXJDaHJvbWl1bSopOwogICAgIHZvaWQgcmVsZWFzZUJhY2tncm91bmRUZXh0dXJl
KCk7CkBAIC0xMTQsNiArMTE1LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2Npc3NvclJlY3Qo
Y29uc3QgSW50UmVjdCYgc2Npc3NvclJlY3QpIHsgbV9zY2lzc29yUmVjdCA9IHNjaXNzb3JSZWN0
OyB9CiAgICAgY29uc3QgSW50UmVjdCYgc2Npc3NvclJlY3QoKSBjb25zdCB7IHJldHVybiBtX3Nj
aXNzb3JSZWN0OyB9CiAKKyAgICB2b2lkIHNldENvbnRlbnRzQ2hhbmdlZChib29sIGNvbnRlbnRz
Q2hhbmdlZCkgeyBtX2NvbnRlbnRzQ2hhbmdlZCA9IGNvbnRlbnRzQ2hhbmdlZDsgfQorICAgIGJv
b2wgY29udGVudHNDaGFuZ2VkKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c0NoYW5nZWQ7IH0K
KwogICAgIHZvaWQgc2V0Q29udGVudFJlY3QoY29uc3QgSW50UmVjdCYpOwogICAgIGNvbnN0IElu
dFJlY3QmIGNvbnRlbnRSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50UmVjdDsgfQogCkBA
IC0xNzQsNiArMTc4LDExIEBAIHByaXZhdGU6CiAgICAgLy8gVXNlcyB0aGUgc3BhY2Ugb2YgdGhl
IHN1cmZhY2UncyB0YXJnZXQgc3VyZmFjZS4KICAgICBJbnRSZWN0IG1fc2Npc3NvclJlY3Q7CiAK
KyAgICAvLyBGSVhNRTogV2hlbiB0aGUgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIENDRGFtYWdlVHJh
Y2tlci9DQ1JlbmRlclBhc3MvQ0NSZW5kZXJTdXJmYWNlL0NDUmVuZGVyUGFzRHJhd1F1YWQKKyAg
ICAvLyBhcmUgZml4ZWQsIHRoaXMgZmxhZyBtYXkgZ28gYXdheS4gUmlnaHQgbm93IG5lZWRlZCB0
byB0cmFuc2ZlciB0aGUgaW5mb3JtYXRpb24gZnJvbSBDQ0RhbWFnZVRyYWNrZXIKKyAgICAvLyB0
byBDQ1JlbmRlclBhc3NEcmF3UXVhZCB3aXRob3V0IGNyZWF0aW5nIG5ldyBjbGFzcyBkZXBlbmRl
bmNpZXMuCisgICAgYm9vbCBtX2NvbnRlbnRzQ2hhbmdlZDsKKwogICAgIFZlY3RvcjxDQ0xheWVy
SW1wbCo+IG1fbGF5ZXJMaXN0OwogCiAgICAgLy8gVGhlIG5lYXJlc3QgYW5jZXN0b3IgdGFyZ2V0
IHN1cmZhY2UgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIGNvbnRlbnRzIG9mIHRoaXMgc3VyZmFjZSwg
YW5kIHRoYXQgaXMgZ29pbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L0NDRGFtYWdlVHJhY2tlclRlc3QuY3BwCmluZGV4IDhjOWI1NDNiMmNmNGViOTYyYjg4NjI3ZmVm
NjM0N2M4ZDAwMGY1MzguLmY0OTgwNjlmMGVlYTc5ZjMyODlmZDY0YjQwNWFkOTc2YTkxYTg2OTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEYW1hZ2VUcmFja2Vy
VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0RhbWFnZVRyYWNr
ZXJUZXN0LmNwcApAQCAtOTM0LDcgKzkzNCw4IEBAIFRFU1RfRihDQ0RhbWFnZVRyYWNrZXJUZXN0
LCB2ZXJpZnlEYW1hZ2VGb3JNYXNrKQogCiAgICAgLy8gVGhlbiB0ZXN0IHRoZSBwcm9wZXJ0eSBj
aGFuZ2UuCiAgICAgY2xlYXJEYW1hZ2VGb3JBbGxTdXJmYWNlcyhyb290LmdldCgpKTsKLSAgICBt
YXNrTGF5ZXItPnNldE9wYWNpdHkoMC41KTsKKyAgICBtYXNrTGF5ZXItPnNldFN0YWNraW5nT3Jk
ZXJDaGFuZ2VkKHRydWUpOworCiAgICAgZW11bGF0ZURyYXdpbmdPbmVGcmFtZShyb290LmdldCgp
KTsKICAgICBjaGlsZERhbWFnZVJlY3QgPSBjaGlsZC0+cmVuZGVyU3VyZmFjZSgpLT5kYW1hZ2VU
cmFja2VyKCktPmN1cnJlbnREYW1hZ2VSZWN0KCk7CiAgICAgRVhQRUNUX0ZMT0FUX1JFQ1RfRVEo
RmxvYXRSZWN0KDAsIDAsIDMwLCAzMCksIGNoaWxkRGFtYWdlUmVjdCk7CkBAIC0xMDAxLDcgKzEw
MDIsNyBAQCBURVNUX0YoQ0NEYW1hZ2VUcmFja2VyVGVzdCwgdmVyaWZ5RGFtYWdlRm9yUmVwbGlj
YU1hc2spCiAKICAgICAvLyBDQVNFIDE6IGEgcHJvcGVydHkgY2hhbmdlIG9uIHRoZSBtYXNrIHNo
b3VsZCBkYW1hZ2Ugb25seSB0aGUgcmVmbGVjdGVkIHJlZ2lvbiBvbiB0aGUgdGFyZ2V0IHN1cmZh
Y2UuCiAgICAgY2xlYXJEYW1hZ2VGb3JBbGxTdXJmYWNlcyhyb290LmdldCgpKTsKLSAgICByZXBs
aWNhTWFza0xheWVyLT5zZXRPcGFjaXR5KDAuNmYpOworICAgIHJlcGxpY2FNYXNrTGF5ZXItPnNl
dFN0YWNraW5nT3JkZXJDaGFuZ2VkKHRydWUpOwogICAgIGVtdWxhdGVEcmF3aW5nT25lRnJhbWUo
cm9vdC5nZXQoKSk7CiAKICAgICBGbG9hdFJlY3QgZ3JhbmRDaGlsZERhbWFnZVJlY3QgPSBncmFu
ZENoaWxkMS0+cmVuZGVyU3VyZmFjZSgpLT5kYW1hZ2VUcmFja2VyKCktPmN1cnJlbnREYW1hZ2VS
ZWN0KCk7CkBAIC0xMDY1LDcgKzEwNjYsOCBAQCBURVNUX0YoQ0NEYW1hZ2VUcmFja2VyVGVzdCwg
dmVyaWZ5RGFtYWdlRm9yUmVwbGljYU1hc2tXaXRoQW5jaG9yKQogCiAgICAgLy8gQSBwcm9wZXJ0
eSBjaGFuZ2Ugb24gdGhlIHJlcGxpY2FNYXNrIHNob3VsZCBkYW1hZ2UgdGhlIHJlZmxlY3RlZCBy
ZWdpb24gb24gdGhlIHRhcmdldCBzdXJmYWNlLgogICAgIGNsZWFyRGFtYWdlRm9yQWxsU3VyZmFj
ZXMocm9vdC5nZXQoKSk7Ci0gICAgcmVwbGljYU1hc2tMYXllci0+c2V0T3BhY2l0eSgwLjZmKTsK
KyAgICByZXBsaWNhTWFza0xheWVyLT5zZXRTdGFja2luZ09yZGVyQ2hhbmdlZCh0cnVlKTsKKwog
ICAgIGVtdWxhdGVEcmF3aW5nT25lRnJhbWUocm9vdC5nZXQoKSk7CiAKICAgICBGbG9hdFJlY3Qg
Y2hpbGREYW1hZ2VSZWN0ID0gY2hpbGQxLT5yZW5kZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNrZXIo
KS0+Y3VycmVudERhbWFnZVJlY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NMYXllckltcGxUZXN0LmNwcAppbmRleCA4MjdjOWFkYWFlMDc0NDU2YTlkMGMwMmI4NzM4
Mzc0NzlmNjM2NWQzLi44YjQwMTU2NmI4YTVmZTNlMjEzMWNmZGY1ODVhY2I1MjkzNzNiNWQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJJbXBsVGVzdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVySW1wbFRlc3QuY3Bw
CkBAIC00MiwyMSArNDIsMzMgQEAgbmFtZXNwYWNlIHsKICAgICBjb2RlVG9UZXN0OyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBF
WFBFQ1RfVFJVRShyb290LT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgICBFWFBFQ1RfVFJVRShjaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQo
KSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBFWFBFQ1RfVFJVRShncmFuZENoaWxk
LT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKQorICAgIEVYUEVDVF9UUlVFKGdyYW5kQ2hpbGQtPmxh
eWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVDVF9G
QUxTRShyb290LT5sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSkKKwogCiAjZGVmaW5lIEVY
RUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0RJRF9OT1RfQ0hBTkdFKGNvZGVUb1Rlc3QpICAgICAg
ICAgICBcCiAgICAgcm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY29kZVRvVGVzdDsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX0ZB
TFNFKHJvb3QtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgRVhQRUNUX0ZBTFNFKGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hpbGQtPmxheWVy
UHJvcGVydHlDaGFuZ2VkKCkpCisgICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hpbGQtPmxheWVyUHJv
cGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKHJv
b3QtPmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpKQogCiAjZGVmaW5lIEVYRUNVVEVfQU5E
X1ZFUklGWV9PTkxZX0xBWUVSX0NIQU5HRUQoY29kZVRvVGVzdCkgICAgICAgICAgICAgICBcCiAg
ICAgcm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCiAgICAgY29kZVRvVGVzdDsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX1RSVUUocm9vdC0+
bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg
RVhQRUNUX0ZBTFNFKGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlD
aGFuZ2VkKCkpCisgICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFu
Z2VkKCkpOyAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVy
U3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpKQorCisjZGVmaW5lIEVYRUNVVEVfQU5EX1ZFUklGWV9P
TkxZX1NVUkZBQ0VfQ0hBTkdFRChjb2RlVG9UZXN0KSAgICAgICAgICAgICBcCisgICAgcm9vdC0+
cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgY29kZVRvVGVzdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyUHJv
cGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZB
TFNFKGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkp
OyAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX1RSVUUocm9vdC0+bGF5ZXJTdXJmYWNl
UHJvcGVydHlDaGFuZ2VkKCkpCiAKIFRFU1QoQ0NMYXllckltcGxUZXN0LCB2ZXJpZnlMYXllckNo
YW5nZXNBcmVUcmFja2VkUHJvcGVybHkpCiB7CkBAIC05OCwxMSArMTEwLDkgQEAgVEVTVChDQ0xh
eWVySW1wbFRlc3QsIHZlcmlmeUxheWVyQ2hhbmdlc0FyZVRyYWNrZWRQcm9wZXJseSkKICAgICBF
WEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldE1hc2tMYXllcihDQ0xh
eWVySW1wbDo6Y3JlYXRlKDQpKSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hB
TkdFRChyb290LT5zZXRNYXNrc1RvQm91bmRzKHRydWUpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJ
RllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldE9wYXF1ZSh0cnVlKSk7Ci0gICAgRVhFQ1VURV9B
TkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRPcGFjaXR5KGFyYml0cmFyeU51bWJl
cikpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0UmVw
bGljYUxheWVyKENDTGF5ZXJJbXBsOjpjcmVhdGUoNSkpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJ
RllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldFBvc2l0aW9uKGFyYml0cmFyeUZsb2F0UG9pbnQp
KTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldFByZXNl
cnZlczNEKHRydWUpKTsKLSAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJv
b3QtPnNldFRyYW5zZm9ybShhcmJpdHJhcnlUcmFuc2Zvcm0pKTsKICAgICBFWEVDVVRFX0FORF9W
RVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldERvdWJsZVNpZGVkKGZhbHNlKSk7IC8vIGNv
bnN0cnVjdG9yIGluaXRpYWxpemVzIGl0IHRvICJ0cnVlIi4KICAgICBFWEVDVVRFX0FORF9WRVJJ
RllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNjcm9sbEJ5KGFyYml0cmFyeUludFNpemUpKTsKICAg
ICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldFNjcm9sbERlbHRh
KGFyYml0cmFyeUludFNpemUpKTsKQEAgLTExNyw2ICsxMjcsMTAgQEAgVEVTVChDQ0xheWVySW1w
bFRlc3QsIHZlcmlmeUxheWVyQ2hhbmdlc0FyZVRyYWNrZWRQcm9wZXJseSkKICAgICBFWEVDVVRF
X0FORF9WRVJJRllfT05MWV9MQVlFUl9DSEFOR0VEKHJvb3QtPnNldEJhY2tncm91bmRDb2xvcihD
b2xvcjo6Z3JheSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX0xBWUVSX0NIQU5HRUQo
cm9vdC0+c2V0QmFja2dyb3VuZEZpbHRlcnMoYXJiaXRyYXJ5RmlsdGVycykpOwogCisgICAgLy8g
Q2hhbmdpbmcgdGhlc2UgcHJvcGVydGllcyBvbmx5IGFmZmVjdHMgaG93IHJlbmRlcidzIHN1cmZh
Y2UgaXMgZHJhd24KKyAgICBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9TVVJGQUNFX0NIQU5HRUQo
cm9vdC0+c2V0T3BhY2l0eShhcmJpdHJhcnlOdW1iZXIpKTsKKyAgICBFWEVDVVRFX0FORF9WRVJJ
RllfT05MWV9TVVJGQUNFX0NIQU5HRUQocm9vdC0+c2V0VHJhbnNmb3JtKGFyYml0cmFyeVRyYW5z
Zm9ybSkpOworCiAgICAgLy8gU3BlY2lhbCBjYXNlOiBjaGVjayB0aGF0IHN1YmxheWVyIHRyYW5z
Zm9ybSBjaGFuZ2VzIGFsbCBsYXllcidzIGRlc2NlbmRhbnRzLCBidXQgbm90IHRoZSBsYXllciBp
dHNlbGYuCiAgICAgcm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKTsKICAg
ICByb290LT5zZXRTdWJsYXllclRyYW5zZm9ybShhcmJpdHJhcnlUcmFuc2Zvcm0pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVz
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxU
ZXN0LmNwcAppbmRleCBhYjlhMDg4Y2FkMTFkYWJhMDRjYjFjZDY5MWMxNjFhYWRmMjE4ODhjLi5h
NmM0YjY1NmM5NDUxYjU0MWYzMGMxMmYxODUzNmU4MTgzN2Y5ZDI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNw
cApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgImNjL0NDTGF5ZXJJbXBsLmgiCiAjaW5jbHVk
ZSAiY2MvQ0NMYXllclRpbGluZ0RhdGEuaCIKICNpbmNsdWRlICJjYy9DQ1F1YWRDdWxsZXIuaCIK
KyNpbmNsdWRlICJjYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5oIgogI2luY2x1ZGUgImNjL0NDU2Ny
b2xsYmFyTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oIgog
I2luY2x1ZGUgImNjL0NDU29saWRDb2xvckRyYXdRdWFkLmgiCkBAIC0xOTcyLDQgKzE5NzMsNTU3
IEBAIFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgaGFzVHJhbnNwYXJlbnRCYWNrZ3Jv
dW5kKQogICAgIE1vY2s6OlZlcmlmeUFuZENsZWFyRXhwZWN0YXRpb25zKCZtb2NrQ29udGV4dCk7
CiB9CiAKK1RFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgc3VyZmFjZVRleHR1cmVDYWNo
aW5nKQoreworICAgIENDU2V0dGluZ3Mgc2V0dGluZ3M7CisgICAgCisgICAgc2V0dGluZ3MucGFy
dGlhbFN3YXBFbmFibGVkID0gdHJ1ZTsKKyAgICAKKyAgICBPd25QdHI8Q0NMYXllclRyZWVIb3N0
SW1wbD4gbXlIb3N0SW1wbCA9IENDTGF5ZXJUcmVlSG9zdEltcGw6OmNyZWF0ZShzZXR0aW5ncywg
dGhpcyk7CisgICAgCisgICAgUmVmUHRyPENDR3JhcGhpY3NDb250ZXh0PiBjb250ZXh0ID0gQ0NH
cmFwaGljc0NvbnRleHQ6OmNyZWF0ZTNEKEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Y3JlYXRl
R3JhcGhpY3NDb250ZXh0RnJvbVdlYkNvbnRleHQoYWRvcHRQdHIobmV3IFBhcnRpYWxTd2FwQ29u
dGV4dCgpKSwgR3JhcGhpY3NDb250ZXh0M0Q6OlJlbmRlckRpcmVjdGx5VG9Ib3N0V2luZG93KSk7
CisKKyAgICBteUhvc3RJbXBsLT5pbml0aWFsaXplTGF5ZXJSZW5kZXJlcihjb250ZXh0LnJlbGVh
c2UoKSwgVW50aHJvdHRsZWRVcGxvYWRlcik7CisgICAgbXlIb3N0SW1wbC0+c2V0Vmlld3BvcnRT
aXplKEludFNpemUoMTAwLCAxMDApKTsKKworICAgIE93blB0cjxDQ0xheWVySW1wbD4gcm9vdCA9
IENDTGF5ZXJJbXBsOjpjcmVhdGUoMSk7CisgICAgQ0NMYXllckltcGwqIHJvb3RQdHIgPSByb290
LmdldCgpOworCisgICAgcm9vdC0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludCgwLCAwKSk7Cisg
ICAgcm9vdC0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCgwLCAwKSk7CisgICAgcm9vdC0+c2V0Qm91
bmRzKEludFNpemUoMTAwLCAxMDApKTsKKyAgICByb290LT5zZXRDb250ZW50Qm91bmRzKEludFNp
emUoMTAwLCAxMDApKTsKKyAgICByb290LT5zZXRWaXNpYmxlTGF5ZXJSZWN0KEludFJlY3QoMCwg
MCwgMTAwLCAxMDApKTsKKyAgICByb290LT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CisgICAgbXlI
b3N0SW1wbC0+c2V0Um9vdExheWVyKHJvb3QucmVsZWFzZSgpKTsKKworICAgIC8vIEludGVybWVk
aWF0ZSBsYXllciBkb2VzIG5vdCBvd24gYSBzdXJmYWNlLCBhbmQgZG9lcyBub3QgZHJhdyBjb250
ZW50LgorICAgIE93blB0cjxDQ0xheWVySW1wbD4gaW50ZXJtZWRpYXRlTGF5ZXIgPSBDQ0xheWVy
SW1wbDo6Y3JlYXRlKDIpOworICAgIENDTGF5ZXJJbXBsKiBpbnRlcm1lZGlhdGVMYXllclB0ciA9
IGludGVybWVkaWF0ZUxheWVyLmdldCgpOworCisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNl
dEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIGludGVybWVkaWF0ZUxheWVyUHRy
LT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KDEwLCAxMCkpOworICAgIGludGVybWVkaWF0ZUxheWVy
UHRyLT5zZXRCb3VuZHMoSW50U2l6ZSgxMDAsIDEwMCkpOworICAgIGludGVybWVkaWF0ZUxheWVy
UHRyLT5zZXRDb250ZW50Qm91bmRzKEludFNpemUoMTAwLCAxMDApKTsKKyAgICBpbnRlcm1lZGlh
dGVMYXllclB0ci0+c2V0VmlzaWJsZUxheWVyUmVjdChJbnRSZWN0KDAsIDAsIDEwMCwgMTAwKSk7
CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNldERyYXdzQ29udGVudChmYWxzZSk7IC8vIG9u
bHkgY2hpbGRyZW4gZHJhdyBjb250ZW50CisgICAgcm9vdFB0ci0+YWRkQ2hpbGQoaW50ZXJtZWRp
YXRlTGF5ZXIucmVsZWFzZSgpKTsKKworICAgIE93blB0cjxDQ0xheWVySW1wbD4gc3VyZmFjZUxh
eWVyID0gQ0NMYXllckltcGw6OmNyZWF0ZSgzKTsKKyAgICBDQ0xheWVySW1wbCogc3VyZmFjZUxh
eWVyUHRyID0gc3VyZmFjZUxheWVyLmdldCgpOworCisgICAgLy8gU3VyZmFjZSBsYXllciBpcyB0
aGUgbGF5ZXIgdGhhdCBjaGFuZ2VzIGl0cyBvcGFjaXR5CisgICAgLy8gSXQgd2lsbCBjb250YWlu
IG90aGVyIGxheWVycyB0aGF0IGRyYXcgY29udGVudC4KKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNl
dEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0
UG9zaXRpb24oRmxvYXRQb2ludCgxMCwgMTApKTsKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldEJv
dW5kcyhJbnRTaXplKDUwLCA1MCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0Q29udGVudEJv
dW5kcyhJbnRTaXplKDUwLCA1MCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0VmlzaWJsZUxh
eWVyUmVjdChJbnRSZWN0KDAsIDAsIDUwLCA1MCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0
RHJhd3NDb250ZW50KGZhbHNlKTsgLy8gb25seSBjaGlsZHJlbiBkcmF3IGNvbnRlbnQKKyAgICBz
dXJmYWNlTGF5ZXJQdHItPnNldE9wYWNpdHkoMC41Zik7IC8vIFRoaXMgd2lsbCBjYXVzZSBpdCB0
byBoYXZlIGEgc3VyZmFjZQorICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5hZGRDaGlsZChzdXJm
YWNlTGF5ZXIucmVsZWFzZSgpKTsKKworICAgIC8vIENoaWxkIG9mIHRoZSBzdXJmYWNlIGxheWVy
IHdpbGwgcHJvZHVjZSBzb21lIHF1YWRzCisgICAgT3duUHRyPEZha2VMYXllcldpdGhRdWFkcz4g
Y2hpbGQgPSBGYWtlTGF5ZXJXaXRoUXVhZHM6OmNyZWF0ZSg0KTsKKyAgICBGYWtlTGF5ZXJXaXRo
UXVhZHMqIGNoaWxkUHRyID0gY2hpbGQuZ2V0KCk7CisKKyAgICBjaGlsZFB0ci0+c2V0QW5jaG9y
UG9pbnQoRmxvYXRQb2ludCgwLCAwKSk7CisgICAgY2hpbGRQdHItPnNldFBvc2l0aW9uKEZsb2F0
UG9pbnQoNSwgNSkpOworICAgIGNoaWxkUHRyLT5zZXRCb3VuZHMoSW50U2l6ZSgxMCwgMTApKTsK
KyAgICBjaGlsZFB0ci0+c2V0Q29udGVudEJvdW5kcyhJbnRTaXplKDEwLCAxMCkpOworICAgIGNo
aWxkUHRyLT5zZXRWaXNpYmxlTGF5ZXJSZWN0KEludFJlY3QoMCwgMCwgMTAsIDEwKSk7CisgICAg
Y2hpbGRQdHItPnNldERyYXdzQ29udGVudCh0cnVlKTsKKworICAgIHN1cmZhY2VMYXllclB0ci0+
YWRkQ2hpbGQoY2hpbGQucmVsZWFzZSgpKTsKKworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVI
b3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBs
LT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVy
cyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOwor
CisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gcmVuZGVyIHBhc3NlcywgZWFjaCB3aXRoIG9u
ZSBxdWFkCisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7
CisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgp
LnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5x
dWFkTGlzdCgpLnNpemUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRl
clBhc3MsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7
CisgICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5k
ZXJQYXNzRHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClbMF0uZ2V0
KCkpOworICAgICAgICBFWFBFQ1RfVFJVRShxdWFkLT5jb250ZW50c0NoYW5nZWQoKSk7CisgICAg
fQorCisgICAgLy8gRHJhdyB3aXRob3V0IGFueSBjaGFuZ2UKKyAgICB7CisgICAgICAgIENDTGF5
ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlI
b3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRy
YXdMYXllcnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZy
YW1lKTsKKworICAgICAgICAvLyBNdXN0IHJlY2VpdmUgdHdvIEVNUFRZIHJlbmRlciBwYXNzZXMK
KyAgICAgICAgQVNTRVJUX0VRKDJVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKyAgICAg
ICAgRVhQRUNUX0VRKDBVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgp
KTsKKyAgICAgICAgRVhQRUNUX0VRKDBVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0
KCkuc2l6ZSgpKTsKKyAgICB9CisKKyAgICAvLyBDaGFuZ2Ugb3BhY2l0eSBhbmQgZHJhdworICAg
IHN1cmZhY2VMYXllclB0ci0+c2V0T3BhY2l0eSgwLjZmKTsKKyAgICB7CisgICAgICAgIENDTGF5
ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlI
b3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRy
YXdMYXllcnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZy
YW1lKTsKKworICAgICAgICAvLyBNdXN0IHJlY2VpdmUgb25lIHJlbmRlciBwYXNzLCBhcyB0aGUg
b3RoZXIgb25lIHNob3VsZCBiZSBjdWxsZWQKKyAgICAgICAgQVNTRVJUX0VRKDFVLCBmcmFtZS5y
ZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRl
clBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3
UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLT5t
YXRlcmlhbCgpKTsKKyAgICAgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQgPSBzdGF0aWNf
Y2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExp
c3QoKVswXS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShxdWFkLT5jb250ZW50c0NoYW5n
ZWQoKSk7CisgICAgfQorCisgICAgLy8gQ2hhbmdlIGxlc3MgYmVuaWduIHByb3BlcnR5IGFuZCBk
cmF3IC0gc2hvdWxkIGhhdmUgY29udGVudHMgY2hhbmdlZCBmbGFnCisgICAgc3VyZmFjZUxheWVy
UHRyLT5zZXRTdGFja2luZ09yZGVyQ2hhbmdlZCh0cnVlKTsKKyAgICB7CisgICAgICAgIENDTGF5
ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlI
b3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRy
YXdMYXllcnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZy
YW1lKTsKKworICAgICAgICAvLyBNdXN0IHJlY2VpdmUgdHdvIHJlbmRlciBwYXNzZXMsIGVhY2gg
d2l0aCBvbmUgcXVhZAorICAgICAgICBBU1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRlclBhc3Nlcy5z
aXplKCkpOworCisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5x
dWFkTGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpTb2xpZENv
bG9yLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOwor
CisgICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQ
YXNzZXNbMV0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBh
c3NEcmF3UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJh
bWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNU
X1RSVUUocXVhZC0+Y29udGVudHNDaGFuZ2VkKCkpOworICAgIH0KKworICAgIC8vIENoYW5nZSBv
cGFjaXR5IGFnYWluLCBidXQgZXZpY3QgdGhlIGNhY2hlZCBzdXJmYWNlIHRleHR1cmUKKyAgICBz
dXJmYWNlTGF5ZXJQdHItPnNldE9wYWNpdHkoMC41Zik7CisgICAgTWFuYWdlZFRleHR1cmUqIGNv
bnRlbnRzVGV4dHVyZSA9IHN1cmZhY2VMYXllclB0ci0+cmVuZGVyU3VyZmFjZSgpLT5jb250ZW50
c1RleHR1cmUoKTsKKyAgICBBU1NFUlRfVFJVRShjb250ZW50c1RleHR1cmUtPmlzVmFsaWQoY29u
dGVudHNUZXh0dXJlLT5zaXplKCksIGNvbnRlbnRzVGV4dHVyZS0+Zm9ybWF0KCkpKTsKKyAgICBD
Q1JlbmRlcmVyKiByZW5kZXJlciA9IG15SG9zdEltcGwtPmxheWVyUmVuZGVyZXIoKTsKKyAgICBU
ZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSByZW5kZXJlci0+aW1wbFRleHR1cmVNYW5h
Z2VyKCk7CisgICAgc2l6ZV90IG1heE1lbW9yeUxpbWl0ID0gdGV4dHVyZU1hbmFnZXItPm1heE1l
bW9yeUxpbWl0Qnl0ZXMoKTsKKworICAgIC8vIFRoaXMgc2hvdWxkIGV2aWNlIGFsbCBjYWNoZWQg
c3VyZmFjZXMKKyAgICB0ZXh0dXJlTWFuYWdlci0+c2V0TWF4TWVtb3J5TGltaXRCeXRlcygwKTsK
KworICAgIC8vIFJlc3RvcmUgb3JpZ2luYWwgbGltaXQKKyAgICB0ZXh0dXJlTWFuYWdlci0+c2V0
TWF4TWVtb3J5TGltaXRCeXRlcyhtYXhNZW1vcnlMaW1pdCk7CisKKyAgICAvLyBXYXMgb3VyIHN1
cmZhY2UgZXZpY3RlZD8KKyAgICBBU1NFUlRfRkFMU0UoY29udGVudHNUZXh0dXJlLT5pc1ZhbGlk
KGNvbnRlbnRzVGV4dHVyZS0+c2l6ZSgpLCBjb250ZW50c1RleHR1cmUtPmZvcm1hdCgpKSk7CisK
KyAgICAvLyBDaGFuZ2Ugb3BhY2l0eSBhbmQgZHJhdworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0
T3BhY2l0eSgwLjZmKTsKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1l
RGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJh
dyhmcmFtZSkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAg
ICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKKworICAgICAgICAvLyBN
dXN0IHJlY2VpdmUgdHdvIHJlbmRlciBwYXNzZXMKKyAgICAgICAgQVNTRVJUX0VRKDJVLCBmcmFt
ZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKworICAgICAgICAvLyBFdmVuIHRob3VnaCBub3QgZW5v
dWdoIHByb3BlcnRpZXMgY2hhbmdlZCwgdGhlIGVudGlyZSB0aGluZyBtdXN0IGJlCisgICAgICAg
IC8vIHJlZHJhd24gYXMgd2UgZG9uJ3QgaGF2ZSBjYWNoZWQgdGV4dHVyZXMKKyAgICAgICAgRVhQ
RUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAg
ICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KCkuc2l6
ZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUu
cmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgpKTsKKyAgICAgICAgQ0NS
ZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVh
ZCo+KGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAg
IEVYUEVDVF9GQUxTRShxdWFkLT5jb250ZW50c0NoYW5nZWQoKSk7CisgICAgfQorCisgICAgLy8g
RHJhdyB3aXRob3V0IGFueSBjaGFuZ2UsIHRvIG1ha2Ugc3VyZSB0aGUgc3RhdGUgaXMgY2xlYXIK
KyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAg
ICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisg
ICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBs
LT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKKworICAgICAgICAvLyBNdXN0IHJlY2VpdmUgdHdv
IEVNUFRZIHJlbmRlciBwYXNzZXMKKyAgICAgICAgQVNTRVJUX0VRKDJVLCBmcmFtZS5yZW5kZXJQ
YXNzZXMuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDBVLCBmcmFtZS5yZW5kZXJQYXNzZXNb
MF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDBVLCBmcmFtZS5yZW5k
ZXJQYXNzZXNbMV0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICB9CisKKyAgICAvLyBDaGFuZ2Ug
b3BhY2l0eSBvbiB0aGUgaW50ZXJtZWRpYXRlIGxheWVyCisgICAgV2ViVHJhbnNmb3JtYXRpb25N
YXRyaXggdHJhbnNmb3JtID0gaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnRyYW5zZm9ybSgpOworICAg
IHRyYW5zZm9ybS5zZXRNMTEoMS4wMDAxKTsKKyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0
VHJhbnNmb3JtKHRyYW5zZm9ybSk7CisgICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBs
OjpGcmFtZURhdGEgZnJhbWU7CisgICAgICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBh
cmVUb0RyYXcoZnJhbWUpKTsKKworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1l
KTsKKyAgICAgICAgbXlIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisKKyAgICAg
ICAgLy8gTXVzdCByZWNlaXZlIG9uZSByZW5kZXIgcGFzcywgYXMgdGhlIG90aGVyIG9uZSBzaG91
bGQgYmUgY3VsbGVkLgorICAgICAgICBBU1NFUlRfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlcy5z
aXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVh
ZExpc3QoKS5zaXplKCkpOworCisgICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQ
YXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOwor
ICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVy
UGFzc0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpWzBdLmdldCgp
KTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHF1YWQtPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKyAgICB9
Cit9CisKK3N0cnVjdCBSZW5kZXJQYXNzQ2FjaGVFbnRyeSB7CisgICAgbXV0YWJsZSBPd25QdHI8
Q0NSZW5kZXJQYXNzPiByZW5kZXJQYXNzUHRyOworICAgIENDUmVuZGVyUGFzcyogcmVuZGVyUGFz
czsKKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5KFBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzPiBy
KQorICAgICAgICA6IHJlbmRlclBhc3NQdHIociksCisgICAgICAgICAgcmVuZGVyUGFzcyhyZW5k
ZXJQYXNzUHRyLmdldCgpKQorICAgIHsKKyAgICB9CisKKyAgICBSZW5kZXJQYXNzQ2FjaGVFbnRy
eSgpCisgICAgeworICAgIH0KKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5KGNvbnN0IFJlbmRl
clBhc3NDYWNoZUVudHJ5JiBlbnRyeSkKKyAgICAgICAgOiByZW5kZXJQYXNzUHRyKGVudHJ5LnJl
bmRlclBhc3NQdHIucmVsZWFzZSgpKSwKKyAgICAgICAgICByZW5kZXJQYXNzKGVudHJ5LnJlbmRl
clBhc3MpCisgICAgeworICAgIH0KKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5JiBvcGVyYXRv
cj0oY29uc3QgUmVuZGVyUGFzc0NhY2hlRW50cnkmIGVudHJ5KQorICAgIHsKKyAgICAgICAgcmVu
ZGVyUGFzc1B0ciA9IGVudHJ5LnJlbmRlclBhc3NQdHIucmVsZWFzZSgpOworICAgICAgICByZW5k
ZXJQYXNzID0gZW50cnkucmVuZGVyUGFzczsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0K
K307CisKK3N0cnVjdCBSZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhIHsKKyAgICBDQ1JlbmRlclBh
c3NMaXN0IHJlbmRlclBhc3NMaXN0OworICAgIHN0ZDo6bWFwPGNoYXIsIFJlbmRlclBhc3NDYWNo
ZUVudHJ5PiByZW5kZXJQYXNzQ2FjaGU7CisgICAgc3RkOjptYXA8Y29uc3QgQ0NSZW5kZXJQYXNz
KiwgY2hhcj4gcmVuZGVyUGFzc0lkOworICAgIFZlY3RvcjxPd25QdHI8Q0NSZW5kZXJTdXJmYWNl
PiA+IHJlbmRlclN1cmZhY2VTdG9yZTsKKyAgICBWZWN0b3I8T3duUHRyPENDTGF5ZXJJbXBsPiA+
IGxheWVyU3RvcmU7CisgICAgT3duUHRyPENDU2hhcmVkUXVhZFN0YXRlPiBzaGFyZWRRdWFkU3Rh
dGU7Cit9OworCitjbGFzcyBGYWtlUmVuZGVyU3VyZmFjZSA6IHB1YmxpYyBDQ1JlbmRlclN1cmZh
Y2UgeworcHJpdmF0ZToKKyAgICBib29sIG1faGFzQ2FjaGVkVGV4dHVyZTsKKworcHVibGljOgor
ICAgIEZha2VSZW5kZXJTdXJmYWNlKENDTGF5ZXJJbXBsKiBsYXllckltcGwpCisgICAgICAgIDog
Q0NSZW5kZXJTdXJmYWNlKGxheWVySW1wbCksCisgICAgICAgICAgbV9oYXNDYWNoZWRUZXh0dXJl
KGZhbHNlKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQ2FjaGVkQ29udGVu
dHNUZXh0dXJlKCkgY29uc3QgT1ZFUlJJREUKKyAgICB7CisgICAgICAgIHJldHVybiBtX2hhc0Nh
Y2hlZFRleHR1cmU7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIHByZXBhcmVDb250ZW50c1Rl
eHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBscmMpIE9WRVJSSURFCisgICAgeworICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldEhhc0NhY2hlZFRleHR1cmUoYm9v
bCBoYXNDYWNoZWRUZXh0dXJlKQorICAgIHsKKyAgICAgICAgbV9oYXNDYWNoZWRUZXh0dXJlID0g
aGFzQ2FjaGVkVGV4dHVyZTsKKyAgICB9Cit9OworCitzdGF0aWMgUGFzc093blB0cjxDQ1JlbmRl
clBhc3M+IGNyZWF0ZUR1bW15UmVuZGVyUGFzcyhSZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhJiB0
ZXN0RGF0YSkKK3sKKyAgICBPd25QdHI8Q0NMYXllckltcGw+IGxheWVySW1wbCA9IENDTGF5ZXJJ
bXBsOjpjcmVhdGUoMSk7CisgICAgQ0NSZW5kZXJTdXJmYWNlKiByZW5kZXJTdXJmYWNlID0gbmV3
IEZha2VSZW5kZXJTdXJmYWNlKGxheWVySW1wbC5nZXQoKSk7CisgICAgT3duUHRyPENDUmVuZGVy
UGFzcz4gcmVuZGVyUGFzc1B0ciA9IENDUmVuZGVyUGFzczo6Y3JlYXRlKHJlbmRlclN1cmZhY2Up
OworCisgICAgdGVzdERhdGEucmVuZGVyU3VyZmFjZVN0b3JlLmFwcGVuZChhZG9wdFB0cihyZW5k
ZXJTdXJmYWNlKSk7CisgICAgdGVzdERhdGEubGF5ZXJTdG9yZS5hcHBlbmQobGF5ZXJJbXBsLnJl
bGVhc2UoKSk7CisgICAgcmV0dXJuIHJlbmRlclBhc3NQdHIucmVsZWFzZSgpOworfQorCitzdGF0
aWMgdm9pZCBjb25maWd1cmVSZW5kZXJQYXNzVGVzdERhdGEoY29uc3QgY2hhciogdGVzdFNjcmlw
dCwgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSYgdGVzdERhdGEpCit7CisgICAgLy8gT25lIHNo
YXJlZCBzdGF0ZSBmb3IgYWxsIHF1YWRzIC0gd2UgZG9uJ3QgbmVlZCB0aGUgY29ycmVjdCBkZXRh
aWxzCisgICAgdGVzdERhdGEuc2hhcmVkUXVhZFN0YXRlID0gQ0NTaGFyZWRRdWFkU3RhdGU6OmNy
ZWF0ZShXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCgp
LCBJbnRSZWN0KCksIEludFJlY3QoKSwgMS4wLCB0cnVlKTsKKworICAgIGNvbnN0IGNoYXIqIGN1
cnJlbnRDaGFyID0gdGVzdFNjcmlwdDsKKworICAgIC8vIFByZS1jcmVhdGUgcm9vdCBwYXNzCisg
ICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcm9vdFJlbmRlclBhc3MgPSBjcmVhdGVEdW1teVJlbmRl
clBhc3ModGVzdERhdGEpOworICAgIHRlc3REYXRhLnJlbmRlclBhc3NJZC5pbnNlcnQoc3RkOjpw
YWlyPENDUmVuZGVyUGFzcyosIGNoYXI+KHJvb3RSZW5kZXJQYXNzLmdldCgpLCB0ZXN0U2NyaXB0
WzBdKSk7CisgICAgdGVzdERhdGEucmVuZGVyUGFzc0NhY2hlLmluc2VydChzdGQ6OnBhaXI8Y2hh
ciwgUmVuZGVyUGFzc0NhY2hlRW50cnk+KHRlc3RTY3JpcHRbMF0sIFJlbmRlclBhc3NDYWNoZUVu
dHJ5KHJvb3RSZW5kZXJQYXNzLnJlbGVhc2UoKSkpKTsKKyAgICB3aGlsZSAoKmN1cnJlbnRDaGFy
ICE9ICdcMCcpIHsKKyAgICAgICAgY2hhciByZW5kZXJQYXNzSWQgPSBjdXJyZW50Q2hhclswXTsK
KyAgICAgICAgY3VycmVudENoYXIrKzsKKworICAgICAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiBy
ZW5kZXJQYXNzOworCisgICAgICAgIGJvb2wgaXNSZXBsaWNhID0gZmFsc2U7CisgICAgICAgIGlm
ICghdGVzdERhdGEucmVuZGVyUGFzc0NhY2hlW3JlbmRlclBhc3NJZF0ucmVuZGVyUGFzc1B0ci5n
ZXQoKSkKKyAgICAgICAgICAgIGlzUmVwbGljYSA9IHRydWU7CisKKyAgICAgICAgcmVuZGVyUGFz
cyA9IHRlc3REYXRhLnJlbmRlclBhc3NDYWNoZVtyZW5kZXJQYXNzSWRdLnJlbmRlclBhc3NQdHIu
cmVsZWFzZSgpOworCisgICAgICAgIC8vIEN5Y2xlIHRocm91Z2ggcXVhZCBkYXRhIGFuZCBjcmVh
dGUgYWxsIHF1YWRzCisgICAgICAgIHdoaWxlICgqY3VycmVudENoYXIgIT0gJ1xuJyAmJiAqY3Vy
cmVudENoYXIgIT0gJ1wwJykgeworICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhciA9PSAncycp
IHsKKyAgICAgICAgICAgICAgICAvLyBTb2xpZCBjb2xvciBkcmF3IHF1YWQKKyAgICAgICAgICAg
ICAgICBPd25QdHI8Q0NEcmF3UXVhZD4gcXVhZCA9IENDU29saWRDb2xvckRyYXdRdWFkOjpjcmVh
dGUodGVzdERhdGEuc2hhcmVkUXVhZFN0YXRlLmdldCgpLCBJbnRSZWN0KDAsIDAsIDEwLCAxMCks
IENvbG9yOjp3aGl0ZSk7CisgICAgICAgICAgICAgICAgcmVuZGVyUGFzcy0+YXBwZW5kUXVhZChx
dWFkLnJlbGVhc2UoKSk7CisgICAgICAgICAgICAgICAgY3VycmVudENoYXIrKzsKKyAgICAgICAg
ICAgIH0gZWxzZSBpZiAoKCpjdXJyZW50Q2hhciA+PSAnQScpICYmICgqY3VycmVudENoYXIgPD0g
J1onKSkgeworICAgICAgICAgICAgICAgIC8vIFJlbmRlclBhc3MgZHJhdyBxdWFkCisgICAgICAg
ICAgICAgICAgY2hhciBuZXdSZW5kZXJQYXNzSWQgPSAqY3VycmVudENoYXI7CisgICAgICAgICAg
ICAgICAgY3VycmVudENoYXIrKzsKKyAgICAgICAgICAgICAgICBib29sIGhhc1RleHR1cmUgPSBm
YWxzZTsKKyAgICAgICAgICAgICAgICBib29sIGNvbnRlbnRzQ2hhbmdlZCA9IHRydWU7CisgICAg
ICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhciA9PSAnWycpIHsK
KyAgICAgICAgICAgICAgICAgICAgY3VycmVudENoYXIrKzsKKyAgICAgICAgICAgICAgICAgICAg
d2hpbGUgKCgqY3VycmVudENoYXIgIT0gJ10nKSAmJiAoKmN1cnJlbnRDaGFyICE9ICdcMCcpKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKCpjdXJyZW50Q2hhcikgeworICAgICAg
ICAgICAgICAgICAgICAgICAgY2FzZSAnYyc6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29udGVudHNDaGFuZ2VkID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICd0JzoKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBoYXNUZXh0dXJlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIGN1cnJlbnRDaGFyKys7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICAgICAgaWYgKCpjdXJyZW50Q2hhciA9PSAnXScpCisgICAgICAgICAgICAgICAgICAgICAgICBj
dXJyZW50Q2hhcisrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAKKyAgICAg
ICAgICAgICAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZWZSZW5kZXJQYXNzID0gY3JlYXRlRHVt
bXlSZW5kZXJQYXNzKHRlc3REYXRhKTsKKyAgICAgICAgICAgICAgICBPd25QdHI8Q0NSZW5kZXJQ
YXNzRHJhd1F1YWQ+IHF1YWQgPSBDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Y3JlYXRlKHRlc3REYXRh
LnNoYXJlZFF1YWRTdGF0ZS5nZXQoKSwgSW50UmVjdCgpLCByZWZSZW5kZXJQYXNzLmdldCgpLCBp
c1JlcGxpY2EsIFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucygpLCBXZWJLaXQ6OldlYkZpbHRl
ck9wZXJhdGlvbnMoKSwgMSwgY29udGVudHNDaGFuZ2VkKTsKKyAgICAgICAgICAgICAgICBGYWtl
UmVuZGVyU3VyZmFjZSogcmVmUmVuZGVyU3VyZmFjZSA9IHN0YXRpY19jYXN0PEZha2VSZW5kZXJT
dXJmYWNlKj4ocmVmUmVuZGVyUGFzcy0+dGFyZ2V0U3VyZmFjZSgpKTsKKyAgICAgICAgICAgICAg
ICByZWZSZW5kZXJTdXJmYWNlLT5zZXRIYXNDYWNoZWRUZXh0dXJlKGhhc1RleHR1cmUpOworICAg
ICAgICAgICAgICAgIHRlc3REYXRhLnJlbmRlclBhc3NJZC5pbnNlcnQoc3RkOjpwYWlyPENDUmVu
ZGVyUGFzcyosIGNoYXI+KHJlZlJlbmRlclBhc3MuZ2V0KCksIG5ld1JlbmRlclBhc3NJZCkpOwor
ICAgICAgICAgICAgICAgIHRlc3REYXRhLnJlbmRlclBhc3NDYWNoZS5pbnNlcnQoc3RkOjpwYWly
PGNoYXIsIFJlbmRlclBhc3NDYWNoZUVudHJ5PihuZXdSZW5kZXJQYXNzSWQsIFJlbmRlclBhc3ND
YWNoZUVudHJ5KHJlZlJlbmRlclBhc3MucmVsZWFzZSgpKSkpOworICAgICAgICAgICAgICAgIHJl
bmRlclBhc3MtPmFwcGVuZFF1YWQocXVhZC5yZWxlYXNlKCkpOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgICAgIHRlc3REYXRhLnJlbmRlclBhc3NMaXN0Lmluc2VydCgwLCByZW5kZXJQ
YXNzLnJlbGVhc2UoKSk7CisgICAgICAgIGlmICgqY3VycmVudENoYXIgIT0gJ1wwJykKKyAgICAg
ICAgICAgIGN1cnJlbnRDaGFyKys7CisgICAgfQorfQorCit2b2lkIGR1bXBSZW5kZXJQYXNzVGVz
dERhdGEoY29uc3QgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSYgdGVzdERhdGEsIGNoYXIqIGJ1
ZmZlcikKK3sKKyAgICBjaGFyKiBwb3MgPSBidWZmZXI7CisgICAgQ0NSZW5kZXJQYXNzTGlzdDo6
Y29uc3RfcmV2ZXJzZV9pdGVyYXRvciBpdCA9IHRlc3REYXRhLnJlbmRlclBhc3NMaXN0LnJiZWdp
bigpOworICAgIHdoaWxlIChpdCAhPSB0ZXN0RGF0YS5yZW5kZXJQYXNzTGlzdC5yZW5kKCkpIHsK
KyAgICAgICAgQ0NSZW5kZXJQYXNzKiBjdXJyZW50UGFzcyA9IGl0LT5nZXQoKTsKKyAgICAgICAg
Y2hhciBwYXNzSWQgPSB0ZXN0RGF0YS5yZW5kZXJQYXNzSWQuZmluZChjdXJyZW50UGFzcyktPnNl
Y29uZDsKKyAgICAgICAgKnBvcyA9IHBhc3NJZDsKKyAgICAgICAgcG9zKys7CisKKyAgICAgICAg
Q0NRdWFkTGlzdDo6Y29uc3RfaXRlcmF0b3IgcXVhZExpc3RJdGVyYXRvciA9IGN1cnJlbnRQYXNz
LT5xdWFkTGlzdCgpLmJlZ2luKCk7CisgICAgICAgIHdoaWxlIChxdWFkTGlzdEl0ZXJhdG9yICE9
IGN1cnJlbnRQYXNzLT5xdWFkTGlzdCgpLmVuZCgpKSB7CisgICAgICAgICAgICBDQ0RyYXdRdWFk
KiBjdXJyZW50UXVhZCA9ICgqcXVhZExpc3RJdGVyYXRvcikuZ2V0KCk7CisgICAgICAgICAgICBz
d2l0Y2ggKGN1cnJlbnRRdWFkLT5tYXRlcmlhbCgpKSB7CisgICAgICAgICAgICBjYXNlIENDRHJh
d1F1YWQ6OlNvbGlkQ29sb3I6CisgICAgICAgICAgICAgICAgKnBvcyA9ICdzJzsKKyAgICAgICAg
ICAgICAgICBwb3MrKzsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2Ug
Q0NEcmF3UXVhZDo6UmVuZGVyUGFzczoKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiByZW5kZXJQYXNzRHJhd1F1YWQgPSBzdGF0aWNf
Y2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGN1cnJlbnRRdWFkKTsKKyAgICAgICAgICAgICAg
ICAgICAgY29uc3QgQ0NSZW5kZXJQYXNzKiByZWZQYXNzID0gcmVuZGVyUGFzc0RyYXdRdWFkLT5y
ZW5kZXJQYXNzKCk7CisgICAgICAgICAgICAgICAgICAgIGNoYXIgcmVmUGFzc0lkID0gdGVzdERh
dGEucmVuZGVyUGFzc0lkLmZpbmQocmVmUGFzcyktPnNlY29uZDsKKyAgICAgICAgICAgICAgICAg
ICAgKnBvcyA9IHJlZlBhc3NJZDsKKyAgICAgICAgICAgICAgICAgICAgcG9zKys7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgICAgICAqcG9zID0gJ3gnOworICAgICAgICAgICAgICAgIHBvcysrOworICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAg
ICAgICBxdWFkTGlzdEl0ZXJhdG9yKys7CisgICAgICAgIH0KKyAgICAgICAgKnBvcyA9ICdcbic7
CisgICAgICAgIHBvcysrOworICAgICAgICBpdCsrOworICAgIH0KKyAgICAqcG9zID0gJ1wwJzsK
K30KKworc3RhdGljIHZvaWQgdmVyaWZ5UmVuZGVyUGFzc1Rlc3REYXRhKGNvbnN0IGNoYXIqIGV4
cGVjdGVkUmVzdWx0LCBSZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhJiB0ZXN0RGF0YSkKK3sKKyAg
ICBjaGFyIGFjdHVhbFJlc3VsdFsxMDI0XTsKKyAgICBkdW1wUmVuZGVyUGFzc1Rlc3REYXRhKHRl
c3REYXRhLCBhY3R1YWxSZXN1bHQpOworICAgIEVYUEVDVF9TVFJFUShleHBlY3RlZFJlc3VsdCwg
YWN0dWFsUmVzdWx0KTsKK30KKworLy8gRWFjaCBDQ1JlbmRlclBhc3NMaXN0IGlzIHJlcHJlc2Vu
dGVkIGJ5IGEgc3RyaW5nIHdoaWNoIGRlc2NyaWJlcyB0aGUgY29uZmlndXJhdGlvbi4KKy8vIFRo
ZSBzeW50YXggb2YgdGhlIHN0cmluZyBpcyBhcyBmb2xsb3dzOgorLy8KKy8vICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUnNzc3NzWFtjXXNzWXNz
c1pbdF1zc1dbY3RdCisvLyBJZGVudGlmaWVzIHRoZSByZW5kZXIgcGFzcy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLV4gXl5eIF4gXiAgIF4gICAgIF4gICAgIF4KKy8vIFRoZXNlIGFyZSBzb2xp
ZCBjb2xvciBxdWFkcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgfCB8ICAgfCAgICAg
fCAgICAgfAorLy8gSWRlbnRpZmllcyBSZW5kZXJQYXNzRHJhd1F1YWQncyBSZW5kZXJQYXNzLS0t
LS0tLS0tLS0tLS0tLS0rIHwgICB8ICAgICB8ICAgICB8CisvLyBUaGlzIHF1YWQncyBjb250ZW50
cyBkaWRuJ3QgY2hhbmdlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgIHwgICAgIHwgICAg
IHwKKy8vIFRoaXMgcXVhZCdzIGNvbnRlbnRzIGNoYW5nZWQgYW5kIGl0IGhhcyBubyB0ZXh0dXJl
LS0tLS0tLS0tLS0tLS0tKyAgICAgfCAgICAgfAorLy8gVGhpcyBxdWFkIGhhcyB0ZXh0dXJlIGJ1
dCBpdHMgY29udGVudHMgY2hhbmdlZC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgICB8Cisv
LyBUaGlzIHF1YWQncyBjb250ZW50cyBkaWRuJ3QgY2hhbmdlIGFuZCBpdCBoYXMgdGV4dHVyZSAt
IHdpbGwgYmUgcmVtb3ZlZC0tLS0tLSsKKy8vCisvLyBFeHBlY3RlZCByZXN1bHRzIGhhdmUgZXhh
Y3RseSB0aGUgc2FtZSBzeW50YXgsIGV4Y2VwdCB0aGV5IGRvIG5vdCB1c2Ugc3F1YXJlIGJyYWNr
ZXRzLAorLy8gc2luY2Ugd2Ugb25seSBjaGVjayB0aGUgc3RydWN0dXJlLCBub3QgYXR0cmlidXRl
cy4KKy8vCisvLyBUZXN0IGNhc2UgY29uZmlndXJhdGlvbiBjb25zaXN0cyBvZiBpbml0aWFsaXph
dGlvbiBzY3JpcHQgYW5kIGV4cGVjdGVkIHJlc3VsdHMsCisvLyBhbGwgaW4gdGhlIHNhbWUgZm9y
bWF0Lgorc3RydWN0IFRlc3RDYXNlIHsKKyAgICBjb25zdCBjaGFyKiBuYW1lOworICAgIGNvbnN0
IGNoYXIqIGluaXRTY3JpcHQ7CisgICAgY29uc3QgY2hhciogZXhwZWN0ZWRSZXN1bHQ7Cit9Owor
CitUZXN0Q2FzZSByZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1tdID0KKyAgICB7CisgICAgICAgIHsK
KyAgICAgICAgICAgICJTaW5nbGUgcm9vdCBwYXNzIiwKKyAgICAgICAgICAgICJSc3Nzc1xuIiwK
KyAgICAgICAgICAgICJSc3Nzc1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiU2luZ2xl
IHBhc3MgLSBubyBxdWFkcyIsCisgICAgICAgICAgICAiUlxuIiwKKyAgICAgICAgICAgICJSXG4i
CisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJUd28gcGFzc2VzLCBubyByZW1vdmFsIiwKKyAg
ICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIiwKKyAgICAgICAg
ICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIgorICAgICAgICB9LCB7Cisg
ICAgICAgICAgICAiVHdvIHBhc3NlcywgcmVtb3ZlIGxhc3QiLAorICAgICAgICAgICAgIlJzc3Nz
QVtjdF1zc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0Fz
c3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIkhhdmUgdGV4dHVyZSBidXQgY29udGVu
dHMgY2hhbmdlZCAtIGxlYXZlIHBhc3MiLAorICAgICAgICAgICAgIlJzc3NzQVt0XXNzc1xuIgor
ICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAg
ICAgICAgIkFzc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJDb250ZW50cyBkaWRu
J3QgY2hhbmdlIGJ1dCBubyB0ZXh0dXJlIC0gbGVhdmUgcGFzcyIsCisgICAgICAgICAgICAiUnNz
c3NBW2Ndc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIsCisgICAgICAgICAgICAiUnNzc3NB
c3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAg
IlJlcGxpY2E6IHR3byBxdWFkcyByZWZlcmVuY2UgdGhlIHNhbWUgcGFzczsgcmVtb3ZlIiwKKyAg
ICAgICAgICAgICJSc3Nzc0FbY3RdQVtjdF1zc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIiwK
KyAgICAgICAgICAgICJSc3Nzc0FBc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJS
ZXBsaWNhOiB0d28gcXVhZHMgcmVmZXJlbmNlIHRoZSBzYW1lIHBhc3M7IGxlYXZlIiwKKyAgICAg
ICAgICAgICJSc3Nzc0FbY11BW2Ndc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIsCisgICAg
ICAgICAgICAiUnNzc3NBQXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICB9
LCB7CisgICAgICAgICAgICAiTWFueSBwYXNzZXMsIHJlbW92ZSBhbGwiLAorICAgICAgICAgICAg
IlJzc3NzQVtjdF1zc3NcbiIKKyAgICAgICAgICAgICJBc3NzQltjdF1DW2N0XXNcbiIKKyAgICAg
ICAgICAgICJCc3NzRFtjdF1zc0VbY3RdRltjdF1cbiIKKyAgICAgICAgICAgICJFc3Nzc3NzXG4i
CisgICAgICAgICAgICAiQ0dbY3RdXG4iCisgICAgICAgICAgICAiRHNzc3Nzc3NcbiIKKyAgICAg
ICAgICAgICJGc3Nzc3Nzc1xuIgorICAgICAgICAgICAgIkdzc3NcbiIsCisKKyAgICAgICAgICAg
ICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIkRlZXAgcmVjdXJzaW9u
LCByZW1vdmUgYWxsIiwKKworICAgICAgICAgICAgIlJzc3Nzc0FbY3Rdc3Nzc1xuIgorICAgICAg
ICAgICAgIkFzc3NzQnNzc1xuIgorICAgICAgICAgICAgIkJDXG4iCisgICAgICAgICAgICAiQ0Rc
biIKKyAgICAgICAgICAgICJERVxuIgorICAgICAgICAgICAgIkVGXG4iCisgICAgICAgICAgICAi
RkdcbiIKKyAgICAgICAgICAgICJHSFxuIgorICAgICAgICAgICAgIkhzc3NJc3NzXG4iCisgICAg
ICAgICAgICAiSUpcbiIKKyAgICAgICAgICAgICJKc3Nzc1xuIiwKKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgIlJzc3Nzc0Fzc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJXaWRl
IHJlY3Vyc2lvbiwgcmVtb3ZlIGFsbCIsCisgICAgICAgICAgICAiUkFbY3RdQltjdF1DW2N0XURb
Y3RdRVtjdF1GW2N0XUdbY3RdSFtjdF1JW2N0XUpbY3RdXG4iCisgICAgICAgICAgICAiQXNcbiIK
KyAgICAgICAgICAgICJCc1xuIgorICAgICAgICAgICAgIkNzc3NzXG4iCisgICAgICAgICAgICAi
RHNzc3NcbiIKKyAgICAgICAgICAgICJFc1xuIgorICAgICAgICAgICAgIkZcbiIKKyAgICAgICAg
ICAgICJHc1xuIgorICAgICAgICAgICAgIkhzXG4iCisgICAgICAgICAgICAiSXNcbiIKKyAgICAg
ICAgICAgICJKc3Nzc1xuIiwKKyAgICAgICAgICAgIAorICAgICAgICAgICAgIlJBQkNERUZHSElK
XG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJSZW1vdmUgcGFzc2VzIHJlZ2FyZGxlc3Mg
b2YgY2FjaGUgc3RhdGUiLAorICAgICAgICAgICAgIlJzc3NzQVtjdF1zc3NcbiIKKyAgICAgICAg
ICAgICJBc3NzQkNzXG4iCisgICAgICAgICAgICAiQnNzc0RbY11zc0VbdF1GXG4iCisgICAgICAg
ICAgICAiRXNzc3Nzc1xuIgorICAgICAgICAgICAgIkNHXG4iCisgICAgICAgICAgICAiRHNzc3Nz
c3NcbiIKKyAgICAgICAgICAgICJGc3Nzc3Nzc1xuIgorICAgICAgICAgICAgIkdzc3NcbiIsCisK
KyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIkxl
YXZlIHNvbWUgcGFzc2VzLCByZW1vdmUgb3RoZXJzIiwKKworICAgICAgICAgICAgIlJzc3NzQVtj
XXNzc1xuIgorICAgICAgICAgICAgIkFzc3NCW3RdQ1tjdF1zXG4iCisgICAgICAgICAgICAiQnNz
c0RbY11zc1xuIgorICAgICAgICAgICAgIkNHXG4iCisgICAgICAgICAgICAiRHNzc3Nzc3NcbiIK
KyAgICAgICAgICAgICJHc3NzXG4iLAorCisgICAgICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAg
ICAgICAgICAiQXNzc0JDc1xuIgorICAgICAgICAgICAgIkJzc3NEc3NcbiIKKyAgICAgICAgICAg
ICJEc3Nzc3Nzc1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAwLCAwLCAwCisgICAgICAg
IH0KKyAgICB9OworCitURVNUKFJlbmRlclBhc3NSZW1vdmFsVGVzdCwgdGVzdFJlbW92ZVJlbmRl
clBhc3NlcykKK3sKKyAgICBpbnQgdGVzdENhc2VJbmRleCA9IDA7CisgICAgd2hpbGUgKHJlbW92
ZVJlbmRlclBhc3Nlc0Nhc2VzW3Rlc3RDYXNlSW5kZXhdLm5hbWUpIHsKKyAgICAgICAgRGVidWdT
Y29wZWRTZXRJbXBsVGhyZWFkIGltcGxUaHJlYWQ7CisgICAgICAgIFJlbmRlclBhc3NSZW1vdmFs
VGVzdERhdGEgdGVzdERhdGE7CisgICAgICAgIGNvbmZpZ3VyZVJlbmRlclBhc3NUZXN0RGF0YShy
ZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2FzZUluZGV4XS5pbml0U2NyaXB0LCB0ZXN0RGF0
YSk7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OnJlbW92ZVBhc3Nlc1dpdGhDYWNoZWRU
ZXh0dXJlcyh0ZXN0RGF0YS5yZW5kZXJQYXNzTGlzdCk7CisgICAgICAgIHZlcmlmeVJlbmRlclBh
c3NUZXN0RGF0YShyZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2FzZUluZGV4XS5leHBlY3Rl
ZFJlc3VsdCwgdGVzdERhdGEpOworICAgICAgICB0ZXN0Q2FzZUluZGV4Kys7CisgICAgfQorfQor
CiB9IC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147685</attachid>
            <date>2012-06-14 17:22:11 -0700</date>
            <delta_ts>2012-06-15 08:05:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88482-20120614202210.patch</filename>
            <type>text/plain</type>
            <size>54152</size>
            <attacher>zlieber</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGZmM2M2NjAzNGMyODQ4
ZWQ5OWRhMTkxMmY3NzI3OWQxOTlhOWU2NS4uNTZjZWU3OGZlMjA3ZThjYjMyYWQ1NWNlZDEwMGZj
MjgzZDQ4MzRhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDEyLTA2LTE0ICBaZWV2
IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ29t
cG9zaXRvciBzaG91bGQgYXZvaWQgZHJhd2luZyBxdWFkcyB3aGVuIGNhY2hlZCB0ZXh0dXJlcyBh
cmUgYXZhaWxhYmxlIGFuZCBjb250ZW50cyB1bmNoYW5nZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUG9zdC1wcm9jZXNzaW5nIENDUmVuZGVyUGFzc0xp
c3QgYWZ0ZXIgaXQncyBiZWVuIGdlbmVyYXRlZCBhbmQKKyAgICAgICAgcmVtb3ZpbmcgYWxsIHJl
bmRlciBzdXJmYWNlIHF1YWRzIGZvciB3aGljaCB0aGVyZSBhcmUKKyAgICAgICAgY2FjaGVkIHRl
eHR1cmVzLCBhbmQgd2hvc2UgY29udGVudCBkaWRuJ3QgY2hhbmdlLiBBZGRlZCBhIG5ldworICAg
ICAgICBmbGFnIHRvIENDTGF5ZXJJbXBsIHRvIGRpZmZlcmVudGlhdGUgc3VyZmFjZSBwcm9wZXJ0
eSBjaGFuZ2UgYW5kCisgICAgICAgIGxheWVyIHByb3BlcnR5IGNoYW5nZS4KKworICAgICAgICBU
aGUgY2hhbmdlcyBhcmUgY292ZXJlZCBieSBuZXcgdW5pdCB0ZXN0cyB0aGF0IGNoZWNrIHRoYXQK
KyAgICAgICAgdGhlIHJlbW92YWwgYWxnb3JpdGhtIGZ1bmN0aW9ucyBwcm9wZXJ0bHkuIE5vIHJl
bmRlcmluZworICAgICAgICBiZWhhdmlvdXIgY2hhbmdlLCBzbyBubyBuZXcgbGF5b3V0IHRlc3Rz
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFj
a2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmxheWVyVGFyZ2V0U3VyZmFjZVJlcXVpcmVzUmVk
cmF3aW5nKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NEYW1hZ2VU
cmFja2VyOjpleHRlbmREYW1hZ2VGb3JMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpDQ0RhbWFn
ZVRyYWNrZXI6OmV4dGVuZERhbWFnZUZvclJlbmRlclN1cmZhY2UpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNDTGF5ZXJJbXBsOjpDQ0xheWVySW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVy
SW1wbDo6bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OnJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdGb3JT
dWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXRPcGFjaXR5KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXRUcmFuc2Zvcm0pOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmg6CisgICAgICAgIChDQ0xh
eWVySW1wbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
clRyZWVIb3N0SW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBs
OjpjYWxjdWxhdGVSZW5kZXJQYXNzZXMpOgorICAgICAgICAoV2ViQ29yZTo6aW5kZXhPZlJlbmRl
clBhc3MpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJl
ZUhvc3RJbXBsOjpyZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUpOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3ZlUGFzc2VzV2l0aENhY2hlZFRleHR1cmVzKToK
KyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OnByZXBhcmVUb0RyYXcpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdElt
cGwuaDoKKyAgICAgICAgKEZyYW1lRGF0YSk6CisgICAgICAgIChDQ0xheWVyVHJlZUhvc3RJbXBs
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3Mu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJQYXNzOjphcHBlbmRRdWFkKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
UmVuZGVyUGFzcy5oOgorICAgICAgICAoQ0NSZW5kZXJQYXNzKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5jcHA6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpDQ1JlbmRlclN1cmZhY2Up
OgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpwcmVwYXJlQ29udGVudHNUZXh0
dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyU3VyZmFjZTo6aGFzQ2FjaGVkQ29udGVu
dHNUZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5k
ZXJTdXJmYWNlOjpjb250ZW50c0NoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oOgorICAgICAgICAoQ0NSZW5kZXJTdXJmYWNl
KToKKwogMjAxMi0wNi0xNCAgWGlhbnpodSBXYW5nICA8d2FuZ3hpYW56aHVAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtDaHJvbWl1bV0gQWRkIHNldEF1dG9IaW50KCkgYW5kIHNldFVzZUJpdG1h
cHMoKSBpbiBXZWJGb250UmVuZGVyaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDAz
Y2NlZDE2ODc2NWI2Y2U1NDM4MmYzYjc3YjM0NGJmMDZjODYzNGIuLjE1Zjc0MTY2YzQ3ZGYyNDEw
MjY4NGRkNjEyZDg1NzIzYjFhZTdhMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjEgQEAKKzIwMTItMDYtMTQgIFplZXYgTGllYmVyICA8emxpZWJlckBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBDb21wb3NpdG9yIHNob3VsZCBhdm9pZCBkcmF3aW5n
IHF1YWRzIHdoZW4gY2FjaGVkIHRleHR1cmVzIGFyZSBhdmFpbGFibGUgYW5kIGNvbnRlbnRzIHVu
Y2hhbmdlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODg0ODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCB0ZXN0cyB0byB2ZXJpZnkgcXVhZCByZW1vdmFsIGFsZ29yaXRobS4gQWRkZWQgaW5mcmFz
dHJ1Y3R1cmUKKyAgICAgICAgY29kZSB0byBnZW5lcmF0ZSBjdXN0b20gcmVuZGVyIHBhc3NlcyBv
dXQgb2YgYSBzY3JpcHQgZW5jb2RlZCBhcyBDCisgICAgICAgIHN0cmluZy4KKworICAgICAgICAq
IHRlc3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0VGVzdHM6OlRF
U1RfRik6CisgICAgICAgICogdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VEVTVCk6CisgICAgICAgICogdGVzdHMvQ0NMYXll
clRyZWVIb3N0SW1wbFRlc3QuY3BwOgorCiAyMDEyLTA2LTE0ICBYaWFuemh1IFdhbmcgIDx3YW5n
eGlhbnpodUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBBZGQgc2V0QXV0b0hp
bnQoKSBhbmQgc2V0VXNlQml0bWFwcygpIGluIFdlYkZvbnRSZW5kZXJpbmcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJh
Y2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0RhbWFnZVRyYWNrZXIuY3BwCmluZGV4IGE2ZmRiYjhmZmZhY2NhMzlmOTFmMGMwM2FiNzJmYWU4
NGFlNjY2ZjAuLjYxYjk3M2I0YjZlMzM4OGIzODRjZmNkZDU2ZTYwZjQ5ZGFmM2Y4ZGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFt
YWdlVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NEYW1hZ2VUcmFja2VyLmNwcApAQCAtMjM5LDYgKzIzOSwxOCBAQCBGbG9hdFJl
Y3QgQ0NEYW1hZ2VUcmFja2VyOjp0cmFja0RhbWFnZUZyb21MZWZ0b3ZlclJlY3RzKCkKICAgICBy
ZXR1cm4gZGFtYWdlUmVjdDsKIH0KIAorc3RhdGljIGJvb2wgbGF5ZXJUYXJnZXRTdXJmYWNlUmVx
dWlyZXNSZWRyYXdpbmcoQ0NMYXllckltcGwqIGxheWVyKQoreworICAgIC8vIElmIHRoZSBsYXll
ciBkb2VzIE5PVCBvd24gYSBzdXJmYWNlIGJ1dCBoYXMgU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCwK
KyAgICAvLyB0aGlzIG1lYW5zIHRoYXQgaXRzIHRhcmdldCBzdXJmYWNlIGlzIGFmZmVjdGVkIGFu
ZCBuZWVkcyB0byBiZSByZWRyYXduLgorICAgIC8vIEhvd2V2ZXIsIGlmIHRoZSBsYXllciBET0VT
IG93biBhIHN1cmZhY2UsIHRoZW4gdGhlIFN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgCisgICAgLy8g
ZmxhZyBzaG91bGQgbm90IGJlIHVzZWQgaGVyZSwgYmVjYXVzZSB0aGF0IGZsYWcgcmVwcmVzZW50
cyB3aGV0aGVyIHRoZQorICAgIC8vIGxheWVyJ3Mgc3VyZmFjZSBoYXMgY2hhbmdlZC4KKyAgICBp
ZiAobGF5ZXItPnJlbmRlclN1cmZhY2UoKSkKKyAgICAgICAgcmV0dXJuIGxheWVyLT5sYXllclBy
b3BlcnR5Q2hhbmdlZCgpOworICAgIHJldHVybiBsYXllci0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQo
KSB8fCBsYXllci0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCk7Cit9CisKIHZvaWQgQ0NE
YW1hZ2VUcmFja2VyOjpleHRlbmREYW1hZ2VGb3JMYXllcihDQ0xheWVySW1wbCogbGF5ZXIsIEZs
b2F0UmVjdCYgdGFyZ2V0RGFtYWdlUmVjdCkKIHsKICAgICAvLyBUaGVyZSBhcmUgdHdvIHdheXMg
dGhhdCBhIGxheWVyIGNhbiBkYW1hZ2UgYSByZWdpb24gb2YgdGhlIHRhcmdldCBzdXJmYWNlOgpA
QCAtMjUxLDYgKzI2MywxMSBAQCB2b2lkIENDRGFtYWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9y
TGF5ZXIoQ0NMYXllckltcGwqIGxheWVyLCBGbG9hdFJlY3QmIHRhcmdldAogICAgIC8vICAgICAg
cmVnaW9uIGRhbWFnZXMgdGhlIHN1cmZhY2UuCiAgICAgLy8KICAgICAvLyBQcm9wZXJ0eSBjaGFu
Z2VzIHRha2UgcHJpb3JpdHkgb3ZlciB1cGRhdGUgcmVjdHMuCisgICAgLy8KKyAgICAvLyBUaGlz
IG1ldGhvZCBpcyBjYWxsZWQgd2hlbiB3ZSB3YW50IHRvIGNvbnNpZGVyIGhvdyBhIGxheWVyIGNv
bnRyaWJ1dGVzIHRvIGl0cworICAgIC8vIHRhcmdldFJlbmRlclN1cmZhY2UsIGV2ZW4gaWYgdGhh
dCBsYXllciBvd25zIHRoZSB0YXJnZXRSZW5kZXJTdXJmYWNlIGl0c2VsZi4KKyAgICAvLyBUbyBj
b25zaWRlciBob3cgYSBsYXllcidzIHRhcmdldFN1cmZhY2UgY29udHJpYnV0ZXMgdG8gdGhlIGFu
Y2VzdG9yU3VyZmFjZSwKKyAgICAvLyBleHRlbmREYW1hZ2VGb3JSZW5kZXJTdXJmYWNlKCkgbXVz
dCBiZSBjYWxsZWQgaW5zdGVhZC4KIAogICAgIC8vIENvbXB1dGUgdGhlIGxheWVyJ3MgIm9yaWdp
blRyYW5zZm9ybSIgYnkgdHJhbnNsYXRpbmcgdGhlIGRyYXdUcmFuc2Zvcm0uCiAgICAgV2ViVHJh
bnNmb3JtYXRpb25NYXRyaXggb3JpZ2luVHJhbnNmb3JtID0gbGF5ZXItPmRyYXdUcmFuc2Zvcm0o
KTsKQEAgLTI2Miw3ICsyNzksNyBAQCB2b2lkIENDRGFtYWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdl
Rm9yTGF5ZXIoQ0NMYXllckltcGwqIGxheWVyLCBGbG9hdFJlY3QmIHRhcmdldAogICAgIEZsb2F0
UmVjdCBsYXllclJlY3RJblRhcmdldFNwYWNlID0gQ0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJlY3Qo
b3JpZ2luVHJhbnNmb3JtLCBGbG9hdFJlY3QoRmxvYXRQb2ludDo6emVybygpLCBsYXllci0+Ym91
bmRzKCkpKTsKICAgICBzYXZlUmVjdEZvck5leHRGcmFtZShsYXllci0+aWQoKSwgbGF5ZXJSZWN0
SW5UYXJnZXRTcGFjZSk7CiAKLSAgICBpZiAobGF5ZXJJc05ldyB8fCBsYXllci0+bGF5ZXJQcm9w
ZXJ0eUNoYW5nZWQoKSkgeworICAgIGlmIChsYXllcklzTmV3IHx8IGxheWVyVGFyZ2V0U3VyZmFj
ZVJlcXVpcmVzUmVkcmF3aW5nKGxheWVyKSkgewogICAgICAgICAvLyBJZiBhIGxheWVyIGlzIG5l
dyBvciBoYXMgY2hhbmdlZCwgdGhlbiBpdHMgZW50aXJlIGxheWVyIHJlY3QgYWZmZWN0cyB0aGUg
dGFyZ2V0IHN1cmZhY2UuCiAgICAgICAgIHRhcmdldERhbWFnZVJlY3QudW5pdGVJZk5vblplcm8o
bGF5ZXJSZWN0SW5UYXJnZXRTcGFjZSk7CiAKQEAgLTMwMCw3ICszMTcsNyBAQCB2b2lkIENDRGFt
YWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yUmVuZGVyU3VyZmFjZShDQ0xheWVySW1wbCogbGF5
ZXIsIEZsb2F0UmVjdAogICAgIHNhdmVSZWN0Rm9yTmV4dEZyYW1lKGxheWVyLT5pZCgpLCBzdXJm
YWNlUmVjdEluVGFyZ2V0U3BhY2UpOwogCiAgICAgRmxvYXRSZWN0IGRhbWFnZVJlY3RJbkxvY2Fs
U3BhY2U7Ci0gICAgaWYgKHN1cmZhY2VJc05ldyB8fCByZW5kZXJTdXJmYWNlLT5zdXJmYWNlUHJv
cGVydHlDaGFuZ2VkKCkpIHsKKyAgICBpZiAoc3VyZmFjZUlzTmV3IHx8IHJlbmRlclN1cmZhY2Ut
PnN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSB8fCBsYXllci0+bGF5ZXJTdXJmYWNlUHJvcGVydHlD
aGFuZ2VkKCkpIHsKICAgICAgICAgLy8gVGhlIGVudGlyZSBzdXJmYWNlIGNvbnRyaWJ1dGVzIGRh
bWFnZS4KICAgICAgICAgZGFtYWdlUmVjdEluTG9jYWxTcGFjZSA9IHJlbmRlclN1cmZhY2UtPmNv
bnRlbnRSZWN0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcAppbmRleCA4YTUzODk5ZjY3NmFm
Y2VkZTJmZTVhMzQ4N2MzZGNkYTA0NTJjMmE0Li4zODkwYjE1NzBlOTg1YjBlYTgyY2IwMDhhN2I2
M2NhZDhjYmVjZDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuY3BwCkBAIC01NCw2ICs1NCw3IEBA
IENDTGF5ZXJJbXBsOjpDQ0xheWVySW1wbChpbnQgaWQpCiAgICAgLCBtX2hhdmVXaGVlbEV2ZW50
SGFuZGxlcnMoZmFsc2UpCiAgICAgLCBtX2RvdWJsZVNpZGVkKHRydWUpCiAgICAgLCBtX2xheWVy
UHJvcGVydHlDaGFuZ2VkKGZhbHNlKQorICAgICwgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5n
ZWQoZmFsc2UpCiAgICAgLCBtX21hc2tzVG9Cb3VuZHMoZmFsc2UpCiAgICAgLCBtX29wYXF1ZShm
YWxzZSkKICAgICAsIG1fb3BhY2l0eSgxLjApCkBAIC0yNzUsNiArMjc2LDI2IEBAIHZvaWQgQ0NM
YXllckltcGw6OnNldFN0YWNraW5nT3JkZXJDaGFuZ2VkKGJvb2wgc3RhY2tpbmdPcmRlckNoYW5n
ZWQpCiAgICAgICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZEZvclN1YnRyZWUoKTsKIH0KIAor
Ym9vbCBDQ0xheWVySW1wbDo6bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkgY29uc3QKK3sK
KyAgICBpZiAobV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQpCisgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgLy8gSWYgdGhpcyBsYXllcidzIHN1cmZhY2UgcHJvcGVydHkgaGFzbid0IGNo
YW5nZWQsIHdlIHdhbnQgdG8gc2VlIGlmCisgICAgLy8gc29tZSBsYXllciBhYm92ZSB1cyBoYXMg
Y2hhbmdlZCB0aGlzIHByb3BlcnR5LiBUaGlzIGlzIGRvbmUgZm9yIHRoZQorICAgIC8vIGNhc2Ug
d2hlbiBzdWNoIHBhcmVudCBsYXllciBkb2VzIG5vdCBkcmF3IGNvbnRlbnQsIGFuZCB0aGVyZWZv
cmUgd2lsbAorICAgIC8vIG5vdCBiZSB0cmF2ZXJzZWQgYnkgdGhlIGRhbWFnZSB0cmFja2VyLiBX
ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0CisgICAgLy8gcHJvcGVydHkgY2hhbmdlIG9uIHN1Y2gg
bGF5ZXIgd2lsbCBiZSBjYXVnaHQgYnkgaXRzIGRlc2NlbmRhbnRzLgorICAgIENDTGF5ZXJJbXBs
KiBjdXJyZW50ID0gdGhpcy0+bV9wYXJlbnQ7CisgICAgd2hpbGUgKGN1cnJlbnQgJiYgIWN1cnJl
bnQtPm1fcmVuZGVyU3VyZmFjZSkgeworICAgICAgICBpZiAoY3VycmVudC0+bV9sYXllclN1cmZh
Y2VQcm9wZXJ0eUNoYW5nZWQpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgY3Vy
cmVudCA9IGN1cnJlbnQtPm1fcGFyZW50OworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30K
Kwogdm9pZCBDQ0xheWVySW1wbDo6bm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yU3VidHJlZSgp
CiB7CiAgICAgbV9sYXllclByb3BlcnR5Q2hhbmdlZCA9IHRydWU7CkBAIC0yOTAsNiArMzExLDgg
QEAgdm9pZCBDQ0xheWVySW1wbDo6bm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yRGVzY2VuZGFu
dHMoKQogdm9pZCBDQ0xheWVySW1wbDo6cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUo
KQogewogICAgIG1fbGF5ZXJQcm9wZXJ0eUNoYW5nZWQgPSBmYWxzZTsKKyAgICBtX2xheWVyU3Vy
ZmFjZVByb3BlcnR5Q2hhbmdlZCA9IGZhbHNlOworCiAgICAgbV91cGRhdGVSZWN0ID0gRmxvYXRS
ZWN0KCk7CiAKICAgICBpZiAobV9yZW5kZXJTdXJmYWNlKQpAQCAtNDMwLDcgKzQ1Myw3IEBAIHZv
aWQgQ0NMYXllckltcGw6OnNldE9wYWNpdHkoZmxvYXQgb3BhY2l0eSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgbV9vcGFjaXR5ID0gb3BhY2l0eTsKLSAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5n
ZWRGb3JTdWJ0cmVlKCk7CisgICAgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgPSB0cnVl
OwogfQogCiBib29sIENDTGF5ZXJJbXBsOjpvcGFjaXR5SXNBbmltYXRpbmcoKSBjb25zdApAQCAt
NDcyLDcgKzQ5NSw3IEBAIHZvaWQgQ0NMYXllckltcGw6OnNldFRyYW5zZm9ybShjb25zdCBXZWJU
cmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtKQogICAgICAgICByZXR1cm47CiAKICAgICBt
X3RyYW5zZm9ybSA9IHRyYW5zZm9ybTsKLSAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JT
dWJ0cmVlKCk7CisgICAgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgPSB0cnVlOwogfQog
CiBib29sIENDTGF5ZXJJbXBsOjp0cmFuc2Zvcm1Jc0FuaW1hdGluZygpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVy
SW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllckltcGwuaAppbmRleCAwYTIzY2Q4ODNlYTBjOGM1MzMwMTFkMWYzMTBlNzgwYzE2Y2E1MTE3
Li43NzZhYmU4ZWFmNDdiNjA0ZDBhYjk5MzIyMTIwOGMzMzEzZWMzMTBkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5
ZXJJbXBsLmgKQEAgLTI1MCw2ICsyNTAsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTdGFja2lu
Z09yZGVyQ2hhbmdlZChib29sKTsKIAogICAgIGJvb2wgbGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSBj
b25zdCB7IHJldHVybiBtX2xheWVyUHJvcGVydHlDaGFuZ2VkOyB9CisgICAgYm9vbCBsYXllclN1
cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSBjb25zdDsKKwogICAgIHZvaWQgcmVzZXRBbGxDaGFuZ2VU
cmFja2luZ0ZvclN1YnRyZWUoKTsKIAogICAgIENDTGF5ZXJBbmltYXRpb25Db250cm9sbGVyKiBs
YXllckFuaW1hdGlvbkNvbnRyb2xsZXIoKSB7IHJldHVybiBtX2xheWVyQW5pbWF0aW9uQ29udHJv
bGxlci5nZXQoKTsgfQpAQCAtMzEzLDYgKzMxNSwxMiBAQCBwcml2YXRlOgogICAgIC8vIFRyYWNr
cyBpZiBkcmF3aW5nLXJlbGF0ZWQgcHJvcGVydGllcyBoYXZlIGNoYW5nZWQgc2luY2UgbGFzdCBy
ZWRyYXcuCiAgICAgYm9vbCBtX2xheWVyUHJvcGVydHlDaGFuZ2VkOwogCisgICAgLy8gSW5kaWNh
dGVzIHRoYXQgYSBwcm9wZXJ0eSBoYXMgY2hhbmdlZCBvbiB0aGlzIGxheWVyIHRoYXQgd291bGQg
bm90CisgICAgLy8gYWZmZWN0IHRoZSBwaXhlbHMgb24gaXRzIHRhcmdldCBzdXJmYWNlLCBidXQg
d291bGQgcmVxdWlyZSByZWRyYXdpbmcKKyAgICAvLyBidXQgd291bGQgcmVxdWlyZSByZWRyYXdp
bmcgdGhlIHRhcmdldFN1cmZhY2Ugb250byBpdHMgYW5jZXN0b3IgdGFyZ2V0U3VyZmFjZS4KKyAg
ICAvLyBGb3IgbGF5ZXJzIHRoYXQgZG8gbm90IG93biBhIHN1cmZhY2UgdGhpcyBmbGFnIGFjdHMg
YXMgbV9sYXllclByb3BlcnR5Q2hhbmdlZC4KKyAgICBib29sIG1fbGF5ZXJTdXJmYWNlUHJvcGVy
dHlDaGFuZ2VkOworCiAgICAgLy8gVXNlcyBsYXllcidzIGNvbnRlbnQgc3BhY2UuCiAgICAgSW50
UmVjdCBtX3Zpc2libGVMYXllclJlY3Q7CiAgICAgYm9vbCBtX21hc2tzVG9Cb3VuZHM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xh
eWVyVHJlZUhvc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCmluZGV4IGE5ODVjM2Y2MmEyMWU3MDE3
YmE4YjBhMjViYWQwODVkNmQ1MTIzYjguLjdjMzNhYmVmNWI0ZDZlYzlkNzA0ZjAzNDc0MDU2YThj
YjlhYTA5YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCkBAIC00
Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmgiCiAjaW5j
bHVkZSAiY2MvQ0NNYXRoVXRpbC5oIgogI2luY2x1ZGUgImNjL0NDUGFnZVNjYWxlQW5pbWF0aW9u
LmgiCisjaW5jbHVkZSAiY2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQuaCIKICNpbmNsdWRlICJjYy9D
Q1NldHRpbmdzLmgiCiAjaW5jbHVkZSAiY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oIgogI2luY2x1
ZGUgImNjL0NDVGhyZWFkVGFzay5oIgpAQCAtMjYzLDcgKzI2NCw3IEBAIHZvaWQgQ0NMYXllclRy
ZWVIb3N0SW1wbDo6Y2FsY3VsYXRlUmVuZGVyU3VyZmFjZUxheWVyTGlzdChDQ0xheWVyTGlzdCYg
cmVuZGVyU3VyCiAgICAgfQogfQogCi1ib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0
ZVJlbmRlclBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIENDTGF5ZXJMaXN0JiByZW5k
ZXJTdXJmYWNlTGF5ZXJMaXN0LCBDQ0xheWVyTGlzdCYgd2lsbERyYXdMYXllcnMpCitib29sIEND
TGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRlclBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0
JiBwYXNzZXMsIENDTGF5ZXJMaXN0JiByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBDQ0xheWVyTGlz
dCYgd2lsbERyYXdMYXllcnMsIENDUmVuZGVyUGFzc0xpc3QmIHNraXBwZWRQYXNzZXMpCiB7CiAg
ICAgQVNTRVJUKHBhc3Nlcy5pc0VtcHR5KCkpOwogCkBAIC0zMzAsNiArMzMxLDkgQEAgYm9vbCBD
Q0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxhdGVSZW5kZXJQYXNzZXMoQ0NSZW5kZXJQYXNzTGlz
dCYgcGFzc2VzLCBDQ0xheWUKIAogICAgIGlmIChkcmF3RnJhbWUpCiAgICAgICAgIG9jY2x1c2lv
blRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucmVjb3JkTWV0cmljcyh0aGlzKTsKKworICAgIHJl
bW92ZVBhc3Nlc1dpdGhDYWNoZWRUZXh0dXJlcyhwYXNzZXMsIHNraXBwZWRQYXNzZXMpOworCiAg
ICAgcmV0dXJuIGRyYXdGcmFtZTsKIH0KIApAQCAtMzc5LDYgKzM4Myw3OSBAQCBJbnRTaXplIEND
TGF5ZXJUcmVlSG9zdEltcGw6OmNvbnRlbnRTaXplKCkgY29uc3QKICAgICByZXR1cm4gbV9zY3Jv
bGxMYXllckltcGwtPmNoaWxkcmVuKClbMF0tPmNvbnRlbnRCb3VuZHMoKTsKIH0KIAorc3RhdGlj
IHNzaXplX3QgaW5kZXhPZlJlbmRlclBhc3MoY29uc3QgQ0NSZW5kZXJQYXNzTGlzdCYgcGFzc2Vz
LCBjb25zdCBDQ1JlbmRlclBhc3MqIHBhc3MsIHNpemVfdCBzZWFyY2hVbnRpbCkKK3sKKyAgICBm
b3IgKHNpemVfdCBwYXNzSW5kZXggPSAwOyBwYXNzSW5kZXggPCBwYXNzZXMuc2l6ZSgpOyBwYXNz
SW5kZXgrKykKKyAgICAgICAgaWYgKHBhc3Nlc1twYXNzSW5kZXhdLmdldCgpID09IHBhc3MpCisg
ICAgICAgICAgICByZXR1cm4gcGFzc0luZGV4OworCisgICAgcmV0dXJuIC0xOworfQorCit2b2lk
IENDTGF5ZXJUcmVlSG9zdEltcGw6OnJlbW92ZVJlbmRlclBhc3Nlc1JlY3Vyc2l2ZShDQ1JlbmRl
clBhc3NMaXN0JiBwYXNzZXMsIHNpemVfdCBib3R0b21QYXNzLCBjb25zdCBDQ1JlbmRlclBhc3Mq
IGZpcnN0VG9SZW1vdmUsIENDUmVuZGVyUGFzc0xpc3QmIHNraXBwZWRQYXNzZXMpCit7CisgICAg
c3NpemVfdCByZW1vdmVJbmRleCA9IGluZGV4T2ZSZW5kZXJQYXNzKHBhc3NlcywgZmlyc3RUb1Jl
bW92ZSwgYm90dG9tUGFzcyk7CisKKyAgICAvLyBUaGUgcGFzcyB3YXMgYWxyZWFkeSByZW1vdmVk
IGJ5IGFub3RoZXIgcXVhZCAtIHByb2JhYmx5IHRoZSBvcmlnaW5hbCwgYW5kIHdlIGFyZSB0aGUg
cmVwbGljYS4KKyAgICBpZiAocmVtb3ZlSW5kZXggPCAwKQorICAgICAgICByZXR1cm47CisKKyAg
ICBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZW1vdmVkUGFzcyA9IHBhc3Nlc1tyZW1vdmVJbmRleF0u
cmVsZWFzZSgpOworICAgIHBhc3Nlcy5yZW1vdmUocmVtb3ZlSW5kZXgpOworCisgICAgLy8gTm93
IGZvbGxvdyB1cCBmb3IgYWxsIFJlbmRlclBhc3MgcXVhZHMgYW5kIHJlbW92ZSB0aGVpciByZW5k
ZXIgcGFzc2VzIHJlY3Vyc2l2ZWx5LgorICAgIGNvbnN0IENDUXVhZExpc3QmIHF1YWRMaXN0ID0g
cmVtb3ZlZFBhc3MtPnF1YWRMaXN0KCk7CisgICAgQ0NRdWFkTGlzdDo6Y29uc3RCYWNrVG9Gcm9u
dEl0ZXJhdG9yIHF1YWRMaXN0SXRlcmF0b3IgPSBxdWFkTGlzdC5iYWNrVG9Gcm9udEJlZ2luKCk7
CisgICAgZm9yICg7IHF1YWRMaXN0SXRlcmF0b3IgIT0gcXVhZExpc3QuYmFja1RvRnJvbnRFbmQo
KTsgKytxdWFkTGlzdEl0ZXJhdG9yKSB7CisgICAgICAgIENDRHJhd1F1YWQqIGN1cnJlbnRRdWFk
ID0gKCpxdWFkTGlzdEl0ZXJhdG9yKS5nZXQoKTsKKyAgICAgICAgaWYgKGN1cnJlbnRRdWFkLT5t
YXRlcmlhbCgpICE9IENDRHJhd1F1YWQ6OlJlbmRlclBhc3MpCisgICAgICAgICAgICBjb250aW51
ZTsKKworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcmVuZGVyUGFzc1F1YWQgPSBzdGF0
aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGN1cnJlbnRRdWFkKTsKKyAgICAgICAgY29u
c3QgQ0NSZW5kZXJQYXNzKiBuZXh0UmVuZGVyUGFzcyA9IHJlbmRlclBhc3NRdWFkLT5yZW5kZXJQ
YXNzKCk7CisKKyAgICAgICAgLy8gT3VyIHNlYXJjaCBpcyBub3cgbGltaXRlZCB1cCB0byB0aGUg
cGFzcyB0aGF0IHdlIGp1c3QgcmVtb3ZlZC4KKyAgICAgICAgLy8gU3Vic3RpdHV0ZSByZW1vdmVJ
bmRleCBmb3IgYm90dG9tUGFzcyBub3cuCisgICAgICAgIHJlbW92ZVJlbmRlclBhc3Nlc1JlY3Vy
c2l2ZShwYXNzZXMsIHJlbW92ZUluZGV4LCBuZXh0UmVuZGVyUGFzcywgc2tpcHBlZFBhc3Nlcyk7
CisgICAgfQorICAgIHNraXBwZWRQYXNzZXMuYXBwZW5kKHJlbW92ZWRQYXNzLnJlbGVhc2UoKSk7
Cit9CisKK3ZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3ZlUGFzc2VzV2l0aENhY2hlZFRl
eHR1cmVzKENDUmVuZGVyUGFzc0xpc3QmIHBhc3NlcywgQ0NSZW5kZXJQYXNzTGlzdCYgc2tpcHBl
ZFBhc3NlcykKK3sKKyAgICBmb3IgKHNzaXplX3QgcGFzc0luZGV4ID0gcGFzc2VzLnNpemUoKSAt
IDE7IHBhc3NJbmRleCA+PSAwOyAtLXBhc3NJbmRleCkgeworICAgICAgICBDQ1JlbmRlclBhc3Mq
IGN1cnJlbnRQYXNzID0gcGFzc2VzW3Bhc3NJbmRleF0uZ2V0KCk7CisgICAgICAgIGNvbnN0IEND
UXVhZExpc3QmIHF1YWRMaXN0ID0gY3VycmVudFBhc3MtPnF1YWRMaXN0KCk7CisgICAgICAgIEND
UXVhZExpc3Q6OmNvbnN0QmFja1RvRnJvbnRJdGVyYXRvciBxdWFkTGlzdEl0ZXJhdG9yID0gcXVh
ZExpc3QuYmFja1RvRnJvbnRCZWdpbigpOworCisgICAgICAgIGZvciAoOyBxdWFkTGlzdEl0ZXJh
dG9yICE9IHF1YWRMaXN0LmJhY2tUb0Zyb250RW5kKCk7ICsrcXVhZExpc3RJdGVyYXRvcikgewor
ICAgICAgICAgICAgQ0NEcmF3UXVhZCogY3VycmVudFF1YWQgPSBxdWFkTGlzdEl0ZXJhdG9yLT5n
ZXQoKTsKKworICAgICAgICAgICAgaWYgKGN1cnJlbnRRdWFkLT5tYXRlcmlhbCgpICE9IENDRHJh
d1F1YWQ6OlJlbmRlclBhc3MpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg
ICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiByZW5kZXJQYXNzUXVhZCA9IHN0YXRpY19jYXN0PEND
UmVuZGVyUGFzc0RyYXdRdWFkKj4oY3VycmVudFF1YWQpOworICAgICAgICAgICAgQ0NSZW5kZXJT
dXJmYWNlKiB0YXJnZXRTdXJmYWNlID0gcmVuZGVyUGFzc1F1YWQtPnJlbmRlclBhc3MoKS0+dGFy
Z2V0U3VyZmFjZSgpOworCisgICAgICAgICAgICBpZiAodGFyZ2V0U3VyZmFjZS0+Y29udGVudHND
aGFuZ2VkKCkgfHwgIXRhcmdldFN1cmZhY2UtPmhhc0NhY2hlZENvbnRlbnRzVGV4dHVyZSgpKQor
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAvLyBSZXNlcnZlIHRoZSB0
ZXh0dXJlIGltbWVkaWF0ZWx5LiBXZSBkbyBub3QgbmVlZCB0byBwYXNzIGluIGxheWVyIHJlbmRl
cmVyCisgICAgICAgICAgICAvLyBzaW5jZSB0aGUgdGV4dHVyZSBhbHJlYWR5IGV4aXN0cywganVz
dCBuZWVkcyB0byBiZSByZXNlcnZlZC4KKyAgICAgICAgICAgIGlmICghdGFyZ2V0U3VyZmFjZS0+
cHJlcGFyZUNvbnRlbnRzVGV4dHVyZSgwKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKwor
ICAgICAgICAgICAgLy8gV2UgYXJlIGNoYW5naW5nIHRoZSB2ZWN0b3IgaW4gdGhlIG1pZGRsZSBv
ZiByZXZlcnNlIGl0ZXJhdGlvbi4KKyAgICAgICAgICAgIC8vIFdlIGFyZSBndWFyYW50ZWVkIHRo
YXQgYW55IGRhdGEgZnJvbSBpdGVyYXRvciB0byB0aGUgZW5kIHdpbGwgbm90IGNoYW5nZS4KKyAg
ICAgICAgICAgIC8vIENhcHR1cmUgdGhlIGl0ZXJhdG9yIHBvc2l0aW9uIGZyb20gdGhlIGVuZCwg
YW5kIHJlc3RvcmUgaXQgYWZ0ZXIgdGhlIGNoYW5nZS4KKyAgICAgICAgICAgIGludCBwb3NpdGlv
bkZyb21FbmQgPSBwYXNzZXMuc2l6ZSgpIC0gcGFzc0luZGV4OworICAgICAgICAgICAgcmVtb3Zl
UmVuZGVyUGFzc2VzUmVjdXJzaXZlKHBhc3NlcywgcGFzc0luZGV4LCByZW5kZXJQYXNzUXVhZC0+
cmVuZGVyUGFzcygpLCBza2lwcGVkUGFzc2VzKTsKKyAgICAgICAgICAgIHBhc3NJbmRleCA9IHBh
c3Nlcy5zaXplKCkgLSBwb3NpdGlvbkZyb21FbmQ7CisgICAgICAgICAgICBBU1NFUlQocGFzc0lu
ZGV4ID49IDApOworICAgICAgICB9CisgICAgfQorfQorCiBib29sIENDTGF5ZXJUcmVlSG9zdElt
cGw6OnByZXBhcmVUb0RyYXcoRnJhbWVEYXRhJiBmcmFtZSkKIHsKICAgICBUUkFDRV9FVkVOVCgi
Q0NMYXllclRyZWVIb3N0SW1wbDo6cHJlcGFyZVRvRHJhdyIsIHRoaXMsIDApOwpAQCAtMzg4LDcg
KzQ2NSw3IEBAIGJvb2wgQ0NMYXllclRyZWVIb3N0SW1wbDo6cHJlcGFyZVRvRHJhdyhGcmFtZURh
dGEmIGZyYW1lKQogICAgIGZyYW1lLnJlbmRlclN1cmZhY2VMYXllckxpc3QuY2xlYXIoKTsKICAg
ICBmcmFtZS53aWxsRHJhd0xheWVycy5jbGVhcigpOwogCi0gICAgaWYgKCFjYWxjdWxhdGVSZW5k
ZXJQYXNzZXMoZnJhbWUucmVuZGVyUGFzc2VzLCBmcmFtZS5yZW5kZXJTdXJmYWNlTGF5ZXJMaXN0
LCBmcmFtZS53aWxsRHJhd0xheWVycykpCisgICAgaWYgKCFjYWxjdWxhdGVSZW5kZXJQYXNzZXMo
ZnJhbWUucmVuZGVyUGFzc2VzLCBmcmFtZS5yZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBmcmFtZS53
aWxsRHJhd0xheWVycywgZnJhbWUuc2tpcHBlZFBhc3NlcykpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIC8vIElmIHdlIHJldHVybiB0cnVlLCB0aGVuIHdlIGV4cGVjdCBkcmF3TGF5ZXJz
KCkgdG8gYmUgY2FsbGVkIGJlZm9yZSB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBhZ2Fpbi4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaAppbmRleCA0ZGI5MDFmNzM3MTI5MTQwNDFh
ODIyODE2YzBkZDJkYmVhOTEzMGM3Li5hNjk3OWFmNWRhODM0YWZlZTNiOGNhNWMzZDQ4ODgxZTM2
NmNlMzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCkBAIC04Niw2ICs4
Niw3IEBAIHB1YmxpYzoKIAogICAgIHN0cnVjdCBGcmFtZURhdGEgewogICAgICAgICBDQ1JlbmRl
clBhc3NMaXN0IHJlbmRlclBhc3NlczsKKyAgICAgICAgQ0NSZW5kZXJQYXNzTGlzdCBza2lwcGVk
UGFzc2VzOwogICAgICAgICBDQ0xheWVyTGlzdCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0OwogICAg
ICAgICBDQ0xheWVyTGlzdCB3aWxsRHJhd0xheWVyczsKICAgICB9OwpAQCAtMTcxLDYgKzE3Miw5
IEBAIHB1YmxpYzoKICAgICBDQ0ZyYW1lUmF0ZUNvdW50ZXIqIGZwc0NvdW50ZXIoKSBjb25zdCB7
IHJldHVybiBtX2Zwc0NvdW50ZXIuZ2V0KCk7IH0KICAgICBDQ0RlYnVnUmVjdEhpc3RvcnkqIGRl
YnVnUmVjdEhpc3RvcnkoKSBjb25zdCB7IHJldHVybiBtX2RlYnVnUmVjdEhpc3RvcnkuZ2V0KCk7
IH0KIAorICAgIC8vIFJlbW92ZXMgYWxsIHJlbmRlciBwYXNzZXMgZm9yIHdoaWNoIHdlIGhhdmUg
Y2FjaGVkIHRleHR1cmVzLCBhbmQgd2hpY2ggZGlkIG5vdCBjaGFuZ2UgdGhlaXIgY29udGVudC4K
KyAgICBzdGF0aWMgdm9pZCByZW1vdmVQYXNzZXNXaXRoQ2FjaGVkVGV4dHVyZXMoQ0NSZW5kZXJQ
YXNzTGlzdCYgcGFzc2VzLCBDQ1JlbmRlclBhc3NMaXN0JiBza2lwcGVkUGFzc2VzKTsKKwogcHJv
dGVjdGVkOgogICAgIENDTGF5ZXJUcmVlSG9zdEltcGwoY29uc3QgQ0NMYXllclRyZWVTZXR0aW5n
cyYsIENDTGF5ZXJUcmVlSG9zdEltcGxDbGllbnQqKTsKIApAQCAtMjA0LDEwICsyMDgsMTMgQEAg
cHJpdmF0ZToKICAgICAvLyBSZXR1cm5zIGZhbHNlIGlmIHRoZSBmcmFtZSBzaG91bGQgbm90IGJl
IGRpc3BsYXllZC4gVGhpcyBmdW5jdGlvbiBzaG91bGQKICAgICAvLyBvbmx5IGJlIGNhbGxlZCBm
cm9tIHByZXBhcmVUb0RyYXcsIGFzIGRpZERyYXdBbGxMYXllcnMgbXVzdCBiZSBjYWxsZWQKICAg
ICAvLyBpZiB0aGlzIGhlbHBlciBmdW5jdGlvbiBpcyBjYWxsZWQuCi0gICAgYm9vbCBjYWxjdWxh
dGVSZW5kZXJQYXNzZXMoQ0NSZW5kZXJQYXNzTGlzdCYsIENDTGF5ZXJMaXN0JiByZW5kZXJTdXJm
YWNlTGF5ZXJMaXN0LCBDQ0xheWVyTGlzdCYgd2lsbERyYXdMYXllcnMpOworICAgIGJvb2wgY2Fs
Y3VsYXRlUmVuZGVyUGFzc2VzKENDUmVuZGVyUGFzc0xpc3QmLCBDQ0xheWVyTGlzdCYgcmVuZGVy
U3VyZmFjZUxheWVyTGlzdCwgQ0NMYXllckxpc3QmIHdpbGxEcmF3TGF5ZXJzLCBDQ1JlbmRlclBh
c3NMaXN0JiBza2lwcGVkUGFzc2VzKTsKICAgICB2b2lkIGFuaW1hdGVMYXllcnNSZWN1cnNpdmUo
Q0NMYXllckltcGwqLCBkb3VibGUgbW9ub3RvbmljVGltZSwgZG91YmxlIHdhbGxDbG9ja1RpbWUs
IENDQW5pbWF0aW9uRXZlbnRzVmVjdG9yKiwgYm9vbCYgZGlkQW5pbWF0ZSwgYm9vbCYgbmVlZHNB
bmltYXRlTGF5ZXJzKTsKICAgICB2b2lkIHNldEJhY2tncm91bmRUaWNraW5nRW5hYmxlZChib29s
KTsKICAgICBJbnRTaXplIGNvbnRlbnRTaXplKCkgY29uc3Q7CisKKyAgICBzdGF0aWMgdm9pZCBy
ZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUoQ0NSZW5kZXJQYXNzTGlzdCYgcGFzc2VzLCBzaXpl
X3QgYm90dG9tUGFzcywgY29uc3QgQ0NSZW5kZXJQYXNzKiBmaXJzdFRvUmVtb3ZlLCBDQ1JlbmRl
clBhc3NMaXN0JiBza2lwcGVkUGFzc2VzKTsKKwogICAgIHZvaWQgc2VuZERpZExvc2VDb250ZXh0
UmVjdXJzaXZlKENDTGF5ZXJJbXBsKik7CiAgICAgdm9pZCBjbGVhclJlbmRlclN1cmZhY2VzKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUmVuZGVyUGFzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwCmluZGV4IGE1NWZlYjg1YzQ1NGQ3NGU1N2NiYjM1
Yjg4NDY4NWI0MDUwZTNkOTEuLmViYWM4MWVkMDRiODhlNzVhOWViYWIxZGZkYTMxZTE1YjJhNzZj
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUmVuZGVyUGFzcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcApAQCAtMTAyLDQgKzEwMiw5IEBAIHZvaWQg
Q0NSZW5kZXJQYXNzOjphcHBlbmRRdWFkc1RvRmlsbFNjcmVlbihDQ0xheWVySW1wbCogcm9vdExh
eWVyLCBjb25zdCBDb2xvciYKICAgICBtX3NoYXJlZFF1YWRTdGF0ZUxpc3QuYXBwZW5kKHNoYXJl
ZFF1YWRTdGF0ZS5yZWxlYXNlKCkpOwogfQogCit2b2lkIENDUmVuZGVyUGFzczo6YXBwZW5kUXVh
ZChQYXNzT3duUHRyPENDRHJhd1F1YWQ+IHF1YWQpCit7CisgICAgbV9xdWFkTGlzdC5hcHBlbmQo
cXVhZCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKaW5kZXggYTQ1MTAwNmNlODhiMTJi
MDcyMzcwZGZhMjIzOWY4MzgzYmE3MWZjNi4uMWIzZmQwYTkzOGFlNjQ3NWVhYzE5ZDVjYjlhOGRk
OTdkNTIxMGRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKQEAgLTU4LDYgKzU4LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgYXBwZW5kUXVhZHNGb3JMYXllcihDQ0xheWVySW1wbCosIENDT2NjbHVz
aW9uVHJhY2tlckltcGwqLCBib29sJiBoYWRNaXNzaW5nVGlsZXMpOwogICAgIHZvaWQgYXBwZW5k
UXVhZHNGb3JSZW5kZXJTdXJmYWNlTGF5ZXIoQ0NMYXllckltcGwqLCBjb25zdCBDQ1JlbmRlclBh
c3MqIGNvbnRyaWJ1dGluZ1JlbmRlclBhc3MsIENDT2NjbHVzaW9uVHJhY2tlckltcGwqKTsKICAg
ICB2b2lkIGFwcGVuZFF1YWRzVG9GaWxsU2NyZWVuKENDTGF5ZXJJbXBsKiByb290TGF5ZXIsIGNv
bnN0IENvbG9yJiBzY3JlZW5CYWNrZ3JvdW5kQ29sb3IsIGNvbnN0IENDT2NjbHVzaW9uVHJhY2tl
ckltcGwmKTsKKyAgICB2b2lkIGFwcGVuZFF1YWQoUGFzc093blB0cjxDQ0RyYXdRdWFkPik7CiAK
ICAgICBjb25zdCBDQ1F1YWRMaXN0JiBxdWFkTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fcXVhZExp
c3Q7IH0KICAgICBDQ1JlbmRlclN1cmZhY2UqIHRhcmdldFN1cmZhY2UoKSBjb25zdCB7IHJldHVy
biBtX3RhcmdldFN1cmZhY2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzc0RyYXdRdWFk
LmNwcAppbmRleCA4ZGM0ZmY2NmExYzcxNzNiZTczNzRhNjI1ZGI5OWNmNDA3YjFkNmUzLi5lOTJk
ZjUwNDVmMGI2MTJhNmZiYmZhNzg4NWRhMGQ0M2NkMDYzNmY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVh
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NSZW5kZXJQYXNzRHJhd1F1YWQuY3BwCkBAIC0yNyw2ICsyNyw4IEBACiAKICNpbmNsdWRlICJj
Yy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5oIgogCisjaW5jbHVkZSAiY2MvQ0NSZW5kZXJQYXNzLmgi
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUGFzc093blB0cjxDQ1JlbmRlclBhc3NEcmF3UXVh
ZD4gQ0NSZW5kZXJQYXNzRHJhd1F1YWQ6OmNyZWF0ZShjb25zdCBDQ1NoYXJlZFF1YWRTdGF0ZSog
c2hhcmVkUXVhZFN0YXRlLCBjb25zdCBJbnRSZWN0JiBxdWFkUmVjdCwgY29uc3QgQ0NSZW5kZXJQ
YXNzKiByZW5kZXJQYXNzLCBib29sIGlzUmVwbGljYSwgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJP
cGVyYXRpb25zJiBmaWx0ZXJzLCBjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMmIGJh
Y2tncm91bmRGaWx0ZXJzLCB1bnNpZ25lZCBtYXNrVGV4dHVyZUlkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJh
d1F1YWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
UmVuZGVyUGFzc0RyYXdRdWFkLmgKaW5kZXggM2NjNmYyNjA3MWEzM2MwMjMwNmFlYWQ5ZTA4YjA4
NzMzMzRlMzFlOC4uODU0YTNhYzE0YmExOTIzNDJiOGVlN2IxMjU3ZWU0MGI1MWQxNzdmNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NS
ZW5kZXJQYXNzRHJhd1F1YWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5oCkBAIC0yNyw2ICsyNyw3IEBACiAj
ZGVmaW5lIENDUmVuZGVyUGFzc0RyYXdRdWFkX2gKIAogI2luY2x1ZGUgImNjL0NDRHJhd1F1YWQu
aCIKKyNpbmNsdWRlICJjYy9DQ1JlbmRlclN1cmZhY2UuaCIKICNpbmNsdWRlIDxwdWJsaWMvV2Vi
RmlsdGVyT3BlcmF0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVu
ZGVyU3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCmluZGV4IGRkYWJkNTI4YzhmZDFkMGJjZDU2YjIwMzcw
ZGM1M2RkMDMwMjJlY2MuLmQ3ZjFkNWE4OGE0MjA4MjljNzUzY2U5M2E5ZDNkYzM5Nzg4Y2NlNjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUmVuZGVyU3VyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcApAQCAtNjQsNiArNjQsNyBAQCBDQ1Jl
bmRlclN1cmZhY2U6OkNDUmVuZGVyU3VyZmFjZShDQ0xheWVySW1wbCogb3duaW5nTGF5ZXIpCiAg
ICAgLCBtX2RyYXdPcGFjaXR5SXNBbmltYXRpbmcoZmFsc2UpCiAgICAgLCBtX3RhcmdldFN1cmZh
Y2VUcmFuc2Zvcm1zQXJlQW5pbWF0aW5nKGZhbHNlKQogICAgICwgbV9zY3JlZW5TcGFjZVRyYW5z
Zm9ybXNBcmVBbmltYXRpbmcoZmFsc2UpCisgICAgLCBtX2NvbnRlbnRzQ2hhbmdlZCh0cnVlKQog
ICAgICwgbV9uZWFyZXN0QW5jZXN0b3JUaGF0TW92ZXNQaXhlbHMoMCkKICAgICAsIG1fdGFyZ2V0
UmVuZGVyU3VyZmFjZUxheWVySW5kZXhIaXN0b3J5KDApCiAgICAgLCBtX2N1cnJlbnRMYXllcklu
ZGV4SGlzdG9yeSgwKQpAQCAtODgsMTAgKzg5LDE1IEBAIEZsb2F0UmVjdCBDQ1JlbmRlclN1cmZh
Y2U6OmRyYXdhYmxlQ29udGVudFJlY3QoKSBjb25zdAogCiBib29sIENDUmVuZGVyU3VyZmFjZTo6
cHJlcGFyZUNvbnRlbnRzVGV4dHVyZShMYXllclJlbmRlcmVyQ2hyb21pdW0qIGxheWVyUmVuZGVy
ZXIpCiB7Ci0gICAgVGV4dHVyZU1hbmFnZXIqIHRleHR1cmVNYW5hZ2VyID0gbGF5ZXJSZW5kZXJl
ci0+aW1wbFRleHR1cmVNYW5hZ2VyKCk7CisgICAgaWYgKGxheWVyUmVuZGVyZXIpIHsKKyAgICAg
ICAgVGV4dHVyZU1hbmFnZXIqIHRleHR1cmVNYW5hZ2VyID0gbGF5ZXJSZW5kZXJlci0+aW1wbFRl
eHR1cmVNYW5hZ2VyKCk7CisKKyAgICAgICAgaWYgKCFtX2NvbnRlbnRzVGV4dHVyZSkKKyAgICAg
ICAgICAgIG1fY29udGVudHNUZXh0dXJlID0gTWFuYWdlZFRleHR1cmU6OmNyZWF0ZSh0ZXh0dXJl
TWFuYWdlcik7CisgICAgfQogCiAgICAgaWYgKCFtX2NvbnRlbnRzVGV4dHVyZSkKLSAgICAgICAg
bV9jb250ZW50c1RleHR1cmUgPSBNYW5hZ2VkVGV4dHVyZTo6Y3JlYXRlKHRleHR1cmVNYW5hZ2Vy
KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKG1fY29udGVudHNUZXh0dXJlLT5p
c1Jlc2VydmVkKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTE0LDYgKzEyMCwxMSBAQCBi
b29sIENDUmVuZGVyU3VyZmFjZTo6aGFzVmFsaWRDb250ZW50c1RleHR1cmUoKSBjb25zdAogICAg
IHJldHVybiBtX2NvbnRlbnRzVGV4dHVyZSAmJiBtX2NvbnRlbnRzVGV4dHVyZS0+aXNSZXNlcnZl
ZCgpICYmIG1fY29udGVudHNUZXh0dXJlLT5pc1ZhbGlkKG1fY29udGVudFJlY3Quc2l6ZSgpLCBH
cmFwaGljc0NvbnRleHQzRDo6UkdCQSk7CiB9CiAKK2Jvb2wgQ0NSZW5kZXJTdXJmYWNlOjpoYXND
YWNoZWRDb250ZW50c1RleHR1cmUoKSBjb25zdAoreworICAgIHJldHVybiBtX2NvbnRlbnRzVGV4
dHVyZSAmJiBtX2NvbnRlbnRzVGV4dHVyZS0+aXNWYWxpZChtX2NvbnRlbnRSZWN0LnNpemUoKSwg
R3JhcGhpY3NDb250ZXh0M0Q6OlJHQkEpOworfQorCiBib29sIENDUmVuZGVyU3VyZmFjZTo6cHJl
cGFyZUJhY2tncm91bmRUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJl
cikKIHsKICAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBsYXllclJlbmRlcmVy
LT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsKQEAgLTIxMCw2ICsyMjEsMTEgQEAgdm9pZCBDQ1JlbmRl
clN1cmZhY2U6OnNldENsaXBSZWN0KGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KQogICAgIG1fY2xp
cFJlY3QgPSBjbGlwUmVjdDsKIH0KIAorYm9vbCBDQ1JlbmRlclN1cmZhY2U6OmNvbnRlbnRzQ2hh
bmdlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICFtX2RhbWFnZVRyYWNrZXItPmN1cnJlbnREYW1h
Z2VSZWN0KCkuaXNFbXB0eSgpOworfQorCiB2b2lkIENDUmVuZGVyU3VyZmFjZTo6c2V0Q29udGVu
dFJlY3QoY29uc3QgSW50UmVjdCYgY29udGVudFJlY3QpCiB7CiAgICAgaWYgKG1fY29udGVudFJl
Y3QgPT0gY29udGVudFJlY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCmluZGV4IDYyNTIz
YjgyMTJiN2UzNmQ2NWQ4MmRjNmQxYzY5YjkxYzg3NGM2NDkuLjExZmM0OTE4NjQ2N2Q0MGE5ODZk
ODNhNjU4NTBjYjY2NDU4YjI1OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCkBAIC01
Myw5ICs1MywxMCBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgQ0NSZW5kZXJTdXJmYWNlKENDTGF5
ZXJJbXBsKik7CiAgICAgfkNDUmVuZGVyU3VyZmFjZSgpOwogCi0gICAgYm9vbCBwcmVwYXJlQ29u
dGVudHNUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSopOworICAgIHZpcnR1YWwgYm9vbCBw
cmVwYXJlQ29udGVudHNUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSopOwogICAgIHZvaWQg
cmVsZWFzZUNvbnRlbnRzVGV4dHVyZSgpOwogICAgIGJvb2wgaGFzVmFsaWRDb250ZW50c1RleHR1
cmUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQ2FjaGVkQ29udGVudHNUZXh0dXJlKCkg
Y29uc3Q7CiAKICAgICBib29sIHByZXBhcmVCYWNrZ3JvdW5kVGV4dHVyZShMYXllclJlbmRlcmVy
Q2hyb21pdW0qKTsKICAgICB2b2lkIHJlbGVhc2VCYWNrZ3JvdW5kVGV4dHVyZSgpOwpAQCAtMTE0
LDYgKzExNSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNjaXNzb3JSZWN0KGNvbnN0IEludFJl
Y3QmIHNjaXNzb3JSZWN0KSB7IG1fc2Npc3NvclJlY3QgPSBzY2lzc29yUmVjdDsgfQogICAgIGNv
bnN0IEludFJlY3QmIHNjaXNzb3JSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9zY2lzc29yUmVjdDsg
fQogCisgICAgdmlydHVhbCBib29sIGNvbnRlbnRzQ2hhbmdlZCgpIGNvbnN0OworCiAgICAgdm9p
ZCBzZXRDb250ZW50UmVjdChjb25zdCBJbnRSZWN0Jik7CiAgICAgY29uc3QgSW50UmVjdCYgY29u
dGVudFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRSZWN0OyB9CiAKQEAgLTE3NCw2ICsx
NzcsMTEgQEAgcHJpdmF0ZToKICAgICAvLyBVc2VzIHRoZSBzcGFjZSBvZiB0aGUgc3VyZmFjZSdz
IHRhcmdldCBzdXJmYWNlLgogICAgIEludFJlY3QgbV9zY2lzc29yUmVjdDsKIAorICAgIC8vIEZJ
WE1FOiBXaGVuIHRoZSByZWxhdGlvbnNoaXBzIGJldHdlZW4gQ0NEYW1hZ2VUcmFja2VyL0NDUmVu
ZGVyUGFzcy9DQ1JlbmRlclN1cmZhY2UvQ0NSZW5kZXJQYXNEcmF3UXVhZAorICAgIC8vIGFyZSBm
aXhlZCwgdGhpcyBmbGFnIG1heSBnbyBhd2F5LiBSaWdodCBub3cgbmVlZGVkIHRvIHRyYW5zZmVy
IHRoZSBpbmZvcm1hdGlvbiBmcm9tIENDRGFtYWdlVHJhY2tlcgorICAgIC8vIHRvIENDUmVuZGVy
UGFzc0RyYXdRdWFkIHdpdGhvdXQgY3JlYXRpbmcgbmV3IGNsYXNzIGRlcGVuZGVuY2llcy4KKyAg
ICBib29sIG1fY29udGVudHNDaGFuZ2VkOworCiAgICAgVmVjdG9yPENDTGF5ZXJJbXBsKj4gbV9s
YXllckxpc3Q7CiAKICAgICAvLyBUaGUgbmVhcmVzdCBhbmNlc3RvciB0YXJnZXQgc3VyZmFjZSB0
aGF0IHdpbGwgY29udGFpbiB0aGUgY29udGVudHMgb2YgdGhpcyBzdXJmYWNlLCBhbmQgdGhhdCBp
cyBnb2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0RhbWFn
ZVRyYWNrZXJUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEYW1hZ2VU
cmFja2VyVGVzdC5jcHAKaW5kZXggOGM5YjU0M2IyY2Y0ZWI5NjJiODg2MjdmZWY2MzQ3YzhkMDAw
ZjUzOC4uZjQ5ODA2OWYwZWVhNzlmMzI4OWZkNjRiNDA1YWQ5NzZhOTFhODY5MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3Bw
CkBAIC05MzQsNyArOTM0LDggQEAgVEVTVF9GKENDRGFtYWdlVHJhY2tlclRlc3QsIHZlcmlmeURh
bWFnZUZvck1hc2spCiAKICAgICAvLyBUaGVuIHRlc3QgdGhlIHByb3BlcnR5IGNoYW5nZS4KICAg
ICBjbGVhckRhbWFnZUZvckFsbFN1cmZhY2VzKHJvb3QuZ2V0KCkpOwotICAgIG1hc2tMYXllci0+
c2V0T3BhY2l0eSgwLjUpOworICAgIG1hc2tMYXllci0+c2V0U3RhY2tpbmdPcmRlckNoYW5nZWQo
dHJ1ZSk7CisKICAgICBlbXVsYXRlRHJhd2luZ09uZUZyYW1lKHJvb3QuZ2V0KCkpOwogICAgIGNo
aWxkRGFtYWdlUmVjdCA9IGNoaWxkLT5yZW5kZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+
Y3VycmVudERhbWFnZVJlY3QoKTsKICAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShGbG9hdFJlY3Qo
MCwgMCwgMzAsIDMwKSwgY2hpbGREYW1hZ2VSZWN0KTsKQEAgLTEwMDEsNyArMTAwMiw3IEBAIFRF
U1RfRihDQ0RhbWFnZVRyYWNrZXJUZXN0LCB2ZXJpZnlEYW1hZ2VGb3JSZXBsaWNhTWFzaykKIAog
ICAgIC8vIENBU0UgMTogYSBwcm9wZXJ0eSBjaGFuZ2Ugb24gdGhlIG1hc2sgc2hvdWxkIGRhbWFn
ZSBvbmx5IHRoZSByZWZsZWN0ZWQgcmVnaW9uIG9uIHRoZSB0YXJnZXQgc3VyZmFjZS4KICAgICBj
bGVhckRhbWFnZUZvckFsbFN1cmZhY2VzKHJvb3QuZ2V0KCkpOwotICAgIHJlcGxpY2FNYXNrTGF5
ZXItPnNldE9wYWNpdHkoMC42Zik7CisgICAgcmVwbGljYU1hc2tMYXllci0+c2V0U3RhY2tpbmdP
cmRlckNoYW5nZWQodHJ1ZSk7CiAgICAgZW11bGF0ZURyYXdpbmdPbmVGcmFtZShyb290LmdldCgp
KTsKIAogICAgIEZsb2F0UmVjdCBncmFuZENoaWxkRGFtYWdlUmVjdCA9IGdyYW5kQ2hpbGQxLT5y
ZW5kZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+Y3VycmVudERhbWFnZVJlY3QoKTsKQEAg
LTEwNjUsNyArMTA2Niw4IEBAIFRFU1RfRihDQ0RhbWFnZVRyYWNrZXJUZXN0LCB2ZXJpZnlEYW1h
Z2VGb3JSZXBsaWNhTWFza1dpdGhBbmNob3IpCiAKICAgICAvLyBBIHByb3BlcnR5IGNoYW5nZSBv
biB0aGUgcmVwbGljYU1hc2sgc2hvdWxkIGRhbWFnZSB0aGUgcmVmbGVjdGVkIHJlZ2lvbiBvbiB0
aGUgdGFyZ2V0IHN1cmZhY2UuCiAgICAgY2xlYXJEYW1hZ2VGb3JBbGxTdXJmYWNlcyhyb290Lmdl
dCgpKTsKLSAgICByZXBsaWNhTWFza0xheWVyLT5zZXRPcGFjaXR5KDAuNmYpOworICAgIHJlcGxp
Y2FNYXNrTGF5ZXItPnNldFN0YWNraW5nT3JkZXJDaGFuZ2VkKHRydWUpOworCiAgICAgZW11bGF0
ZURyYXdpbmdPbmVGcmFtZShyb290LmdldCgpKTsKIAogICAgIEZsb2F0UmVjdCBjaGlsZERhbWFn
ZVJlY3QgPSBjaGlsZDEtPnJlbmRlclN1cmZhY2UoKS0+ZGFtYWdlVHJhY2tlcigpLT5jdXJyZW50
RGFtYWdlUmVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9D
Q0xheWVySW1wbFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVy
SW1wbFRlc3QuY3BwCmluZGV4IDgyN2M5YWRhYWUwNzQ0NTZhOWQwYzAyYjg3MzgzNzQ3OWY2MzY1
ZDMuLjhiNDAxNTY2YjhhNWZlM2UyMTMxY2ZkZjU4NWFjYjUyOTM3M2I1ZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHAKQEAgLTQyLDIx
ICs0MiwzMyBAQCBuYW1lc3BhY2UgewogICAgIGNvZGVUb1Rlc3Q7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIEVYUEVDVF9UUlVF
KHJvb3QtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICAgIEVYUEVDVF9UUlVFKGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIEVYUEVDVF9UUlVFKGdyYW5kQ2hpbGQtPmxheWVyUHJv
cGVydHlDaGFuZ2VkKCkpCisgICAgRVhQRUNUX1RSVUUoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0
eUNoYW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKHJvb3Qt
PmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpKQorCiAKICNkZWZpbmUgRVhFQ1VURV9BTkRf
VkVSSUZZX1NVQlRSRUVfRElEX05PVF9DSEFOR0UoY29kZVRvVGVzdCkgICAgICAgICAgIFwKICAg
ICByb290LT5yZXNldEFsbENoYW5nZVRyYWNraW5nRm9yU3VidHJlZSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgICBjb2RlVG9UZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+
bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBF
WFBFQ1RfRkFMU0UoY2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBFWFBFQ1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNo
YW5nZWQoKSkKKyAgICBFWFBFQ1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5n
ZWQoKSk7ICAgICAgICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJT
dXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkpCiAKICNkZWZpbmUgRVhFQ1VURV9BTkRfVkVSSUZZX09O
TFlfTEFZRVJfQ0hBTkdFRChjb2RlVG9UZXN0KSAgICAgICAgICAgICAgIFwKICAgICByb290LT5y
ZXNldEFsbENoYW5nZVRyYWNraW5nRm9yU3VidHJlZSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICBjb2RlVG9UZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfVFJVRShyb290LT5sYXllclByb3Bl
cnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfRkFM
U0UoY2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBFWFBFQ1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSkK
KyAgICBFWFBFQ1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJTdXJmYWNlUHJv
cGVydHlDaGFuZ2VkKCkpCisKKyNkZWZpbmUgRVhFQ1VURV9BTkRfVkVSSUZZX09OTFlfU1VSRkFD
RV9DSEFOR0VEKGNvZGVUb1Rlc3QpICAgICAgICAgICAgIFwKKyAgICByb290LT5yZXNldEFsbENo
YW5nZVRyYWNraW5nRm9yU3VidHJlZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBjb2RlVG9UZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJQcm9wZXJ0eUNoYW5n
ZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0UoY2hpbGQt
PmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBF
WFBFQ1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBFWFBFQ1RfVFJVRShyb290LT5sYXllclN1cmZhY2VQcm9wZXJ0eUNo
YW5nZWQoKSkKIAogVEVTVChDQ0xheWVySW1wbFRlc3QsIHZlcmlmeUxheWVyQ2hhbmdlc0FyZVRy
YWNrZWRQcm9wZXJseSkKIHsKQEAgLTk4LDExICsxMTAsOSBAQCBURVNUKENDTGF5ZXJJbXBsVGVz
dCwgdmVyaWZ5TGF5ZXJDaGFuZ2VzQXJlVHJhY2tlZFByb3Blcmx5KQogICAgIEVYRUNVVEVfQU5E
X1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0TWFza0xheWVyKENDTGF5ZXJJbXBsOjpj
cmVhdGUoNCkpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3Qt
PnNldE1hc2tzVG9Cb3VuZHModHJ1ZSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVF
X0NIQU5HRUQocm9vdC0+c2V0T3BhcXVlKHRydWUpKTsKLSAgICBFWEVDVVRFX0FORF9WRVJJRllf
U1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldE9wYWNpdHkoYXJiaXRyYXJ5TnVtYmVyKSk7CiAgICAg
RVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRSZXBsaWNhTGF5ZXIo
Q0NMYXllckltcGw6OmNyZWF0ZSg1KSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVF
X0NIQU5HRUQocm9vdC0+c2V0UG9zaXRpb24oYXJiaXRyYXJ5RmxvYXRQb2ludCkpOwogICAgIEVY
RUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0UHJlc2VydmVzM0QodHJ1
ZSkpOwotICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0VHJh
bnNmb3JtKGFyYml0cmFyeVRyYW5zZm9ybSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJU
UkVFX0NIQU5HRUQocm9vdC0+c2V0RG91YmxlU2lkZWQoZmFsc2UpKTsgLy8gY29uc3RydWN0b3Ig
aW5pdGlhbGl6ZXMgaXQgdG8gInRydWUiLgogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVF
X0NIQU5HRUQocm9vdC0+c2Nyb2xsQnkoYXJiaXRyYXJ5SW50U2l6ZSkpOwogICAgIEVYRUNVVEVf
QU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0U2Nyb2xsRGVsdGEoYXJiaXRyYXJ5
SW50U2l6ZSkpOwpAQCAtMTE3LDYgKzEyNywxMCBAQCBURVNUKENDTGF5ZXJJbXBsVGVzdCwgdmVy
aWZ5TGF5ZXJDaGFuZ2VzQXJlVHJhY2tlZFByb3Blcmx5KQogICAgIEVYRUNVVEVfQU5EX1ZFUklG
WV9PTkxZX0xBWUVSX0NIQU5HRUQocm9vdC0+c2V0QmFja2dyb3VuZENvbG9yKENvbG9yOjpncmF5
KSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX09OTFlfTEFZRVJfQ0hBTkdFRChyb290LT5zZXRC
YWNrZ3JvdW5kRmlsdGVycyhhcmJpdHJhcnlGaWx0ZXJzKSk7CiAKKyAgICAvLyBDaGFuZ2luZyB0
aGVzZSBwcm9wZXJ0aWVzIG9ubHkgYWZmZWN0cyBob3cgcmVuZGVyJ3Mgc3VyZmFjZSBpcyBkcmF3
bgorICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX1NVUkZBQ0VfQ0hBTkdFRChyb290LT5zZXRP
cGFjaXR5KGFyYml0cmFyeU51bWJlcikpOworICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX1NV
UkZBQ0VfQ0hBTkdFRChyb290LT5zZXRUcmFuc2Zvcm0oYXJiaXRyYXJ5VHJhbnNmb3JtKSk7CisK
ICAgICAvLyBTcGVjaWFsIGNhc2U6IGNoZWNrIHRoYXQgc3VibGF5ZXIgdHJhbnNmb3JtIGNoYW5n
ZXMgYWxsIGxheWVyJ3MgZGVzY2VuZGFudHMsIGJ1dCBub3QgdGhlIGxheWVyIGl0c2VsZi4KICAg
ICByb290LT5yZXNldEFsbENoYW5nZVRyYWNraW5nRm9yU3VidHJlZSgpOwogICAgIHJvb3QtPnNl
dFN1YmxheWVyVHJhbnNmb3JtKGFyYml0cmFyeVRyYW5zZm9ybSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCmlu
ZGV4IDdkNmRjZjc5ZWU0ZmMwMWU0Y2E3ZjBlZDBiZjI5YTllY2E4ZjUzZDEuLjJmYjQxNDE1ZTlk
NTEwODgwYTgzYTZhNWIyMmQ5Y2M3Y2ZmYTUzNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCkBAIC0zNiw2
ICszNiw3IEBACiAjaW5jbHVkZSAiY2MvQ0NMYXllckltcGwuaCIKICNpbmNsdWRlICJjYy9DQ0xh
eWVyVGlsaW5nRGF0YS5oIgogI2luY2x1ZGUgImNjL0NDUXVhZEN1bGxlci5oIgorI2luY2x1ZGUg
ImNjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmgiCiAjaW5jbHVkZSAiY2MvQ0NTY3JvbGxiYXJMYXll
ckltcGwuaCIKICNpbmNsdWRlICJjYy9DQ1NldHRpbmdzLmgiCiAjaW5jbHVkZSAiY2MvQ0NTaW5n
bGVUaHJlYWRQcm94eS5oIgpAQCAtMTk2MSw0ICsxOTYyLDU3NiBAQCBURVNUX0YoQ0NMYXllclRy
ZWVIb3N0SW1wbFRlc3QsIGhhc1RyYW5zcGFyZW50QmFja2dyb3VuZCkKICAgICBNb2NrOjpWZXJp
ZnlBbmRDbGVhckV4cGVjdGF0aW9ucygmbW9ja0NvbnRleHQpOwogfQogCitURVNUX0YoQ0NMYXll
clRyZWVIb3N0SW1wbFRlc3QsIHN1cmZhY2VUZXh0dXJlQ2FjaGluZykKK3sKKyAgICBDQ1NldHRp
bmdzOjpzZXRQYXJ0aWFsU3dhcEVuYWJsZWQodHJ1ZSk7CisgICAgCisgICAgQ0NMYXllclRyZWVT
ZXR0aW5ncyBzZXR0aW5nczsKKyAgICBPd25QdHI8Q0NMYXllclRyZWVIb3N0SW1wbD4gbXlIb3N0
SW1wbCA9IENDTGF5ZXJUcmVlSG9zdEltcGw6OmNyZWF0ZShzZXR0aW5ncywgdGhpcyk7CisgICAg
CisgICAgUmVmUHRyPENDR3JhcGhpY3NDb250ZXh0PiBjb250ZXh0ID0gQ0NHcmFwaGljc0NvbnRl
eHQ6OmNyZWF0ZTNEKEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Y3JlYXRlR3JhcGhpY3NDb250
ZXh0RnJvbVdlYkNvbnRleHQoYWRvcHRQdHIobmV3IFBhcnRpYWxTd2FwQ29udGV4dCgpKSwgR3Jh
cGhpY3NDb250ZXh0M0Q6OlJlbmRlckRpcmVjdGx5VG9Ib3N0V2luZG93KSk7CisKKyAgICBteUhv
c3RJbXBsLT5pbml0aWFsaXplTGF5ZXJSZW5kZXJlcihjb250ZXh0LnJlbGVhc2UoKSwgVW50aHJv
dHRsZWRVcGxvYWRlcik7CisgICAgbXlIb3N0SW1wbC0+c2V0Vmlld3BvcnRTaXplKEludFNpemUo
MTAwLCAxMDApKTsKKworICAgIE93blB0cjxDQ0xheWVySW1wbD4gcm9vdCA9IENDTGF5ZXJJbXBs
OjpjcmVhdGUoMSk7CisgICAgQ0NMYXllckltcGwqIHJvb3RQdHIgPSByb290LmdldCgpOworCisg
ICAgcm9vdC0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludCgwLCAwKSk7CisgICAgcm9vdC0+c2V0
UG9zaXRpb24oRmxvYXRQb2ludCgwLCAwKSk7CisgICAgcm9vdC0+c2V0Qm91bmRzKEludFNpemUo
MTAwLCAxMDApKTsKKyAgICByb290LT5zZXRDb250ZW50Qm91bmRzKEludFNpemUoMTAwLCAxMDAp
KTsKKyAgICByb290LT5zZXRWaXNpYmxlTGF5ZXJSZWN0KEludFJlY3QoMCwgMCwgMTAwLCAxMDAp
KTsKKyAgICByb290LT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CisgICAgbXlIb3N0SW1wbC0+c2V0
Um9vdExheWVyKHJvb3QucmVsZWFzZSgpKTsKKworICAgIC8vIEludGVybWVkaWF0ZSBsYXllciBk
b2VzIG5vdCBvd24gYSBzdXJmYWNlLCBhbmQgZG9lcyBub3QgZHJhdyBjb250ZW50LgorICAgIE93
blB0cjxDQ0xheWVySW1wbD4gaW50ZXJtZWRpYXRlTGF5ZXIgPSBDQ0xheWVySW1wbDo6Y3JlYXRl
KDIpOworICAgIENDTGF5ZXJJbXBsKiBpbnRlcm1lZGlhdGVMYXllclB0ciA9IGludGVybWVkaWF0
ZUxheWVyLmdldCgpOworCisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNldEFuY2hvclBvaW50
KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRQb3NpdGlv
bihGbG9hdFBvaW50KDEwLCAxMCkpOworICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRCb3Vu
ZHMoSW50U2l6ZSgxMDAsIDEwMCkpOworICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRDb250
ZW50Qm91bmRzKEludFNpemUoMTAwLCAxMDApKTsKKyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+
c2V0VmlzaWJsZUxheWVyUmVjdChJbnRSZWN0KDAsIDAsIDEwMCwgMTAwKSk7CisgICAgaW50ZXJt
ZWRpYXRlTGF5ZXJQdHItPnNldERyYXdzQ29udGVudChmYWxzZSk7IC8vIG9ubHkgY2hpbGRyZW4g
ZHJhdyBjb250ZW50CisgICAgcm9vdFB0ci0+YWRkQ2hpbGQoaW50ZXJtZWRpYXRlTGF5ZXIucmVs
ZWFzZSgpKTsKKworICAgIE93blB0cjxDQ0xheWVySW1wbD4gc3VyZmFjZUxheWVyID0gQ0NMYXll
ckltcGw6OmNyZWF0ZSgzKTsKKyAgICBDQ0xheWVySW1wbCogc3VyZmFjZUxheWVyUHRyID0gc3Vy
ZmFjZUxheWVyLmdldCgpOworCisgICAgLy8gU3VyZmFjZSBsYXllciBpcyB0aGUgbGF5ZXIgdGhh
dCBjaGFuZ2VzIGl0cyBvcGFjaXR5CisgICAgLy8gSXQgd2lsbCBjb250YWluIG90aGVyIGxheWVy
cyB0aGF0IGRyYXcgY29udGVudC4KKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldEFuY2hvclBvaW50
KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0UG9zaXRpb24oRmxv
YXRQb2ludCgxMCwgMTApKTsKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldEJvdW5kcyhJbnRTaXpl
KDUwLCA1MCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0Q29udGVudEJvdW5kcyhJbnRTaXpl
KDUwLCA1MCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0VmlzaWJsZUxheWVyUmVjdChJbnRS
ZWN0KDAsIDAsIDUwLCA1MCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0RHJhd3NDb250ZW50
KGZhbHNlKTsgLy8gb25seSBjaGlsZHJlbiBkcmF3IGNvbnRlbnQKKyAgICBzdXJmYWNlTGF5ZXJQ
dHItPnNldE9wYWNpdHkoMC41Zik7IC8vIFRoaXMgd2lsbCBjYXVzZSBpdCB0byBoYXZlIGEgc3Vy
ZmFjZQorICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5hZGRDaGlsZChzdXJmYWNlTGF5ZXIucmVs
ZWFzZSgpKTsKKworICAgIC8vIENoaWxkIG9mIHRoZSBzdXJmYWNlIGxheWVyIHdpbGwgcHJvZHVj
ZSBzb21lIHF1YWRzCisgICAgT3duUHRyPEZha2VMYXllcldpdGhRdWFkcz4gY2hpbGQgPSBGYWtl
TGF5ZXJXaXRoUXVhZHM6OmNyZWF0ZSg0KTsKKyAgICBGYWtlTGF5ZXJXaXRoUXVhZHMqIGNoaWxk
UHRyID0gY2hpbGQuZ2V0KCk7CisKKyAgICBjaGlsZFB0ci0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQ
b2ludCgwLCAwKSk7CisgICAgY2hpbGRQdHItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoNSwgNSkp
OworICAgIGNoaWxkUHRyLT5zZXRCb3VuZHMoSW50U2l6ZSgxMCwgMTApKTsKKyAgICBjaGlsZFB0
ci0+c2V0Q29udGVudEJvdW5kcyhJbnRTaXplKDEwLCAxMCkpOworICAgIGNoaWxkUHRyLT5zZXRW
aXNpYmxlTGF5ZXJSZWN0KEludFJlY3QoMCwgMCwgMTAsIDEwKSk7CisgICAgY2hpbGRQdHItPnNl
dERyYXdzQ29udGVudCh0cnVlKTsKKworICAgIHN1cmZhY2VMYXllclB0ci0+YWRkQ2hpbGQoY2hp
bGQucmVsZWFzZSgpKTsKKworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJh
bWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9E
cmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZlIHR3byByZW5kZXIgcGFzc2Vz
LCBlYWNoIHdpdGggb25lIHF1YWQKKyAgICAgICAgQVNTRVJUX0VRKDJVLCBmcmFtZS5yZW5kZXJQ
YXNzZXMuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNb
MF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5k
ZXJQYXNzZXNbMV0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVEoQ0NE
cmF3UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpWzBd
LT5tYXRlcmlhbCgpKTsKKyAgICAgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQgPSBzdGF0
aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVh
ZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9UUlVFKHF1YWQtPnJlbmRlclBhc3Mo
KS0+dGFyZ2V0U3VyZmFjZSgpLT5jb250ZW50c0NoYW5nZWQoKSk7CisKKyAgICAgICAgbXlIb3N0
SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxM
YXllcnMoZnJhbWUpOworICAgIH0KKworICAgIC8vIERyYXcgd2l0aG91dCBhbnkgY2hhbmdlCisg
ICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7CisgICAg
ICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpKTsKKworICAg
ICAgICAvLyBNdXN0IHJlY2VpdmUgdHdvIEVNUFRZIHJlbmRlciBwYXNzZXMKKyAgICAgICAgQVNT
RVJUX0VRKDJVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VR
KDBVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAgICAg
RVhQRUNUX0VRKDBVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsK
KworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAgbXlIb3N0
SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisgICAgfQorCisgICAgLy8gQ2hhbmdlIG9w
YWNpdHkgYW5kIGRyYXcKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldE9wYWNpdHkoMC42Zik7Cisg
ICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7CisgICAg
ICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpKTsKKworICAg
ICAgICAvLyBNdXN0IHJlY2VpdmUgb25lIHJlbmRlciBwYXNzLCBhcyB0aGUgb3RoZXIgb25lIHNo
b3VsZCBiZSBjdWxsZWQKKyAgICAgICAgQVNTRVJUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXMu
c2l6ZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+
cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6UmVuZGVy
UGFzcywgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgpKTsK
KyAgICAgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRl
clBhc3NEcmF3UXVhZCo+KGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKVswXS5nZXQo
KSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZh
Y2UoKS0+Y29udGVudHNDaGFuZ2VkKCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXll
cnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsK
KyAgICB9CisKKyAgICAvLyBDaGFuZ2UgbGVzcyBiZW5pZ24gcHJvcGVydHkgYW5kIGRyYXcgLSBz
aG91bGQgaGF2ZSBjb250ZW50cyBjaGFuZ2VkIGZsYWcKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNl
dFN0YWNraW5nT3JkZXJDaGFuZ2VkKHRydWUpOworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVI
b3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBs
LT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZlIHR3byBy
ZW5kZXIgcGFzc2VzLCBlYWNoIHdpdGggb25lIHF1YWQKKyAgICAgICAgQVNTRVJUX0VRKDJVLCBm
cmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1l
LnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEo
Q0NEcmF3UXVhZDo6U29saWRDb2xvciwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgp
WzBdLT5tYXRlcmlhbCgpKTsKKworICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6UmVuZGVy
UGFzcywgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgpKTsK
KyAgICAgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRl
clBhc3NEcmF3UXVhZCo+KGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS5nZXQo
KSk7CisgICAgICAgIEVYUEVDVF9UUlVFKHF1YWQtPnJlbmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFj
ZSgpLT5jb250ZW50c0NoYW5nZWQoKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVy
cyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOwor
ICAgIH0KKworICAgIC8vIENoYW5nZSBvcGFjaXR5IGFnYWluLCBidXQgZXZpY3QgdGhlIGNhY2hl
ZCBzdXJmYWNlIHRleHR1cmUKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldE9wYWNpdHkoMC41Zik7
CisgICAgTWFuYWdlZFRleHR1cmUqIGNvbnRlbnRzVGV4dHVyZSA9IHN1cmZhY2VMYXllclB0ci0+
cmVuZGVyU3VyZmFjZSgpLT5jb250ZW50c1RleHR1cmUoKTsKKyAgICBBU1NFUlRfVFJVRShjb250
ZW50c1RleHR1cmUtPmlzVmFsaWQoY29udGVudHNUZXh0dXJlLT5zaXplKCksIGNvbnRlbnRzVGV4
dHVyZS0+Zm9ybWF0KCkpKTsKKyAgICBDQ1JlbmRlcmVyKiByZW5kZXJlciA9IG15SG9zdEltcGwt
PmxheWVyUmVuZGVyZXIoKTsKKyAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBy
ZW5kZXJlci0+aW1wbFRleHR1cmVNYW5hZ2VyKCk7CisgICAgc2l6ZV90IG1heE1lbW9yeUxpbWl0
ID0gdGV4dHVyZU1hbmFnZXItPm1heE1lbW9yeUxpbWl0Qnl0ZXMoKTsKKworICAgIC8vIFRoaXMg
c2hvdWxkIGV2aWNlIGFsbCBjYWNoZWQgc3VyZmFjZXMKKyAgICB0ZXh0dXJlTWFuYWdlci0+c2V0
TWF4TWVtb3J5TGltaXRCeXRlcygwKTsKKworICAgIC8vIFJlc3RvcmUgb3JpZ2luYWwgbGltaXQK
KyAgICB0ZXh0dXJlTWFuYWdlci0+c2V0TWF4TWVtb3J5TGltaXRCeXRlcyhtYXhNZW1vcnlMaW1p
dCk7CisKKyAgICAvLyBXYXMgb3VyIHN1cmZhY2UgZXZpY3RlZD8KKyAgICBBU1NFUlRfRkFMU0Uo
Y29udGVudHNUZXh0dXJlLT5pc1ZhbGlkKGNvbnRlbnRzVGV4dHVyZS0+c2l6ZSgpLCBjb250ZW50
c1RleHR1cmUtPmZvcm1hdCgpKSk7CisKKyAgICAvLyBDaGFuZ2Ugb3BhY2l0eSBhbmQgZHJhdwor
ICAgIHN1cmZhY2VMYXllclB0ci0+c2V0T3BhY2l0eSgwLjZmKTsKKyAgICB7CisgICAgICAgIEND
TGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUo
bXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIC8vIE11c3QgcmVj
ZWl2ZSB0d28gcmVuZGVyIHBhc3NlcworICAgICAgICBBU1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRl
clBhc3Nlcy5zaXplKCkpOworCisgICAgICAgIC8vIEV2ZW4gdGhvdWdoIG5vdCBlbm91Z2ggcHJv
cGVydGllcyBjaGFuZ2VkLCB0aGUgZW50aXJlIHRoaW5nIG11c3QgYmUKKyAgICAgICAgLy8gcmVk
cmF3biBhcyB3ZSBkb24ndCBoYXZlIGNhY2hlZCB0ZXh0dXJlcworICAgICAgICBFWFBFQ1RfRVEo
MVUsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBF
WFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKS5zaXplKCkpOwor
CisgICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQ
YXNzZXNbMV0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBh
c3NEcmF3UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJh
bWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNU
X0ZBTFNFKHF1YWQtPnJlbmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgpLT5jb250ZW50c0NoYW5n
ZWQoKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAg
IG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworICAgIH0KKworICAgIC8vIERy
YXcgd2l0aG91dCBhbnkgY2hhbmdlLCB0byBtYWtlIHN1cmUgdGhlIHN0YXRlIGlzIGNsZWFyCisg
ICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7CisgICAg
ICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpKTsKKworICAg
ICAgICAvLyBNdXN0IHJlY2VpdmUgdHdvIEVNUFRZIHJlbmRlciBwYXNzZXMKKyAgICAgICAgQVNT
RVJUX0VRKDJVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VR
KDBVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAgICAg
RVhQRUNUX0VRKDBVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsK
KworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAgbXlIb3N0
SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisgICAgfQorCisgICAgLy8gQ2hhbmdlIG9w
YWNpdHkgb24gdGhlIGludGVybWVkaWF0ZSBsYXllcgorICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0
cml4IHRyYW5zZm9ybSA9IGludGVybWVkaWF0ZUxheWVyUHRyLT50cmFuc2Zvcm0oKTsKKyAgICB0
cmFuc2Zvcm0uc2V0TTExKDEuMDAwMSk7CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNldFRy
YW5zZm9ybSh0cmFuc2Zvcm0pOworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6
RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJl
VG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZlIG9uZSByZW5kZXIgcGFz
cywgYXMgdGhlIG90aGVyIG9uZSBzaG91bGQgYmUgY3VsbGVkLgorICAgICAgICBBU1NFUlRfRVEo
MVUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZy
YW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworCisgICAgICAgIEVYUEVD
VF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRM
aXN0KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVh
ZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFzc2Vz
WzBdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHF1YWQtPnJl
bmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgpLT5jb250ZW50c0NoYW5nZWQoKSk7CisKKyAgICAg
ICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRp
ZERyYXdBbGxMYXllcnMoZnJhbWUpOworICAgIH0KK30KKworc3RydWN0IFJlbmRlclBhc3NDYWNo
ZUVudHJ5IHsKKyAgICBtdXRhYmxlIE93blB0cjxDQ1JlbmRlclBhc3M+IHJlbmRlclBhc3NQdHI7
CisgICAgQ0NSZW5kZXJQYXNzKiByZW5kZXJQYXNzOworCisgICAgUmVuZGVyUGFzc0NhY2hlRW50
cnkoUGFzc093blB0cjxDQ1JlbmRlclBhc3M+IHIpCisgICAgICAgIDogcmVuZGVyUGFzc1B0cihy
KSwKKyAgICAgICAgICByZW5kZXJQYXNzKHJlbmRlclBhc3NQdHIuZ2V0KCkpCisgICAgeworICAg
IH0KKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5KCkKKyAgICB7CisgICAgfQorCisgICAgUmVu
ZGVyUGFzc0NhY2hlRW50cnkoY29uc3QgUmVuZGVyUGFzc0NhY2hlRW50cnkmIGVudHJ5KQorICAg
ICAgICA6IHJlbmRlclBhc3NQdHIoZW50cnkucmVuZGVyUGFzc1B0ci5yZWxlYXNlKCkpLAorICAg
ICAgICAgIHJlbmRlclBhc3MoZW50cnkucmVuZGVyUGFzcykKKyAgICB7CisgICAgfQorCisgICAg
UmVuZGVyUGFzc0NhY2hlRW50cnkmIG9wZXJhdG9yPShjb25zdCBSZW5kZXJQYXNzQ2FjaGVFbnRy
eSYgZW50cnkpCisgICAgeworICAgICAgICByZW5kZXJQYXNzUHRyID0gZW50cnkucmVuZGVyUGFz
c1B0ci5yZWxlYXNlKCk7CisgICAgICAgIHJlbmRlclBhc3MgPSBlbnRyeS5yZW5kZXJQYXNzOwor
ICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorfTsKKworc3RydWN0IFJlbmRlclBhc3NSZW1v
dmFsVGVzdERhdGEgeworICAgIENDUmVuZGVyUGFzc0xpc3QgcmVuZGVyUGFzc0xpc3Q7CisgICAg
c3RkOjptYXA8Y2hhciwgUmVuZGVyUGFzc0NhY2hlRW50cnk+IHJlbmRlclBhc3NDYWNoZTsKKyAg
ICBzdGQ6Om1hcDxjb25zdCBDQ1JlbmRlclBhc3MqLCBjaGFyPiByZW5kZXJQYXNzSWQ7CisgICAg
VmVjdG9yPE93blB0cjxDQ1JlbmRlclN1cmZhY2U+ID4gcmVuZGVyU3VyZmFjZVN0b3JlOworICAg
IFZlY3RvcjxPd25QdHI8Q0NMYXllckltcGw+ID4gbGF5ZXJTdG9yZTsKKyAgICBPd25QdHI8Q0NT
aGFyZWRRdWFkU3RhdGU+IHNoYXJlZFF1YWRTdGF0ZTsKK307CisKK2NsYXNzIEZha2VSZW5kZXJT
dXJmYWNlIDogcHVibGljIENDUmVuZGVyU3VyZmFjZSB7Citwcml2YXRlOgorICAgIGJvb2wgbV9o
YXNDYWNoZWRUZXh0dXJlOworICAgIGJvb2wgbV9jb250ZW50c0NoYW5nZWQ7CisKK3B1YmxpYzoK
KyAgICBGYWtlUmVuZGVyU3VyZmFjZShDQ0xheWVySW1wbCogbGF5ZXJJbXBsKQorICAgICAgICA6
IENDUmVuZGVyU3VyZmFjZShsYXllckltcGwpLAorICAgICAgICAgIG1faGFzQ2FjaGVkVGV4dHVy
ZShmYWxzZSkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIGhhc0NhY2hlZENvbnRl
bnRzVGV4dHVyZSgpIGNvbnN0IE9WRVJSSURFCisgICAgeworICAgICAgICByZXR1cm4gbV9oYXND
YWNoZWRUZXh0dXJlOworICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBwcmVwYXJlQ29udGVudHNU
ZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbHJjKSBPVkVSUklERQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIGNvbnRlbnRzQ2hhbmdl
ZCgpIGNvbnN0IE9WRVJSSURFCisgICAgeworICAgICAgICByZXR1cm4gbV9jb250ZW50c0NoYW5n
ZWQ7CisgICAgfQorCisgICAgdm9pZCBzZXRIYXNDYWNoZWRUZXh0dXJlKGJvb2wgaGFzQ2FjaGVk
VGV4dHVyZSkKKyAgICB7CisgICAgICAgIG1faGFzQ2FjaGVkVGV4dHVyZSA9IGhhc0NhY2hlZFRl
eHR1cmU7CisgICAgfQorCisgICAgdm9pZCBzZXRDb250ZW50c0NoYW5nZWQoYm9vbCBjb250ZW50
c0NoYW5nZWQpCisgICAgeworICAgICAgICBtX2NvbnRlbnRzQ2hhbmdlZCA9IGNvbnRlbnRzQ2hh
bmdlZDsKKyAgICB9Cit9OworCitzdGF0aWMgUGFzc093blB0cjxDQ1JlbmRlclBhc3M+IGNyZWF0
ZUR1bW15UmVuZGVyUGFzcyhSZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhJiB0ZXN0RGF0YSkKK3sK
KyAgICBPd25QdHI8Q0NMYXllckltcGw+IGxheWVySW1wbCA9IENDTGF5ZXJJbXBsOjpjcmVhdGUo
MSk7CisgICAgQ0NSZW5kZXJTdXJmYWNlKiByZW5kZXJTdXJmYWNlID0gbmV3IEZha2VSZW5kZXJT
dXJmYWNlKGxheWVySW1wbC5nZXQoKSk7CisgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcmVuZGVy
UGFzc1B0ciA9IENDUmVuZGVyUGFzczo6Y3JlYXRlKHJlbmRlclN1cmZhY2UpOworCisgICAgdGVz
dERhdGEucmVuZGVyU3VyZmFjZVN0b3JlLmFwcGVuZChhZG9wdFB0cihyZW5kZXJTdXJmYWNlKSk7
CisgICAgdGVzdERhdGEubGF5ZXJTdG9yZS5hcHBlbmQobGF5ZXJJbXBsLnJlbGVhc2UoKSk7Cisg
ICAgcmV0dXJuIHJlbmRlclBhc3NQdHIucmVsZWFzZSgpOworfQorCitzdGF0aWMgdm9pZCBjb25m
aWd1cmVSZW5kZXJQYXNzVGVzdERhdGEoY29uc3QgY2hhciogdGVzdFNjcmlwdCwgUmVuZGVyUGFz
c1JlbW92YWxUZXN0RGF0YSYgdGVzdERhdGEpCit7CisgICAgLy8gT25lIHNoYXJlZCBzdGF0ZSBm
b3IgYWxsIHF1YWRzIC0gd2UgZG9uJ3QgbmVlZCB0aGUgY29ycmVjdCBkZXRhaWxzCisgICAgdGVz
dERhdGEuc2hhcmVkUXVhZFN0YXRlID0gQ0NTaGFyZWRRdWFkU3RhdGU6OmNyZWF0ZShXZWJUcmFu
c2Zvcm1hdGlvbk1hdHJpeCgpLCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBJbnRSZWN0KCks
IEludFJlY3QoKSwgMS4wLCB0cnVlKTsKKworICAgIGNvbnN0IGNoYXIqIGN1cnJlbnRDaGFyID0g
dGVzdFNjcmlwdDsKKworICAgIC8vIFByZS1jcmVhdGUgcm9vdCBwYXNzCisgICAgT3duUHRyPEND
UmVuZGVyUGFzcz4gcm9vdFJlbmRlclBhc3MgPSBjcmVhdGVEdW1teVJlbmRlclBhc3ModGVzdERh
dGEpOworICAgIHRlc3REYXRhLnJlbmRlclBhc3NJZC5pbnNlcnQoc3RkOjpwYWlyPENDUmVuZGVy
UGFzcyosIGNoYXI+KHJvb3RSZW5kZXJQYXNzLmdldCgpLCB0ZXN0U2NyaXB0WzBdKSk7CisgICAg
dGVzdERhdGEucmVuZGVyUGFzc0NhY2hlLmluc2VydChzdGQ6OnBhaXI8Y2hhciwgUmVuZGVyUGFz
c0NhY2hlRW50cnk+KHRlc3RTY3JpcHRbMF0sIFJlbmRlclBhc3NDYWNoZUVudHJ5KHJvb3RSZW5k
ZXJQYXNzLnJlbGVhc2UoKSkpKTsKKyAgICB3aGlsZSAoKmN1cnJlbnRDaGFyICE9ICdcMCcpIHsK
KyAgICAgICAgY2hhciByZW5kZXJQYXNzSWQgPSBjdXJyZW50Q2hhclswXTsKKyAgICAgICAgY3Vy
cmVudENoYXIrKzsKKworICAgICAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZW5kZXJQYXNzOwor
CisgICAgICAgIGJvb2wgaXNSZXBsaWNhID0gZmFsc2U7CisgICAgICAgIGlmICghdGVzdERhdGEu
cmVuZGVyUGFzc0NhY2hlW3JlbmRlclBhc3NJZF0ucmVuZGVyUGFzc1B0ci5nZXQoKSkKKyAgICAg
ICAgICAgIGlzUmVwbGljYSA9IHRydWU7CisKKyAgICAgICAgcmVuZGVyUGFzcyA9IHRlc3REYXRh
LnJlbmRlclBhc3NDYWNoZVtyZW5kZXJQYXNzSWRdLnJlbmRlclBhc3NQdHIucmVsZWFzZSgpOwor
CisgICAgICAgIC8vIEN5Y2xlIHRocm91Z2ggcXVhZCBkYXRhIGFuZCBjcmVhdGUgYWxsIHF1YWRz
CisgICAgICAgIHdoaWxlICgqY3VycmVudENoYXIgIT0gJ1xuJyAmJiAqY3VycmVudENoYXIgIT0g
J1wwJykgeworICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhciA9PSAncycpIHsKKyAgICAgICAg
ICAgICAgICAvLyBTb2xpZCBjb2xvciBkcmF3IHF1YWQKKyAgICAgICAgICAgICAgICBPd25QdHI8
Q0NEcmF3UXVhZD4gcXVhZCA9IENDU29saWRDb2xvckRyYXdRdWFkOjpjcmVhdGUodGVzdERhdGEu
c2hhcmVkUXVhZFN0YXRlLmdldCgpLCBJbnRSZWN0KDAsIDAsIDEwLCAxMCksIENvbG9yOjp3aGl0
ZSk7CisgICAgICAgICAgICAgICAgcmVuZGVyUGFzcy0+YXBwZW5kUXVhZChxdWFkLnJlbGVhc2Uo
KSk7CisgICAgICAgICAgICAgICAgY3VycmVudENoYXIrKzsKKyAgICAgICAgICAgIH0gZWxzZSBp
ZiAoKCpjdXJyZW50Q2hhciA+PSAnQScpICYmICgqY3VycmVudENoYXIgPD0gJ1onKSkgeworICAg
ICAgICAgICAgICAgIC8vIFJlbmRlclBhc3MgZHJhdyBxdWFkCisgICAgICAgICAgICAgICAgY2hh
ciBuZXdSZW5kZXJQYXNzSWQgPSAqY3VycmVudENoYXI7CisgICAgICAgICAgICAgICAgY3VycmVu
dENoYXIrKzsKKyAgICAgICAgICAgICAgICBib29sIGhhc1RleHR1cmUgPSBmYWxzZTsKKyAgICAg
ICAgICAgICAgICBib29sIGNvbnRlbnRzQ2hhbmdlZCA9IHRydWU7CisgICAgICAgICAgICAgICAg
CisgICAgICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhciA9PSAnWycpIHsKKyAgICAgICAgICAg
ICAgICAgICAgY3VycmVudENoYXIrKzsKKyAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCgqY3Vy
cmVudENoYXIgIT0gJ10nKSAmJiAoKmN1cnJlbnRDaGFyICE9ICdcMCcpKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICBzd2l0Y2ggKCpjdXJyZW50Q2hhcikgeworICAgICAgICAgICAgICAgICAg
ICAgICAgY2FzZSAnYyc6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHNDaGFu
Z2VkID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICAgICAgICAgICAgICBjYXNlICd0JzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
YXNUZXh0dXJlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRD
aGFyKys7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKCpj
dXJyZW50Q2hhciA9PSAnXScpCisgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcisr
OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIENDUmVuZGVyUGFzcyogcmVm
UmVuZGVyUGFzc1B0cjsKKworICAgICAgICAgICAgICAgIGlmICh0ZXN0RGF0YS5yZW5kZXJQYXNz
Q2FjaGUuZmluZChuZXdSZW5kZXJQYXNzSWQpID09IHRlc3REYXRhLnJlbmRlclBhc3NDYWNoZS5l
bmQoKSkgeworICAgICAgICAgICAgICAgICAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZWZSZW5k
ZXJQYXNzID0gY3JlYXRlRHVtbXlSZW5kZXJQYXNzKHRlc3REYXRhKTsKKyAgICAgICAgICAgICAg
ICAgICAgcmVmUmVuZGVyUGFzc1B0ciA9IHJlZlJlbmRlclBhc3MuZ2V0KCk7CisgICAgICAgICAg
ICAgICAgICAgIEZha2VSZW5kZXJTdXJmYWNlKiByZWZSZW5kZXJTdXJmYWNlID0gc3RhdGljX2Nh
c3Q8RmFrZVJlbmRlclN1cmZhY2UqPihyZWZSZW5kZXJQYXNzLT50YXJnZXRTdXJmYWNlKCkpOwor
ICAgICAgICAgICAgICAgICAgICByZWZSZW5kZXJTdXJmYWNlLT5zZXRIYXNDYWNoZWRUZXh0dXJl
KGhhc1RleHR1cmUpOworICAgICAgICAgICAgICAgICAgICByZWZSZW5kZXJTdXJmYWNlLT5zZXRD
b250ZW50c0NoYW5nZWQoY29udGVudHNDaGFuZ2VkKTsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dERhdGEucmVuZGVyUGFzc0lkLmluc2VydChzdGQ6OnBhaXI8Q0NSZW5kZXJQYXNzKiwgY2hhcj4o
cmVmUmVuZGVyUGFzcy5nZXQoKSwgbmV3UmVuZGVyUGFzc0lkKSk7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3REYXRhLnJlbmRlclBhc3NDYWNoZS5pbnNlcnQoc3RkOjpwYWlyPGNoYXIsIFJlbmRl
clBhc3NDYWNoZUVudHJ5PihuZXdSZW5kZXJQYXNzSWQsIFJlbmRlclBhc3NDYWNoZUVudHJ5KHJl
ZlJlbmRlclBhc3MucmVsZWFzZSgpKSkpOworICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAg
ICAgICAgICAgICAgICByZWZSZW5kZXJQYXNzUHRyID0gdGVzdERhdGEucmVuZGVyUGFzc0NhY2hl
W25ld1JlbmRlclBhc3NJZF0ucmVuZGVyUGFzczsKKworICAgICAgICAgICAgICAgIE93blB0cjxD
Q1JlbmRlclBhc3NEcmF3UXVhZD4gcXVhZCA9IENDUmVuZGVyUGFzc0RyYXdRdWFkOjpjcmVhdGUo
dGVzdERhdGEuc2hhcmVkUXVhZFN0YXRlLmdldCgpLCBJbnRSZWN0KCksIHJlZlJlbmRlclBhc3NQ
dHIsIGlzUmVwbGljYSwgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zKCksIFdlYktpdDo6V2Vi
RmlsdGVyT3BlcmF0aW9ucygpLCAxKTsKKyAgICAgICAgICAgICAgICByZW5kZXJQYXNzLT5hcHBl
bmRRdWFkKHF1YWQucmVsZWFzZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAg
ICB0ZXN0RGF0YS5yZW5kZXJQYXNzTGlzdC5pbnNlcnQoMCwgcmVuZGVyUGFzcy5yZWxlYXNlKCkp
OworICAgICAgICBpZiAoKmN1cnJlbnRDaGFyICE9ICdcMCcpCisgICAgICAgICAgICBjdXJyZW50
Q2hhcisrOworICAgIH0KK30KKwordm9pZCBkdW1wUmVuZGVyUGFzc1Rlc3REYXRhKGNvbnN0IFJl
bmRlclBhc3NSZW1vdmFsVGVzdERhdGEmIHRlc3REYXRhLCBjaGFyKiBidWZmZXIpCit7CisgICAg
Y2hhciogcG9zID0gYnVmZmVyOworICAgIENDUmVuZGVyUGFzc0xpc3Q6OmNvbnN0X3JldmVyc2Vf
aXRlcmF0b3IgaXQgPSB0ZXN0RGF0YS5yZW5kZXJQYXNzTGlzdC5yYmVnaW4oKTsKKyAgICB3aGls
ZSAoaXQgIT0gdGVzdERhdGEucmVuZGVyUGFzc0xpc3QucmVuZCgpKSB7CisgICAgICAgIENDUmVu
ZGVyUGFzcyogY3VycmVudFBhc3MgPSBpdC0+Z2V0KCk7CisgICAgICAgIGNoYXIgcGFzc0lkID0g
dGVzdERhdGEucmVuZGVyUGFzc0lkLmZpbmQoY3VycmVudFBhc3MpLT5zZWNvbmQ7CisgICAgICAg
ICpwb3MgPSBwYXNzSWQ7CisgICAgICAgIHBvcysrOworCisgICAgICAgIENDUXVhZExpc3Q6OmNv
bnN0X2l0ZXJhdG9yIHF1YWRMaXN0SXRlcmF0b3IgPSBjdXJyZW50UGFzcy0+cXVhZExpc3QoKS5i
ZWdpbigpOworICAgICAgICB3aGlsZSAocXVhZExpc3RJdGVyYXRvciAhPSBjdXJyZW50UGFzcy0+
cXVhZExpc3QoKS5lbmQoKSkgeworICAgICAgICAgICAgQ0NEcmF3UXVhZCogY3VycmVudFF1YWQg
PSAoKnF1YWRMaXN0SXRlcmF0b3IpLmdldCgpOworICAgICAgICAgICAgc3dpdGNoIChjdXJyZW50
UXVhZC0+bWF0ZXJpYWwoKSkgeworICAgICAgICAgICAgY2FzZSBDQ0RyYXdRdWFkOjpTb2xpZENv
bG9yOgorICAgICAgICAgICAgICAgICpwb3MgPSAncyc7CisgICAgICAgICAgICAgICAgcG9zKys7
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIENDRHJhd1F1YWQ6OlJl
bmRlclBhc3M6CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBDQ1JlbmRl
clBhc3NEcmF3UXVhZCogcmVuZGVyUGFzc0RyYXdRdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQ
YXNzRHJhd1F1YWQqPihjdXJyZW50UXVhZCk7CisgICAgICAgICAgICAgICAgICAgIGNvbnN0IEND
UmVuZGVyUGFzcyogcmVmUGFzcyA9IHJlbmRlclBhc3NEcmF3UXVhZC0+cmVuZGVyUGFzcygpOwor
ICAgICAgICAgICAgICAgICAgICBjaGFyIHJlZlBhc3NJZCA9IHRlc3REYXRhLnJlbmRlclBhc3NJ
ZC5maW5kKHJlZlBhc3MpLT5zZWNvbmQ7CisgICAgICAgICAgICAgICAgICAgICpwb3MgPSByZWZQ
YXNzSWQ7CisgICAgICAgICAgICAgICAgICAgIHBvcysrOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAg
ICAgKnBvcyA9ICd4JzsKKyAgICAgICAgICAgICAgICBwb3MrKzsKKyAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgcXVhZExpc3RJ
dGVyYXRvcisrOworICAgICAgICB9CisgICAgICAgICpwb3MgPSAnXG4nOworICAgICAgICBwb3Mr
KzsKKyAgICAgICAgaXQrKzsKKyAgICB9CisgICAgKnBvcyA9ICdcMCc7Cit9CisKK3N0YXRpYyB2
b2lkIHZlcmlmeVJlbmRlclBhc3NUZXN0RGF0YShjb25zdCBjaGFyKiBleHBlY3RlZFJlc3VsdCwg
UmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSYgdGVzdERhdGEpCit7CisgICAgY2hhciBhY3R1YWxS
ZXN1bHRbMTAyNF07CisgICAgZHVtcFJlbmRlclBhc3NUZXN0RGF0YSh0ZXN0RGF0YSwgYWN0dWFs
UmVzdWx0KTsKKyAgICBFWFBFQ1RfU1RSRVEoZXhwZWN0ZWRSZXN1bHQsIGFjdHVhbFJlc3VsdCk7
Cit9CisKKy8vIEVhY2ggQ0NSZW5kZXJQYXNzTGlzdCBpcyByZXByZXNlbnRlZCBieSBhIHN0cmlu
ZyB3aGljaCBkZXNjcmliZXMgdGhlIGNvbmZpZ3VyYXRpb24uCisvLyBUaGUgc3ludGF4IG9mIHRo
ZSBzdHJpbmcgaXMgYXMgZm9sbG93czoKKy8vCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJzc3Nzc1hbY11zc1lzc3NaW3Rdc3NXW2N0XQor
Ly8gSWRlbnRpZmllcyB0aGUgcmVuZGVyIHBhc3MtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1e
IF5eXiBeIF4gICBeICAgICBeICAgICBeCisvLyBUaGVzZSBhcmUgc29saWQgY29sb3IgcXVhZHMt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgIHwgfCAgIHwgICAgIHwgICAgIHwKKy8vIElk
ZW50aWZpZXMgUmVuZGVyUGFzc0RyYXdRdWFkJ3MgUmVuZGVyUGFzcy0tLS0tLS0tLS0tLS0tLS0t
KyB8ICAgfCAgICAgfCAgICAgfAorLy8gVGhpcyBxdWFkJ3MgY29udGVudHMgZGlkbid0IGNoYW5n
ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICB8ICAgICB8ICAgICB8CisvLyBUaGlzIHF1
YWQncyBjb250ZW50cyBjaGFuZ2VkIGFuZCBpdCBoYXMgbm8gdGV4dHVyZS0tLS0tLS0tLS0tLS0t
LSsgICAgIHwgICAgIHwKKy8vIFRoaXMgcXVhZCBoYXMgdGV4dHVyZSBidXQgaXRzIGNvbnRlbnRz
IGNoYW5nZWQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgICAgfAorLy8gVGhpcyBxdWFkJ3Mg
Y29udGVudHMgZGlkbid0IGNoYW5nZSBhbmQgaXQgaGFzIHRleHR1cmUgLSB3aWxsIGJlIHJlbW92
ZWQtLS0tLS0rCisvLworLy8gRXhwZWN0ZWQgcmVzdWx0cyBoYXZlIGV4YWN0bHkgdGhlIHNhbWUg
c3ludGF4LCBleGNlcHQgdGhleSBkbyBub3QgdXNlIHNxdWFyZSBicmFja2V0cywKKy8vIHNpbmNl
IHdlIG9ubHkgY2hlY2sgdGhlIHN0cnVjdHVyZSwgbm90IGF0dHJpYnV0ZXMuCisvLworLy8gVGVz
dCBjYXNlIGNvbmZpZ3VyYXRpb24gY29uc2lzdHMgb2YgaW5pdGlhbGl6YXRpb24gc2NyaXB0IGFu
ZCBleHBlY3RlZCByZXN1bHRzLAorLy8gYWxsIGluIHRoZSBzYW1lIGZvcm1hdC4KK3N0cnVjdCBU
ZXN0Q2FzZSB7CisgICAgY29uc3QgY2hhciogbmFtZTsKKyAgICBjb25zdCBjaGFyKiBpbml0U2Ny
aXB0OworICAgIGNvbnN0IGNoYXIqIGV4cGVjdGVkUmVzdWx0OworfTsKKworVGVzdENhc2UgcmVt
b3ZlUmVuZGVyUGFzc2VzQ2FzZXNbXSA9CisgICAgeworICAgICAgICB7CisgICAgICAgICAgICAi
U2luZ2xlIHJvb3QgcGFzcyIsCisgICAgICAgICAgICAiUnNzc3NcbiIsCisgICAgICAgICAgICAi
UnNzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIlNpbmdsZSBwYXNzIC0gbm8gcXVh
ZHMiLAorICAgICAgICAgICAgIlJcbiIsCisgICAgICAgICAgICAiUlxuIgorICAgICAgICB9LCB7
CisgICAgICAgICAgICAiVHdvIHBhc3Nlcywgbm8gcmVtb3ZhbCIsCisgICAgICAgICAgICAiUnNz
c3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIsCisgICAgICAgICAgICAiUnNzc3NBc3Nz
XG4iCisgICAgICAgICAgICAiQXNzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIlR3
byBwYXNzZXMsIHJlbW92ZSBsYXN0IiwKKyAgICAgICAgICAgICJSc3Nzc0FbY3Rdc3NzXG4iCisg
ICAgICAgICAgICAiQXNzc3NcbiIsCisgICAgICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAg
IH0sIHsKKyAgICAgICAgICAgICJIYXZlIHRleHR1cmUgYnV0IGNvbnRlbnRzIGNoYW5nZWQgLSBs
ZWF2ZSBwYXNzIiwKKyAgICAgICAgICAgICJSc3Nzc0FbdF1zc3NcbiIKKyAgICAgICAgICAgICJB
c3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xu
IgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiQ29udGVudHMgZGlkbid0IGNoYW5nZSBidXQg
bm8gdGV4dHVyZSAtIGxlYXZlIHBhc3MiLAorICAgICAgICAgICAgIlJzc3NzQVtjXXNzc1xuIgor
ICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAg
ICAgICAgIkFzc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJSZXBsaWNhOiB0d28g
cXVhZHMgcmVmZXJlbmNlIHRoZSBzYW1lIHBhc3M7IHJlbW92ZSIsCisgICAgICAgICAgICAiUnNz
c3NBW2N0XUFbY3Rdc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIsCisgICAgICAgICAgICAi
UnNzc3NBQXNzc1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiUmVwbGljYTogdHdvIHF1
YWRzIHJlZmVyZW5jZSB0aGUgc2FtZSBwYXNzOyBsZWF2ZSIsCisgICAgICAgICAgICAiUnNzc3NB
W2NdQVtjXXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAgIlJzc3Nz
QUFzc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIiwKKyAgICAgICAgfSwgeworICAgICAgICAg
ICAgIk1hbnkgcGFzc2VzLCByZW1vdmUgYWxsIiwKKyAgICAgICAgICAgICJSc3Nzc0FbY3Rdc3Nz
XG4iCisgICAgICAgICAgICAiQXNzc0JbY3RdQ1tjdF1zXG4iCisgICAgICAgICAgICAiQnNzc0Rb
Y3Rdc3NFW2N0XUZbY3RdXG4iCisgICAgICAgICAgICAiRXNzc3Nzc1xuIgorICAgICAgICAgICAg
IkNHW2N0XVxuIgorICAgICAgICAgICAgIkRzc3Nzc3NzXG4iCisgICAgICAgICAgICAiRnNzc3Nz
c3NcbiIKKyAgICAgICAgICAgICJHc3NzXG4iLAorCisgICAgICAgICAgICAiUnNzc3NBc3NzXG4i
CisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJEZWVwIHJlY3Vyc2lvbiwgcmVtb3ZlIGFsbCIs
CisKKyAgICAgICAgICAgICJSc3Nzc3NBW2N0XXNzc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc0Jz
c3NcbiIKKyAgICAgICAgICAgICJCQ1xuIgorICAgICAgICAgICAgIkNEXG4iCisgICAgICAgICAg
ICAiREVcbiIKKyAgICAgICAgICAgICJFRlxuIgorICAgICAgICAgICAgIkZHXG4iCisgICAgICAg
ICAgICAiR0hcbiIKKyAgICAgICAgICAgICJIc3NzSXNzc1xuIgorICAgICAgICAgICAgIklKXG4i
CisgICAgICAgICAgICAiSnNzc3NcbiIsCisgICAgICAgICAgICAKKyAgICAgICAgICAgICJSc3Nz
c3NBc3Nzc1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiV2lkZSByZWN1cnNpb24sIHJl
bW92ZSBhbGwiLAorICAgICAgICAgICAgIlJBW2N0XUJbY3RdQ1tjdF1EW2N0XUVbY3RdRltjdF1H
W2N0XUhbY3RdSVtjdF1KW2N0XVxuIgorICAgICAgICAgICAgIkFzXG4iCisgICAgICAgICAgICAi
QnNcbiIKKyAgICAgICAgICAgICJDc3Nzc1xuIgorICAgICAgICAgICAgIkRzc3NzXG4iCisgICAg
ICAgICAgICAiRXNcbiIKKyAgICAgICAgICAgICJGXG4iCisgICAgICAgICAgICAiR3NcbiIKKyAg
ICAgICAgICAgICJIc1xuIgorICAgICAgICAgICAgIklzXG4iCisgICAgICAgICAgICAiSnNzc3Nc
biIsCisgICAgICAgICAgICAKKyAgICAgICAgICAgICJSQUJDREVGR0hJSlxuIgorICAgICAgICB9
LCB7CisgICAgICAgICAgICAiUmVtb3ZlIHBhc3NlcyByZWdhcmRsZXNzIG9mIGNhY2hlIHN0YXRl
IiwKKyAgICAgICAgICAgICJSc3Nzc0FbY3Rdc3NzXG4iCisgICAgICAgICAgICAiQXNzc0JDc1xu
IgorICAgICAgICAgICAgIkJzc3NEW2Ndc3NFW3RdRlxuIgorICAgICAgICAgICAgIkVzc3Nzc3Nc
biIKKyAgICAgICAgICAgICJDR1xuIgorICAgICAgICAgICAgIkRzc3Nzc3NzXG4iCisgICAgICAg
ICAgICAiRnNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJHc3NzXG4iLAorCisgICAgICAgICAgICAi
UnNzc3NBc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJMZWF2ZSBzb21lIHBhc3Nl
cywgcmVtb3ZlIG90aGVycyIsCisKKyAgICAgICAgICAgICJSc3Nzc0FbY11zc3NcbiIKKyAgICAg
ICAgICAgICJBc3NzQlt0XUNbY3Rdc1xuIgorICAgICAgICAgICAgIkJzc3NEW2Ndc3NcbiIKKyAg
ICAgICAgICAgICJDR1xuIgorICAgICAgICAgICAgIkRzc3Nzc3NzXG4iCisgICAgICAgICAgICAi
R3Nzc1xuIiwKKworICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAgICAgICAgIkFzc3NC
Q3NcbiIKKyAgICAgICAgICAgICJCc3NzRHNzXG4iCisgICAgICAgICAgICAiRHNzc3Nzc3NcbiIK
KyAgICAgICAgfSwgeworICAgICAgICAgICAgMCwgMCwgMAorICAgICAgICB9CisgICAgfTsKKwor
VEVTVChSZW5kZXJQYXNzUmVtb3ZhbFRlc3QsIHRlc3RSZW1vdmVSZW5kZXJQYXNzZXMpCit7Cisg
ICAgaW50IHRlc3RDYXNlSW5kZXggPSAwOworICAgIHdoaWxlIChyZW1vdmVSZW5kZXJQYXNzZXND
YXNlc1t0ZXN0Q2FzZUluZGV4XS5uYW1lKSB7CisgICAgICAgIERlYnVnU2NvcGVkU2V0SW1wbFRo
cmVhZCBpbXBsVGhyZWFkOworICAgICAgICBSZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhIHRlc3RE
YXRhOworICAgICAgICBDQ1JlbmRlclBhc3NMaXN0IHNraXBwZWRQYXNzZXM7CisgICAgICAgIGNv
bmZpZ3VyZVJlbmRlclBhc3NUZXN0RGF0YShyZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2Fz
ZUluZGV4XS5pbml0U2NyaXB0LCB0ZXN0RGF0YSk7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdElt
cGw6OnJlbW92ZVBhc3Nlc1dpdGhDYWNoZWRUZXh0dXJlcyh0ZXN0RGF0YS5yZW5kZXJQYXNzTGlz
dCwgc2tpcHBlZFBhc3Nlcyk7CisgICAgICAgIHZlcmlmeVJlbmRlclBhc3NUZXN0RGF0YShyZW1v
dmVSZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2FzZUluZGV4XS5leHBlY3RlZFJlc3VsdCwgdGVzdERh
dGEpOworICAgICAgICB0ZXN0Q2FzZUluZGV4Kys7CisgICAgfQorfQorCiB9IC8vIG5hbWVzcGFj
ZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147819</attachid>
            <date>2012-06-15 08:05:36 -0700</date>
            <delta_ts>2012-06-15 10:50:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88482-20120615110534.patch</filename>
            <type>text/plain</type>
            <size>53849</size>
            <attacher>zlieber</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWJjNjM1NTIxODg5N2Uz
YmVhMmM3MjMyYmM2MGRlZTI4OTg3MzczMi4uMmQ3ZmQ0NDkxODQ1YjFhNWJiYzcyM2I3NzY1NGNk
ODA3ODdhNWVkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTA2LTE1ICBaZWV2
IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ29t
cG9zaXRvciBzaG91bGQgYXZvaWQgZHJhd2luZyBxdWFkcyB3aGVuIGNhY2hlZCB0ZXh0dXJlcyBh
cmUgYXZhaWxhYmxlIGFuZCBjb250ZW50cyB1bmNoYW5nZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUG9zdC1wcm9jZXNzaW5nIENDUmVuZGVyUGFzc0xp
c3QgYWZ0ZXIgaXQncyBiZWVuIGdlbmVyYXRlZCBhbmQKKyAgICAgICAgcmVtb3ZpbmcgYWxsIHJl
bmRlciBzdXJmYWNlIHF1YWRzIGZvciB3aGljaCB0aGVyZSBhcmUKKyAgICAgICAgY2FjaGVkIHRl
eHR1cmVzLCBhbmQgd2hvc2UgY29udGVudCBkaWRuJ3QgY2hhbmdlLiBBZGRlZCBhIG5ldworICAg
ICAgICBmbGFnIHRvIENDTGF5ZXJJbXBsIHRvIGRpZmZlcmVudGlhdGUgc3VyZmFjZSBwcm9wZXJ0
eSBjaGFuZ2UgYW5kCisgICAgICAgIGxheWVyIHByb3BlcnR5IGNoYW5nZS4KKworICAgICAgICBU
aGUgY2hhbmdlcyBhcmUgY292ZXJlZCBieSBuZXcgdW5pdCB0ZXN0cyB0aGF0IGNoZWNrIHRoYXQK
KyAgICAgICAgdGhlIHJlbW92YWwgYWxnb3JpdGhtIGZ1bmN0aW9ucyBwcm9wZXJ0bHkuIE5vIHJl
bmRlcmluZworICAgICAgICBiZWhhdmlvdXIgY2hhbmdlLCBzbyBubyBuZXcgbGF5b3V0IHRlc3Rz
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFj
a2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmxheWVyVGFyZ2V0U3VyZmFjZVJlcXVpcmVzUmVk
cmF3aW5nKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NEYW1hZ2VU
cmFja2VyOjpleHRlbmREYW1hZ2VGb3JMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpDQ0RhbWFn
ZVRyYWNrZXI6OmV4dGVuZERhbWFnZUZvclJlbmRlclN1cmZhY2UpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNDTGF5ZXJJbXBsOjpDQ0xheWVySW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVy
SW1wbDo6bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OnJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdGb3JT
dWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXRPcGFjaXR5KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXRUcmFuc2Zvcm0pOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmg6CisgICAgICAgIChDQ0xh
eWVySW1wbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
clRyZWVIb3N0SW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBs
OjpjYWxjdWxhdGVSZW5kZXJQYXNzZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVI
b3N0SW1wbDo6cmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3ZlUGFzc2VzV2l0
aENhY2hlZFRleHR1cmVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6
OnByZXBhcmVUb0RyYXcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJUcmVlSG9zdEltcGwuaDoKKyAgICAgICAgKEZyYW1lRGF0YSk6CisgICAgICAgIChD
Q0xheWVyVHJlZUhvc3RJbXBsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1JlbmRlclBhc3MuaDoKKyAgICAgICAgKENDUmVuZGVyUGFzcyk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNDUmVuZGVyU3VyZmFjZTo6cHJlcGFyZUNvbnRlbnRzVGV4dHVyZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6Omhhc0NhY2hlZENvbnRlbnRzVGV4dHVy
ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyU3VyZmFj
ZTo6Y29udGVudHNDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1JlbmRlclN1cmZhY2UuaDoKKyAgICAgICAgKENDUmVuZGVyU3VyZmFjZSk6CisKIDIw
MTItMDYtMTUgIE1heCBGZWlsICA8bWZlaWxAcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJy
eV0gbWVkaWEgdm9sdW1lIHNsaWRlciBpbiB3cm9uZyBwb3NpdGlvbiAobWFzdGVyXzM4IHJlZ3Jl
c3Npb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGJlZTk2MzhiZjNiNDM1M2FhZGFm
MDg2YWU0MDM0ZDUzYTRmZDA1NWQuLmNiYzQ5ZWRiYWUyZjUyNDIyYjYyNmYwYjRjZmE0NWJiYWQ2
YzlhODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTIt
MDYtMTUgIFplZXYgTGllYmVyICA8emxpZWJlckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0No
cm9taXVtXSBDb21wb3NpdG9yIHNob3VsZCBhdm9pZCBkcmF3aW5nIHF1YWRzIHdoZW4gY2FjaGVk
IHRleHR1cmVzIGFyZSBhdmFpbGFibGUgYW5kIGNvbnRlbnRzIHVuY2hhbmdlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg0ODIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0cyB0byB2ZXJp
ZnkgcXVhZCByZW1vdmFsIGFsZ29yaXRobS4gQWRkZWQgaW5mcmFzdHJ1Y3R1cmUKKyAgICAgICAg
Y29kZSB0byBnZW5lcmF0ZSBjdXN0b20gcmVuZGVyIHBhc3NlcyBvdXQgb2YgYSBzY3JpcHQgZW5j
b2RlZCBhcyBDCisgICAgICAgIHN0cmluZy4KKworICAgICAgICAqIHRlc3RzL0NDRGFtYWdlVHJh
Y2tlclRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0VGVzdHM6OlRFU1RfRik6CisgICAgICAgICog
dGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6VEVTVCk6CisgICAgICAgICogdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3Qu
Y3BwOgorCiAyMDEyLTA2LTE1ICBTYW1pIEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgc2Nyb2xsaW5nIG5vbi1yb290IGxheWVycyBp
biB0aGUgY29tcG9zaXRvciB0aHJlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3BwCmlu
ZGV4IGE2ZmRiYjhmZmZhY2NhMzlmOTFmMGMwM2FiNzJmYWU4NGFlNjY2ZjAuLjYxYjk3M2I0YjZl
MzM4OGIzODRjZmNkZDU2ZTYwZjQ5ZGFmM2Y4ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFj
a2VyLmNwcApAQCAtMjM5LDYgKzIzOSwxOCBAQCBGbG9hdFJlY3QgQ0NEYW1hZ2VUcmFja2VyOjp0
cmFja0RhbWFnZUZyb21MZWZ0b3ZlclJlY3RzKCkKICAgICByZXR1cm4gZGFtYWdlUmVjdDsKIH0K
IAorc3RhdGljIGJvb2wgbGF5ZXJUYXJnZXRTdXJmYWNlUmVxdWlyZXNSZWRyYXdpbmcoQ0NMYXll
ckltcGwqIGxheWVyKQoreworICAgIC8vIElmIHRoZSBsYXllciBkb2VzIE5PVCBvd24gYSBzdXJm
YWNlIGJ1dCBoYXMgU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCwKKyAgICAvLyB0aGlzIG1lYW5zIHRo
YXQgaXRzIHRhcmdldCBzdXJmYWNlIGlzIGFmZmVjdGVkIGFuZCBuZWVkcyB0byBiZSByZWRyYXdu
LgorICAgIC8vIEhvd2V2ZXIsIGlmIHRoZSBsYXllciBET0VTIG93biBhIHN1cmZhY2UsIHRoZW4g
dGhlIFN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgCisgICAgLy8gZmxhZyBzaG91bGQgbm90IGJlIHVz
ZWQgaGVyZSwgYmVjYXVzZSB0aGF0IGZsYWcgcmVwcmVzZW50cyB3aGV0aGVyIHRoZQorICAgIC8v
IGxheWVyJ3Mgc3VyZmFjZSBoYXMgY2hhbmdlZC4KKyAgICBpZiAobGF5ZXItPnJlbmRlclN1cmZh
Y2UoKSkKKyAgICAgICAgcmV0dXJuIGxheWVyLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpOworICAg
IHJldHVybiBsYXllci0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSB8fCBsYXllci0+bGF5ZXJTdXJm
YWNlUHJvcGVydHlDaGFuZ2VkKCk7Cit9CisKIHZvaWQgQ0NEYW1hZ2VUcmFja2VyOjpleHRlbmRE
YW1hZ2VGb3JMYXllcihDQ0xheWVySW1wbCogbGF5ZXIsIEZsb2F0UmVjdCYgdGFyZ2V0RGFtYWdl
UmVjdCkKIHsKICAgICAvLyBUaGVyZSBhcmUgdHdvIHdheXMgdGhhdCBhIGxheWVyIGNhbiBkYW1h
Z2UgYSByZWdpb24gb2YgdGhlIHRhcmdldCBzdXJmYWNlOgpAQCAtMjUxLDYgKzI2MywxMSBAQCB2
b2lkIENDRGFtYWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yTGF5ZXIoQ0NMYXllckltcGwqIGxh
eWVyLCBGbG9hdFJlY3QmIHRhcmdldAogICAgIC8vICAgICAgcmVnaW9uIGRhbWFnZXMgdGhlIHN1
cmZhY2UuCiAgICAgLy8KICAgICAvLyBQcm9wZXJ0eSBjaGFuZ2VzIHRha2UgcHJpb3JpdHkgb3Zl
ciB1cGRhdGUgcmVjdHMuCisgICAgLy8KKyAgICAvLyBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hl
biB3ZSB3YW50IHRvIGNvbnNpZGVyIGhvdyBhIGxheWVyIGNvbnRyaWJ1dGVzIHRvIGl0cworICAg
IC8vIHRhcmdldFJlbmRlclN1cmZhY2UsIGV2ZW4gaWYgdGhhdCBsYXllciBvd25zIHRoZSB0YXJn
ZXRSZW5kZXJTdXJmYWNlIGl0c2VsZi4KKyAgICAvLyBUbyBjb25zaWRlciBob3cgYSBsYXllcidz
IHRhcmdldFN1cmZhY2UgY29udHJpYnV0ZXMgdG8gdGhlIGFuY2VzdG9yU3VyZmFjZSwKKyAgICAv
LyBleHRlbmREYW1hZ2VGb3JSZW5kZXJTdXJmYWNlKCkgbXVzdCBiZSBjYWxsZWQgaW5zdGVhZC4K
IAogICAgIC8vIENvbXB1dGUgdGhlIGxheWVyJ3MgIm9yaWdpblRyYW5zZm9ybSIgYnkgdHJhbnNs
YXRpbmcgdGhlIGRyYXdUcmFuc2Zvcm0uCiAgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggb3Jp
Z2luVHJhbnNmb3JtID0gbGF5ZXItPmRyYXdUcmFuc2Zvcm0oKTsKQEAgLTI2Miw3ICsyNzksNyBA
QCB2b2lkIENDRGFtYWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yTGF5ZXIoQ0NMYXllckltcGwq
IGxheWVyLCBGbG9hdFJlY3QmIHRhcmdldAogICAgIEZsb2F0UmVjdCBsYXllclJlY3RJblRhcmdl
dFNwYWNlID0gQ0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJlY3Qob3JpZ2luVHJhbnNmb3JtLCBGbG9h
dFJlY3QoRmxvYXRQb2ludDo6emVybygpLCBsYXllci0+Ym91bmRzKCkpKTsKICAgICBzYXZlUmVj
dEZvck5leHRGcmFtZShsYXllci0+aWQoKSwgbGF5ZXJSZWN0SW5UYXJnZXRTcGFjZSk7CiAKLSAg
ICBpZiAobGF5ZXJJc05ldyB8fCBsYXllci0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSkgeworICAg
IGlmIChsYXllcklzTmV3IHx8IGxheWVyVGFyZ2V0U3VyZmFjZVJlcXVpcmVzUmVkcmF3aW5nKGxh
eWVyKSkgewogICAgICAgICAvLyBJZiBhIGxheWVyIGlzIG5ldyBvciBoYXMgY2hhbmdlZCwgdGhl
biBpdHMgZW50aXJlIGxheWVyIHJlY3QgYWZmZWN0cyB0aGUgdGFyZ2V0IHN1cmZhY2UuCiAgICAg
ICAgIHRhcmdldERhbWFnZVJlY3QudW5pdGVJZk5vblplcm8obGF5ZXJSZWN0SW5UYXJnZXRTcGFj
ZSk7CiAKQEAgLTMwMCw3ICszMTcsNyBAQCB2b2lkIENDRGFtYWdlVHJhY2tlcjo6ZXh0ZW5kRGFt
YWdlRm9yUmVuZGVyU3VyZmFjZShDQ0xheWVySW1wbCogbGF5ZXIsIEZsb2F0UmVjdAogICAgIHNh
dmVSZWN0Rm9yTmV4dEZyYW1lKGxheWVyLT5pZCgpLCBzdXJmYWNlUmVjdEluVGFyZ2V0U3BhY2Up
OwogCiAgICAgRmxvYXRSZWN0IGRhbWFnZVJlY3RJbkxvY2FsU3BhY2U7Ci0gICAgaWYgKHN1cmZh
Y2VJc05ldyB8fCByZW5kZXJTdXJmYWNlLT5zdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkpIHsKKyAg
ICBpZiAoc3VyZmFjZUlzTmV3IHx8IHJlbmRlclN1cmZhY2UtPnN1cmZhY2VQcm9wZXJ0eUNoYW5n
ZWQoKSB8fCBsYXllci0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkpIHsKICAgICAgICAg
Ly8gVGhlIGVudGlyZSBzdXJmYWNlIGNvbnRyaWJ1dGVzIGRhbWFnZS4KICAgICAgICAgZGFtYWdl
UmVjdEluTG9jYWxTcGFjZSA9IHJlbmRlclN1cmZhY2UtPmNvbnRlbnRSZWN0KCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5
ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJJbXBsLmNwcAppbmRleCBlNjFiZjkxZDA2YzVjYTI1YzVjM2JhNmI0ZjNiZTQ2OWEx
YjljZDA5Li4wN2YwMjJkOWNjNWQ3MWI3NDI0ZGY3NGQyNDBmYTlmZTYzMDViNmQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVy
SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NMYXllckltcGwuY3BwCkBAIC01NSw2ICs1NSw3IEBAIENDTGF5ZXJJbXBsOjpDQ0xheWVy
SW1wbChpbnQgaWQpCiAgICAgLCBtX2hhdmVXaGVlbEV2ZW50SGFuZGxlcnMoZmFsc2UpCiAgICAg
LCBtX2RvdWJsZVNpZGVkKHRydWUpCiAgICAgLCBtX2xheWVyUHJvcGVydHlDaGFuZ2VkKGZhbHNl
KQorICAgICwgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoZmFsc2UpCiAgICAgLCBtX21h
c2tzVG9Cb3VuZHMoZmFsc2UpCiAgICAgLCBtX29wYXF1ZShmYWxzZSkKICAgICAsIG1fb3BhY2l0
eSgxLjApCkBAIC0zMTAsNiArMzExLDI2IEBAIHZvaWQgQ0NMYXllckltcGw6OnNldFN0YWNraW5n
T3JkZXJDaGFuZ2VkKGJvb2wgc3RhY2tpbmdPcmRlckNoYW5nZWQpCiAgICAgICAgIG5vdGVMYXll
clByb3BlcnR5Q2hhbmdlZEZvclN1YnRyZWUoKTsKIH0KIAorYm9vbCBDQ0xheWVySW1wbDo6bGF5
ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkgY29uc3QKK3sKKyAgICBpZiAobV9sYXllclN1cmZh
Y2VQcm9wZXJ0eUNoYW5nZWQpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8gSWYgdGhp
cyBsYXllcidzIHN1cmZhY2UgcHJvcGVydHkgaGFzbid0IGNoYW5nZWQsIHdlIHdhbnQgdG8gc2Vl
IGlmCisgICAgLy8gc29tZSBsYXllciBhYm92ZSB1cyBoYXMgY2hhbmdlZCB0aGlzIHByb3BlcnR5
LiBUaGlzIGlzIGRvbmUgZm9yIHRoZQorICAgIC8vIGNhc2Ugd2hlbiBzdWNoIHBhcmVudCBsYXll
ciBkb2VzIG5vdCBkcmF3IGNvbnRlbnQsIGFuZCB0aGVyZWZvcmUgd2lsbAorICAgIC8vIG5vdCBi
ZSB0cmF2ZXJzZWQgYnkgdGhlIGRhbWFnZSB0cmFja2VyLiBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB0
aGF0CisgICAgLy8gcHJvcGVydHkgY2hhbmdlIG9uIHN1Y2ggbGF5ZXIgd2lsbCBiZSBjYXVnaHQg
YnkgaXRzIGRlc2NlbmRhbnRzLgorICAgIENDTGF5ZXJJbXBsKiBjdXJyZW50ID0gdGhpcy0+bV9w
YXJlbnQ7CisgICAgd2hpbGUgKGN1cnJlbnQgJiYgIWN1cnJlbnQtPm1fcmVuZGVyU3VyZmFjZSkg
eworICAgICAgICBpZiAoY3VycmVudC0+bV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQpCisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgY3VycmVudCA9IGN1cnJlbnQtPm1fcGFy
ZW50OworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBDQ0xheWVySW1wbDo6
bm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yU3VidHJlZSgpCiB7CiAgICAgbV9sYXllclByb3Bl
cnR5Q2hhbmdlZCA9IHRydWU7CkBAIC0zMjUsNiArMzQ2LDggQEAgdm9pZCBDQ0xheWVySW1wbDo6
bm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yRGVzY2VuZGFudHMoKQogdm9pZCBDQ0xheWVySW1w
bDo6cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKQogewogICAgIG1fbGF5ZXJQcm9w
ZXJ0eUNoYW5nZWQgPSBmYWxzZTsKKyAgICBtX2xheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCA9
IGZhbHNlOworCiAgICAgbV91cGRhdGVSZWN0ID0gRmxvYXRSZWN0KCk7CiAKICAgICBpZiAobV9y
ZW5kZXJTdXJmYWNlKQpAQCAtNDY1LDcgKzQ4OCw3IEBAIHZvaWQgQ0NMYXllckltcGw6OnNldE9w
YWNpdHkoZmxvYXQgb3BhY2l0eSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9vcGFjaXR5ID0g
b3BhY2l0eTsKLSAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JTdWJ0cmVlKCk7CisgICAg
bV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgPSB0cnVlOwogfQogCiBib29sIENDTGF5ZXJJ
bXBsOjpvcGFjaXR5SXNBbmltYXRpbmcoKSBjb25zdApAQCAtNTA3LDcgKzUzMCw3IEBAIHZvaWQg
Q0NMYXllckltcGw6OnNldFRyYW5zZm9ybShjb25zdCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCYg
dHJhbnNmb3JtKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3RyYW5zZm9ybSA9IHRyYW5zZm9y
bTsKLSAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JTdWJ0cmVlKCk7CisgICAgbV9sYXll
clN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgPSB0cnVlOwogfQogCiBib29sIENDTGF5ZXJJbXBsOjp0
cmFuc2Zvcm1Jc0FuaW1hdGluZygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaAppbmRleCA0OTI5
MDYwNjY4ZDMwNTNiYTc4ZTU2M2I4NTllZTkyODY4ODYzNDc4Li4yNGFiYTNhOTM0MTJmNjI5YTM2
MjM1MTVlY2QxNDZlNzE5YTUzOGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKQEAgLTI1Myw2ICsy
NTMsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTdGFja2luZ09yZGVyQ2hhbmdlZChib29sKTsK
IAogICAgIGJvb2wgbGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSBjb25zdCB7IHJldHVybiBtX2xheWVy
UHJvcGVydHlDaGFuZ2VkOyB9CisgICAgYm9vbCBsYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQo
KSBjb25zdDsKKwogICAgIHZvaWQgcmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKTsK
IAogICAgIENDTGF5ZXJBbmltYXRpb25Db250cm9sbGVyKiBsYXllckFuaW1hdGlvbkNvbnRyb2xs
ZXIoKSB7IHJldHVybiBtX2xheWVyQW5pbWF0aW9uQ29udHJvbGxlci5nZXQoKTsgfQpAQCAtMzE2
LDYgKzMxOCwxMiBAQCBwcml2YXRlOgogICAgIC8vIFRyYWNrcyBpZiBkcmF3aW5nLXJlbGF0ZWQg
cHJvcGVydGllcyBoYXZlIGNoYW5nZWQgc2luY2UgbGFzdCByZWRyYXcuCiAgICAgYm9vbCBtX2xh
eWVyUHJvcGVydHlDaGFuZ2VkOwogCisgICAgLy8gSW5kaWNhdGVzIHRoYXQgYSBwcm9wZXJ0eSBo
YXMgY2hhbmdlZCBvbiB0aGlzIGxheWVyIHRoYXQgd291bGQgbm90CisgICAgLy8gYWZmZWN0IHRo
ZSBwaXhlbHMgb24gaXRzIHRhcmdldCBzdXJmYWNlLCBidXQgd291bGQgcmVxdWlyZSByZWRyYXdp
bmcKKyAgICAvLyBidXQgd291bGQgcmVxdWlyZSByZWRyYXdpbmcgdGhlIHRhcmdldFN1cmZhY2Ug
b250byBpdHMgYW5jZXN0b3IgdGFyZ2V0U3VyZmFjZS4KKyAgICAvLyBGb3IgbGF5ZXJzIHRoYXQg
ZG8gbm90IG93biBhIHN1cmZhY2UgdGhpcyBmbGFnIGFjdHMgYXMgbV9sYXllclByb3BlcnR5Q2hh
bmdlZC4KKyAgICBib29sIG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkOworCiAgICAgLy8g
VXNlcyBsYXllcidzIGNvbnRlbnQgc3BhY2UuCiAgICAgSW50UmVjdCBtX3Zpc2libGVMYXllclJl
Y3Q7CiAgICAgYm9vbCBtX21hc2tzVG9Cb3VuZHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVl
SG9zdEltcGwuY3BwCmluZGV4IDcyMjYxMTZhZWJjMmViMjk1ZDc0NjkzZjQ4MGI2YzJjOWFiNjM0
YTYuLmMxMGFmZGRkZWJlMjhkMjYyM2Y2Y2Q3MjdhOTUxYmI5MDg3NjE5MWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVl
SG9zdEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVk
ZSAiY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmgiCiAjaW5jbHVkZSAiY2MvQ0NNYXRoVXRpbC5o
IgogI2luY2x1ZGUgImNjL0NDUGFnZVNjYWxlQW5pbWF0aW9uLmgiCisjaW5jbHVkZSAiY2MvQ0NS
ZW5kZXJQYXNzRHJhd1F1YWQuaCIKICNpbmNsdWRlICJjYy9DQ1NldHRpbmdzLmgiCiAjaW5jbHVk
ZSAiY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oIgogI2luY2x1ZGUgImNjL0NDVGhyZWFkVGFzay5o
IgpAQCAtMjY2LDI1ICsyNjcsMjUgQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxh
dGVSZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KENDTGF5ZXJMaXN0JiByZW5kZXJTdXIKICAgICB9CiB9
CiAKLWJvb2wgQ0NMYXllclRyZWVIb3N0SW1wbDo6Y2FsY3VsYXRlUmVuZGVyUGFzc2VzKENDUmVu
ZGVyUGFzc0xpc3QmIHBhc3NlcywgQ0NMYXllckxpc3QmIHJlbmRlclN1cmZhY2VMYXllckxpc3Qs
IENDTGF5ZXJMaXN0JiB3aWxsRHJhd0xheWVycykKK2Jvb2wgQ0NMYXllclRyZWVIb3N0SW1wbDo6
Y2FsY3VsYXRlUmVuZGVyUGFzc2VzKEZyYW1lRGF0YSYgZnJhbWUpCiB7Ci0gICAgQVNTRVJUKHBh
c3Nlcy5pc0VtcHR5KCkpOworICAgIEFTU0VSVChmcmFtZS5yZW5kZXJQYXNzZXMuaXNFbXB0eSgp
KTsKIAotICAgIGNhbGN1bGF0ZVJlbmRlclN1cmZhY2VMYXllckxpc3QocmVuZGVyU3VyZmFjZUxh
eWVyTGlzdCk7CisgICAgY2FsY3VsYXRlUmVuZGVyU3VyZmFjZUxheWVyTGlzdCgqZnJhbWUucmVu
ZGVyU3VyZmFjZUxheWVyTGlzdCk7CiAKLSAgICBUUkFDRV9FVkVOVDEoImNjIiwgIkNDTGF5ZXJU
cmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRlclBhc3NlcyIsICJyZW5kZXJTdXJmYWNlTGF5ZXJM
aXN0LnNpemUoKSIsIHN0YXRpY19jYXN0PGxvbmcgbG9uZyB1bnNpZ25lZD4ocmVuZGVyU3VyZmFj
ZUxheWVyTGlzdC5zaXplKCkpKTsKKyAgICBUUkFDRV9FVkVOVDEoImNjIiwgIkNDTGF5ZXJUcmVl
SG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRlclBhc3NlcyIsICJyZW5kZXJTdXJmYWNlTGF5ZXJMaXN0
LnNpemUoKSIsIHN0YXRpY19jYXN0PGxvbmcgbG9uZyB1bnNpZ25lZD4oZnJhbWUucmVuZGVyU3Vy
ZmFjZUxheWVyTGlzdC0+c2l6ZSgpKSk7CiAKICAgICBtX3Jvb3RMYXllckltcGwtPnNldFNjaXNz
b3JSZWN0KGVuY2xvc2luZ0ludFJlY3QobV9yb290U2Npc3NvclJlY3QpKTsKIAogICAgIC8vIENy
ZWF0ZSB0aGUgcmVuZGVyIHBhc3NlcyBpbiBkZXBlbmRlbmN5IG9yZGVyLgogICAgIEhhc2hNYXA8
Q0NSZW5kZXJTdXJmYWNlKiwgQ0NSZW5kZXJQYXNzKj4gc3VyZmFjZVBhc3NNYXA7Ci0gICAgZm9y
IChpbnQgc3VyZmFjZUluZGV4ID0gcmVuZGVyU3VyZmFjZUxheWVyTGlzdC5zaXplKCkgLSAxOyBz
dXJmYWNlSW5kZXggPj0gMCA7IC0tc3VyZmFjZUluZGV4KSB7Ci0gICAgICAgIENDTGF5ZXJJbXBs
KiByZW5kZXJTdXJmYWNlTGF5ZXIgPSByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0W3N1cmZhY2VJbmRl
eF07CisgICAgZm9yIChpbnQgc3VyZmFjZUluZGV4ID0gZnJhbWUucmVuZGVyU3VyZmFjZUxheWVy
TGlzdC0+c2l6ZSgpIC0gMTsgc3VyZmFjZUluZGV4ID49IDAgOyAtLXN1cmZhY2VJbmRleCkgewor
ICAgICAgICBDQ0xheWVySW1wbCogcmVuZGVyU3VyZmFjZUxheWVyID0gKCpmcmFtZS5yZW5kZXJT
dXJmYWNlTGF5ZXJMaXN0KVtzdXJmYWNlSW5kZXhdOwogICAgICAgICBDQ1JlbmRlclN1cmZhY2Uq
IHJlbmRlclN1cmZhY2UgPSByZW5kZXJTdXJmYWNlTGF5ZXItPnJlbmRlclN1cmZhY2UoKTsKIAog
ICAgICAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiBwYXNzID0gQ0NSZW5kZXJQYXNzOjpjcmVhdGUo
cmVuZGVyU3VyZmFjZSk7CiAgICAgICAgIHN1cmZhY2VQYXNzTWFwLmFkZChyZW5kZXJTdXJmYWNl
LCBwYXNzLmdldCgpKTsKLSAgICAgICAgcGFzc2VzLmFwcGVuZChwYXNzLnJlbGVhc2UoKSk7Cisg
ICAgICAgIGZyYW1lLnJlbmRlclBhc3Nlcy5hcHBlbmQocGFzcy5yZWxlYXNlKCkpOwogICAgIH0K
IAogICAgIGJvb2wgcmVjb3JkTWV0cmljc0ZvckZyYW1lID0gdHJ1ZTsgLy8gRklYTUU6IEluIHRo
ZSBmdXR1cmUsIGRpc2FibGUgdGhpcyB3aGVuIGFib3V0OnRyYWNpbmcgaXMgb2ZmLgpAQCAtMjk5
LDggKzMwMCw4IEBAIGJvb2wgQ0NMYXllclRyZWVIb3N0SW1wbDo6Y2FsY3VsYXRlUmVuZGVyUGFz
c2VzKENDUmVuZGVyUGFzc0xpc3QmIHBhc3NlcywgQ0NMYXllCiAgICAgLy8gaW4gdGhlIGZ1dHVy
ZS4KICAgICBib29sIGRyYXdGcmFtZSA9IHRydWU7CiAKLSAgICBDQ0xheWVySXRlcmF0b3JUeXBl
IGVuZCA9IENDTGF5ZXJJdGVyYXRvclR5cGU6OmVuZCgmcmVuZGVyU3VyZmFjZUxheWVyTGlzdCk7
Ci0gICAgZm9yIChDQ0xheWVySXRlcmF0b3JUeXBlIGl0ID0gQ0NMYXllckl0ZXJhdG9yVHlwZTo6
YmVnaW4oJnJlbmRlclN1cmZhY2VMYXllckxpc3QpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICBD
Q0xheWVySXRlcmF0b3JUeXBlIGVuZCA9IENDTGF5ZXJJdGVyYXRvclR5cGU6OmVuZChmcmFtZS5y
ZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KTsKKyAgICBmb3IgKENDTGF5ZXJJdGVyYXRvclR5cGUgaXQg
PSBDQ0xheWVySXRlcmF0b3JUeXBlOjpiZWdpbihmcmFtZS5yZW5kZXJTdXJmYWNlTGF5ZXJMaXN0
KTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIENDUmVuZGVyU3VyZmFjZSogcmVuZGVyU3Vy
ZmFjZSA9IGl0LnRhcmdldFJlbmRlclN1cmZhY2VMYXllcigpLT5yZW5kZXJTdXJmYWNlKCk7CiAg
ICAgICAgIENDUmVuZGVyUGFzcyogcGFzcyA9IHN1cmZhY2VQYXNzTWFwLmdldChyZW5kZXJTdXJm
YWNlKTsKICAgICAgICAgYm9vbCBoYWRNaXNzaW5nVGlsZXMgPSBmYWxzZTsKQEAgLTMxMiw3ICsz
MTMsNyBAQCBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRlclBhc3NlcyhD
Q1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIENDTGF5ZQogICAgICAgICAgICAgcGFzcy0+YXBwZW5k
UXVhZHNGb3JSZW5kZXJTdXJmYWNlTGF5ZXIoKml0LCBjb250cmlidXRpbmdSZW5kZXJQYXNzLCAm
b2NjbHVzaW9uVHJhY2tlcik7CiAgICAgICAgIH0gZWxzZSBpZiAoaXQucmVwcmVzZW50c0l0c2Vs
ZigpICYmICFvY2NsdXNpb25UcmFja2VyLm9jY2x1ZGVkKCppdCwgaXQtPnZpc2libGVMYXllclJl
Y3QoKSkgJiYgIWl0LT52aXNpYmxlTGF5ZXJSZWN0KCkuaXNFbXB0eSgpICYmICFpdC0+c2Npc3Nv
clJlY3QoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGl0LT53aWxsRHJhdyhtX2xheWVyUmVu
ZGVyZXIuZ2V0KCksIGNvbnRleHQoKSk7Ci0gICAgICAgICAgICB3aWxsRHJhd0xheWVycy5hcHBl
bmQoKml0KTsKKyAgICAgICAgICAgIGZyYW1lLndpbGxEcmF3TGF5ZXJzLmFwcGVuZCgqaXQpOwog
CiAgICAgICAgICAgICBwYXNzLT5hcHBlbmRRdWFkc0ZvckxheWVyKCppdCwgJm9jY2x1c2lvblRy
YWNrZXIsIGhhZE1pc3NpbmdUaWxlcyk7CiAgICAgICAgIH0KQEAgLTMyNywxMiArMzI4LDE1IEBA
IGJvb2wgQ0NMYXllclRyZWVIb3N0SW1wbDo6Y2FsY3VsYXRlUmVuZGVyUGFzc2VzKENDUmVuZGVy
UGFzc0xpc3QmIHBhc3NlcywgQ0NMYXllCiAgICAgfQogCiAgICAgaWYgKCFtX2hhc1RyYW5zcGFy
ZW50QmFja2dyb3VuZCkgewotICAgICAgICBwYXNzZXMubGFzdCgpLT5zZXRIYXNUcmFuc3BhcmVu
dEJhY2tncm91bmQoZmFsc2UpOwotICAgICAgICBwYXNzZXMubGFzdCgpLT5hcHBlbmRRdWFkc1Rv
RmlsbFNjcmVlbihtX3Jvb3RMYXllckltcGwuZ2V0KCksIG1fYmFja2dyb3VuZENvbG9yLCBvY2Ns
dXNpb25UcmFja2VyKTsKKyAgICAgICAgZnJhbWUucmVuZGVyUGFzc2VzLmxhc3QoKS0+c2V0SGFz
VHJhbnNwYXJlbnRCYWNrZ3JvdW5kKGZhbHNlKTsKKyAgICAgICAgZnJhbWUucmVuZGVyUGFzc2Vz
Lmxhc3QoKS0+YXBwZW5kUXVhZHNUb0ZpbGxTY3JlZW4obV9yb290TGF5ZXJJbXBsLmdldCgpLCBt
X2JhY2tncm91bmRDb2xvciwgb2NjbHVzaW9uVHJhY2tlcik7CiAgICAgfQogCiAgICAgaWYgKGRy
YXdGcmFtZSkKICAgICAgICAgb2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5yZWNv
cmRNZXRyaWNzKHRoaXMpOworCisgICAgcmVtb3ZlUGFzc2VzV2l0aENhY2hlZFRleHR1cmVzKGZy
YW1lLnJlbmRlclBhc3NlcywgZnJhbWUuc2tpcHBlZFBhc3Nlcyk7CisKICAgICByZXR1cm4gZHJh
d0ZyYW1lOwogfQogCkBAIC0zODIsNiArMzg2LDcwIEBAIEludFNpemUgQ0NMYXllclRyZWVIb3N0
SW1wbDo6Y29udGVudFNpemUoKSBjb25zdAogICAgIHJldHVybiBtX3Jvb3RTY3JvbGxMYXllcklt
cGwtPmNoaWxkcmVuKClbMF0tPmNvbnRlbnRCb3VuZHMoKTsKIH0KIAordm9pZCBDQ0xheWVyVHJl
ZUhvc3RJbXBsOjpyZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUoQ0NSZW5kZXJQYXNzTGlzdCYg
cGFzc2VzLCBzaXplX3QgYm90dG9tUGFzcywgY29uc3QgQ0NSZW5kZXJQYXNzKiBmaXJzdFRvUmVt
b3ZlLCBDQ1JlbmRlclBhc3NMaXN0JiBza2lwcGVkUGFzc2VzKQoreworICAgIHNpemVfdCByZW1v
dmVJbmRleCA9IHBhc3Nlcy5maW5kKGZpcnN0VG9SZW1vdmUpOworCisgICAgLy8gVGhlIHBhc3Mg
d2FzIGFscmVhZHkgcmVtb3ZlZCBieSBhbm90aGVyIHF1YWQgLSBwcm9iYWJseSB0aGUgb3JpZ2lu
YWwsIGFuZCB3ZSBhcmUgdGhlIHJlcGxpY2EuCisgICAgaWYgKHJlbW92ZUluZGV4ID09IG5vdEZv
dW5kKQorICAgICAgICByZXR1cm47CisKKyAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZW1vdmVk
UGFzcyA9IHBhc3Nlc1tyZW1vdmVJbmRleF0ucmVsZWFzZSgpOworICAgIHBhc3Nlcy5yZW1vdmUo
cmVtb3ZlSW5kZXgpOworCisgICAgLy8gTm93IGZvbGxvdyB1cCBmb3IgYWxsIFJlbmRlclBhc3Mg
cXVhZHMgYW5kIHJlbW92ZSB0aGVpciByZW5kZXIgcGFzc2VzIHJlY3Vyc2l2ZWx5LgorICAgIGNv
bnN0IENDUXVhZExpc3QmIHF1YWRMaXN0ID0gcmVtb3ZlZFBhc3MtPnF1YWRMaXN0KCk7CisgICAg
Q0NRdWFkTGlzdDo6Y29uc3RCYWNrVG9Gcm9udEl0ZXJhdG9yIHF1YWRMaXN0SXRlcmF0b3IgPSBx
dWFkTGlzdC5iYWNrVG9Gcm9udEJlZ2luKCk7CisgICAgZm9yICg7IHF1YWRMaXN0SXRlcmF0b3Ig
IT0gcXVhZExpc3QuYmFja1RvRnJvbnRFbmQoKTsgKytxdWFkTGlzdEl0ZXJhdG9yKSB7CisgICAg
ICAgIENDRHJhd1F1YWQqIGN1cnJlbnRRdWFkID0gKCpxdWFkTGlzdEl0ZXJhdG9yKS5nZXQoKTsK
KyAgICAgICAgaWYgKGN1cnJlbnRRdWFkLT5tYXRlcmlhbCgpICE9IENDRHJhd1F1YWQ6OlJlbmRl
clBhc3MpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3
UXVhZCogcmVuZGVyUGFzc1F1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+
KGN1cnJlbnRRdWFkKTsKKyAgICAgICAgY29uc3QgQ0NSZW5kZXJQYXNzKiBuZXh0UmVuZGVyUGFz
cyA9IHJlbmRlclBhc3NRdWFkLT5yZW5kZXJQYXNzKCk7CisKKyAgICAgICAgLy8gT3VyIHNlYXJj
aCBpcyBub3cgbGltaXRlZCB1cCB0byB0aGUgcGFzcyB0aGF0IHdlIGp1c3QgcmVtb3ZlZC4KKyAg
ICAgICAgLy8gU3Vic3RpdHV0ZSByZW1vdmVJbmRleCBmb3IgYm90dG9tUGFzcyBub3cuCisgICAg
ICAgIHJlbW92ZVJlbmRlclBhc3Nlc1JlY3Vyc2l2ZShwYXNzZXMsIHJlbW92ZUluZGV4LCBuZXh0
UmVuZGVyUGFzcywgc2tpcHBlZFBhc3Nlcyk7CisgICAgfQorICAgIHNraXBwZWRQYXNzZXMuYXBw
ZW5kKHJlbW92ZWRQYXNzLnJlbGVhc2UoKSk7Cit9CisKK3ZvaWQgQ0NMYXllclRyZWVIb3N0SW1w
bDo6cmVtb3ZlUGFzc2VzV2l0aENhY2hlZFRleHR1cmVzKENDUmVuZGVyUGFzc0xpc3QmIHBhc3Nl
cywgQ0NSZW5kZXJQYXNzTGlzdCYgc2tpcHBlZFBhc3NlcykKK3sKKyAgICBmb3IgKHNzaXplX3Qg
cGFzc0luZGV4ID0gcGFzc2VzLnNpemUoKSAtIDE7IHBhc3NJbmRleCA+PSAwOyAtLXBhc3NJbmRl
eCkgeworICAgICAgICBDQ1JlbmRlclBhc3MqIGN1cnJlbnRQYXNzID0gcGFzc2VzW3Bhc3NJbmRl
eF0uZ2V0KCk7CisgICAgICAgIGNvbnN0IENDUXVhZExpc3QmIHF1YWRMaXN0ID0gY3VycmVudFBh
c3MtPnF1YWRMaXN0KCk7CisgICAgICAgIENDUXVhZExpc3Q6OmNvbnN0QmFja1RvRnJvbnRJdGVy
YXRvciBxdWFkTGlzdEl0ZXJhdG9yID0gcXVhZExpc3QuYmFja1RvRnJvbnRCZWdpbigpOworCisg
ICAgICAgIGZvciAoOyBxdWFkTGlzdEl0ZXJhdG9yICE9IHF1YWRMaXN0LmJhY2tUb0Zyb250RW5k
KCk7ICsrcXVhZExpc3RJdGVyYXRvcikgeworICAgICAgICAgICAgQ0NEcmF3UXVhZCogY3VycmVu
dFF1YWQgPSBxdWFkTGlzdEl0ZXJhdG9yLT5nZXQoKTsKKworICAgICAgICAgICAgaWYgKGN1cnJl
bnRRdWFkLT5tYXRlcmlhbCgpICE9IENDRHJhd1F1YWQ6OlJlbmRlclBhc3MpCisgICAgICAgICAg
ICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiByZW5k
ZXJQYXNzUXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oY3VycmVudFF1
YWQpOworICAgICAgICAgICAgQ0NSZW5kZXJTdXJmYWNlKiB0YXJnZXRTdXJmYWNlID0gcmVuZGVy
UGFzc1F1YWQtPnJlbmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgpOworCisgICAgICAgICAgICBp
ZiAodGFyZ2V0U3VyZmFjZS0+Y29udGVudHNDaGFuZ2VkKCkgfHwgIXRhcmdldFN1cmZhY2UtPmhh
c0NhY2hlZENvbnRlbnRzVGV4dHVyZSgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisg
ICAgICAgICAgICAvLyBSZXNlcnZlIHRoZSB0ZXh0dXJlIGltbWVkaWF0ZWx5LiBXZSBkbyBub3Qg
bmVlZCB0byBwYXNzIGluIGxheWVyIHJlbmRlcmVyCisgICAgICAgICAgICAvLyBzaW5jZSB0aGUg
dGV4dHVyZSBhbHJlYWR5IGV4aXN0cywganVzdCBuZWVkcyB0byBiZSByZXNlcnZlZC4KKyAgICAg
ICAgICAgIGlmICghdGFyZ2V0U3VyZmFjZS0+cHJlcGFyZUNvbnRlbnRzVGV4dHVyZSgwKSkKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgLy8gV2UgYXJlIGNoYW5naW5n
IHRoZSB2ZWN0b3IgaW4gdGhlIG1pZGRsZSBvZiByZXZlcnNlIGl0ZXJhdGlvbi4KKyAgICAgICAg
ICAgIC8vIFdlIGFyZSBndWFyYW50ZWVkIHRoYXQgYW55IGRhdGEgZnJvbSBpdGVyYXRvciB0byB0
aGUgZW5kIHdpbGwgbm90IGNoYW5nZS4KKyAgICAgICAgICAgIC8vIENhcHR1cmUgdGhlIGl0ZXJh
dG9yIHBvc2l0aW9uIGZyb20gdGhlIGVuZCwgYW5kIHJlc3RvcmUgaXQgYWZ0ZXIgdGhlIGNoYW5n
ZS4KKyAgICAgICAgICAgIGludCBwb3NpdGlvbkZyb21FbmQgPSBwYXNzZXMuc2l6ZSgpIC0gcGFz
c0luZGV4OworICAgICAgICAgICAgcmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKHBhc3Nlcywg
cGFzc0luZGV4LCByZW5kZXJQYXNzUXVhZC0+cmVuZGVyUGFzcygpLCBza2lwcGVkUGFzc2VzKTsK
KyAgICAgICAgICAgIHBhc3NJbmRleCA9IHBhc3Nlcy5zaXplKCkgLSBwb3NpdGlvbkZyb21FbmQ7
CisgICAgICAgICAgICBBU1NFUlQocGFzc0luZGV4ID49IDApOworICAgICAgICB9CisgICAgfQor
fQorCiBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OnByZXBhcmVUb0RyYXcoRnJhbWVEYXRhJiBm
cmFtZSkKIHsKICAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkNDTGF5ZXJUcmVlSG9zdEltcGw6OnBy
ZXBhcmVUb0RyYXciKTsKQEAgLTM5Miw3ICs0NjAsNyBAQCBib29sIENDTGF5ZXJUcmVlSG9zdElt
cGw6OnByZXBhcmVUb0RyYXcoRnJhbWVEYXRhJiBmcmFtZSkKICAgICBmcmFtZS5yZW5kZXJTdXJm
YWNlTGF5ZXJMaXN0LT5jbGVhcigpOwogICAgIGZyYW1lLndpbGxEcmF3TGF5ZXJzLmNsZWFyKCk7
CiAKLSAgICBpZiAoIWNhbGN1bGF0ZVJlbmRlclBhc3NlcyhmcmFtZS5yZW5kZXJQYXNzZXMsICpm
cmFtZS5yZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBmcmFtZS53aWxsRHJhd0xheWVycykpCisgICAg
aWYgKCFjYWxjdWxhdGVSZW5kZXJQYXNzZXMoZnJhbWUpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICAvLyBJZiB3ZSByZXR1cm4gdHJ1ZSwgdGhlbiB3ZSBleHBlY3QgZHJhd0xheWVycygp
IHRvIGJlIGNhbGxlZCBiZWZvcmUgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYWdhaW4uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xh
eWVyVHJlZUhvc3RJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKaW5kZXggNjMwZTc5OGIwOThiOWMyOTVlYTE5
MTJkZThiNTM0YjIzYjRhYzlhYS4uYzk4OGUwMTFhZWM3OWYzYzM2ZDBhMjFiOGZiZDMyN2M1NDg0
NjNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaApAQCAtODYsNiArODYs
NyBAQCBwdWJsaWM6CiAKICAgICBzdHJ1Y3QgRnJhbWVEYXRhIHsKICAgICAgICAgQ0NSZW5kZXJQ
YXNzTGlzdCByZW5kZXJQYXNzZXM7CisgICAgICAgIENDUmVuZGVyUGFzc0xpc3Qgc2tpcHBlZFBh
c3NlczsKICAgICAgICAgQ0NMYXllckxpc3QqIHJlbmRlclN1cmZhY2VMYXllckxpc3Q7CiAgICAg
ICAgIENDTGF5ZXJMaXN0IHdpbGxEcmF3TGF5ZXJzOwogICAgIH07CkBAIC0xNzQsNiArMTc1LDkg
QEAgcHVibGljOgogICAgIENDRnJhbWVSYXRlQ291bnRlciogZnBzQ291bnRlcigpIGNvbnN0IHsg
cmV0dXJuIG1fZnBzQ291bnRlci5nZXQoKTsgfQogICAgIENDRGVidWdSZWN0SGlzdG9yeSogZGVi
dWdSZWN0SGlzdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVidWdSZWN0SGlzdG9yeS5nZXQoKTsg
fQogCisgICAgLy8gUmVtb3ZlcyBhbGwgcmVuZGVyIHBhc3NlcyBmb3Igd2hpY2ggd2UgaGF2ZSBj
YWNoZWQgdGV4dHVyZXMsIGFuZCB3aGljaCBkaWQgbm90IGNoYW5nZSB0aGVpciBjb250ZW50Lgor
ICAgIHN0YXRpYyB2b2lkIHJlbW92ZVBhc3Nlc1dpdGhDYWNoZWRUZXh0dXJlcyhDQ1JlbmRlclBh
c3NMaXN0JiBwYXNzZXMsIENDUmVuZGVyUGFzc0xpc3QmIHNraXBwZWRQYXNzZXMpOworCiBwcm90
ZWN0ZWQ6CiAgICAgQ0NMYXllclRyZWVIb3N0SW1wbChjb25zdCBDQ0xheWVyVHJlZVNldHRpbmdz
JiwgQ0NMYXllclRyZWVIb3N0SW1wbENsaWVudCopOwogCkBAIC0yMDUsMTAgKzIwOSwxMyBAQCBw
cml2YXRlOgogICAgIC8vIFJldHVybnMgZmFsc2UgaWYgdGhlIGZyYW1lIHNob3VsZCBub3QgYmUg
ZGlzcGxheWVkLiBUaGlzIGZ1bmN0aW9uIHNob3VsZAogICAgIC8vIG9ubHkgYmUgY2FsbGVkIGZy
b20gcHJlcGFyZVRvRHJhdywgYXMgZGlkRHJhd0FsbExheWVycyBtdXN0IGJlIGNhbGxlZAogICAg
IC8vIGlmIHRoaXMgaGVscGVyIGZ1bmN0aW9uIGlzIGNhbGxlZC4KLSAgICBib29sIGNhbGN1bGF0
ZVJlbmRlclBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0JiwgQ0NMYXllckxpc3QmIHJlbmRlclN1cmZh
Y2VMYXllckxpc3QsIENDTGF5ZXJMaXN0JiB3aWxsRHJhd0xheWVycyk7CisgICAgYm9vbCBjYWxj
dWxhdGVSZW5kZXJQYXNzZXMoRnJhbWVEYXRhJik7CiAgICAgdm9pZCBhbmltYXRlTGF5ZXJzUmVj
dXJzaXZlKENDTGF5ZXJJbXBsKiwgZG91YmxlIG1vbm90b25pY1RpbWUsIGRvdWJsZSB3YWxsQ2xv
Y2tUaW1lLCBDQ0FuaW1hdGlvbkV2ZW50c1ZlY3RvciosIGJvb2wmIGRpZEFuaW1hdGUsIGJvb2wm
IG5lZWRzQW5pbWF0ZUxheWVycyk7CiAgICAgdm9pZCBzZXRCYWNrZ3JvdW5kVGlja2luZ0VuYWJs
ZWQoYm9vbCk7CiAgICAgSW50U2l6ZSBjb250ZW50U2l6ZSgpIGNvbnN0OworCisgICAgc3RhdGlj
IHZvaWQgcmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKENDUmVuZGVyUGFzc0xpc3QmIHBhc3Nl
cywgc2l6ZV90IGJvdHRvbVBhc3MsIGNvbnN0IENDUmVuZGVyUGFzcyogZmlyc3RUb1JlbW92ZSwg
Q0NSZW5kZXJQYXNzTGlzdCYgc2tpcHBlZFBhc3Nlcyk7CisKICAgICB2b2lkIHNlbmREaWRMb3Nl
Q29udGV4dFJlY3Vyc2l2ZShDQ0xheWVySW1wbCopOwogICAgIHZvaWQgY2xlYXJSZW5kZXJTdXJm
YWNlcygpOwogICAgIGJvb2wgZW5zdXJlUmVuZGVyU3VyZmFjZUxheWVyTGlzdCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5k
ZXJQYXNzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1JlbmRlclBhc3MuaAppbmRleCBhNDUxMDA2Y2U4OGIxMmIwNzIzNzBkZmEyMjM5ZjgzODNiYTcx
ZmM2Li4yYjhiYzdlNWJjY2VjNDg4ODk3NjNjYmI3YjQ5NDBjMzk4Y2JmMjBlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBh
c3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1JlbmRlclBhc3MuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNUcmFu
c3BhcmVudEJhY2tncm91bmQoKSBjb25zdCB7IHJldHVybiBtX2hhc1RyYW5zcGFyZW50QmFja2dy
b3VuZDsgfQogICAgIHZvaWQgc2V0SGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKGJvb2wgdHJhbnNw
YXJlbnQpIHsgbV9oYXNUcmFuc3BhcmVudEJhY2tncm91bmQgPSB0cmFuc3BhcmVudDsgfQogCi1w
cml2YXRlOgorcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IENDUmVuZGVyUGFzcyhDQ1JlbmRlclN1
cmZhY2UqKTsKIAogICAgIENDUmVuZGVyU3VyZmFjZSogbV90YXJnZXRTdXJmYWNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5k
ZXJTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAKaW5kZXggZGRhYmQ1MjhjOGZkMWQwYmNkNTZiMjAzNzBk
YzUzZGQwMzAyMmVjYy4uY2RmOTcwZTE5M2FjNTNkOTkzNzk0YzA1Njk4OWRlZmUwZWI0MDRmMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NSZW5kZXJTdXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCkBAIC04OCwxMCArODgsMTUgQEAgRmxv
YXRSZWN0IENDUmVuZGVyU3VyZmFjZTo6ZHJhd2FibGVDb250ZW50UmVjdCgpIGNvbnN0CiAKIGJv
b2wgQ0NSZW5kZXJTdXJmYWNlOjpwcmVwYXJlQ29udGVudHNUZXh0dXJlKExheWVyUmVuZGVyZXJD
aHJvbWl1bSogbGF5ZXJSZW5kZXJlcikKIHsKLSAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1h
bmFnZXIgPSBsYXllclJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsKKyAgICBpZiAobGF5
ZXJSZW5kZXJlcikgeworICAgICAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBs
YXllclJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsKKworICAgICAgICBpZiAoIW1fY29u
dGVudHNUZXh0dXJlKQorICAgICAgICAgICAgbV9jb250ZW50c1RleHR1cmUgPSBNYW5hZ2VkVGV4
dHVyZTo6Y3JlYXRlKHRleHR1cmVNYW5hZ2VyKTsKKyAgICB9CiAKICAgICBpZiAoIW1fY29udGVu
dHNUZXh0dXJlKQotICAgICAgICBtX2NvbnRlbnRzVGV4dHVyZSA9IE1hbmFnZWRUZXh0dXJlOjpj
cmVhdGUodGV4dHVyZU1hbmFnZXIpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAo
bV9jb250ZW50c1RleHR1cmUtPmlzUmVzZXJ2ZWQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBA
IC0xMTQsNiArMTE5LDExIEBAIGJvb2wgQ0NSZW5kZXJTdXJmYWNlOjpoYXNWYWxpZENvbnRlbnRz
VGV4dHVyZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY29udGVudHNUZXh0dXJlICYmIG1fY29udGVu
dHNUZXh0dXJlLT5pc1Jlc2VydmVkKCkgJiYgbV9jb250ZW50c1RleHR1cmUtPmlzVmFsaWQobV9j
b250ZW50UmVjdC5zaXplKCksIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBKTsKIH0KIAorYm9vbCBD
Q1JlbmRlclN1cmZhY2U6Omhhc0NhY2hlZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fY29udGVudHNUZXh0dXJlICYmIG1fY29udGVudHNUZXh0dXJlLT5pc1ZhbGlkKG1f
Y29udGVudFJlY3Quc2l6ZSgpLCBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSk7Cit9CisKIGJvb2wg
Q0NSZW5kZXJTdXJmYWNlOjpwcmVwYXJlQmFja2dyb3VuZFRleHR1cmUoTGF5ZXJSZW5kZXJlckNo
cm9taXVtKiBsYXllclJlbmRlcmVyKQogewogICAgIFRleHR1cmVNYW5hZ2VyKiB0ZXh0dXJlTWFu
YWdlciA9IGxheWVyUmVuZGVyZXItPmltcGxUZXh0dXJlTWFuYWdlcigpOwpAQCAtMjEwLDYgKzIy
MCwxMSBAQCB2b2lkIENDUmVuZGVyU3VyZmFjZTo6c2V0Q2xpcFJlY3QoY29uc3QgSW50UmVjdCYg
Y2xpcFJlY3QpCiAgICAgbV9jbGlwUmVjdCA9IGNsaXBSZWN0OwogfQogCitib29sIENDUmVuZGVy
U3VyZmFjZTo6Y29udGVudHNDaGFuZ2VkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIW1fZGFtYWdl
VHJhY2tlci0+Y3VycmVudERhbWFnZVJlY3QoKS5pc0VtcHR5KCk7Cit9CisKIHZvaWQgQ0NSZW5k
ZXJTdXJmYWNlOjpzZXRDb250ZW50UmVjdChjb25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCkKIHsK
ICAgICBpZiAobV9jb250ZW50UmVjdCA9PSBjb250ZW50UmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJT
dXJmYWNlLmgKaW5kZXggNjI1MjNiODIxMmI3ZTM2ZDY1ZDgyZGM2ZDFjNjliOTFjODc0YzY0OS4u
ODZjYTY5NmQwZWQ3NGZiNDAyYTRmNzExNTg1M2RlYzllOTNkYWRhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NS
ZW5kZXJTdXJmYWNlLmgKQEAgLTUzLDkgKzUzLDEwIEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBD
Q1JlbmRlclN1cmZhY2UoQ0NMYXllckltcGwqKTsKICAgICB+Q0NSZW5kZXJTdXJmYWNlKCk7CiAK
LSAgICBib29sIHByZXBhcmVDb250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7
CisgICAgdmlydHVhbCBib29sIHByZXBhcmVDb250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNo
cm9taXVtKik7CiAgICAgdm9pZCByZWxlYXNlQ29udGVudHNUZXh0dXJlKCk7CiAgICAgYm9vbCBo
YXNWYWxpZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBoYXNDYWNo
ZWRDb250ZW50c1RleHR1cmUoKSBjb25zdDsKIAogICAgIGJvb2wgcHJlcGFyZUJhY2tncm91bmRU
ZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSopOwogICAgIHZvaWQgcmVsZWFzZUJhY2tncm91
bmRUZXh0dXJlKCk7CkBAIC0xMTQsNiArMTE1LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2Np
c3NvclJlY3QoY29uc3QgSW50UmVjdCYgc2Npc3NvclJlY3QpIHsgbV9zY2lzc29yUmVjdCA9IHNj
aXNzb3JSZWN0OyB9CiAgICAgY29uc3QgSW50UmVjdCYgc2Npc3NvclJlY3QoKSBjb25zdCB7IHJl
dHVybiBtX3NjaXNzb3JSZWN0OyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgY29udGVudHNDaGFuZ2Vk
KCkgY29uc3Q7CisKICAgICB2b2lkIHNldENvbnRlbnRSZWN0KGNvbnN0IEludFJlY3QmKTsKICAg
ICBjb25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFJl
Y3Q7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0RhbWFn
ZVRyYWNrZXJUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEYW1hZ2VU
cmFja2VyVGVzdC5jcHAKaW5kZXggOGM5YjU0M2IyY2Y0ZWI5NjJiODg2MjdmZWY2MzQ3YzhkMDAw
ZjUzOC4uZjQ5ODA2OWYwZWVhNzlmMzI4OWZkNjRiNDA1YWQ5NzZhOTFhODY5MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3Bw
CkBAIC05MzQsNyArOTM0LDggQEAgVEVTVF9GKENDRGFtYWdlVHJhY2tlclRlc3QsIHZlcmlmeURh
bWFnZUZvck1hc2spCiAKICAgICAvLyBUaGVuIHRlc3QgdGhlIHByb3BlcnR5IGNoYW5nZS4KICAg
ICBjbGVhckRhbWFnZUZvckFsbFN1cmZhY2VzKHJvb3QuZ2V0KCkpOwotICAgIG1hc2tMYXllci0+
c2V0T3BhY2l0eSgwLjUpOworICAgIG1hc2tMYXllci0+c2V0U3RhY2tpbmdPcmRlckNoYW5nZWQo
dHJ1ZSk7CisKICAgICBlbXVsYXRlRHJhd2luZ09uZUZyYW1lKHJvb3QuZ2V0KCkpOwogICAgIGNo
aWxkRGFtYWdlUmVjdCA9IGNoaWxkLT5yZW5kZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+
Y3VycmVudERhbWFnZVJlY3QoKTsKICAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShGbG9hdFJlY3Qo
MCwgMCwgMzAsIDMwKSwgY2hpbGREYW1hZ2VSZWN0KTsKQEAgLTEwMDEsNyArMTAwMiw3IEBAIFRF
U1RfRihDQ0RhbWFnZVRyYWNrZXJUZXN0LCB2ZXJpZnlEYW1hZ2VGb3JSZXBsaWNhTWFzaykKIAog
ICAgIC8vIENBU0UgMTogYSBwcm9wZXJ0eSBjaGFuZ2Ugb24gdGhlIG1hc2sgc2hvdWxkIGRhbWFn
ZSBvbmx5IHRoZSByZWZsZWN0ZWQgcmVnaW9uIG9uIHRoZSB0YXJnZXQgc3VyZmFjZS4KICAgICBj
bGVhckRhbWFnZUZvckFsbFN1cmZhY2VzKHJvb3QuZ2V0KCkpOwotICAgIHJlcGxpY2FNYXNrTGF5
ZXItPnNldE9wYWNpdHkoMC42Zik7CisgICAgcmVwbGljYU1hc2tMYXllci0+c2V0U3RhY2tpbmdP
cmRlckNoYW5nZWQodHJ1ZSk7CiAgICAgZW11bGF0ZURyYXdpbmdPbmVGcmFtZShyb290LmdldCgp
KTsKIAogICAgIEZsb2F0UmVjdCBncmFuZENoaWxkRGFtYWdlUmVjdCA9IGdyYW5kQ2hpbGQxLT5y
ZW5kZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+Y3VycmVudERhbWFnZVJlY3QoKTsKQEAg
LTEwNjUsNyArMTA2Niw4IEBAIFRFU1RfRihDQ0RhbWFnZVRyYWNrZXJUZXN0LCB2ZXJpZnlEYW1h
Z2VGb3JSZXBsaWNhTWFza1dpdGhBbmNob3IpCiAKICAgICAvLyBBIHByb3BlcnR5IGNoYW5nZSBv
biB0aGUgcmVwbGljYU1hc2sgc2hvdWxkIGRhbWFnZSB0aGUgcmVmbGVjdGVkIHJlZ2lvbiBvbiB0
aGUgdGFyZ2V0IHN1cmZhY2UuCiAgICAgY2xlYXJEYW1hZ2VGb3JBbGxTdXJmYWNlcyhyb290Lmdl
dCgpKTsKLSAgICByZXBsaWNhTWFza0xheWVyLT5zZXRPcGFjaXR5KDAuNmYpOworICAgIHJlcGxp
Y2FNYXNrTGF5ZXItPnNldFN0YWNraW5nT3JkZXJDaGFuZ2VkKHRydWUpOworCiAgICAgZW11bGF0
ZURyYXdpbmdPbmVGcmFtZShyb290LmdldCgpKTsKIAogICAgIEZsb2F0UmVjdCBjaGlsZERhbWFn
ZVJlY3QgPSBjaGlsZDEtPnJlbmRlclN1cmZhY2UoKS0+ZGFtYWdlVHJhY2tlcigpLT5jdXJyZW50
RGFtYWdlUmVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9D
Q0xheWVySW1wbFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVy
SW1wbFRlc3QuY3BwCmluZGV4IDgyN2M5YWRhYWUwNzQ0NTZhOWQwYzAyYjg3MzgzNzQ3OWY2MzY1
ZDMuLjAxZjk0M2E2NDBlNmFlOWM1OWYxYjQ2ZGM4ZGQ4YjgxZDcxMjliN2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHAKQEAgLTQyLDIx
ICs0MiwzMyBAQCBuYW1lc3BhY2UgewogICAgIGNvZGVUb1Rlc3Q7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIEVYUEVDVF9UUlVF
KHJvb3QtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICAgIEVYUEVDVF9UUlVFKGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIEVYUEVDVF9UUlVFKGdyYW5kQ2hpbGQtPmxheWVyUHJv
cGVydHlDaGFuZ2VkKCkpCisgICAgRVhQRUNUX1RSVUUoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0
eUNoYW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKHJvb3Qt
PmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpKQorCiAKICNkZWZpbmUgRVhFQ1VURV9BTkRf
VkVSSUZZX1NVQlRSRUVfRElEX05PVF9DSEFOR0UoY29kZVRvVGVzdCkgICAgICAgICAgIFwKICAg
ICByb290LT5yZXNldEFsbENoYW5nZVRyYWNraW5nRm9yU3VidHJlZSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgICBjb2RlVG9UZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+
bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBF
WFBFQ1RfRkFMU0UoY2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBFWFBFQ1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNo
YW5nZWQoKSkKKyAgICBFWFBFQ1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5n
ZWQoKSk7ICAgICAgICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJT
dXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkpCiAKICNkZWZpbmUgRVhFQ1VURV9BTkRfVkVSSUZZX09O
TFlfTEFZRVJfQ0hBTkdFRChjb2RlVG9UZXN0KSAgICAgICAgICAgICAgIFwKICAgICByb290LT5y
ZXNldEFsbENoYW5nZVRyYWNraW5nRm9yU3VidHJlZSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICBjb2RlVG9UZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfVFJVRShyb290LT5sYXllclByb3Bl
cnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfRkFM
U0UoY2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBFWFBFQ1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSkK
KyAgICBFWFBFQ1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJTdXJmYWNlUHJv
cGVydHlDaGFuZ2VkKCkpCisKKyNkZWZpbmUgRVhFQ1VURV9BTkRfVkVSSUZZX09OTFlfU1VSRkFD
RV9DSEFOR0VEKGNvZGVUb1Rlc3QpICAgICAgICAgICAgIFwKKyAgICByb290LT5yZXNldEFsbENo
YW5nZVRyYWNraW5nRm9yU3VidHJlZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBjb2RlVG9UZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJQcm9wZXJ0eUNoYW5n
ZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0UoY2hpbGQt
PmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBF
WFBFQ1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBFWFBFQ1RfVFJVRShyb290LT5sYXllclN1cmZhY2VQcm9wZXJ0eUNo
YW5nZWQoKSkKIAogVEVTVChDQ0xheWVySW1wbFRlc3QsIHZlcmlmeUxheWVyQ2hhbmdlc0FyZVRy
YWNrZWRQcm9wZXJseSkKIHsKQEAgLTk4LDExICsxMTAsOSBAQCBURVNUKENDTGF5ZXJJbXBsVGVz
dCwgdmVyaWZ5TGF5ZXJDaGFuZ2VzQXJlVHJhY2tlZFByb3Blcmx5KQogICAgIEVYRUNVVEVfQU5E
X1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0TWFza0xheWVyKENDTGF5ZXJJbXBsOjpj
cmVhdGUoNCkpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3Qt
PnNldE1hc2tzVG9Cb3VuZHModHJ1ZSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVF
X0NIQU5HRUQocm9vdC0+c2V0T3BhcXVlKHRydWUpKTsKLSAgICBFWEVDVVRFX0FORF9WRVJJRllf
U1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldE9wYWNpdHkoYXJiaXRyYXJ5TnVtYmVyKSk7CiAgICAg
RVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRSZXBsaWNhTGF5ZXIo
Q0NMYXllckltcGw6OmNyZWF0ZSg1KSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVF
X0NIQU5HRUQocm9vdC0+c2V0UG9zaXRpb24oYXJiaXRyYXJ5RmxvYXRQb2ludCkpOwogICAgIEVY
RUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0UHJlc2VydmVzM0QodHJ1
ZSkpOwotICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0VHJh
bnNmb3JtKGFyYml0cmFyeVRyYW5zZm9ybSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJU
UkVFX0NIQU5HRUQocm9vdC0+c2V0RG91YmxlU2lkZWQoZmFsc2UpKTsgLy8gY29uc3RydWN0b3Ig
aW5pdGlhbGl6ZXMgaXQgdG8gInRydWUiLgogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVF
X0NIQU5HRUQocm9vdC0+c2Nyb2xsQnkoYXJiaXRyYXJ5SW50U2l6ZSkpOwogICAgIEVYRUNVVEVf
QU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0U2Nyb2xsRGVsdGEoYXJiaXRyYXJ5
SW50U2l6ZSkpOwpAQCAtMTE3LDYgKzEyNywxMCBAQCBURVNUKENDTGF5ZXJJbXBsVGVzdCwgdmVy
aWZ5TGF5ZXJDaGFuZ2VzQXJlVHJhY2tlZFByb3Blcmx5KQogICAgIEVYRUNVVEVfQU5EX1ZFUklG
WV9PTkxZX0xBWUVSX0NIQU5HRUQocm9vdC0+c2V0QmFja2dyb3VuZENvbG9yKENvbG9yOjpncmF5
KSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX09OTFlfTEFZRVJfQ0hBTkdFRChyb290LT5zZXRC
YWNrZ3JvdW5kRmlsdGVycyhhcmJpdHJhcnlGaWx0ZXJzKSk7CiAKKyAgICAvLyBDaGFuZ2luZyB0
aGVzZSBwcm9wZXJ0aWVzIG9ubHkgYWZmZWN0cyBob3cgcmVuZGVyIHN1cmZhY2UgaXMgZHJhd24K
KyAgICBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9TVVJGQUNFX0NIQU5HRUQocm9vdC0+c2V0T3Bh
Y2l0eShhcmJpdHJhcnlOdW1iZXIpKTsKKyAgICBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9TVVJG
QUNFX0NIQU5HRUQocm9vdC0+c2V0VHJhbnNmb3JtKGFyYml0cmFyeVRyYW5zZm9ybSkpOworCiAg
ICAgLy8gU3BlY2lhbCBjYXNlOiBjaGVjayB0aGF0IHN1YmxheWVyIHRyYW5zZm9ybSBjaGFuZ2Vz
IGFsbCBsYXllcidzIGRlc2NlbmRhbnRzLCBidXQgbm90IHRoZSBsYXllciBpdHNlbGYuCiAgICAg
cm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKTsKICAgICByb290LT5zZXRT
dWJsYXllclRyYW5zZm9ybShhcmJpdHJhcnlUcmFuc2Zvcm0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAppbmRl
eCAzNTA5Mzc2YWY4Y2VlZWU4YmUzNjBmODg2MmFjMmZhYzE1NWRhMzY1Li41Mzg2M2I2MTU5ZTAy
M2VjNTQwOGEwZDQ2ODVhMTA4YmYzNTViZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcApAQCAtMzYsNiAr
MzYsNyBAQAogI2luY2x1ZGUgImNjL0NDTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NMYXll
clRpbGluZ0RhdGEuaCIKICNpbmNsdWRlICJjYy9DQ1F1YWRDdWxsZXIuaCIKKyNpbmNsdWRlICJj
Yy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5oIgogI2luY2x1ZGUgImNjL0NDU2Nyb2xsYmFyTGF5ZXJJ
bXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NTZXR0aW5ncy5oIgogI2luY2x1ZGUgImNjL0NDU2luZ2xl
VGhyZWFkUHJveHkuaCIKQEAgLTI0MDQsNCArMjQwNSw1OTcgQEAgVEVTVF9GKENDTGF5ZXJUcmVl
SG9zdEltcGxUZXN0LCBoYXNUcmFuc3BhcmVudEJhY2tncm91bmQpCiAgICAgTW9jazo6VmVyaWZ5
QW5kQ2xlYXJFeHBlY3RhdGlvbnMoJm1vY2tDb250ZXh0KTsKIH0KIAorVEVTVF9GKENDTGF5ZXJU
cmVlSG9zdEltcGxUZXN0LCBzdXJmYWNlVGV4dHVyZUNhY2hpbmcpCit7CisgICAgQ0NTZXR0aW5n
czo6c2V0UGFydGlhbFN3YXBFbmFibGVkKHRydWUpOworICAgIAorICAgIENDTGF5ZXJUcmVlU2V0
dGluZ3Mgc2V0dGluZ3M7CisgICAgT3duUHRyPENDTGF5ZXJUcmVlSG9zdEltcGw+IG15SG9zdElt
cGwgPSBDQ0xheWVyVHJlZUhvc3RJbXBsOjpjcmVhdGUoc2V0dGluZ3MsIHRoaXMpOworICAgIAor
ICAgIFJlZlB0cjxDQ0dyYXBoaWNzQ29udGV4dD4gY29udGV4dCA9IENDR3JhcGhpY3NDb250ZXh0
OjpjcmVhdGUzRChHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OmNyZWF0ZUdyYXBoaWNzQ29udGV4
dEZyb21XZWJDb250ZXh0KGFkb3B0UHRyKG5ldyBQYXJ0aWFsU3dhcENvbnRleHQoKSksIEdyYXBo
aWNzQ29udGV4dDNEOjpSZW5kZXJEaXJlY3RseVRvSG9zdFdpbmRvdykpOworCisgICAgbXlIb3N0
SW1wbC0+aW5pdGlhbGl6ZUxheWVyUmVuZGVyZXIoY29udGV4dC5yZWxlYXNlKCksIFVudGhyb3R0
bGVkVXBsb2FkZXIpOworICAgIG15SG9zdEltcGwtPnNldFZpZXdwb3J0U2l6ZShJbnRTaXplKDEw
MCwgMTAwKSk7CisKKyAgICBPd25QdHI8Q0NMYXllckltcGw+IHJvb3QgPSBDQ0xheWVySW1wbDo6
Y3JlYXRlKDEpOworICAgIENDTGF5ZXJJbXBsKiByb290UHRyID0gcm9vdC5nZXQoKTsKKworICAg
IHJvb3QtPnNldEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIHJvb3QtPnNldFBv
c2l0aW9uKEZsb2F0UG9pbnQoMCwgMCkpOworICAgIHJvb3QtPnNldEJvdW5kcyhJbnRTaXplKDEw
MCwgMTAwKSk7CisgICAgcm9vdC0+c2V0Q29udGVudEJvdW5kcyhJbnRTaXplKDEwMCwgMTAwKSk7
CisgICAgcm9vdC0+c2V0VmlzaWJsZUxheWVyUmVjdChJbnRSZWN0KDAsIDAsIDEwMCwgMTAwKSk7
CisgICAgcm9vdC0+c2V0RHJhd3NDb250ZW50KHRydWUpOworICAgIG15SG9zdEltcGwtPnNldFJv
b3RMYXllcihyb290LnJlbGVhc2UoKSk7CisKKyAgICAvLyBJbnRlcm1lZGlhdGUgbGF5ZXIgZG9l
cyBub3Qgb3duIGEgc3VyZmFjZSwgYW5kIGRvZXMgbm90IGRyYXcgY29udGVudC4KKyAgICBPd25Q
dHI8Q0NMYXllckltcGw+IGludGVybWVkaWF0ZUxheWVyID0gQ0NMYXllckltcGw6OmNyZWF0ZSgy
KTsKKyAgICBDQ0xheWVySW1wbCogaW50ZXJtZWRpYXRlTGF5ZXJQdHIgPSBpbnRlcm1lZGlhdGVM
YXllci5nZXQoKTsKKworICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRBbmNob3JQb2ludChG
bG9hdFBvaW50KDAsIDApKTsKKyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0UG9zaXRpb24o
RmxvYXRQb2ludCgxMCwgMTApKTsKKyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0Qm91bmRz
KEludFNpemUoMTAwLCAxMDApKTsKKyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0Q29udGVu
dEJvdW5kcyhJbnRTaXplKDEwMCwgMTAwKSk7CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNl
dFZpc2libGVMYXllclJlY3QoSW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpOworICAgIGludGVybWVk
aWF0ZUxheWVyUHRyLT5zZXREcmF3c0NvbnRlbnQoZmFsc2UpOyAvLyBvbmx5IGNoaWxkcmVuIGRy
YXcgY29udGVudAorICAgIHJvb3RQdHItPmFkZENoaWxkKGludGVybWVkaWF0ZUxheWVyLnJlbGVh
c2UoKSk7CisKKyAgICBPd25QdHI8Q0NMYXllckltcGw+IHN1cmZhY2VMYXllciA9IENDTGF5ZXJJ
bXBsOjpjcmVhdGUoMyk7CisgICAgQ0NMYXllckltcGwqIHN1cmZhY2VMYXllclB0ciA9IHN1cmZh
Y2VMYXllci5nZXQoKTsKKworICAgIC8vIFN1cmZhY2UgbGF5ZXIgaXMgdGhlIGxheWVyIHRoYXQg
Y2hhbmdlcyBpdHMgb3BhY2l0eQorICAgIC8vIEl0IHdpbGwgY29udGFpbiBvdGhlciBsYXllcnMg
dGhhdCBkcmF3IGNvbnRlbnQuCisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRBbmNob3JQb2ludChG
bG9hdFBvaW50KDAsIDApKTsKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldFBvc2l0aW9uKEZsb2F0
UG9pbnQoMTAsIDEwKSk7CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRCb3VuZHMoSW50U2l6ZSg1
MCwgNTApKTsKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldENvbnRlbnRCb3VuZHMoSW50U2l6ZSg1
MCwgNTApKTsKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldFZpc2libGVMYXllclJlY3QoSW50UmVj
dCgwLCAwLCA1MCwgNTApKTsKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldERyYXdzQ29udGVudChm
YWxzZSk7IC8vIG9ubHkgY2hpbGRyZW4gZHJhdyBjb250ZW50CisgICAgc3VyZmFjZUxheWVyUHRy
LT5zZXRPcGFjaXR5KDAuNWYpOyAvLyBUaGlzIHdpbGwgY2F1c2UgaXQgdG8gaGF2ZSBhIHN1cmZh
Y2UKKyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+YWRkQ2hpbGQoc3VyZmFjZUxheWVyLnJlbGVh
c2UoKSk7CisKKyAgICAvLyBDaGlsZCBvZiB0aGUgc3VyZmFjZSBsYXllciB3aWxsIHByb2R1Y2Ug
c29tZSBxdWFkcworICAgIE93blB0cjxGYWtlTGF5ZXJXaXRoUXVhZHM+IGNoaWxkID0gRmFrZUxh
eWVyV2l0aFF1YWRzOjpjcmVhdGUoNCk7CisgICAgRmFrZUxheWVyV2l0aFF1YWRzKiBjaGlsZFB0
ciA9IGNoaWxkLmdldCgpOworCisgICAgY2hpbGRQdHItPnNldEFuY2hvclBvaW50KEZsb2F0UG9p
bnQoMCwgMCkpOworICAgIGNoaWxkUHRyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KDUsIDUpKTsK
KyAgICBjaGlsZFB0ci0+c2V0Qm91bmRzKEludFNpemUoMTAsIDEwKSk7CisgICAgY2hpbGRQdHIt
PnNldENvbnRlbnRCb3VuZHMoSW50U2l6ZSgxMCwgMTApKTsKKyAgICBjaGlsZFB0ci0+c2V0Vmlz
aWJsZUxheWVyUmVjdChJbnRSZWN0KDAsIDAsIDEwLCAxMCkpOworICAgIGNoaWxkUHRyLT5zZXRE
cmF3c0NvbnRlbnQodHJ1ZSk7CisKKyAgICBzdXJmYWNlTGF5ZXJQdHItPmFkZENoaWxkKGNoaWxk
LnJlbGVhc2UoKSk7CisKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1l
RGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJh
dyhmcmFtZSkpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gcmVuZGVyIHBhc3Nlcywg
ZWFjaCB3aXRoIG9uZSBxdWFkCisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVuZGVyUGFz
c2VzLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBd
LT5xdWFkTGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVy
UGFzc2VzWzFdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKENDRHJh
d1F1YWQ6OlJlbmRlclBhc3MsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS0+
bWF0ZXJpYWwoKSk7CisgICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGlj
X2Nhc3Q8Q0NSZW5kZXJQYXNzRHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRM
aXN0KClbMF0uZ2V0KCkpOworICAgICAgICBFWFBFQ1RfVFJVRShxdWFkLT5yZW5kZXJQYXNzKCkt
PnRhcmdldFN1cmZhY2UoKS0+Y29udGVudHNDaGFuZ2VkKCkpOworCisgICAgICAgIG15SG9zdElt
cGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5
ZXJzKGZyYW1lKTsKKyAgICB9CisKKyAgICAvLyBEcmF3IHdpdGhvdXQgYW55IGNoYW5nZQorICAg
IHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAg
ICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAg
ICAgLy8gTXVzdCByZWNlaXZlIHR3byBFTVBUWSByZW5kZXIgcGFzc2VzCisgICAgICAgIEFTU0VS
VF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgw
VSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVY
UEVDVF9FUSgwVSwgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisK
KyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdElt
cGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworICAgIH0KKworICAgIC8vIENoYW5nZSBvcGFj
aXR5IGFuZCBkcmF3CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRPcGFjaXR5KDAuNmYpOworICAg
IHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAg
ICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAg
ICAgLy8gTXVzdCByZWNlaXZlIG9uZSByZW5kZXIgcGFzcywgYXMgdGhlIG90aGVyIG9uZSBzaG91
bGQgYmUgY3VsbGVkCisgICAgICAgIEFTU0VSVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNp
emUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1
YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRlclBh
c3MsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7Cisg
ICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQ
YXNzRHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0uZ2V0KCkp
OworICAgICAgICBFWFBFQ1RfRkFMU0UocXVhZC0+cmVuZGVyUGFzcygpLT50YXJnZXRTdXJmYWNl
KCktPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJz
KGZyYW1lKTsKKyAgICAgICAgbXlIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7Cisg
ICAgfQorCisgICAgLy8gQ2hhbmdlIGxlc3MgYmVuaWduIHByb3BlcnR5IGFuZCBkcmF3IC0gc2hv
dWxkIGhhdmUgY29udGVudHMgY2hhbmdlZCBmbGFnCisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRT
dGFja2luZ09yZGVyQ2hhbmdlZCh0cnVlKTsKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9z
dEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+
cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gcmVu
ZGVyIHBhc3NlcywgZWFjaCB3aXRoIG9uZSBxdWFkCisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJh
bWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5y
ZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKEND
RHJhd1F1YWQ6OlNvbGlkQ29sb3IsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKVsw
XS0+bWF0ZXJpYWwoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRlclBh
c3MsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7Cisg
ICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQ
YXNzRHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClbMF0uZ2V0KCkp
OworICAgICAgICBFWFBFQ1RfVFJVRShxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZhY2Uo
KS0+Y29udGVudHNDaGFuZ2VkKCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXllcnMo
ZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKKyAg
ICB9CisKKyAgICAvLyBDaGFuZ2Ugb3BhY2l0eSBhZ2FpbiwgYnV0IGV2aWN0IHRoZSBjYWNoZWQg
c3VyZmFjZSB0ZXh0dXJlCisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRPcGFjaXR5KDAuNWYpOwor
ICAgIE1hbmFnZWRUZXh0dXJlKiBjb250ZW50c1RleHR1cmUgPSBzdXJmYWNlTGF5ZXJQdHItPnJl
bmRlclN1cmZhY2UoKS0+Y29udGVudHNUZXh0dXJlKCk7CisgICAgQVNTRVJUX1RSVUUoY29udGVu
dHNUZXh0dXJlLT5pc1ZhbGlkKGNvbnRlbnRzVGV4dHVyZS0+c2l6ZSgpLCBjb250ZW50c1RleHR1
cmUtPmZvcm1hdCgpKSk7CisgICAgQ0NSZW5kZXJlciogcmVuZGVyZXIgPSBteUhvc3RJbXBsLT5s
YXllclJlbmRlcmVyKCk7CisgICAgVGV4dHVyZU1hbmFnZXIqIHRleHR1cmVNYW5hZ2VyID0gcmVu
ZGVyZXItPmltcGxUZXh0dXJlTWFuYWdlcigpOworICAgIHNpemVfdCBtYXhNZW1vcnlMaW1pdCA9
IHRleHR1cmVNYW5hZ2VyLT5tYXhNZW1vcnlMaW1pdEJ5dGVzKCk7CisKKyAgICAvLyBUaGlzIHNo
b3VsZCBldmljZSBhbGwgY2FjaGVkIHN1cmZhY2VzCisgICAgdGV4dHVyZU1hbmFnZXItPnNldE1h
eE1lbW9yeUxpbWl0Qnl0ZXMoMCk7CisKKyAgICAvLyBSZXN0b3JlIG9yaWdpbmFsIGxpbWl0Cisg
ICAgdGV4dHVyZU1hbmFnZXItPnNldE1heE1lbW9yeUxpbWl0Qnl0ZXMobWF4TWVtb3J5TGltaXQp
OworCisgICAgLy8gV2FzIG91ciBzdXJmYWNlIGV2aWN0ZWQ/CisgICAgQVNTRVJUX0ZBTFNFKGNv
bnRlbnRzVGV4dHVyZS0+aXNWYWxpZChjb250ZW50c1RleHR1cmUtPnNpemUoKSwgY29udGVudHNU
ZXh0dXJlLT5mb3JtYXQoKSkpOworCisgICAgLy8gQ2hhbmdlIG9wYWNpdHkgYW5kIGRyYXcKKyAg
ICBzdXJmYWNlTGF5ZXJQdHItPnNldE9wYWNpdHkoMC42Zik7CisgICAgeworICAgICAgICBDQ0xh
eWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7CisgICAgICAgIEVYUEVDVF9UUlVFKG15
SG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpKTsKKworICAgICAgICAvLyBNdXN0IHJlY2Vp
dmUgdHdvIHJlbmRlciBwYXNzZXMKKyAgICAgICAgQVNTRVJUX0VRKDJVLCBmcmFtZS5yZW5kZXJQ
YXNzZXMuc2l6ZSgpKTsKKworICAgICAgICAvLyBFdmVuIHRob3VnaCBub3QgZW5vdWdoIHByb3Bl
cnRpZXMgY2hhbmdlZCwgdGhlIGVudGlyZSB0aGluZyBtdXN0IGJlCisgICAgICAgIC8vIHJlZHJh
d24gYXMgd2UgZG9uJ3QgaGF2ZSBjYWNoZWQgdGV4dHVyZXMKKyAgICAgICAgRVhQRUNUX0VRKDFV
LCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQ
RUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKwor
ICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUucmVuZGVyUGFz
c2VzWzFdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgpKTsKKyAgICAgICAgQ0NSZW5kZXJQYXNz
RHJhd1F1YWQqIHF1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGZyYW1l
LnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9G
QUxTRShxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZhY2UoKS0+Y29udGVudHNDaGFuZ2Vk
KCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBt
eUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKKyAgICB9CisKKyAgICAvLyBEcmF3
IHdpdGhvdXQgYW55IGNoYW5nZSwgdG8gbWFrZSBzdXJlIHRoZSBzdGF0ZSBpcyBjbGVhcgorICAg
IHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAg
ICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAg
ICAgLy8gTXVzdCByZWNlaXZlIHR3byBFTVBUWSByZW5kZXIgcGFzc2VzCisgICAgICAgIEFTU0VS
VF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgw
VSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVY
UEVDVF9FUSgwVSwgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisK
KyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdElt
cGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworICAgIH0KKworICAgIC8vIENoYW5nZSBvcGFj
aXR5IG9uIHRoZSBpbnRlcm1lZGlhdGUgbGF5ZXIKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJp
eCB0cmFuc2Zvcm0gPSBpbnRlcm1lZGlhdGVMYXllclB0ci0+dHJhbnNmb3JtKCk7CisgICAgdHJh
bnNmb3JtLnNldE0xMSgxLjAwMDEpOworICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRUcmFu
c2Zvcm0odHJhbnNmb3JtKTsKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZy
YW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRv
RHJhdyhmcmFtZSkpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSBvbmUgcmVuZGVyIHBhc3Ms
IGFzIHRoZSBvdGhlciBvbmUgc2hvdWxkIGJlIGN1bGxlZC4KKyAgICAgICAgQVNTRVJUX0VRKDFV
LCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFt
ZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKworICAgICAgICBFWFBFQ1Rf
RVEoQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlz
dCgpWzBdLT5tYXRlcmlhbCgpKTsKKyAgICAgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQg
PSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGZyYW1lLnJlbmRlclBhc3Nlc1sw
XS0+cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShxdWFkLT5yZW5k
ZXJQYXNzKCktPnRhcmdldFN1cmZhY2UoKS0+Y29udGVudHNDaGFuZ2VkKCkpOworCisgICAgICAg
IG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWRE
cmF3QWxsTGF5ZXJzKGZyYW1lKTsKKyAgICB9Cit9CisKK3N0cnVjdCBSZW5kZXJQYXNzQ2FjaGVF
bnRyeSB7CisgICAgbXV0YWJsZSBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZW5kZXJQYXNzUHRyOwor
ICAgIENDUmVuZGVyUGFzcyogcmVuZGVyUGFzczsKKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5
KFBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzPiByKQorICAgICAgICA6IHJlbmRlclBhc3NQdHIociks
CisgICAgICAgICAgcmVuZGVyUGFzcyhyZW5kZXJQYXNzUHRyLmdldCgpKQorICAgIHsKKyAgICB9
CisKKyAgICBSZW5kZXJQYXNzQ2FjaGVFbnRyeSgpCisgICAgeworICAgIH0KKworICAgIFJlbmRl
clBhc3NDYWNoZUVudHJ5KGNvbnN0IFJlbmRlclBhc3NDYWNoZUVudHJ5JiBlbnRyeSkKKyAgICAg
ICAgOiByZW5kZXJQYXNzUHRyKGVudHJ5LnJlbmRlclBhc3NQdHIucmVsZWFzZSgpKSwKKyAgICAg
ICAgICByZW5kZXJQYXNzKGVudHJ5LnJlbmRlclBhc3MpCisgICAgeworICAgIH0KKworICAgIFJl
bmRlclBhc3NDYWNoZUVudHJ5JiBvcGVyYXRvcj0oY29uc3QgUmVuZGVyUGFzc0NhY2hlRW50cnkm
IGVudHJ5KQorICAgIHsKKyAgICAgICAgcmVuZGVyUGFzc1B0ciA9IGVudHJ5LnJlbmRlclBhc3NQ
dHIucmVsZWFzZSgpOworICAgICAgICByZW5kZXJQYXNzID0gZW50cnkucmVuZGVyUGFzczsKKyAg
ICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KK307CisKK3N0cnVjdCBSZW5kZXJQYXNzUmVtb3Zh
bFRlc3REYXRhIHsKKyAgICBDQ1JlbmRlclBhc3NMaXN0IHJlbmRlclBhc3NMaXN0OworICAgIHN0
ZDo6bWFwPGNoYXIsIFJlbmRlclBhc3NDYWNoZUVudHJ5PiByZW5kZXJQYXNzQ2FjaGU7CisgICAg
c3RkOjptYXA8Y29uc3QgQ0NSZW5kZXJQYXNzKiwgY2hhcj4gcmVuZGVyUGFzc0lkOworICAgIFZl
Y3RvcjxPd25QdHI8Q0NSZW5kZXJTdXJmYWNlPiA+IHJlbmRlclN1cmZhY2VTdG9yZTsKKyAgICBW
ZWN0b3I8T3duUHRyPENDTGF5ZXJJbXBsPiA+IGxheWVyU3RvcmU7CisgICAgT3duUHRyPENDU2hh
cmVkUXVhZFN0YXRlPiBzaGFyZWRRdWFkU3RhdGU7Cit9OworCitjbGFzcyBGYWtlUmVuZGVyU3Vy
ZmFjZSA6IHB1YmxpYyBDQ1JlbmRlclN1cmZhY2UgeworcHJpdmF0ZToKKyAgICBib29sIG1faGFz
Q2FjaGVkVGV4dHVyZTsKKyAgICBib29sIG1fY29udGVudHNDaGFuZ2VkOworCitwdWJsaWM6Cisg
ICAgRmFrZVJlbmRlclN1cmZhY2UoQ0NMYXllckltcGwqIGxheWVySW1wbCkKKyAgICAgICAgOiBD
Q1JlbmRlclN1cmZhY2UobGF5ZXJJbXBsKSwKKyAgICAgICAgICBtX2hhc0NhY2hlZFRleHR1cmUo
ZmFsc2UpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBoYXNDYWNoZWRDb250ZW50
c1RleHR1cmUoKSBjb25zdCBPVkVSUklERQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1faGFzQ2Fj
aGVkVGV4dHVyZTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgcHJlcGFyZUNvbnRlbnRzVGV4
dHVyZShMYXllclJlbmRlcmVyQ2hyb21pdW0qIGxyYykgT1ZFUlJJREUKKyAgICB7CisgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBjb250ZW50c0NoYW5nZWQo
KSBjb25zdCBPVkVSUklERQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fY29udGVudHNDaGFuZ2Vk
OworICAgIH0KKworICAgIHZvaWQgc2V0SGFzQ2FjaGVkVGV4dHVyZShib29sIGhhc0NhY2hlZFRl
eHR1cmUpCisgICAgeworICAgICAgICBtX2hhc0NhY2hlZFRleHR1cmUgPSBoYXNDYWNoZWRUZXh0
dXJlOworICAgIH0KKworICAgIHZvaWQgc2V0Q29udGVudHNDaGFuZ2VkKGJvb2wgY29udGVudHND
aGFuZ2VkKQorICAgIHsKKyAgICAgICAgbV9jb250ZW50c0NoYW5nZWQgPSBjb250ZW50c0NoYW5n
ZWQ7CisgICAgfQorfTsKKworY2xhc3MgQ0NUZXN0UmVuZGVyUGFzczogcHVibGljIENDUmVuZGVy
UGFzcyB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzPiBjcmVh
dGUoQ0NSZW5kZXJTdXJmYWNlKiB0YXJnZXRTdXJmYWNlKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBDQ1Rlc3RSZW5kZXJQYXNzKHRhcmdldFN1cmZhY2UpKTsKKyAgICB9CisK
K3Byb3RlY3RlZDoKKyAgICBDQ1Rlc3RSZW5kZXJQYXNzKENDUmVuZGVyU3VyZmFjZSogc3VyZmFj
ZSkKKyAgICAgICAgOiBDQ1JlbmRlclBhc3Moc3VyZmFjZSkKKyAgICB7CisgICAgfQorCitwdWJs
aWM6CisgICAgdm9pZCBhcHBlbmRRdWFkKFBhc3NPd25QdHI8Q0NEcmF3UXVhZD4gcXVhZCkKKyAg
ICB7CisgICAgICAgIG1fcXVhZExpc3QuYXBwZW5kKHF1YWQpOworICAgIH0KK307CisKK3N0YXRp
YyBQYXNzT3duUHRyPENDUmVuZGVyUGFzcz4gY3JlYXRlRHVtbXlSZW5kZXJQYXNzKFJlbmRlclBh
c3NSZW1vdmFsVGVzdERhdGEmIHRlc3REYXRhKQoreworICAgIE93blB0cjxDQ0xheWVySW1wbD4g
bGF5ZXJJbXBsID0gQ0NMYXllckltcGw6OmNyZWF0ZSgxKTsKKyAgICBDQ1JlbmRlclN1cmZhY2Uq
IHJlbmRlclN1cmZhY2UgPSBuZXcgRmFrZVJlbmRlclN1cmZhY2UobGF5ZXJJbXBsLmdldCgpKTsK
KyAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZW5kZXJQYXNzUHRyID0gQ0NUZXN0UmVuZGVyUGFz
czo6Y3JlYXRlKHJlbmRlclN1cmZhY2UpOworCisgICAgdGVzdERhdGEucmVuZGVyU3VyZmFjZVN0
b3JlLmFwcGVuZChhZG9wdFB0cihyZW5kZXJTdXJmYWNlKSk7CisgICAgdGVzdERhdGEubGF5ZXJT
dG9yZS5hcHBlbmQobGF5ZXJJbXBsLnJlbGVhc2UoKSk7CisgICAgcmV0dXJuIHJlbmRlclBhc3NQ
dHIucmVsZWFzZSgpOworfQorCitzdGF0aWMgdm9pZCBjb25maWd1cmVSZW5kZXJQYXNzVGVzdERh
dGEoY29uc3QgY2hhciogdGVzdFNjcmlwdCwgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSYgdGVz
dERhdGEpCit7CisgICAgLy8gT25lIHNoYXJlZCBzdGF0ZSBmb3IgYWxsIHF1YWRzIC0gd2UgZG9u
J3QgbmVlZCB0aGUgY29ycmVjdCBkZXRhaWxzCisgICAgdGVzdERhdGEuc2hhcmVkUXVhZFN0YXRl
ID0gQ0NTaGFyZWRRdWFkU3RhdGU6OmNyZWF0ZShXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBX
ZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBJbnRSZWN0KCksIEludFJlY3QoKSwgMS4wLCB0cnVl
KTsKKworICAgIGNvbnN0IGNoYXIqIGN1cnJlbnRDaGFyID0gdGVzdFNjcmlwdDsKKworICAgIC8v
IFByZS1jcmVhdGUgcm9vdCBwYXNzCisgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcm9vdFJlbmRl
clBhc3MgPSBjcmVhdGVEdW1teVJlbmRlclBhc3ModGVzdERhdGEpOworICAgIHRlc3REYXRhLnJl
bmRlclBhc3NJZC5pbnNlcnQoc3RkOjpwYWlyPENDUmVuZGVyUGFzcyosIGNoYXI+KHJvb3RSZW5k
ZXJQYXNzLmdldCgpLCB0ZXN0U2NyaXB0WzBdKSk7CisgICAgdGVzdERhdGEucmVuZGVyUGFzc0Nh
Y2hlLmluc2VydChzdGQ6OnBhaXI8Y2hhciwgUmVuZGVyUGFzc0NhY2hlRW50cnk+KHRlc3RTY3Jp
cHRbMF0sIFJlbmRlclBhc3NDYWNoZUVudHJ5KHJvb3RSZW5kZXJQYXNzLnJlbGVhc2UoKSkpKTsK
KyAgICB3aGlsZSAoKmN1cnJlbnRDaGFyICE9ICdcMCcpIHsKKyAgICAgICAgY2hhciByZW5kZXJQ
YXNzSWQgPSBjdXJyZW50Q2hhclswXTsKKyAgICAgICAgY3VycmVudENoYXIrKzsKKworICAgICAg
ICBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZW5kZXJQYXNzOworCisgICAgICAgIGJvb2wgaXNSZXBs
aWNhID0gZmFsc2U7CisgICAgICAgIGlmICghdGVzdERhdGEucmVuZGVyUGFzc0NhY2hlW3JlbmRl
clBhc3NJZF0ucmVuZGVyUGFzc1B0ci5nZXQoKSkKKyAgICAgICAgICAgIGlzUmVwbGljYSA9IHRy
dWU7CisKKyAgICAgICAgcmVuZGVyUGFzcyA9IHRlc3REYXRhLnJlbmRlclBhc3NDYWNoZVtyZW5k
ZXJQYXNzSWRdLnJlbmRlclBhc3NQdHIucmVsZWFzZSgpOworCisgICAgICAgIC8vIEN5Y2xlIHRo
cm91Z2ggcXVhZCBkYXRhIGFuZCBjcmVhdGUgYWxsIHF1YWRzCisgICAgICAgIHdoaWxlICgqY3Vy
cmVudENoYXIgIT0gJ1xuJyAmJiAqY3VycmVudENoYXIgIT0gJ1wwJykgeworICAgICAgICAgICAg
aWYgKCpjdXJyZW50Q2hhciA9PSAncycpIHsKKyAgICAgICAgICAgICAgICAvLyBTb2xpZCBjb2xv
ciBkcmF3IHF1YWQKKyAgICAgICAgICAgICAgICBPd25QdHI8Q0NEcmF3UXVhZD4gcXVhZCA9IEND
U29saWRDb2xvckRyYXdRdWFkOjpjcmVhdGUodGVzdERhdGEuc2hhcmVkUXVhZFN0YXRlLmdldCgp
LCBJbnRSZWN0KDAsIDAsIDEwLCAxMCksIENvbG9yOjp3aGl0ZSk7CisgICAgICAgICAgICAgICAg
CisgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8Q0NUZXN0UmVuZGVyUGFzcyo+KHJlbmRlclBh
c3MuZ2V0KCkpLT5hcHBlbmRRdWFkKHF1YWQucmVsZWFzZSgpKTsKKyAgICAgICAgICAgICAgICBj
dXJyZW50Q2hhcisrOworICAgICAgICAgICAgfSBlbHNlIGlmICgoKmN1cnJlbnRDaGFyID49ICdB
JykgJiYgKCpjdXJyZW50Q2hhciA8PSAnWicpKSB7CisgICAgICAgICAgICAgICAgLy8gUmVuZGVy
UGFzcyBkcmF3IHF1YWQKKyAgICAgICAgICAgICAgICBjaGFyIG5ld1JlbmRlclBhc3NJZCA9ICpj
dXJyZW50Q2hhcjsKKyAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcisrOworICAgICAgICAgICAg
ICAgIGJvb2wgaGFzVGV4dHVyZSA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJvb2wgY29udGVu
dHNDaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAo
KmN1cnJlbnRDaGFyID09ICdbJykgeworICAgICAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcisr
OworICAgICAgICAgICAgICAgICAgICB3aGlsZSAoKCpjdXJyZW50Q2hhciAhPSAnXScpICYmICgq
Y3VycmVudENoYXIgIT0gJ1wwJykpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAo
KmN1cnJlbnRDaGFyKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdjJzoKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50c0NoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2Ug
J3QnOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc1RleHR1cmUgPSB0cnVlOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudENoYXIrKzsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAoKmN1cnJlbnRDaGFyID09ICddJykKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyKys7CisgICAgICAgICAgICAgICAgfQor
CisgICAgICAgICAgICAgICAgQ0NSZW5kZXJQYXNzKiByZWZSZW5kZXJQYXNzUHRyOworCisgICAg
ICAgICAgICAgICAgaWYgKHRlc3REYXRhLnJlbmRlclBhc3NDYWNoZS5maW5kKG5ld1JlbmRlclBh
c3NJZCkgPT0gdGVzdERhdGEucmVuZGVyUGFzc0NhY2hlLmVuZCgpKSB7CisgICAgICAgICAgICAg
ICAgICAgIE93blB0cjxDQ1JlbmRlclBhc3M+IHJlZlJlbmRlclBhc3MgPSBjcmVhdGVEdW1teVJl
bmRlclBhc3ModGVzdERhdGEpOworICAgICAgICAgICAgICAgICAgICByZWZSZW5kZXJQYXNzUHRy
ID0gcmVmUmVuZGVyUGFzcy5nZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgRmFrZVJlbmRlclN1
cmZhY2UqIHJlZlJlbmRlclN1cmZhY2UgPSBzdGF0aWNfY2FzdDxGYWtlUmVuZGVyU3VyZmFjZSo+
KHJlZlJlbmRlclBhc3MtPnRhcmdldFN1cmZhY2UoKSk7CisgICAgICAgICAgICAgICAgICAgIHJl
ZlJlbmRlclN1cmZhY2UtPnNldEhhc0NhY2hlZFRleHR1cmUoaGFzVGV4dHVyZSk7CisgICAgICAg
ICAgICAgICAgICAgIHJlZlJlbmRlclN1cmZhY2UtPnNldENvbnRlbnRzQ2hhbmdlZChjb250ZW50
c0NoYW5nZWQpOworICAgICAgICAgICAgICAgICAgICB0ZXN0RGF0YS5yZW5kZXJQYXNzSWQuaW5z
ZXJ0KHN0ZDo6cGFpcjxDQ1JlbmRlclBhc3MqLCBjaGFyPihyZWZSZW5kZXJQYXNzLmdldCgpLCBu
ZXdSZW5kZXJQYXNzSWQpKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdERhdGEucmVuZGVyUGFz
c0NhY2hlLmluc2VydChzdGQ6OnBhaXI8Y2hhciwgUmVuZGVyUGFzc0NhY2hlRW50cnk+KG5ld1Jl
bmRlclBhc3NJZCwgUmVuZGVyUGFzc0NhY2hlRW50cnkocmVmUmVuZGVyUGFzcy5yZWxlYXNlKCkp
KSk7CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIHJlZlJlbmRl
clBhc3NQdHIgPSB0ZXN0RGF0YS5yZW5kZXJQYXNzQ2FjaGVbbmV3UmVuZGVyUGFzc0lkXS5yZW5k
ZXJQYXNzOworCisgICAgICAgICAgICAgICAgT3duUHRyPENDUmVuZGVyUGFzc0RyYXdRdWFkPiBx
dWFkID0gQ0NSZW5kZXJQYXNzRHJhd1F1YWQ6OmNyZWF0ZSh0ZXN0RGF0YS5zaGFyZWRRdWFkU3Rh
dGUuZ2V0KCksIEludFJlY3QoKSwgcmVmUmVuZGVyUGFzc1B0ciwgaXNSZXBsaWNhLCBXZWJLaXQ6
OldlYkZpbHRlck9wZXJhdGlvbnMoKSwgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zKCksIDEp
OworICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PENDVGVzdFJlbmRlclBhc3MqPihyZW5kZXJQ
YXNzLmdldCgpKS0+YXBwZW5kUXVhZChxdWFkLnJlbGVhc2UoKSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICAgICAgdGVzdERhdGEucmVuZGVyUGFzc0xpc3QuaW5zZXJ0KDAsIHJlbmRl
clBhc3MucmVsZWFzZSgpKTsKKyAgICAgICAgaWYgKCpjdXJyZW50Q2hhciAhPSAnXDAnKQorICAg
ICAgICAgICAgY3VycmVudENoYXIrKzsKKyAgICB9Cit9CisKK3ZvaWQgZHVtcFJlbmRlclBhc3NU
ZXN0RGF0YShjb25zdCBSZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhJiB0ZXN0RGF0YSwgY2hhciog
YnVmZmVyKQoreworICAgIGNoYXIqIHBvcyA9IGJ1ZmZlcjsKKyAgICBDQ1JlbmRlclBhc3NMaXN0
Ojpjb25zdF9yZXZlcnNlX2l0ZXJhdG9yIGl0ID0gdGVzdERhdGEucmVuZGVyUGFzc0xpc3QucmJl
Z2luKCk7CisgICAgd2hpbGUgKGl0ICE9IHRlc3REYXRhLnJlbmRlclBhc3NMaXN0LnJlbmQoKSkg
eworICAgICAgICBDQ1JlbmRlclBhc3MqIGN1cnJlbnRQYXNzID0gaXQtPmdldCgpOworICAgICAg
ICBjaGFyIHBhc3NJZCA9IHRlc3REYXRhLnJlbmRlclBhc3NJZC5maW5kKGN1cnJlbnRQYXNzKS0+
c2Vjb25kOworICAgICAgICAqcG9zID0gcGFzc0lkOworICAgICAgICBwb3MrKzsKKworICAgICAg
ICBDQ1F1YWRMaXN0Ojpjb25zdF9pdGVyYXRvciBxdWFkTGlzdEl0ZXJhdG9yID0gY3VycmVudFBh
c3MtPnF1YWRMaXN0KCkuYmVnaW4oKTsKKyAgICAgICAgd2hpbGUgKHF1YWRMaXN0SXRlcmF0b3Ig
IT0gY3VycmVudFBhc3MtPnF1YWRMaXN0KCkuZW5kKCkpIHsKKyAgICAgICAgICAgIENDRHJhd1F1
YWQqIGN1cnJlbnRRdWFkID0gKCpxdWFkTGlzdEl0ZXJhdG9yKS5nZXQoKTsKKyAgICAgICAgICAg
IHN3aXRjaCAoY3VycmVudFF1YWQtPm1hdGVyaWFsKCkpIHsKKyAgICAgICAgICAgIGNhc2UgQ0NE
cmF3UXVhZDo6U29saWRDb2xvcjoKKyAgICAgICAgICAgICAgICAqcG9zID0gJ3MnOworICAgICAg
ICAgICAgICAgIHBvcysrOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2Fz
ZSBDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzOgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHJlbmRlclBhc3NEcmF3UXVhZCA9IHN0YXRp
Y19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oY3VycmVudFF1YWQpOworICAgICAgICAgICAg
ICAgICAgICBjb25zdCBDQ1JlbmRlclBhc3MqIHJlZlBhc3MgPSByZW5kZXJQYXNzRHJhd1F1YWQt
PnJlbmRlclBhc3MoKTsKKyAgICAgICAgICAgICAgICAgICAgY2hhciByZWZQYXNzSWQgPSB0ZXN0
RGF0YS5yZW5kZXJQYXNzSWQuZmluZChyZWZQYXNzKS0+c2Vjb25kOworICAgICAgICAgICAgICAg
ICAgICAqcG9zID0gcmVmUGFzc0lkOworICAgICAgICAgICAgICAgICAgICBwb3MrKzsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0
OgorICAgICAgICAgICAgICAgICpwb3MgPSAneCc7CisgICAgICAgICAgICAgICAgcG9zKys7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAg
ICAgICAgIHF1YWRMaXN0SXRlcmF0b3IrKzsKKyAgICAgICAgfQorICAgICAgICAqcG9zID0gJ1xu
JzsKKyAgICAgICAgcG9zKys7CisgICAgICAgIGl0Kys7CisgICAgfQorICAgICpwb3MgPSAnXDAn
OworfQorCisvLyBFYWNoIENDUmVuZGVyUGFzc0xpc3QgaXMgcmVwcmVzZW50ZWQgYnkgYSBzdHJp
bmcgd2hpY2ggZGVzY3JpYmVzIHRoZSBjb25maWd1cmF0aW9uLgorLy8gVGhlIHN5bnRheCBvZiB0
aGUgc3RyaW5nIGlzIGFzIGZvbGxvd3M6CisvLworLy8gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSc3Nzc3NYW2Ndc3NZc3NzWlt0XXNzV1tjdF0K
Ky8vIElkZW50aWZpZXMgdGhlIHJlbmRlciBwYXNzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
XiBeXl4gXiBeICAgXiAgICAgXiAgICAgXgorLy8gVGhlc2UgYXJlIHNvbGlkIGNvbG9yIHF1YWRz
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICB8IHwgICB8ICAgICB8ICAgICB8CisvLyBJ
ZGVudGlmaWVzIFJlbmRlclBhc3NEcmF3UXVhZCdzIFJlbmRlclBhc3MtLS0tLS0tLS0tLS0tLS0t
LSsgfCAgIHwgICAgIHwgICAgIHwKKy8vIFRoaXMgcXVhZCdzIGNvbnRlbnRzIGRpZG4ndCBjaGFu
Z2UtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgfCAgICAgfCAgICAgfAorLy8gVGhpcyBx
dWFkJ3MgY29udGVudHMgY2hhbmdlZCBhbmQgaXQgaGFzIG5vIHRleHR1cmUtLS0tLS0tLS0tLS0t
LS0rICAgICB8ICAgICB8CisvLyBUaGlzIHF1YWQgaGFzIHRleHR1cmUgYnV0IGl0cyBjb250ZW50
cyBjaGFuZ2VkLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICAgIHwKKy8vIFRoaXMgcXVhZCdz
IGNvbnRlbnRzIGRpZG4ndCBjaGFuZ2UgYW5kIGl0IGhhcyB0ZXh0dXJlIC0gd2lsbCBiZSByZW1v
dmVkLS0tLS0tKworLy8KKy8vIEV4cGVjdGVkIHJlc3VsdHMgaGF2ZSBleGFjdGx5IHRoZSBzYW1l
IHN5bnRheCwgZXhjZXB0IHRoZXkgZG8gbm90IHVzZSBzcXVhcmUgYnJhY2tldHMsCisvLyBzaW5j
ZSB3ZSBvbmx5IGNoZWNrIHRoZSBzdHJ1Y3R1cmUsIG5vdCBhdHRyaWJ1dGVzLgorLy8KKy8vIFRl
c3QgY2FzZSBjb25maWd1cmF0aW9uIGNvbnNpc3RzIG9mIGluaXRpYWxpemF0aW9uIHNjcmlwdCBh
bmQgZXhwZWN0ZWQgcmVzdWx0cywKKy8vIGFsbCBpbiB0aGUgc2FtZSBmb3JtYXQuCitzdHJ1Y3Qg
VGVzdENhc2UgeworICAgIGNvbnN0IGNoYXIqIG5hbWU7CisgICAgY29uc3QgY2hhciogaW5pdFNj
cmlwdDsKKyAgICBjb25zdCBjaGFyKiBleHBlY3RlZFJlc3VsdDsKK307CisKK1Rlc3RDYXNlIHJl
bW92ZVJlbmRlclBhc3Nlc0Nhc2VzW10gPQorICAgIHsKKyAgICAgICAgeworICAgICAgICAgICAg
IlNpbmdsZSByb290IHBhc3MiLAorICAgICAgICAgICAgIlJzc3NzXG4iLAorICAgICAgICAgICAg
IlJzc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJTaW5nbGUgcGFzcyAtIG5vIHF1
YWRzIiwKKyAgICAgICAgICAgICJSXG4iLAorICAgICAgICAgICAgIlJcbiIKKyAgICAgICAgfSwg
eworICAgICAgICAgICAgIlR3byBwYXNzZXMsIG5vIHJlbW92YWwiLAorICAgICAgICAgICAgIlJz
c3NzQXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAgIlJzc3NzQXNz
c1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJU
d28gcGFzc2VzLCByZW1vdmUgbGFzdCIsCisgICAgICAgICAgICAiUnNzc3NBW2N0XXNzc1xuIgor
ICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAg
ICB9LCB7CisgICAgICAgICAgICAiSGF2ZSB0ZXh0dXJlIGJ1dCBjb250ZW50cyBjaGFuZ2VkIC0g
bGVhdmUgcGFzcyIsCisgICAgICAgICAgICAiUnNzc3NBW3Rdc3NzXG4iCisgICAgICAgICAgICAi
QXNzc3NcbiIsCisgICAgICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3Nc
biIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIkNvbnRlbnRzIGRpZG4ndCBjaGFuZ2UgYnV0
IG5vIHRleHR1cmUgLSBsZWF2ZSBwYXNzIiwKKyAgICAgICAgICAgICJSc3Nzc0FbY11zc3NcbiIK
KyAgICAgICAgICAgICJBc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAg
ICAgICAgICJBc3Nzc1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiUmVwbGljYTogdHdv
IHF1YWRzIHJlZmVyZW5jZSB0aGUgc2FtZSBwYXNzOyByZW1vdmUiLAorICAgICAgICAgICAgIlJz
c3NzQVtjdF1BW2N0XXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAg
IlJzc3NzQUFzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIlJlcGxpY2E6IHR3byBx
dWFkcyByZWZlcmVuY2UgdGhlIHNhbWUgcGFzczsgbGVhdmUiLAorICAgICAgICAgICAgIlJzc3Nz
QVtjXUFbY11zc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nz
c0FBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIsCisgICAgICAgIH0sIHsKKyAgICAgICAg
ICAgICJNYW55IHBhc3NlcywgcmVtb3ZlIGFsbCIsCisgICAgICAgICAgICAiUnNzc3NBW2N0XXNz
c1xuIgorICAgICAgICAgICAgIkFzc3NCW2N0XUNbY3Rdc1xuIgorICAgICAgICAgICAgIkJzc3NE
W2N0XXNzRVtjdF1GW2N0XVxuIgorICAgICAgICAgICAgIkVzc3Nzc3NcbiIKKyAgICAgICAgICAg
ICJDR1tjdF1cbiIKKyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAgICAgICAgIkZzc3Nz
c3NzXG4iCisgICAgICAgICAgICAiR3Nzc1xuIiwKKworICAgICAgICAgICAgIlJzc3NzQXNzc1xu
IgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiRGVlcCByZWN1cnNpb24sIHJlbW92ZSBhbGwi
LAorCisgICAgICAgICAgICAiUnNzc3NzQVtjdF1zc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NC
c3NzXG4iCisgICAgICAgICAgICAiQkNcbiIKKyAgICAgICAgICAgICJDRFxuIgorICAgICAgICAg
ICAgIkRFXG4iCisgICAgICAgICAgICAiRUZcbiIKKyAgICAgICAgICAgICJGR1xuIgorICAgICAg
ICAgICAgIkdIXG4iCisgICAgICAgICAgICAiSHNzc0lzc3NcbiIKKyAgICAgICAgICAgICJJSlxu
IgorICAgICAgICAgICAgIkpzc3NzXG4iLAorICAgICAgICAgICAgCisgICAgICAgICAgICAiUnNz
c3NzQXNzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIldpZGUgcmVjdXJzaW9uLCBy
ZW1vdmUgYWxsIiwKKyAgICAgICAgICAgICJSQVtjdF1CW2N0XUNbY3RdRFtjdF1FW2N0XUZbY3Rd
R1tjdF1IW2N0XUlbY3RdSltjdF1cbiIKKyAgICAgICAgICAgICJBc1xuIgorICAgICAgICAgICAg
IkJzXG4iCisgICAgICAgICAgICAiQ3Nzc3NcbiIKKyAgICAgICAgICAgICJEc3Nzc1xuIgorICAg
ICAgICAgICAgIkVzXG4iCisgICAgICAgICAgICAiRlxuIgorICAgICAgICAgICAgIkdzXG4iCisg
ICAgICAgICAgICAiSHNcbiIKKyAgICAgICAgICAgICJJc1xuIgorICAgICAgICAgICAgIkpzc3Nz
XG4iLAorICAgICAgICAgICAgCisgICAgICAgICAgICAiUkFCQ0RFRkdISUpcbiIKKyAgICAgICAg
fSwgeworICAgICAgICAgICAgIlJlbW92ZSBwYXNzZXMgcmVnYXJkbGVzcyBvZiBjYWNoZSBzdGF0
ZSIsCisgICAgICAgICAgICAiUnNzc3NBW2N0XXNzc1xuIgorICAgICAgICAgICAgIkFzc3NCQ3Nc
biIKKyAgICAgICAgICAgICJCc3NzRFtjXXNzRVt0XUZcbiIKKyAgICAgICAgICAgICJFc3Nzc3Nz
XG4iCisgICAgICAgICAgICAiQ0dcbiIKKyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAg
ICAgICAgIkZzc3Nzc3NzXG4iCisgICAgICAgICAgICAiR3Nzc1xuIiwKKworICAgICAgICAgICAg
IlJzc3NzQXNzc1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiTGVhdmUgc29tZSBwYXNz
ZXMsIHJlbW92ZSBvdGhlcnMiLAorCisgICAgICAgICAgICAiUnNzc3NBW2Ndc3NzXG4iCisgICAg
ICAgICAgICAiQXNzc0JbdF1DW2N0XXNcbiIKKyAgICAgICAgICAgICJCc3NzRFtjXXNzXG4iCisg
ICAgICAgICAgICAiQ0dcbiIKKyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAgICAgICAg
Ikdzc3NcbiIsCisKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3Nz
QkNzXG4iCisgICAgICAgICAgICAiQnNzc0Rzc1xuIgorICAgICAgICAgICAgIkRzc3Nzc3NzXG4i
CisgICAgICAgIH0sIHsKKyAgICAgICAgICAgIDAsIDAsIDAKKyAgICAgICAgfQorICAgIH07CisK
K3N0YXRpYyB2b2lkIHZlcmlmeVJlbmRlclBhc3NUZXN0RGF0YShUZXN0Q2FzZSYgdGVzdENhc2Us
IFJlbmRlclBhc3NSZW1vdmFsVGVzdERhdGEmIHRlc3REYXRhKQoreworICAgIGNoYXIgYWN0dWFs
UmVzdWx0WzEwMjRdOworICAgIGR1bXBSZW5kZXJQYXNzVGVzdERhdGEodGVzdERhdGEsIGFjdHVh
bFJlc3VsdCk7CisgICAgRVhQRUNUX1NUUkVRKHRlc3RDYXNlLmV4cGVjdGVkUmVzdWx0LCBhY3R1
YWxSZXN1bHQpIDw8ICJJbiB0ZXN0IGNhc2U6ICIgPDwgdGVzdENhc2UubmFtZTsKK30KKworVEVT
VChSZW5kZXJQYXNzUmVtb3ZhbFRlc3QsIHRlc3RSZW1vdmVSZW5kZXJQYXNzZXMpCit7CisgICAg
aW50IHRlc3RDYXNlSW5kZXggPSAwOworICAgIHdoaWxlIChyZW1vdmVSZW5kZXJQYXNzZXNDYXNl
c1t0ZXN0Q2FzZUluZGV4XS5uYW1lKSB7CisgICAgICAgIERlYnVnU2NvcGVkU2V0SW1wbFRocmVh
ZCBpbXBsVGhyZWFkOworICAgICAgICBSZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhIHRlc3REYXRh
OworICAgICAgICBDQ1JlbmRlclBhc3NMaXN0IHNraXBwZWRQYXNzZXM7CisgICAgICAgIGNvbmZp
Z3VyZVJlbmRlclBhc3NUZXN0RGF0YShyZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2FzZUlu
ZGV4XS5pbml0U2NyaXB0LCB0ZXN0RGF0YSk7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6
OnJlbW92ZVBhc3Nlc1dpdGhDYWNoZWRUZXh0dXJlcyh0ZXN0RGF0YS5yZW5kZXJQYXNzTGlzdCwg
c2tpcHBlZFBhc3Nlcyk7CisgICAgICAgIHZlcmlmeVJlbmRlclBhc3NUZXN0RGF0YShyZW1vdmVS
ZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2FzZUluZGV4XSwgdGVzdERhdGEpOworICAgICAgICB0ZXN0
Q2FzZUluZGV4Kys7CisgICAgfQorfQorCiB9IC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147856</attachid>
            <date>2012-06-15 10:50:52 -0700</date>
            <delta_ts>2012-06-16 05:47:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88482-20120615135052.patch</filename>
            <type>text/plain</type>
            <size>54057</size>
            <attacher>zlieber</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNDc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDBhY2E0ZDhjMjhlMTY3
MWI4YjJiNGI4ZjhiZDJkZDk2YjllMTBlMy4uY2M1MzZhZDE2MDFiODZhZWI3ODg4MjVmZTY0YzQ4
NjY0MmRiNGNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTA2LTE1ICBaZWV2
IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ29t
cG9zaXRvciBzaG91bGQgYXZvaWQgZHJhd2luZyBxdWFkcyB3aGVuIGNhY2hlZCB0ZXh0dXJlcyBh
cmUgYXZhaWxhYmxlIGFuZCBjb250ZW50cyB1bmNoYW5nZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUG9zdC1wcm9jZXNzaW5nIENDUmVuZGVyUGFzc0xp
c3QgYWZ0ZXIgaXQncyBiZWVuIGdlbmVyYXRlZCBhbmQKKyAgICAgICAgcmVtb3ZpbmcgYWxsIHJl
bmRlciBzdXJmYWNlIHF1YWRzIGZvciB3aGljaCB0aGVyZSBhcmUKKyAgICAgICAgY2FjaGVkIHRl
eHR1cmVzLCBhbmQgd2hvc2UgY29udGVudCBkaWRuJ3QgY2hhbmdlLiBBZGRlZCBhIG5ldworICAg
ICAgICBmbGFnIHRvIENDTGF5ZXJJbXBsIHRvIGRpZmZlcmVudGlhdGUgc3VyZmFjZSBwcm9wZXJ0
eSBjaGFuZ2UgYW5kCisgICAgICAgIGxheWVyIHByb3BlcnR5IGNoYW5nZS4KKworICAgICAgICBU
aGUgY2hhbmdlcyBhcmUgY292ZXJlZCBieSBuZXcgdW5pdCB0ZXN0cyB0aGF0IGNoZWNrIHRoYXQK
KyAgICAgICAgdGhlIHJlbW92YWwgYWxnb3JpdGhtIGZ1bmN0aW9ucyBwcm9wZXJ0bHkuIE5vIHJl
bmRlcmluZworICAgICAgICBiZWhhdmlvdXIgY2hhbmdlLCBzbyBubyBuZXcgbGF5b3V0IHRlc3Rz
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFj
a2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmxheWVyTmVlZHNUb1JlZHJhd09udG9JdHNUYXJn
ZXRTdXJmYWNlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NEYW1h
Z2VUcmFja2VyOjpleHRlbmREYW1hZ2VGb3JMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpDQ0Rh
bWFnZVRyYWNrZXI6OmV4dGVuZERhbWFnZUZvclJlbmRlclN1cmZhY2UpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNDTGF5ZXJJbXBsOjpDQ0xheWVySW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xh
eWVySW1wbDo6bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OnJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdG
b3JTdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXRPcGFjaXR5KToK
KyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXRUcmFuc2Zvcm0pOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmg6CisgICAgICAgIChD
Q0xheWVySW1wbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllclRyZWVIb3N0SW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJ
bXBsOjpjYWxjdWxhdGVSZW5kZXJQYXNzZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRy
ZWVIb3N0SW1wbDo6cmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3ZlUGFzc2Vz
V2l0aENhY2hlZFRleHR1cmVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdElt
cGw6OnByZXBhcmVUb0RyYXcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaDoKKyAgICAgICAgKEZyYW1lRGF0YSk6CisgICAgICAg
IChDQ0xheWVyVHJlZUhvc3RJbXBsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1JlbmRlclBhc3MuaDoKKyAgICAgICAgKENDUmVuZGVyUGFzcyk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyU3VyZmFjZTo6cHJlcGFyZUNvbnRlbnRzVGV4dHVyZSk6
CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6Omhhc0NhY2hlZENvbnRlbnRzVGV4
dHVyZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyU3Vy
ZmFjZTo6Y29udGVudHNDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuaDoKKyAgICAgICAgKENDUmVuZGVyU3VyZmFjZSk6CisK
IDIwMTItMDYtMTUgIFRhaWp1IFRzdWlraSAgPHR6aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IE1vdmUgRmlsZVN5c3RlbSBmcmFtZSBtYW5hZ2VtZW50IGZyb20gZnJv
bnRlbmQgdG8gYmFja2VuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBiZWU5NjM4YmYz
YjQzNTNhYWRhZjA4NmFlNDAzNGQ1M2E0ZmQwNTVkLi5jYmM0OWVkYmFlMmY1MjQyMmI2MjZmMGI0
Y2ZhNDViYmFkNmM5YTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA2LTE1ICBaZWV2IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFtDaHJvbWl1bV0gQ29tcG9zaXRvciBzaG91bGQgYXZvaWQgZHJhd2luZyBxdWFkcyB3
aGVuIGNhY2hlZCB0ZXh0dXJlcyBhcmUgYXZhaWxhYmxlIGFuZCBjb250ZW50cyB1bmNoYW5nZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NDgyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVz
dHMgdG8gdmVyaWZ5IHF1YWQgcmVtb3ZhbCBhbGdvcml0aG0uIEFkZGVkIGluZnJhc3RydWN0dXJl
CisgICAgICAgIGNvZGUgdG8gZ2VuZXJhdGUgY3VzdG9tIHJlbmRlciBwYXNzZXMgb3V0IG9mIGEg
c2NyaXB0IGVuY29kZWQgYXMgQworICAgICAgICBzdHJpbmcuCisKKyAgICAgICAgKiB0ZXN0cy9D
Q0RhbWFnZVRyYWNrZXJUZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdFRlc3RzOjpURVNUX0YpOgor
ICAgICAgICAqIHRlc3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OlRFU1QpOgorICAgICAgICAqIHRlc3RzL0NDTGF5ZXJUcmVlSG9z
dEltcGxUZXN0LmNwcDoKKwogMjAxMi0wNi0xNSAgU2FtaSBLeW9zdGlsYSAgPHNreW9zdGlsQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIEFsbG93IHNjcm9sbGluZyBub24tcm9v
dCBsYXllcnMgaW4gdGhlIGNvbXBvc2l0b3IgdGhyZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFj
a2VyLmNwcAppbmRleCBhNmZkYmI4ZmZmYWNjYTM5ZjkxZjBjMDNhYjcyZmFlODRhZTY2NmYwLi4x
ZGJiNTk0MDhlZDkxN2Q3N2Y1ODc3ODJiMWQxODZhNzg3NmMwMmNkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
RGFtYWdlVHJhY2tlci5jcHAKQEAgLTIzOSw2ICsyMzksMTggQEAgRmxvYXRSZWN0IENDRGFtYWdl
VHJhY2tlcjo6dHJhY2tEYW1hZ2VGcm9tTGVmdG92ZXJSZWN0cygpCiAgICAgcmV0dXJuIGRhbWFn
ZVJlY3Q7CiB9CiAKK3N0YXRpYyBib29sIGxheWVyTmVlZHNUb1JlZHJhd09udG9JdHNUYXJnZXRT
dXJmYWNlKENDTGF5ZXJJbXBsKiBsYXllcikKK3sKKyAgICAvLyBJZiB0aGUgbGF5ZXIgZG9lcyBO
T1Qgb3duIGEgc3VyZmFjZSBidXQgaGFzIFN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQsCisgICAgLy8g
dGhpcyBtZWFucyB0aGF0IGl0cyB0YXJnZXQgc3VyZmFjZSBpcyBhZmZlY3RlZCBhbmQgbmVlZHMg
dG8gYmUgcmVkcmF3bi4KKyAgICAvLyBIb3dldmVyLCBpZiB0aGUgbGF5ZXIgRE9FUyBvd24gYSBz
dXJmYWNlLCB0aGVuIHRoZSBTdXJmYWNlUHJvcGVydHlDaGFuZ2VkIAorICAgIC8vIGZsYWcgc2hv
dWxkIG5vdCBiZSB1c2VkIGhlcmUsIGJlY2F1c2UgdGhhdCBmbGFnIHJlcHJlc2VudHMgd2hldGhl
ciB0aGUKKyAgICAvLyBsYXllcidzIHN1cmZhY2UgaGFzIGNoYW5nZWQuCisgICAgaWYgKGxheWVy
LT5yZW5kZXJTdXJmYWNlKCkpCisgICAgICAgIHJldHVybiBsYXllci0+bGF5ZXJQcm9wZXJ0eUNo
YW5nZWQoKTsKKyAgICByZXR1cm4gbGF5ZXItPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkgfHwgbGF5
ZXItPmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpOworfQorCiB2b2lkIENDRGFtYWdlVHJh
Y2tlcjo6ZXh0ZW5kRGFtYWdlRm9yTGF5ZXIoQ0NMYXllckltcGwqIGxheWVyLCBGbG9hdFJlY3Qm
IHRhcmdldERhbWFnZVJlY3QpCiB7CiAgICAgLy8gVGhlcmUgYXJlIHR3byB3YXlzIHRoYXQgYSBs
YXllciBjYW4gZGFtYWdlIGEgcmVnaW9uIG9mIHRoZSB0YXJnZXQgc3VyZmFjZToKQEAgLTI1MSw2
ICsyNjMsMTEgQEAgdm9pZCBDQ0RhbWFnZVRyYWNrZXI6OmV4dGVuZERhbWFnZUZvckxheWVyKEND
TGF5ZXJJbXBsKiBsYXllciwgRmxvYXRSZWN0JiB0YXJnZXQKICAgICAvLyAgICAgIHJlZ2lvbiBk
YW1hZ2VzIHRoZSBzdXJmYWNlLgogICAgIC8vCiAgICAgLy8gUHJvcGVydHkgY2hhbmdlcyB0YWtl
IHByaW9yaXR5IG92ZXIgdXBkYXRlIHJlY3RzLgorICAgIC8vCisgICAgLy8gVGhpcyBtZXRob2Qg
aXMgY2FsbGVkIHdoZW4gd2Ugd2FudCB0byBjb25zaWRlciBob3cgYSBsYXllciBjb250cmlidXRl
cyB0byBpdHMKKyAgICAvLyB0YXJnZXRSZW5kZXJTdXJmYWNlLCBldmVuIGlmIHRoYXQgbGF5ZXIg
b3ducyB0aGUgdGFyZ2V0UmVuZGVyU3VyZmFjZSBpdHNlbGYuCisgICAgLy8gVG8gY29uc2lkZXIg
aG93IGEgbGF5ZXIncyB0YXJnZXRTdXJmYWNlIGNvbnRyaWJ1dGVzIHRvIHRoZSBhbmNlc3RvclN1
cmZhY2UsCisgICAgLy8gZXh0ZW5kRGFtYWdlRm9yUmVuZGVyU3VyZmFjZSgpIG11c3QgYmUgY2Fs
bGVkIGluc3RlYWQuCiAKICAgICAvLyBDb21wdXRlIHRoZSBsYXllcidzICJvcmlnaW5UcmFuc2Zv
cm0iIGJ5IHRyYW5zbGF0aW5nIHRoZSBkcmF3VHJhbnNmb3JtLgogICAgIFdlYlRyYW5zZm9ybWF0
aW9uTWF0cml4IG9yaWdpblRyYW5zZm9ybSA9IGxheWVyLT5kcmF3VHJhbnNmb3JtKCk7CkBAIC0y
NjIsNyArMjc5LDcgQEAgdm9pZCBDQ0RhbWFnZVRyYWNrZXI6OmV4dGVuZERhbWFnZUZvckxheWVy
KENDTGF5ZXJJbXBsKiBsYXllciwgRmxvYXRSZWN0JiB0YXJnZXQKICAgICBGbG9hdFJlY3QgbGF5
ZXJSZWN0SW5UYXJnZXRTcGFjZSA9IENDTWF0aFV0aWw6Om1hcENsaXBwZWRSZWN0KG9yaWdpblRy
YW5zZm9ybSwgRmxvYXRSZWN0KEZsb2F0UG9pbnQ6Onplcm8oKSwgbGF5ZXItPmJvdW5kcygpKSk7
CiAgICAgc2F2ZVJlY3RGb3JOZXh0RnJhbWUobGF5ZXItPmlkKCksIGxheWVyUmVjdEluVGFyZ2V0
U3BhY2UpOwogCi0gICAgaWYgKGxheWVySXNOZXcgfHwgbGF5ZXItPmxheWVyUHJvcGVydHlDaGFu
Z2VkKCkpIHsKKyAgICBpZiAobGF5ZXJJc05ldyB8fCBsYXllck5lZWRzVG9SZWRyYXdPbnRvSXRz
VGFyZ2V0U3VyZmFjZShsYXllcikpIHsKICAgICAgICAgLy8gSWYgYSBsYXllciBpcyBuZXcgb3Ig
aGFzIGNoYW5nZWQsIHRoZW4gaXRzIGVudGlyZSBsYXllciByZWN0IGFmZmVjdHMgdGhlIHRhcmdl
dCBzdXJmYWNlLgogICAgICAgICB0YXJnZXREYW1hZ2VSZWN0LnVuaXRlSWZOb25aZXJvKGxheWVy
UmVjdEluVGFyZ2V0U3BhY2UpOwogCkBAIC0zMDAsNyArMzE3LDcgQEAgdm9pZCBDQ0RhbWFnZVRy
YWNrZXI6OmV4dGVuZERhbWFnZUZvclJlbmRlclN1cmZhY2UoQ0NMYXllckltcGwqIGxheWVyLCBG
bG9hdFJlY3QKICAgICBzYXZlUmVjdEZvck5leHRGcmFtZShsYXllci0+aWQoKSwgc3VyZmFjZVJl
Y3RJblRhcmdldFNwYWNlKTsKIAogICAgIEZsb2F0UmVjdCBkYW1hZ2VSZWN0SW5Mb2NhbFNwYWNl
OwotICAgIGlmIChzdXJmYWNlSXNOZXcgfHwgcmVuZGVyU3VyZmFjZS0+c3VyZmFjZVByb3BlcnR5
Q2hhbmdlZCgpKSB7CisgICAgaWYgKHN1cmZhY2VJc05ldyB8fCByZW5kZXJTdXJmYWNlLT5zdXJm
YWNlUHJvcGVydHlDaGFuZ2VkKCkgfHwgbGF5ZXItPmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdl
ZCgpKSB7CiAgICAgICAgIC8vIFRoZSBlbnRpcmUgc3VyZmFjZSBjb250cmlidXRlcyBkYW1hZ2Uu
CiAgICAgICAgIGRhbWFnZVJlY3RJbkxvY2FsU3BhY2UgPSByZW5kZXJTdXJmYWNlLT5jb250ZW50
UmVjdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAKaW5kZXggZTYxYmY5MWQwNmM1Y2EyNWM1
YzNiYTZiNGYzYmU0NjlhMWI5Y2QwOS4uMDdmMDIyZDljYzVkNzFiNzQyNGRmNzRkMjQwZmE5ZmU2
MzA1YjZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NMYXllckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcApAQCAtNTUsNiArNTUsNyBAQCBDQ0xh
eWVySW1wbDo6Q0NMYXllckltcGwoaW50IGlkKQogICAgICwgbV9oYXZlV2hlZWxFdmVudEhhbmRs
ZXJzKGZhbHNlKQogICAgICwgbV9kb3VibGVTaWRlZCh0cnVlKQogICAgICwgbV9sYXllclByb3Bl
cnR5Q2hhbmdlZChmYWxzZSkKKyAgICAsIG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKGZh
bHNlKQogICAgICwgbV9tYXNrc1RvQm91bmRzKGZhbHNlKQogICAgICwgbV9vcGFxdWUoZmFsc2Up
CiAgICAgLCBtX29wYWNpdHkoMS4wKQpAQCAtMzEwLDYgKzMxMSwyNiBAQCB2b2lkIENDTGF5ZXJJ
bXBsOjpzZXRTdGFja2luZ09yZGVyQ2hhbmdlZChib29sIHN0YWNraW5nT3JkZXJDaGFuZ2VkKQog
ICAgICAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JTdWJ0cmVlKCk7CiB9CiAKK2Jvb2wg
Q0NMYXllckltcGw6OmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpIGNvbnN0Cit7CisgICAg
aWYgKG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KworICAgIC8vIElmIHRoaXMgbGF5ZXIncyBzdXJmYWNlIHByb3BlcnR5IGhhc24ndCBjaGFuZ2Vk
LCB3ZSB3YW50IHRvIHNlZSBpZgorICAgIC8vIHNvbWUgbGF5ZXIgYWJvdmUgdXMgaGFzIGNoYW5n
ZWQgdGhpcyBwcm9wZXJ0eS4gVGhpcyBpcyBkb25lIGZvciB0aGUKKyAgICAvLyBjYXNlIHdoZW4g
c3VjaCBwYXJlbnQgbGF5ZXIgZG9lcyBub3QgZHJhdyBjb250ZW50LCBhbmQgdGhlcmVmb3JlIHdp
bGwKKyAgICAvLyBub3QgYmUgdHJhdmVyc2VkIGJ5IHRoZSBkYW1hZ2UgdHJhY2tlci4gV2UgbmVl
ZCB0byBtYWtlIHN1cmUgdGhhdAorICAgIC8vIHByb3BlcnR5IGNoYW5nZSBvbiBzdWNoIGxheWVy
IHdpbGwgYmUgY2F1Z2h0IGJ5IGl0cyBkZXNjZW5kYW50cy4KKyAgICBDQ0xheWVySW1wbCogY3Vy
cmVudCA9IHRoaXMtPm1fcGFyZW50OworICAgIHdoaWxlIChjdXJyZW50ICYmICFjdXJyZW50LT5t
X3JlbmRlclN1cmZhY2UpIHsKKyAgICAgICAgaWYgKGN1cnJlbnQtPm1fbGF5ZXJTdXJmYWNlUHJv
cGVydHlDaGFuZ2VkKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIGN1cnJlbnQg
PSBjdXJyZW50LT5tX3BhcmVudDsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZv
aWQgQ0NMYXllckltcGw6Om5vdGVMYXllclByb3BlcnR5Q2hhbmdlZEZvclN1YnRyZWUoKQogewog
ICAgIG1fbGF5ZXJQcm9wZXJ0eUNoYW5nZWQgPSB0cnVlOwpAQCAtMzI1LDYgKzM0Niw4IEBAIHZv
aWQgQ0NMYXllckltcGw6Om5vdGVMYXllclByb3BlcnR5Q2hhbmdlZEZvckRlc2NlbmRhbnRzKCkK
IHZvaWQgQ0NMYXllckltcGw6OnJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdGb3JTdWJ0cmVlKCkKIHsK
ICAgICBtX2xheWVyUHJvcGVydHlDaGFuZ2VkID0gZmFsc2U7CisgICAgbV9sYXllclN1cmZhY2VQ
cm9wZXJ0eUNoYW5nZWQgPSBmYWxzZTsKKwogICAgIG1fdXBkYXRlUmVjdCA9IEZsb2F0UmVjdCgp
OwogCiAgICAgaWYgKG1fcmVuZGVyU3VyZmFjZSkKQEAgLTQ2NSw3ICs0ODgsNyBAQCB2b2lkIEND
TGF5ZXJJbXBsOjpzZXRPcGFjaXR5KGZsb2F0IG9wYWNpdHkpCiAgICAgICAgIHJldHVybjsKIAog
ICAgIG1fb3BhY2l0eSA9IG9wYWNpdHk7Ci0gICAgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9y
U3VidHJlZSgpOworICAgIG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkID0gdHJ1ZTsKIH0K
IAogYm9vbCBDQ0xheWVySW1wbDo6b3BhY2l0eUlzQW5pbWF0aW5nKCkgY29uc3QKQEAgLTUwNyw3
ICs1MzAsNyBAQCB2b2lkIENDTGF5ZXJJbXBsOjpzZXRUcmFuc2Zvcm0oY29uc3QgV2ViVHJhbnNm
b3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV90cmFu
c2Zvcm0gPSB0cmFuc2Zvcm07Ci0gICAgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yU3VidHJl
ZSgpOworICAgIG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkID0gdHJ1ZTsKIH0KIAogYm9v
bCBDQ0xheWVySW1wbDo6dHJhbnNmb3JtSXNBbmltYXRpbmcoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJ
bXBsLmgKaW5kZXggNDkyOTA2MDY2OGQzMDUzYmE3OGU1NjNiODU5ZWU5Mjg2ODg2MzQ3OC4uMjRh
YmEzYTkzNDEyZjYyOWEzNjIzNTE1ZWNkMTQ2ZTcxOWE1MzhhNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1w
bC5oCkBAIC0yNTMsNiArMjUzLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3RhY2tpbmdPcmRl
ckNoYW5nZWQoYm9vbCk7CiAKICAgICBib29sIGxheWVyUHJvcGVydHlDaGFuZ2VkKCkgY29uc3Qg
eyByZXR1cm4gbV9sYXllclByb3BlcnR5Q2hhbmdlZDsgfQorICAgIGJvb2wgbGF5ZXJTdXJmYWNl
UHJvcGVydHlDaGFuZ2VkKCkgY29uc3Q7CisKICAgICB2b2lkIHJlc2V0QWxsQ2hhbmdlVHJhY2tp
bmdGb3JTdWJ0cmVlKCk7CiAKICAgICBDQ0xheWVyQW5pbWF0aW9uQ29udHJvbGxlciogbGF5ZXJB
bmltYXRpb25Db250cm9sbGVyKCkgeyByZXR1cm4gbV9sYXllckFuaW1hdGlvbkNvbnRyb2xsZXIu
Z2V0KCk7IH0KQEAgLTMxNiw2ICszMTgsMTIgQEAgcHJpdmF0ZToKICAgICAvLyBUcmFja3MgaWYg
ZHJhd2luZy1yZWxhdGVkIHByb3BlcnRpZXMgaGF2ZSBjaGFuZ2VkIHNpbmNlIGxhc3QgcmVkcmF3
LgogICAgIGJvb2wgbV9sYXllclByb3BlcnR5Q2hhbmdlZDsKIAorICAgIC8vIEluZGljYXRlcyB0
aGF0IGEgcHJvcGVydHkgaGFzIGNoYW5nZWQgb24gdGhpcyBsYXllciB0aGF0IHdvdWxkIG5vdAor
ICAgIC8vIGFmZmVjdCB0aGUgcGl4ZWxzIG9uIGl0cyB0YXJnZXQgc3VyZmFjZSwgYnV0IHdvdWxk
IHJlcXVpcmUgcmVkcmF3aW5nCisgICAgLy8gYnV0IHdvdWxkIHJlcXVpcmUgcmVkcmF3aW5nIHRo
ZSB0YXJnZXRTdXJmYWNlIG9udG8gaXRzIGFuY2VzdG9yIHRhcmdldFN1cmZhY2UuCisgICAgLy8g
Rm9yIGxheWVycyB0aGF0IGRvIG5vdCBvd24gYSBzdXJmYWNlIHRoaXMgZmxhZyBhY3RzIGFzIG1f
bGF5ZXJQcm9wZXJ0eUNoYW5nZWQuCisgICAgYm9vbCBtX2xheWVyU3VyZmFjZVByb3BlcnR5Q2hh
bmdlZDsKKwogICAgIC8vIFVzZXMgbGF5ZXIncyBjb250ZW50IHNwYWNlLgogICAgIEludFJlY3Qg
bV92aXNpYmxlTGF5ZXJSZWN0OwogICAgIGJvb2wgbV9tYXNrc1RvQm91bmRzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRy
ZWVIb3N0SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAppbmRleCA3MjI2MTE2YWViYzJlYjI5NWQ3NDY5
M2Y0ODBiNmMyYzlhYjYzNGE2Li5jMTBhZmRkZGViZTI4ZDI2MjNmNmNkNzI3YTk1MWJiOTA4NzYx
OTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcApAQCAtNDIsNiAr
NDIsNyBAQAogI2luY2x1ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdENvbW1vbi5oIgogI2luY2x1ZGUg
ImNjL0NDTWF0aFV0aWwuaCIKICNpbmNsdWRlICJjYy9DQ1BhZ2VTY2FsZUFuaW1hdGlvbi5oIgor
I2luY2x1ZGUgImNjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmgiCiAjaW5jbHVkZSAiY2MvQ0NTZXR0
aW5ncy5oIgogI2luY2x1ZGUgImNjL0NDU2luZ2xlVGhyZWFkUHJveHkuaCIKICNpbmNsdWRlICJj
Yy9DQ1RocmVhZFRhc2suaCIKQEAgLTI2NiwyNSArMjY3LDI1IEBAIHZvaWQgQ0NMYXllclRyZWVI
b3N0SW1wbDo6Y2FsY3VsYXRlUmVuZGVyU3VyZmFjZUxheWVyTGlzdChDQ0xheWVyTGlzdCYgcmVu
ZGVyU3VyCiAgICAgfQogfQogCi1ib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJl
bmRlclBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIENDTGF5ZXJMaXN0JiByZW5kZXJT
dXJmYWNlTGF5ZXJMaXN0LCBDQ0xheWVyTGlzdCYgd2lsbERyYXdMYXllcnMpCitib29sIENDTGF5
ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRlclBhc3NlcyhGcmFtZURhdGEmIGZyYW1lKQog
ewotICAgIEFTU0VSVChwYXNzZXMuaXNFbXB0eSgpKTsKKyAgICBBU1NFUlQoZnJhbWUucmVuZGVy
UGFzc2VzLmlzRW1wdHkoKSk7CiAKLSAgICBjYWxjdWxhdGVSZW5kZXJTdXJmYWNlTGF5ZXJMaXN0
KHJlbmRlclN1cmZhY2VMYXllckxpc3QpOworICAgIGNhbGN1bGF0ZVJlbmRlclN1cmZhY2VMYXll
ckxpc3QoKmZyYW1lLnJlbmRlclN1cmZhY2VMYXllckxpc3QpOwogCi0gICAgVFJBQ0VfRVZFTlQx
KCJjYyIsICJDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxhdGVSZW5kZXJQYXNzZXMiLCAicmVu
ZGVyU3VyZmFjZUxheWVyTGlzdC5zaXplKCkiLCBzdGF0aWNfY2FzdDxsb25nIGxvbmcgdW5zaWdu
ZWQ+KHJlbmRlclN1cmZhY2VMYXllckxpc3Quc2l6ZSgpKSk7CisgICAgVFJBQ0VfRVZFTlQxKCJj
YyIsICJDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxhdGVSZW5kZXJQYXNzZXMiLCAicmVuZGVy
U3VyZmFjZUxheWVyTGlzdC5zaXplKCkiLCBzdGF0aWNfY2FzdDxsb25nIGxvbmcgdW5zaWduZWQ+
KGZyYW1lLnJlbmRlclN1cmZhY2VMYXllckxpc3QtPnNpemUoKSkpOwogCiAgICAgbV9yb290TGF5
ZXJJbXBsLT5zZXRTY2lzc29yUmVjdChlbmNsb3NpbmdJbnRSZWN0KG1fcm9vdFNjaXNzb3JSZWN0
KSk7CiAKICAgICAvLyBDcmVhdGUgdGhlIHJlbmRlciBwYXNzZXMgaW4gZGVwZW5kZW5jeSBvcmRl
ci4KICAgICBIYXNoTWFwPENDUmVuZGVyU3VyZmFjZSosIENDUmVuZGVyUGFzcyo+IHN1cmZhY2VQ
YXNzTWFwOwotICAgIGZvciAoaW50IHN1cmZhY2VJbmRleCA9IHJlbmRlclN1cmZhY2VMYXllckxp
c3Quc2l6ZSgpIC0gMTsgc3VyZmFjZUluZGV4ID49IDAgOyAtLXN1cmZhY2VJbmRleCkgewotICAg
ICAgICBDQ0xheWVySW1wbCogcmVuZGVyU3VyZmFjZUxheWVyID0gcmVuZGVyU3VyZmFjZUxheWVy
TGlzdFtzdXJmYWNlSW5kZXhdOworICAgIGZvciAoaW50IHN1cmZhY2VJbmRleCA9IGZyYW1lLnJl
bmRlclN1cmZhY2VMYXllckxpc3QtPnNpemUoKSAtIDE7IHN1cmZhY2VJbmRleCA+PSAwIDsgLS1z
dXJmYWNlSW5kZXgpIHsKKyAgICAgICAgQ0NMYXllckltcGwqIHJlbmRlclN1cmZhY2VMYXllciA9
ICgqZnJhbWUucmVuZGVyU3VyZmFjZUxheWVyTGlzdClbc3VyZmFjZUluZGV4XTsKICAgICAgICAg
Q0NSZW5kZXJTdXJmYWNlKiByZW5kZXJTdXJmYWNlID0gcmVuZGVyU3VyZmFjZUxheWVyLT5yZW5k
ZXJTdXJmYWNlKCk7CiAKICAgICAgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcGFzcyA9IENDUmVu
ZGVyUGFzczo6Y3JlYXRlKHJlbmRlclN1cmZhY2UpOwogICAgICAgICBzdXJmYWNlUGFzc01hcC5h
ZGQocmVuZGVyU3VyZmFjZSwgcGFzcy5nZXQoKSk7Ci0gICAgICAgIHBhc3Nlcy5hcHBlbmQocGFz
cy5yZWxlYXNlKCkpOworICAgICAgICBmcmFtZS5yZW5kZXJQYXNzZXMuYXBwZW5kKHBhc3MucmVs
ZWFzZSgpKTsKICAgICB9CiAKICAgICBib29sIHJlY29yZE1ldHJpY3NGb3JGcmFtZSA9IHRydWU7
IC8vIEZJWE1FOiBJbiB0aGUgZnV0dXJlLCBkaXNhYmxlIHRoaXMgd2hlbiBhYm91dDp0cmFjaW5n
IGlzIG9mZi4KQEAgLTI5OSw4ICszMDAsOCBAQCBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNh
bGN1bGF0ZVJlbmRlclBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIENDTGF5ZQogICAg
IC8vIGluIHRoZSBmdXR1cmUuCiAgICAgYm9vbCBkcmF3RnJhbWUgPSB0cnVlOwogCi0gICAgQ0NM
YXllckl0ZXJhdG9yVHlwZSBlbmQgPSBDQ0xheWVySXRlcmF0b3JUeXBlOjplbmQoJnJlbmRlclN1
cmZhY2VMYXllckxpc3QpOwotICAgIGZvciAoQ0NMYXllckl0ZXJhdG9yVHlwZSBpdCA9IENDTGF5
ZXJJdGVyYXRvclR5cGU6OmJlZ2luKCZyZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KTsgaXQgIT0gZW5k
OyArK2l0KSB7CisgICAgQ0NMYXllckl0ZXJhdG9yVHlwZSBlbmQgPSBDQ0xheWVySXRlcmF0b3JU
eXBlOjplbmQoZnJhbWUucmVuZGVyU3VyZmFjZUxheWVyTGlzdCk7CisgICAgZm9yIChDQ0xheWVy
SXRlcmF0b3JUeXBlIGl0ID0gQ0NMYXllckl0ZXJhdG9yVHlwZTo6YmVnaW4oZnJhbWUucmVuZGVy
U3VyZmFjZUxheWVyTGlzdCk7IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICBDQ1JlbmRlclN1
cmZhY2UqIHJlbmRlclN1cmZhY2UgPSBpdC50YXJnZXRSZW5kZXJTdXJmYWNlTGF5ZXIoKS0+cmVu
ZGVyU3VyZmFjZSgpOwogICAgICAgICBDQ1JlbmRlclBhc3MqIHBhc3MgPSBzdXJmYWNlUGFzc01h
cC5nZXQocmVuZGVyU3VyZmFjZSk7CiAgICAgICAgIGJvb2wgaGFkTWlzc2luZ1RpbGVzID0gZmFs
c2U7CkBAIC0zMTIsNyArMzEzLDcgQEAgYm9vbCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxh
dGVSZW5kZXJQYXNzZXMoQ0NSZW5kZXJQYXNzTGlzdCYgcGFzc2VzLCBDQ0xheWUKICAgICAgICAg
ICAgIHBhc3MtPmFwcGVuZFF1YWRzRm9yUmVuZGVyU3VyZmFjZUxheWVyKCppdCwgY29udHJpYnV0
aW5nUmVuZGVyUGFzcywgJm9jY2x1c2lvblRyYWNrZXIpOwogICAgICAgICB9IGVsc2UgaWYgKGl0
LnJlcHJlc2VudHNJdHNlbGYoKSAmJiAhb2NjbHVzaW9uVHJhY2tlci5vY2NsdWRlZCgqaXQsIGl0
LT52aXNpYmxlTGF5ZXJSZWN0KCkpICYmICFpdC0+dmlzaWJsZUxheWVyUmVjdCgpLmlzRW1wdHko
KSAmJiAhaXQtPnNjaXNzb3JSZWN0KCkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBpdC0+d2ls
bERyYXcobV9sYXllclJlbmRlcmVyLmdldCgpLCBjb250ZXh0KCkpOwotICAgICAgICAgICAgd2ls
bERyYXdMYXllcnMuYXBwZW5kKCppdCk7CisgICAgICAgICAgICBmcmFtZS53aWxsRHJhd0xheWVy
cy5hcHBlbmQoKml0KTsKIAogICAgICAgICAgICAgcGFzcy0+YXBwZW5kUXVhZHNGb3JMYXllcigq
aXQsICZvY2NsdXNpb25UcmFja2VyLCBoYWRNaXNzaW5nVGlsZXMpOwogICAgICAgICB9CkBAIC0z
MjcsMTIgKzMyOCwxNSBAQCBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRl
clBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIENDTGF5ZQogICAgIH0KIAogICAgIGlm
ICghbV9oYXNUcmFuc3BhcmVudEJhY2tncm91bmQpIHsKLSAgICAgICAgcGFzc2VzLmxhc3QoKS0+
c2V0SGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKGZhbHNlKTsKLSAgICAgICAgcGFzc2VzLmxhc3Qo
KS0+YXBwZW5kUXVhZHNUb0ZpbGxTY3JlZW4obV9yb290TGF5ZXJJbXBsLmdldCgpLCBtX2JhY2tn
cm91bmRDb2xvciwgb2NjbHVzaW9uVHJhY2tlcik7CisgICAgICAgIGZyYW1lLnJlbmRlclBhc3Nl
cy5sYXN0KCktPnNldEhhc1RyYW5zcGFyZW50QmFja2dyb3VuZChmYWxzZSk7CisgICAgICAgIGZy
YW1lLnJlbmRlclBhc3Nlcy5sYXN0KCktPmFwcGVuZFF1YWRzVG9GaWxsU2NyZWVuKG1fcm9vdExh
eWVySW1wbC5nZXQoKSwgbV9iYWNrZ3JvdW5kQ29sb3IsIG9jY2x1c2lvblRyYWNrZXIpOwogICAg
IH0KIAogICAgIGlmIChkcmF3RnJhbWUpCiAgICAgICAgIG9jY2x1c2lvblRyYWNrZXIub3ZlcmRy
YXdNZXRyaWNzKCkucmVjb3JkTWV0cmljcyh0aGlzKTsKKworICAgIHJlbW92ZVBhc3Nlc1dpdGhD
YWNoZWRUZXh0dXJlcyhmcmFtZS5yZW5kZXJQYXNzZXMsIGZyYW1lLnNraXBwZWRQYXNzZXMpOwor
CiAgICAgcmV0dXJuIGRyYXdGcmFtZTsKIH0KIApAQCAtMzgyLDYgKzM4Niw3MCBAQCBJbnRTaXpl
IENDTGF5ZXJUcmVlSG9zdEltcGw6OmNvbnRlbnRTaXplKCkgY29uc3QKICAgICByZXR1cm4gbV9y
b290U2Nyb2xsTGF5ZXJJbXBsLT5jaGlsZHJlbigpWzBdLT5jb250ZW50Qm91bmRzKCk7CiB9CiAK
K3ZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKEND
UmVuZGVyUGFzc0xpc3QmIHBhc3Nlcywgc2l6ZV90IGJvdHRvbVBhc3MsIGNvbnN0IENDUmVuZGVy
UGFzcyogZmlyc3RUb1JlbW92ZSwgQ0NSZW5kZXJQYXNzTGlzdCYgc2tpcHBlZFBhc3NlcykKK3sK
KyAgICBzaXplX3QgcmVtb3ZlSW5kZXggPSBwYXNzZXMuZmluZChmaXJzdFRvUmVtb3ZlKTsKKwor
ICAgIC8vIFRoZSBwYXNzIHdhcyBhbHJlYWR5IHJlbW92ZWQgYnkgYW5vdGhlciBxdWFkIC0gcHJv
YmFibHkgdGhlIG9yaWdpbmFsLCBhbmQgd2UgYXJlIHRoZSByZXBsaWNhLgorICAgIGlmIChyZW1v
dmVJbmRleCA9PSBub3RGb3VuZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgT3duUHRyPENDUmVu
ZGVyUGFzcz4gcmVtb3ZlZFBhc3MgPSBwYXNzZXNbcmVtb3ZlSW5kZXhdLnJlbGVhc2UoKTsKKyAg
ICBwYXNzZXMucmVtb3ZlKHJlbW92ZUluZGV4KTsKKworICAgIC8vIE5vdyBmb2xsb3cgdXAgZm9y
IGFsbCBSZW5kZXJQYXNzIHF1YWRzIGFuZCByZW1vdmUgdGhlaXIgcmVuZGVyIHBhc3NlcyByZWN1
cnNpdmVseS4KKyAgICBjb25zdCBDQ1F1YWRMaXN0JiBxdWFkTGlzdCA9IHJlbW92ZWRQYXNzLT5x
dWFkTGlzdCgpOworICAgIENDUXVhZExpc3Q6OmNvbnN0QmFja1RvRnJvbnRJdGVyYXRvciBxdWFk
TGlzdEl0ZXJhdG9yID0gcXVhZExpc3QuYmFja1RvRnJvbnRCZWdpbigpOworICAgIGZvciAoOyBx
dWFkTGlzdEl0ZXJhdG9yICE9IHF1YWRMaXN0LmJhY2tUb0Zyb250RW5kKCk7ICsrcXVhZExpc3RJ
dGVyYXRvcikgeworICAgICAgICBDQ0RyYXdRdWFkKiBjdXJyZW50UXVhZCA9ICgqcXVhZExpc3RJ
dGVyYXRvcikuZ2V0KCk7CisgICAgICAgIGlmIChjdXJyZW50UXVhZC0+bWF0ZXJpYWwoKSAhPSBD
Q0RyYXdRdWFkOjpSZW5kZXJQYXNzKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg
Q0NSZW5kZXJQYXNzRHJhd1F1YWQqIHJlbmRlclBhc3NRdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5k
ZXJQYXNzRHJhd1F1YWQqPihjdXJyZW50UXVhZCk7CisgICAgICAgIGNvbnN0IENDUmVuZGVyUGFz
cyogbmV4dFJlbmRlclBhc3MgPSByZW5kZXJQYXNzUXVhZC0+cmVuZGVyUGFzcygpOworCisgICAg
ICAgIC8vIE91ciBzZWFyY2ggaXMgbm93IGxpbWl0ZWQgdXAgdG8gdGhlIHBhc3MgdGhhdCB3ZSBq
dXN0IHJlbW92ZWQuCisgICAgICAgIC8vIFN1YnN0aXR1dGUgcmVtb3ZlSW5kZXggZm9yIGJvdHRv
bVBhc3Mgbm93LgorICAgICAgICByZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUocGFzc2VzLCBy
ZW1vdmVJbmRleCwgbmV4dFJlbmRlclBhc3MsIHNraXBwZWRQYXNzZXMpOworICAgIH0KKyAgICBz
a2lwcGVkUGFzc2VzLmFwcGVuZChyZW1vdmVkUGFzcy5yZWxlYXNlKCkpOworfQorCit2b2lkIEND
TGF5ZXJUcmVlSG9zdEltcGw6OnJlbW92ZVBhc3Nlc1dpdGhDYWNoZWRUZXh0dXJlcyhDQ1JlbmRl
clBhc3NMaXN0JiBwYXNzZXMsIENDUmVuZGVyUGFzc0xpc3QmIHNraXBwZWRQYXNzZXMpCit7Cisg
ICAgZm9yIChzc2l6ZV90IHBhc3NJbmRleCA9IHBhc3Nlcy5zaXplKCkgLSAxOyBwYXNzSW5kZXgg
Pj0gMDsgLS1wYXNzSW5kZXgpIHsKKyAgICAgICAgQ0NSZW5kZXJQYXNzKiBjdXJyZW50UGFzcyA9
IHBhc3Nlc1twYXNzSW5kZXhdLmdldCgpOworICAgICAgICBjb25zdCBDQ1F1YWRMaXN0JiBxdWFk
TGlzdCA9IGN1cnJlbnRQYXNzLT5xdWFkTGlzdCgpOworICAgICAgICBDQ1F1YWRMaXN0Ojpjb25z
dEJhY2tUb0Zyb250SXRlcmF0b3IgcXVhZExpc3RJdGVyYXRvciA9IHF1YWRMaXN0LmJhY2tUb0Zy
b250QmVnaW4oKTsKKworICAgICAgICBmb3IgKDsgcXVhZExpc3RJdGVyYXRvciAhPSBxdWFkTGlz
dC5iYWNrVG9Gcm9udEVuZCgpOyArK3F1YWRMaXN0SXRlcmF0b3IpIHsKKyAgICAgICAgICAgIEND
RHJhd1F1YWQqIGN1cnJlbnRRdWFkID0gcXVhZExpc3RJdGVyYXRvci0+Z2V0KCk7CisKKyAgICAg
ICAgICAgIGlmIChjdXJyZW50UXVhZC0+bWF0ZXJpYWwoKSAhPSBDQ0RyYXdRdWFkOjpSZW5kZXJQ
YXNzKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBDQ1JlbmRlclBh
c3NEcmF3UXVhZCogcmVuZGVyUGFzc1F1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3
UXVhZCo+KGN1cnJlbnRRdWFkKTsKKyAgICAgICAgICAgIENDUmVuZGVyU3VyZmFjZSogdGFyZ2V0
U3VyZmFjZSA9IHJlbmRlclBhc3NRdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZhY2UoKTsK
KworICAgICAgICAgICAgaWYgKHRhcmdldFN1cmZhY2UtPmNvbnRlbnRzQ2hhbmdlZCgpIHx8ICF0
YXJnZXRTdXJmYWNlLT5oYXNDYWNoZWRDb250ZW50c1RleHR1cmUoKSkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKworICAgICAgICAgICAgLy8gUmVzZXJ2ZSB0aGUgdGV4dHVyZSBpbW1lZGlh
dGVseS4gV2UgZG8gbm90IG5lZWQgdG8gcGFzcyBpbiBsYXllciByZW5kZXJlcgorICAgICAgICAg
ICAgLy8gc2luY2UgdGhlIHRleHR1cmUgYWxyZWFkeSBleGlzdHMsIGp1c3QgbmVlZHMgdG8gYmUg
cmVzZXJ2ZWQuCisgICAgICAgICAgICBpZiAoIXRhcmdldFN1cmZhY2UtPnByZXBhcmVDb250ZW50
c1RleHR1cmUoMCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIC8v
IFdlIGFyZSBjaGFuZ2luZyB0aGUgdmVjdG9yIGluIHRoZSBtaWRkbGUgb2YgcmV2ZXJzZSBpdGVy
YXRpb24uCisgICAgICAgICAgICAvLyBXZSBhcmUgZ3VhcmFudGVlZCB0aGF0IGFueSBkYXRhIGZy
b20gaXRlcmF0b3IgdG8gdGhlIGVuZCB3aWxsIG5vdCBjaGFuZ2UuCisgICAgICAgICAgICAvLyBD
YXB0dXJlIHRoZSBpdGVyYXRvciBwb3NpdGlvbiBmcm9tIHRoZSBlbmQsIGFuZCByZXN0b3JlIGl0
IGFmdGVyIHRoZSBjaGFuZ2UuCisgICAgICAgICAgICBpbnQgcG9zaXRpb25Gcm9tRW5kID0gcGFz
c2VzLnNpemUoKSAtIHBhc3NJbmRleDsKKyAgICAgICAgICAgIHJlbW92ZVJlbmRlclBhc3Nlc1Jl
Y3Vyc2l2ZShwYXNzZXMsIHBhc3NJbmRleCwgcmVuZGVyUGFzc1F1YWQtPnJlbmRlclBhc3MoKSwg
c2tpcHBlZFBhc3Nlcyk7CisgICAgICAgICAgICBwYXNzSW5kZXggPSBwYXNzZXMuc2l6ZSgpIC0g
cG9zaXRpb25Gcm9tRW5kOworICAgICAgICAgICAgQVNTRVJUKHBhc3NJbmRleCA+PSAwKTsKKyAg
ICAgICAgfQorICAgIH0KK30KKwogYm9vbCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpwcmVwYXJlVG9E
cmF3KEZyYW1lRGF0YSYgZnJhbWUpCiB7CiAgICAgVFJBQ0VfRVZFTlQwKCJjYyIsICJDQ0xheWVy
VHJlZUhvc3RJbXBsOjpwcmVwYXJlVG9EcmF3Iik7CkBAIC0zOTIsNyArNDYwLDcgQEAgYm9vbCBD
Q0xheWVyVHJlZUhvc3RJbXBsOjpwcmVwYXJlVG9EcmF3KEZyYW1lRGF0YSYgZnJhbWUpCiAgICAg
ZnJhbWUucmVuZGVyU3VyZmFjZUxheWVyTGlzdC0+Y2xlYXIoKTsKICAgICBmcmFtZS53aWxsRHJh
d0xheWVycy5jbGVhcigpOwogCi0gICAgaWYgKCFjYWxjdWxhdGVSZW5kZXJQYXNzZXMoZnJhbWUu
cmVuZGVyUGFzc2VzLCAqZnJhbWUucmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgZnJhbWUud2lsbERy
YXdMYXllcnMpKQorICAgIGlmICghY2FsY3VsYXRlUmVuZGVyUGFzc2VzKGZyYW1lKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8gSWYgd2UgcmV0dXJuIHRydWUsIHRoZW4gd2UgZXhw
ZWN0IGRyYXdMYXllcnMoKSB0byBiZSBjYWxsZWQgYmVmb3JlIHRoaXMgZnVuY3Rpb24gaXMgY2Fs
bGVkIGFnYWluLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCmluZGV4IDYzMGU3
OThiMDk4YjljMjk1ZWExOTEyZGU4YjUzNGIyM2I0YWM5YWEuLmM5ODhlMDExYWVjNzlmM2MzNmQw
YTIxYjhmYmQzMjdjNTQ4NDYzZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBs
LmgKQEAgLTg2LDYgKzg2LDcgQEAgcHVibGljOgogCiAgICAgc3RydWN0IEZyYW1lRGF0YSB7CiAg
ICAgICAgIENDUmVuZGVyUGFzc0xpc3QgcmVuZGVyUGFzc2VzOworICAgICAgICBDQ1JlbmRlclBh
c3NMaXN0IHNraXBwZWRQYXNzZXM7CiAgICAgICAgIENDTGF5ZXJMaXN0KiByZW5kZXJTdXJmYWNl
TGF5ZXJMaXN0OwogICAgICAgICBDQ0xheWVyTGlzdCB3aWxsRHJhd0xheWVyczsKICAgICB9OwpA
QCAtMTc0LDYgKzE3NSw5IEBAIHB1YmxpYzoKICAgICBDQ0ZyYW1lUmF0ZUNvdW50ZXIqIGZwc0Nv
dW50ZXIoKSBjb25zdCB7IHJldHVybiBtX2Zwc0NvdW50ZXIuZ2V0KCk7IH0KICAgICBDQ0RlYnVn
UmVjdEhpc3RvcnkqIGRlYnVnUmVjdEhpc3RvcnkoKSBjb25zdCB7IHJldHVybiBtX2RlYnVnUmVj
dEhpc3RvcnkuZ2V0KCk7IH0KIAorICAgIC8vIFJlbW92ZXMgYWxsIHJlbmRlciBwYXNzZXMgZm9y
IHdoaWNoIHdlIGhhdmUgY2FjaGVkIHRleHR1cmVzLCBhbmQgd2hpY2ggZGlkIG5vdCBjaGFuZ2Ug
dGhlaXIgY29udGVudC4KKyAgICBzdGF0aWMgdm9pZCByZW1vdmVQYXNzZXNXaXRoQ2FjaGVkVGV4
dHVyZXMoQ0NSZW5kZXJQYXNzTGlzdCYgcGFzc2VzLCBDQ1JlbmRlclBhc3NMaXN0JiBza2lwcGVk
UGFzc2VzKTsKKwogcHJvdGVjdGVkOgogICAgIENDTGF5ZXJUcmVlSG9zdEltcGwoY29uc3QgQ0NM
YXllclRyZWVTZXR0aW5ncyYsIENDTGF5ZXJUcmVlSG9zdEltcGxDbGllbnQqKTsKIApAQCAtMjA1
LDEwICsyMDksMTMgQEAgcHJpdmF0ZToKICAgICAvLyBSZXR1cm5zIGZhbHNlIGlmIHRoZSBmcmFt
ZSBzaG91bGQgbm90IGJlIGRpc3BsYXllZC4gVGhpcyBmdW5jdGlvbiBzaG91bGQKICAgICAvLyBv
bmx5IGJlIGNhbGxlZCBmcm9tIHByZXBhcmVUb0RyYXcsIGFzIGRpZERyYXdBbGxMYXllcnMgbXVz
dCBiZSBjYWxsZWQKICAgICAvLyBpZiB0aGlzIGhlbHBlciBmdW5jdGlvbiBpcyBjYWxsZWQuCi0g
ICAgYm9vbCBjYWxjdWxhdGVSZW5kZXJQYXNzZXMoQ0NSZW5kZXJQYXNzTGlzdCYsIENDTGF5ZXJM
aXN0JiByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBDQ0xheWVyTGlzdCYgd2lsbERyYXdMYXllcnMp
OworICAgIGJvb2wgY2FsY3VsYXRlUmVuZGVyUGFzc2VzKEZyYW1lRGF0YSYpOwogICAgIHZvaWQg
YW5pbWF0ZUxheWVyc1JlY3Vyc2l2ZShDQ0xheWVySW1wbCosIGRvdWJsZSBtb25vdG9uaWNUaW1l
LCBkb3VibGUgd2FsbENsb2NrVGltZSwgQ0NBbmltYXRpb25FdmVudHNWZWN0b3IqLCBib29sJiBk
aWRBbmltYXRlLCBib29sJiBuZWVkc0FuaW1hdGVMYXllcnMpOwogICAgIHZvaWQgc2V0QmFja2dy
b3VuZFRpY2tpbmdFbmFibGVkKGJvb2wpOwogICAgIEludFNpemUgY29udGVudFNpemUoKSBjb25z
dDsKKworICAgIHN0YXRpYyB2b2lkIHJlbW92ZVJlbmRlclBhc3Nlc1JlY3Vyc2l2ZShDQ1JlbmRl
clBhc3NMaXN0JiBwYXNzZXMsIHNpemVfdCBib3R0b21QYXNzLCBjb25zdCBDQ1JlbmRlclBhc3Mq
IGZpcnN0VG9SZW1vdmUsIENDUmVuZGVyUGFzc0xpc3QmIHNraXBwZWRQYXNzZXMpOworCiAgICAg
dm9pZCBzZW5kRGlkTG9zZUNvbnRleHRSZWN1cnNpdmUoQ0NMYXllckltcGwqKTsKICAgICB2b2lk
IGNsZWFyUmVuZGVyU3VyZmFjZXMoKTsKICAgICBib29sIGVuc3VyZVJlbmRlclN1cmZhY2VMYXll
ckxpc3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDUmVuZGVyUGFzcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKaW5kZXggYTQ1MTAwNmNlODhiMTJiMDcyMzcw
ZGZhMjIzOWY4MzgzYmE3MWZjNi4uMmI4YmM3ZTViY2NlYzQ4ODg5NzYzY2JiN2I0OTQwYzM5OGNi
ZjIwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NSZW5kZXJQYXNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGljOgog
ICAgIGJvb2wgaGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKCkgY29uc3QgeyByZXR1cm4gbV9oYXNU
cmFuc3BhcmVudEJhY2tncm91bmQ7IH0KICAgICB2b2lkIHNldEhhc1RyYW5zcGFyZW50QmFja2dy
b3VuZChib29sIHRyYW5zcGFyZW50KSB7IG1faGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kID0gdHJh
bnNwYXJlbnQ7IH0KIAotcHJpdmF0ZToKK3Byb3RlY3RlZDoKICAgICBleHBsaWNpdCBDQ1JlbmRl
clBhc3MoQ0NSZW5kZXJTdXJmYWNlKik7CiAKICAgICBDQ1JlbmRlclN1cmZhY2UqIG1fdGFyZ2V0
U3VyZmFjZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCmluZGV4IGRkYWJkNTI4Yzhm
ZDFkMGJjZDU2YjIwMzcwZGM1M2RkMDMwMjJlY2MuLjMwNmExYzA3NWNiNTc4YjU0YjU0OTI1NzUw
ODE2YjA0ZmNlM2JjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcApAQCAtODgs
MTAgKzg4LDE4IEBAIEZsb2F0UmVjdCBDQ1JlbmRlclN1cmZhY2U6OmRyYXdhYmxlQ29udGVudFJl
Y3QoKSBjb25zdAogCiBib29sIENDUmVuZGVyU3VyZmFjZTo6cHJlcGFyZUNvbnRlbnRzVGV4dHVy
ZShMYXllclJlbmRlcmVyQ2hyb21pdW0qIGxheWVyUmVuZGVyZXIpCiB7Ci0gICAgVGV4dHVyZU1h
bmFnZXIqIHRleHR1cmVNYW5hZ2VyID0gbGF5ZXJSZW5kZXJlci0+aW1wbFRleHR1cmVNYW5hZ2Vy
KCk7CisgICAgLy8gRklYTUU6IFRoaXMgbWV0aG9kIHNob3VsZCBiZSBzZXBhcmF0ZWQgaW50byB0
d286IG9uZSB0byByZXNlcnZlIGFuCisgICAgLy8gZXhpc3Rpbmcgc3VyZmFjZSwgYW5kIG9uZSB0
byBjcmVhdGUgYSBuZXcgb25lLiBUaGF0IHdheSB3ZSB3aWxsIG5vdAorICAgIC8vIG5lZWQgdG8g
cGFzcyBudWxsIGxheWVyUmVuZGVyZXIuCisgICAgaWYgKGxheWVyUmVuZGVyZXIpIHsKKyAgICAg
ICAgVGV4dHVyZU1hbmFnZXIqIHRleHR1cmVNYW5hZ2VyID0gbGF5ZXJSZW5kZXJlci0+aW1wbFRl
eHR1cmVNYW5hZ2VyKCk7CisKKyAgICAgICAgaWYgKCFtX2NvbnRlbnRzVGV4dHVyZSkKKyAgICAg
ICAgICAgIG1fY29udGVudHNUZXh0dXJlID0gTWFuYWdlZFRleHR1cmU6OmNyZWF0ZSh0ZXh0dXJl
TWFuYWdlcik7CisgICAgfQogCiAgICAgaWYgKCFtX2NvbnRlbnRzVGV4dHVyZSkKLSAgICAgICAg
bV9jb250ZW50c1RleHR1cmUgPSBNYW5hZ2VkVGV4dHVyZTo6Y3JlYXRlKHRleHR1cmVNYW5hZ2Vy
KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKG1fY29udGVudHNUZXh0dXJlLT5p
c1Jlc2VydmVkKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTE0LDYgKzEyMiwxMSBAQCBi
b29sIENDUmVuZGVyU3VyZmFjZTo6aGFzVmFsaWRDb250ZW50c1RleHR1cmUoKSBjb25zdAogICAg
IHJldHVybiBtX2NvbnRlbnRzVGV4dHVyZSAmJiBtX2NvbnRlbnRzVGV4dHVyZS0+aXNSZXNlcnZl
ZCgpICYmIG1fY29udGVudHNUZXh0dXJlLT5pc1ZhbGlkKG1fY29udGVudFJlY3Quc2l6ZSgpLCBH
cmFwaGljc0NvbnRleHQzRDo6UkdCQSk7CiB9CiAKK2Jvb2wgQ0NSZW5kZXJTdXJmYWNlOjpoYXND
YWNoZWRDb250ZW50c1RleHR1cmUoKSBjb25zdAoreworICAgIHJldHVybiBtX2NvbnRlbnRzVGV4
dHVyZSAmJiBtX2NvbnRlbnRzVGV4dHVyZS0+aXNWYWxpZChtX2NvbnRlbnRSZWN0LnNpemUoKSwg
R3JhcGhpY3NDb250ZXh0M0Q6OlJHQkEpOworfQorCiBib29sIENDUmVuZGVyU3VyZmFjZTo6cHJl
cGFyZUJhY2tncm91bmRUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJl
cikKIHsKICAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBsYXllclJlbmRlcmVy
LT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsKQEAgLTIxMCw2ICsyMjMsMTEgQEAgdm9pZCBDQ1JlbmRl
clN1cmZhY2U6OnNldENsaXBSZWN0KGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KQogICAgIG1fY2xp
cFJlY3QgPSBjbGlwUmVjdDsKIH0KIAorYm9vbCBDQ1JlbmRlclN1cmZhY2U6OmNvbnRlbnRzQ2hh
bmdlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICFtX2RhbWFnZVRyYWNrZXItPmN1cnJlbnREYW1h
Z2VSZWN0KCkuaXNFbXB0eSgpOworfQorCiB2b2lkIENDUmVuZGVyU3VyZmFjZTo6c2V0Q29udGVu
dFJlY3QoY29uc3QgSW50UmVjdCYgY29udGVudFJlY3QpCiB7CiAgICAgaWYgKG1fY29udGVudFJl
Y3QgPT0gY29udGVudFJlY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCmluZGV4IDYyNTIz
YjgyMTJiN2UzNmQ2NWQ4MmRjNmQxYzY5YjkxYzg3NGM2NDkuLjg2Y2E2OTZkMGVkNzRmYjQwMmE0
ZjcxMTU4NTNkZWM5ZTkzZGFkYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCkBAIC01
Myw5ICs1MywxMCBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgQ0NSZW5kZXJTdXJmYWNlKENDTGF5
ZXJJbXBsKik7CiAgICAgfkNDUmVuZGVyU3VyZmFjZSgpOwogCi0gICAgYm9vbCBwcmVwYXJlQ29u
dGVudHNUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSopOworICAgIHZpcnR1YWwgYm9vbCBw
cmVwYXJlQ29udGVudHNUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSopOwogICAgIHZvaWQg
cmVsZWFzZUNvbnRlbnRzVGV4dHVyZSgpOwogICAgIGJvb2wgaGFzVmFsaWRDb250ZW50c1RleHR1
cmUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQ2FjaGVkQ29udGVudHNUZXh0dXJlKCkg
Y29uc3Q7CiAKICAgICBib29sIHByZXBhcmVCYWNrZ3JvdW5kVGV4dHVyZShMYXllclJlbmRlcmVy
Q2hyb21pdW0qKTsKICAgICB2b2lkIHJlbGVhc2VCYWNrZ3JvdW5kVGV4dHVyZSgpOwpAQCAtMTE0
LDYgKzExNSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNjaXNzb3JSZWN0KGNvbnN0IEludFJl
Y3QmIHNjaXNzb3JSZWN0KSB7IG1fc2Npc3NvclJlY3QgPSBzY2lzc29yUmVjdDsgfQogICAgIGNv
bnN0IEludFJlY3QmIHNjaXNzb3JSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9zY2lzc29yUmVjdDsg
fQogCisgICAgdmlydHVhbCBib29sIGNvbnRlbnRzQ2hhbmdlZCgpIGNvbnN0OworCiAgICAgdm9p
ZCBzZXRDb250ZW50UmVjdChjb25zdCBJbnRSZWN0Jik7CiAgICAgY29uc3QgSW50UmVjdCYgY29u
dGVudFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRSZWN0OyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3BwCmluZGV4
IDhjOWI1NDNiMmNmNGViOTYyYjg4NjI3ZmVmNjM0N2M4ZDAwMGY1MzguLmY0OTgwNjlmMGVlYTc5
ZjMyODlmZDY0YjQwNWFkOTc2YTkxYTg2OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcApAQCAtOTM0LDcgKzkzNCw4IEBA
IFRFU1RfRihDQ0RhbWFnZVRyYWNrZXJUZXN0LCB2ZXJpZnlEYW1hZ2VGb3JNYXNrKQogCiAgICAg
Ly8gVGhlbiB0ZXN0IHRoZSBwcm9wZXJ0eSBjaGFuZ2UuCiAgICAgY2xlYXJEYW1hZ2VGb3JBbGxT
dXJmYWNlcyhyb290LmdldCgpKTsKLSAgICBtYXNrTGF5ZXItPnNldE9wYWNpdHkoMC41KTsKKyAg
ICBtYXNrTGF5ZXItPnNldFN0YWNraW5nT3JkZXJDaGFuZ2VkKHRydWUpOworCiAgICAgZW11bGF0
ZURyYXdpbmdPbmVGcmFtZShyb290LmdldCgpKTsKICAgICBjaGlsZERhbWFnZVJlY3QgPSBjaGls
ZC0+cmVuZGVyU3VyZmFjZSgpLT5kYW1hZ2VUcmFja2VyKCktPmN1cnJlbnREYW1hZ2VSZWN0KCk7
CiAgICAgRVhQRUNUX0ZMT0FUX1JFQ1RfRVEoRmxvYXRSZWN0KDAsIDAsIDMwLCAzMCksIGNoaWxk
RGFtYWdlUmVjdCk7CkBAIC0xMDAxLDcgKzEwMDIsNyBAQCBURVNUX0YoQ0NEYW1hZ2VUcmFja2Vy
VGVzdCwgdmVyaWZ5RGFtYWdlRm9yUmVwbGljYU1hc2spCiAKICAgICAvLyBDQVNFIDE6IGEgcHJv
cGVydHkgY2hhbmdlIG9uIHRoZSBtYXNrIHNob3VsZCBkYW1hZ2Ugb25seSB0aGUgcmVmbGVjdGVk
IHJlZ2lvbiBvbiB0aGUgdGFyZ2V0IHN1cmZhY2UuCiAgICAgY2xlYXJEYW1hZ2VGb3JBbGxTdXJm
YWNlcyhyb290LmdldCgpKTsKLSAgICByZXBsaWNhTWFza0xheWVyLT5zZXRPcGFjaXR5KDAuNmYp
OworICAgIHJlcGxpY2FNYXNrTGF5ZXItPnNldFN0YWNraW5nT3JkZXJDaGFuZ2VkKHRydWUpOwog
ICAgIGVtdWxhdGVEcmF3aW5nT25lRnJhbWUocm9vdC5nZXQoKSk7CiAKICAgICBGbG9hdFJlY3Qg
Z3JhbmRDaGlsZERhbWFnZVJlY3QgPSBncmFuZENoaWxkMS0+cmVuZGVyU3VyZmFjZSgpLT5kYW1h
Z2VUcmFja2VyKCktPmN1cnJlbnREYW1hZ2VSZWN0KCk7CkBAIC0xMDY1LDcgKzEwNjYsOCBAQCBU
RVNUX0YoQ0NEYW1hZ2VUcmFja2VyVGVzdCwgdmVyaWZ5RGFtYWdlRm9yUmVwbGljYU1hc2tXaXRo
QW5jaG9yKQogCiAgICAgLy8gQSBwcm9wZXJ0eSBjaGFuZ2Ugb24gdGhlIHJlcGxpY2FNYXNrIHNo
b3VsZCBkYW1hZ2UgdGhlIHJlZmxlY3RlZCByZWdpb24gb24gdGhlIHRhcmdldCBzdXJmYWNlLgog
ICAgIGNsZWFyRGFtYWdlRm9yQWxsU3VyZmFjZXMocm9vdC5nZXQoKSk7Ci0gICAgcmVwbGljYU1h
c2tMYXllci0+c2V0T3BhY2l0eSgwLjZmKTsKKyAgICByZXBsaWNhTWFza0xheWVyLT5zZXRTdGFj
a2luZ09yZGVyQ2hhbmdlZCh0cnVlKTsKKwogICAgIGVtdWxhdGVEcmF3aW5nT25lRnJhbWUocm9v
dC5nZXQoKSk7CiAKICAgICBGbG9hdFJlY3QgY2hpbGREYW1hZ2VSZWN0ID0gY2hpbGQxLT5yZW5k
ZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+Y3VycmVudERhbWFnZVJlY3QoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcAppbmRleCA4
MjdjOWFkYWFlMDc0NDU2YTlkMGMwMmI4NzM4Mzc0NzlmNjM2NWQzLi4wMWY5NDNhNjQwZTZhZTlj
NTlmMWI0NmRjOGRkOGI4MWQ3MTI5YjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9DQ0xheWVySW1wbFRlc3QuY3BwCkBAIC00MiwyMSArNDIsMzMgQEAgbmFtZXNwYWNl
IHsKICAgICBjb2RlVG9UZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfVFJVRShyb290LT5sYXllclByb3BlcnR5
Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfVFJVRShj
aGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBFWFBFQ1RfVFJVRShncmFuZENoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKQorICAg
IEVYUEVDVF9UUlVFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAg
ICAgICAgICAgICAgXAorICAgIEVYUEVDVF9GQUxTRShyb290LT5sYXllclN1cmZhY2VQcm9wZXJ0
eUNoYW5nZWQoKSkKKwogCiAjZGVmaW5lIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0RJRF9O
T1RfQ0hBTkdFKGNvZGVUb1Rlc3QpICAgICAgICAgICBcCiAgICAgcm9vdC0+cmVzZXRBbGxDaGFu
Z2VUcmFja2luZ0ZvclN1YnRyZWUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg
Y29kZVRvVGVzdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCiAgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyUHJvcGVydHlDaGFuZ2Vk
KCkpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX0ZBTFNFKGNoaWxkLT5s
YXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRVhQ
RUNUX0ZBTFNFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpCisgICAgRVhQRUNU
X0ZBTFNFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAg
ICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdl
ZCgpKQogCiAjZGVmaW5lIEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX0xBWUVSX0NIQU5HRUQoY29k
ZVRvVGVzdCkgICAgICAgICAgICAgICBcCiAgICAgcm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFja2lu
Z0ZvclN1YnRyZWUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY29kZVRvVGVz
dDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgRVhQRUNUX1RSVUUocm9vdC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX0ZBTFNFKGNoaWxkLT5sYXllclByb3Bl
cnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRVhQRUNUX0ZBTFNF
KGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpCisgICAgRVhQRUNUX0ZBTFNFKGdy
YW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICBcCisg
ICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpKQorCisj
ZGVmaW5lIEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX1NVUkZBQ0VfQ0hBTkdFRChjb2RlVG9UZXN0
KSAgICAgICAgICAgICBcCisgICAgcm9vdC0+cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRy
ZWUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29kZVRvVGVzdDsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
RVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdl
ZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hp
bGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQ
RUNUX1RSVUUocm9vdC0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkpCiAKIFRFU1QoQ0NM
YXllckltcGxUZXN0LCB2ZXJpZnlMYXllckNoYW5nZXNBcmVUcmFja2VkUHJvcGVybHkpCiB7CkBA
IC05OCwxMSArMTEwLDkgQEAgVEVTVChDQ0xheWVySW1wbFRlc3QsIHZlcmlmeUxheWVyQ2hhbmdl
c0FyZVRyYWNrZWRQcm9wZXJseSkKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFO
R0VEKHJvb3QtPnNldE1hc2tMYXllcihDQ0xheWVySW1wbDo6Y3JlYXRlKDQpKSk7CiAgICAgRVhF
Q1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRNYXNrc1RvQm91bmRzKHRy
dWUpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldE9w
YXF1ZSh0cnVlKSk7Ci0gICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290
LT5zZXRPcGFjaXR5KGFyYml0cmFyeU51bWJlcikpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9T
VUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0UmVwbGljYUxheWVyKENDTGF5ZXJJbXBsOjpjcmVhdGUo
NSkpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldFBv
c2l0aW9uKGFyYml0cmFyeUZsb2F0UG9pbnQpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VC
VFJFRV9DSEFOR0VEKHJvb3QtPnNldFByZXNlcnZlczNEKHRydWUpKTsKLSAgICBFWEVDVVRFX0FO
RF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldFRyYW5zZm9ybShhcmJpdHJhcnlUcmFu
c2Zvcm0pKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNl
dERvdWJsZVNpZGVkKGZhbHNlKSk7IC8vIGNvbnN0cnVjdG9yIGluaXRpYWxpemVzIGl0IHRvICJ0
cnVlIi4KICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNjcm9s
bEJ5KGFyYml0cmFyeUludFNpemUpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9D
SEFOR0VEKHJvb3QtPnNldFNjcm9sbERlbHRhKGFyYml0cmFyeUludFNpemUpKTsKQEAgLTExNyw2
ICsxMjcsMTAgQEAgVEVTVChDQ0xheWVySW1wbFRlc3QsIHZlcmlmeUxheWVyQ2hhbmdlc0FyZVRy
YWNrZWRQcm9wZXJseSkKICAgICBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9MQVlFUl9DSEFOR0VE
KHJvb3QtPnNldEJhY2tncm91bmRDb2xvcihDb2xvcjo6Z3JheSkpOwogICAgIEVYRUNVVEVfQU5E
X1ZFUklGWV9PTkxZX0xBWUVSX0NIQU5HRUQocm9vdC0+c2V0QmFja2dyb3VuZEZpbHRlcnMoYXJi
aXRyYXJ5RmlsdGVycykpOwogCisgICAgLy8gQ2hhbmdpbmcgdGhlc2UgcHJvcGVydGllcyBvbmx5
IGFmZmVjdHMgaG93IHJlbmRlciBzdXJmYWNlIGlzIGRyYXduCisgICAgRVhFQ1VURV9BTkRfVkVS
SUZZX09OTFlfU1VSRkFDRV9DSEFOR0VEKHJvb3QtPnNldE9wYWNpdHkoYXJiaXRyYXJ5TnVtYmVy
KSk7CisgICAgRVhFQ1VURV9BTkRfVkVSSUZZX09OTFlfU1VSRkFDRV9DSEFOR0VEKHJvb3QtPnNl
dFRyYW5zZm9ybShhcmJpdHJhcnlUcmFuc2Zvcm0pKTsKKwogICAgIC8vIFNwZWNpYWwgY2FzZTog
Y2hlY2sgdGhhdCBzdWJsYXllciB0cmFuc2Zvcm0gY2hhbmdlcyBhbGwgbGF5ZXIncyBkZXNjZW5k
YW50cywgYnV0IG5vdCB0aGUgbGF5ZXIgaXRzZWxmLgogICAgIHJvb3QtPnJlc2V0QWxsQ2hhbmdl
VHJhY2tpbmdGb3JTdWJ0cmVlKCk7CiAgICAgcm9vdC0+c2V0U3VibGF5ZXJUcmFuc2Zvcm0oYXJi
aXRyYXJ5VHJhbnNmb3JtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAKaW5kZXggMzUwOTM3NmFmOGNlZWVlOGJl
MzYwZjg4NjJhYzJmYWMxNTVkYTM2NS4uNTM4NjNiNjE1OWUwMjNlYzU0MDhhMGQ0Njg1YTEwOGJm
MzU1YmU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVy
VHJlZUhvc3RJbXBsVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9D
Q0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJj
Yy9DQ0xheWVySW1wbC5oIgogI2luY2x1ZGUgImNjL0NDTGF5ZXJUaWxpbmdEYXRhLmgiCiAjaW5j
bHVkZSAiY2MvQ0NRdWFkQ3VsbGVyLmgiCisjaW5jbHVkZSAiY2MvQ0NSZW5kZXJQYXNzRHJhd1F1
YWQuaCIKICNpbmNsdWRlICJjYy9DQ1Njcm9sbGJhckxheWVySW1wbC5oIgogI2luY2x1ZGUgImNj
L0NDU2V0dGluZ3MuaCIKICNpbmNsdWRlICJjYy9DQ1NpbmdsZVRocmVhZFByb3h5LmgiCkBAIC0y
NDA0LDQgKzI0MDUsNTk3IEBAIFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgaGFzVHJh
bnNwYXJlbnRCYWNrZ3JvdW5kKQogICAgIE1vY2s6OlZlcmlmeUFuZENsZWFyRXhwZWN0YXRpb25z
KCZtb2NrQ29udGV4dCk7CiB9CiAKK1RFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgc3Vy
ZmFjZVRleHR1cmVDYWNoaW5nKQoreworICAgIENDU2V0dGluZ3M6OnNldFBhcnRpYWxTd2FwRW5h
YmxlZCh0cnVlKTsKKyAgICAKKyAgICBDQ0xheWVyVHJlZVNldHRpbmdzIHNldHRpbmdzOworICAg
IE93blB0cjxDQ0xheWVyVHJlZUhvc3RJbXBsPiBteUhvc3RJbXBsID0gQ0NMYXllclRyZWVIb3N0
SW1wbDo6Y3JlYXRlKHNldHRpbmdzLCB0aGlzKTsKKyAgICAKKyAgICBSZWZQdHI8Q0NHcmFwaGlj
c0NvbnRleHQ+IGNvbnRleHQgPSBDQ0dyYXBoaWNzQ29udGV4dDo6Y3JlYXRlM0QoR3JhcGhpY3ND
b250ZXh0M0RQcml2YXRlOjpjcmVhdGVHcmFwaGljc0NvbnRleHRGcm9tV2ViQ29udGV4dChhZG9w
dFB0cihuZXcgUGFydGlhbFN3YXBDb250ZXh0KCkpLCBHcmFwaGljc0NvbnRleHQzRDo6UmVuZGVy
RGlyZWN0bHlUb0hvc3RXaW5kb3cpKTsKKworICAgIG15SG9zdEltcGwtPmluaXRpYWxpemVMYXll
clJlbmRlcmVyKGNvbnRleHQucmVsZWFzZSgpLCBVbnRocm90dGxlZFVwbG9hZGVyKTsKKyAgICBt
eUhvc3RJbXBsLT5zZXRWaWV3cG9ydFNpemUoSW50U2l6ZSgxMDAsIDEwMCkpOworCisgICAgT3du
UHRyPENDTGF5ZXJJbXBsPiByb290ID0gQ0NMYXllckltcGw6OmNyZWF0ZSgxKTsKKyAgICBDQ0xh
eWVySW1wbCogcm9vdFB0ciA9IHJvb3QuZ2V0KCk7CisKKyAgICByb290LT5zZXRBbmNob3JQb2lu
dChGbG9hdFBvaW50KDAsIDApKTsKKyAgICByb290LT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KDAs
IDApKTsKKyAgICByb290LT5zZXRCb3VuZHMoSW50U2l6ZSgxMDAsIDEwMCkpOworICAgIHJvb3Qt
PnNldENvbnRlbnRCb3VuZHMoSW50U2l6ZSgxMDAsIDEwMCkpOworICAgIHJvb3QtPnNldFZpc2li
bGVMYXllclJlY3QoSW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpOworICAgIHJvb3QtPnNldERyYXdz
Q29udGVudCh0cnVlKTsKKyAgICBteUhvc3RJbXBsLT5zZXRSb290TGF5ZXIocm9vdC5yZWxlYXNl
KCkpOworCisgICAgLy8gSW50ZXJtZWRpYXRlIGxheWVyIGRvZXMgbm90IG93biBhIHN1cmZhY2Us
IGFuZCBkb2VzIG5vdCBkcmF3IGNvbnRlbnQuCisgICAgT3duUHRyPENDTGF5ZXJJbXBsPiBpbnRl
cm1lZGlhdGVMYXllciA9IENDTGF5ZXJJbXBsOjpjcmVhdGUoMik7CisgICAgQ0NMYXllckltcGwq
IGludGVybWVkaWF0ZUxheWVyUHRyID0gaW50ZXJtZWRpYXRlTGF5ZXIuZ2V0KCk7CisKKyAgICBp
bnRlcm1lZGlhdGVMYXllclB0ci0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludCgwLCAwKSk7Cisg
ICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoMTAsIDEwKSk7
CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNldEJvdW5kcyhJbnRTaXplKDEwMCwgMTAwKSk7
CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNldENvbnRlbnRCb3VuZHMoSW50U2l6ZSgxMDAs
IDEwMCkpOworICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRWaXNpYmxlTGF5ZXJSZWN0KElu
dFJlY3QoMCwgMCwgMTAwLCAxMDApKTsKKyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0RHJh
d3NDb250ZW50KGZhbHNlKTsgLy8gb25seSBjaGlsZHJlbiBkcmF3IGNvbnRlbnQKKyAgICByb290
UHRyLT5hZGRDaGlsZChpbnRlcm1lZGlhdGVMYXllci5yZWxlYXNlKCkpOworCisgICAgT3duUHRy
PENDTGF5ZXJJbXBsPiBzdXJmYWNlTGF5ZXIgPSBDQ0xheWVySW1wbDo6Y3JlYXRlKDMpOworICAg
IENDTGF5ZXJJbXBsKiBzdXJmYWNlTGF5ZXJQdHIgPSBzdXJmYWNlTGF5ZXIuZ2V0KCk7CisKKyAg
ICAvLyBTdXJmYWNlIGxheWVyIGlzIHRoZSBsYXllciB0aGF0IGNoYW5nZXMgaXRzIG9wYWNpdHkK
KyAgICAvLyBJdCB3aWxsIGNvbnRhaW4gb3RoZXIgbGF5ZXJzIHRoYXQgZHJhdyBjb250ZW50Lgor
ICAgIHN1cmZhY2VMYXllclB0ci0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludCgwLCAwKSk7Cisg
ICAgc3VyZmFjZUxheWVyUHRyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KDEwLCAxMCkpOworICAg
IHN1cmZhY2VMYXllclB0ci0+c2V0Qm91bmRzKEludFNpemUoNTAsIDUwKSk7CisgICAgc3VyZmFj
ZUxheWVyUHRyLT5zZXRDb250ZW50Qm91bmRzKEludFNpemUoNTAsIDUwKSk7CisgICAgc3VyZmFj
ZUxheWVyUHRyLT5zZXRWaXNpYmxlTGF5ZXJSZWN0KEludFJlY3QoMCwgMCwgNTAsIDUwKSk7Cisg
ICAgc3VyZmFjZUxheWVyUHRyLT5zZXREcmF3c0NvbnRlbnQoZmFsc2UpOyAvLyBvbmx5IGNoaWxk
cmVuIGRyYXcgY29udGVudAorICAgIHN1cmZhY2VMYXllclB0ci0+c2V0T3BhY2l0eSgwLjVmKTsg
Ly8gVGhpcyB3aWxsIGNhdXNlIGl0IHRvIGhhdmUgYSBzdXJmYWNlCisgICAgaW50ZXJtZWRpYXRl
TGF5ZXJQdHItPmFkZENoaWxkKHN1cmZhY2VMYXllci5yZWxlYXNlKCkpOworCisgICAgLy8gQ2hp
bGQgb2YgdGhlIHN1cmZhY2UgbGF5ZXIgd2lsbCBwcm9kdWNlIHNvbWUgcXVhZHMKKyAgICBPd25Q
dHI8RmFrZUxheWVyV2l0aFF1YWRzPiBjaGlsZCA9IEZha2VMYXllcldpdGhRdWFkczo6Y3JlYXRl
KDQpOworICAgIEZha2VMYXllcldpdGhRdWFkcyogY2hpbGRQdHIgPSBjaGlsZC5nZXQoKTsKKwor
ICAgIGNoaWxkUHRyLT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50KDAsIDApKTsKKyAgICBjaGls
ZFB0ci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCg1LCA1KSk7CisgICAgY2hpbGRQdHItPnNldEJv
dW5kcyhJbnRTaXplKDEwLCAxMCkpOworICAgIGNoaWxkUHRyLT5zZXRDb250ZW50Qm91bmRzKElu
dFNpemUoMTAsIDEwKSk7CisgICAgY2hpbGRQdHItPnNldFZpc2libGVMYXllclJlY3QoSW50UmVj
dCgwLCAwLCAxMCwgMTApKTsKKyAgICBjaGlsZFB0ci0+c2V0RHJhd3NDb250ZW50KHRydWUpOwor
CisgICAgc3VyZmFjZUxheWVyUHRyLT5hZGRDaGlsZChjaGlsZC5yZWxlYXNlKCkpOworCisgICAg
eworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7CisgICAgICAg
IEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpKTsKKworICAgICAg
ICAvLyBNdXN0IHJlY2VpdmUgdHdvIHJlbmRlciBwYXNzZXMsIGVhY2ggd2l0aCBvbmUgcXVhZAor
ICAgICAgICBBU1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworICAgICAg
ICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkp
OworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3Qo
KS5zaXplKCkpOworCisgICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBm
cmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAg
ICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0Ry
YXdRdWFkKj4oZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAg
ICAgICAgRVhQRUNUX1RSVUUocXVhZC0+cmVuZGVyUGFzcygpLT50YXJnZXRTdXJmYWNlKCktPmNv
bnRlbnRzQ2hhbmdlZCgpKTsKKworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1l
KTsKKyAgICAgICAgbXlIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisgICAgfQor
CisgICAgLy8gRHJhdyB3aXRob3V0IGFueSBjaGFuZ2UKKyAgICB7CisgICAgICAgIENDTGF5ZXJU
cmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0
SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0
d28gRU1QVFkgcmVuZGVyIHBhc3NlcworICAgICAgICBBU1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRl
clBhc3Nlcy5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMFUsIGZyYW1lLnJlbmRlclBhc3Nl
c1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMFUsIGZyYW1lLnJl
bmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKS5zaXplKCkpOworCisgICAgICAgIG15SG9zdEltcGwt
PmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJz
KGZyYW1lKTsKKyAgICB9CisKKyAgICAvLyBDaGFuZ2Ugb3BhY2l0eSBhbmQgZHJhdworICAgIHN1
cmZhY2VMYXllclB0ci0+c2V0T3BhY2l0eSgwLjZmKTsKKyAgICB7CisgICAgICAgIENDTGF5ZXJU
cmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0
SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSBv
bmUgcmVuZGVyIHBhc3MsIGFzIHRoZSBvdGhlciBvbmUgc2hvdWxkIGJlIGN1bGxlZAorICAgICAg
ICBBU1NFUlRfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworCisgICAgICAgIEVY
UEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNpemUoKSk7Cisg
ICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNz
ZXNbMF0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBhc3NE
cmF3UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUu
cmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX0ZB
TFNFKHF1YWQtPnJlbmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgpLT5jb250ZW50c0NoYW5nZWQo
KSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15
SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworICAgIH0KKworICAgIC8vIENoYW5n
ZSBsZXNzIGJlbmlnbiBwcm9wZXJ0eSBhbmQgZHJhdyAtIHNob3VsZCBoYXZlIGNvbnRlbnRzIGNo
YW5nZWQgZmxhZworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0U3RhY2tpbmdPcmRlckNoYW5nZWQo
dHJ1ZSk7CisgICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJh
bWU7CisgICAgICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUp
KTsKKworICAgICAgICAvLyBNdXN0IHJlY2VpdmUgdHdvIHJlbmRlciBwYXNzZXMsIGVhY2ggd2l0
aCBvbmUgcXVhZAorICAgICAgICBBU1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXpl
KCkpOworCisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFk
TGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpTb2xpZENvbG9y
LCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworCisg
ICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNz
ZXNbMV0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBhc3NE
cmF3UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUu
cmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX1RS
VUUocXVhZC0+cmVuZGVyUGFzcygpLT50YXJnZXRTdXJmYWNlKCktPmNvbnRlbnRzQ2hhbmdlZCgp
KTsKKworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAgbXlI
b3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisgICAgfQorCisgICAgLy8gQ2hhbmdl
IG9wYWNpdHkgYWdhaW4sIGJ1dCBldmljdCB0aGUgY2FjaGVkIHN1cmZhY2UgdGV4dHVyZQorICAg
IHN1cmZhY2VMYXllclB0ci0+c2V0T3BhY2l0eSgwLjVmKTsKKyAgICBNYW5hZ2VkVGV4dHVyZSog
Y29udGVudHNUZXh0dXJlID0gc3VyZmFjZUxheWVyUHRyLT5yZW5kZXJTdXJmYWNlKCktPmNvbnRl
bnRzVGV4dHVyZSgpOworICAgIEFTU0VSVF9UUlVFKGNvbnRlbnRzVGV4dHVyZS0+aXNWYWxpZChj
b250ZW50c1RleHR1cmUtPnNpemUoKSwgY29udGVudHNUZXh0dXJlLT5mb3JtYXQoKSkpOworICAg
IENDUmVuZGVyZXIqIHJlbmRlcmVyID0gbXlIb3N0SW1wbC0+bGF5ZXJSZW5kZXJlcigpOworICAg
IFRleHR1cmVNYW5hZ2VyKiB0ZXh0dXJlTWFuYWdlciA9IHJlbmRlcmVyLT5pbXBsVGV4dHVyZU1h
bmFnZXIoKTsKKyAgICBzaXplX3QgbWF4TWVtb3J5TGltaXQgPSB0ZXh0dXJlTWFuYWdlci0+bWF4
TWVtb3J5TGltaXRCeXRlcygpOworCisgICAgLy8gVGhpcyBzaG91bGQgZXZpY2UgYWxsIGNhY2hl
ZCBzdXJmYWNlcworICAgIHRleHR1cmVNYW5hZ2VyLT5zZXRNYXhNZW1vcnlMaW1pdEJ5dGVzKDAp
OworCisgICAgLy8gUmVzdG9yZSBvcmlnaW5hbCBsaW1pdAorICAgIHRleHR1cmVNYW5hZ2VyLT5z
ZXRNYXhNZW1vcnlMaW1pdEJ5dGVzKG1heE1lbW9yeUxpbWl0KTsKKworICAgIC8vIFdhcyBvdXIg
c3VyZmFjZSBldmljdGVkPworICAgIEFTU0VSVF9GQUxTRShjb250ZW50c1RleHR1cmUtPmlzVmFs
aWQoY29udGVudHNUZXh0dXJlLT5zaXplKCksIGNvbnRlbnRzVGV4dHVyZS0+Zm9ybWF0KCkpKTsK
KworICAgIC8vIENoYW5nZSBvcGFjaXR5IGFuZCBkcmF3CisgICAgc3VyZmFjZUxheWVyUHRyLT5z
ZXRPcGFjaXR5KDAuNmYpOworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJh
bWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9E
cmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZlIHR3byByZW5kZXIgcGFzc2Vz
CisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisKKyAg
ICAgICAgLy8gRXZlbiB0aG91Z2ggbm90IGVub3VnaCBwcm9wZXJ0aWVzIGNoYW5nZWQsIHRoZSBl
bnRpcmUgdGhpbmcgbXVzdCBiZQorICAgICAgICAvLyByZWRyYXduIGFzIHdlIGRvbid0IGhhdmUg
Y2FjaGVkIHRleHR1cmVzCisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2Vz
WzBdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVu
ZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKEND
RHJhd1F1YWQ6OlJlbmRlclBhc3MsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVsw
XS0+bWF0ZXJpYWwoKSk7CisgICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3Rh
dGljX2Nhc3Q8Q0NSZW5kZXJQYXNzRHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1
YWRMaXN0KClbMF0uZ2V0KCkpOworICAgICAgICBFWFBFQ1RfRkFMU0UocXVhZC0+cmVuZGVyUGFz
cygpLT50YXJnZXRTdXJmYWNlKCktPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKworICAgICAgICBteUhv
c3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAgbXlIb3N0SW1wbC0+ZGlkRHJhd0Fs
bExheWVycyhmcmFtZSk7CisgICAgfQorCisgICAgLy8gRHJhdyB3aXRob3V0IGFueSBjaGFuZ2Us
IHRvIG1ha2Ugc3VyZSB0aGUgc3RhdGUgaXMgY2xlYXIKKyAgICB7CisgICAgICAgIENDTGF5ZXJU
cmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0
SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0
d28gRU1QVFkgcmVuZGVyIHBhc3NlcworICAgICAgICBBU1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRl
clBhc3Nlcy5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMFUsIGZyYW1lLnJlbmRlclBhc3Nl
c1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMFUsIGZyYW1lLnJl
bmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKS5zaXplKCkpOworCisgICAgICAgIG15SG9zdEltcGwt
PmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJz
KGZyYW1lKTsKKyAgICB9CisKKyAgICAvLyBDaGFuZ2Ugb3BhY2l0eSBvbiB0aGUgaW50ZXJtZWRp
YXRlIGxheWVyCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtID0gaW50ZXJt
ZWRpYXRlTGF5ZXJQdHItPnRyYW5zZm9ybSgpOworICAgIHRyYW5zZm9ybS5zZXRNMTEoMS4wMDAx
KTsKKyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0VHJhbnNmb3JtKHRyYW5zZm9ybSk7Cisg
ICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7CisgICAg
ICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpKTsKKworICAg
ICAgICAvLyBNdXN0IHJlY2VpdmUgb25lIHJlbmRlciBwYXNzLCBhcyB0aGUgb3RoZXIgb25lIHNo
b3VsZCBiZSBjdWxsZWQuCisgICAgICAgIEFTU0VSVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2Vz
LnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5x
dWFkTGlzdCgpLnNpemUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRl
clBhc3MsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7
CisgICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5k
ZXJQYXNzRHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0uZ2V0
KCkpOworICAgICAgICBFWFBFQ1RfRkFMU0UocXVhZC0+cmVuZGVyUGFzcygpLT50YXJnZXRTdXJm
YWNlKCktPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5
ZXJzKGZyYW1lKTsKKyAgICAgICAgbXlIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7
CisgICAgfQorfQorCitzdHJ1Y3QgUmVuZGVyUGFzc0NhY2hlRW50cnkgeworICAgIG11dGFibGUg
T3duUHRyPENDUmVuZGVyUGFzcz4gcmVuZGVyUGFzc1B0cjsKKyAgICBDQ1JlbmRlclBhc3MqIHJl
bmRlclBhc3M7CisKKyAgICBSZW5kZXJQYXNzQ2FjaGVFbnRyeShQYXNzT3duUHRyPENDUmVuZGVy
UGFzcz4gcikKKyAgICAgICAgOiByZW5kZXJQYXNzUHRyKHIpLAorICAgICAgICAgIHJlbmRlclBh
c3MocmVuZGVyUGFzc1B0ci5nZXQoKSkKKyAgICB7CisgICAgfQorCisgICAgUmVuZGVyUGFzc0Nh
Y2hlRW50cnkoKQorICAgIHsKKyAgICB9CisKKyAgICBSZW5kZXJQYXNzQ2FjaGVFbnRyeShjb25z
dCBSZW5kZXJQYXNzQ2FjaGVFbnRyeSYgZW50cnkpCisgICAgICAgIDogcmVuZGVyUGFzc1B0cihl
bnRyeS5yZW5kZXJQYXNzUHRyLnJlbGVhc2UoKSksCisgICAgICAgICAgcmVuZGVyUGFzcyhlbnRy
eS5yZW5kZXJQYXNzKQorICAgIHsKKyAgICB9CisKKyAgICBSZW5kZXJQYXNzQ2FjaGVFbnRyeSYg
b3BlcmF0b3I9KGNvbnN0IFJlbmRlclBhc3NDYWNoZUVudHJ5JiBlbnRyeSkKKyAgICB7CisgICAg
ICAgIHJlbmRlclBhc3NQdHIgPSBlbnRyeS5yZW5kZXJQYXNzUHRyLnJlbGVhc2UoKTsKKyAgICAg
ICAgcmVuZGVyUGFzcyA9IGVudHJ5LnJlbmRlclBhc3M7CisgICAgICAgIHJldHVybiAqdGhpczsK
KyAgICB9Cit9OworCitzdHJ1Y3QgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSB7CisgICAgQ0NS
ZW5kZXJQYXNzTGlzdCByZW5kZXJQYXNzTGlzdDsKKyAgICBzdGQ6Om1hcDxjaGFyLCBSZW5kZXJQ
YXNzQ2FjaGVFbnRyeT4gcmVuZGVyUGFzc0NhY2hlOworICAgIHN0ZDo6bWFwPGNvbnN0IENDUmVu
ZGVyUGFzcyosIGNoYXI+IHJlbmRlclBhc3NJZDsKKyAgICBWZWN0b3I8T3duUHRyPENDUmVuZGVy
U3VyZmFjZT4gPiByZW5kZXJTdXJmYWNlU3RvcmU7CisgICAgVmVjdG9yPE93blB0cjxDQ0xheWVy
SW1wbD4gPiBsYXllclN0b3JlOworICAgIE93blB0cjxDQ1NoYXJlZFF1YWRTdGF0ZT4gc2hhcmVk
UXVhZFN0YXRlOworfTsKKworY2xhc3MgRmFrZVJlbmRlclN1cmZhY2UgOiBwdWJsaWMgQ0NSZW5k
ZXJTdXJmYWNlIHsKK3ByaXZhdGU6CisgICAgYm9vbCBtX2hhc0NhY2hlZFRleHR1cmU7CisgICAg
Ym9vbCBtX2NvbnRlbnRzQ2hhbmdlZDsKKworcHVibGljOgorICAgIEZha2VSZW5kZXJTdXJmYWNl
KENDTGF5ZXJJbXBsKiBsYXllckltcGwpCisgICAgICAgIDogQ0NSZW5kZXJTdXJmYWNlKGxheWVy
SW1wbCksCisgICAgICAgICAgbV9oYXNDYWNoZWRUZXh0dXJlKGZhbHNlKQorICAgIHsKKyAgICB9
CisKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQ2FjaGVkQ29udGVudHNUZXh0dXJlKCkgY29uc3QgT1ZF
UlJJREUKKyAgICB7CisgICAgICAgIHJldHVybiBtX2hhc0NhY2hlZFRleHR1cmU7CisgICAgfQor
CisgICAgdmlydHVhbCBib29sIHByZXBhcmVDb250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNo
cm9taXVtKiBscmMpIE9WRVJSSURFCisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisKKyAgICB2aXJ0dWFsIGJvb2wgY29udGVudHNDaGFuZ2VkKCkgY29uc3QgT1ZFUlJJREUKKyAg
ICB7CisgICAgICAgIHJldHVybiBtX2NvbnRlbnRzQ2hhbmdlZDsKKyAgICB9CisKKyAgICB2b2lk
IHNldEhhc0NhY2hlZFRleHR1cmUoYm9vbCBoYXNDYWNoZWRUZXh0dXJlKQorICAgIHsKKyAgICAg
ICAgbV9oYXNDYWNoZWRUZXh0dXJlID0gaGFzQ2FjaGVkVGV4dHVyZTsKKyAgICB9CisKKyAgICB2
b2lkIHNldENvbnRlbnRzQ2hhbmdlZChib29sIGNvbnRlbnRzQ2hhbmdlZCkKKyAgICB7CisgICAg
ICAgIG1fY29udGVudHNDaGFuZ2VkID0gY29udGVudHNDaGFuZ2VkOworICAgIH0KK307CisKK2Ns
YXNzIENDVGVzdFJlbmRlclBhc3M6IHB1YmxpYyBDQ1JlbmRlclBhc3MgeworcHVibGljOgorICAg
IHN0YXRpYyBQYXNzT3duUHRyPENDUmVuZGVyUGFzcz4gY3JlYXRlKENDUmVuZGVyU3VyZmFjZSog
dGFyZ2V0U3VyZmFjZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ0NUZXN0
UmVuZGVyUGFzcyh0YXJnZXRTdXJmYWNlKSk7CisgICAgfQorCitwcm90ZWN0ZWQ6CisgICAgQ0NU
ZXN0UmVuZGVyUGFzcyhDQ1JlbmRlclN1cmZhY2UqIHN1cmZhY2UpCisgICAgICAgIDogQ0NSZW5k
ZXJQYXNzKHN1cmZhY2UpCisgICAgeworICAgIH0KKworcHVibGljOgorICAgIHZvaWQgYXBwZW5k
UXVhZChQYXNzT3duUHRyPENDRHJhd1F1YWQ+IHF1YWQpCisgICAgeworICAgICAgICBtX3F1YWRM
aXN0LmFwcGVuZChxdWFkKTsKKyAgICB9Cit9OworCitzdGF0aWMgUGFzc093blB0cjxDQ1JlbmRl
clBhc3M+IGNyZWF0ZUR1bW15UmVuZGVyUGFzcyhSZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhJiB0
ZXN0RGF0YSkKK3sKKyAgICBPd25QdHI8Q0NMYXllckltcGw+IGxheWVySW1wbCA9IENDTGF5ZXJJ
bXBsOjpjcmVhdGUoMSk7CisgICAgQ0NSZW5kZXJTdXJmYWNlKiByZW5kZXJTdXJmYWNlID0gbmV3
IEZha2VSZW5kZXJTdXJmYWNlKGxheWVySW1wbC5nZXQoKSk7CisgICAgT3duUHRyPENDUmVuZGVy
UGFzcz4gcmVuZGVyUGFzc1B0ciA9IENDVGVzdFJlbmRlclBhc3M6OmNyZWF0ZShyZW5kZXJTdXJm
YWNlKTsKKworICAgIHRlc3REYXRhLnJlbmRlclN1cmZhY2VTdG9yZS5hcHBlbmQoYWRvcHRQdHIo
cmVuZGVyU3VyZmFjZSkpOworICAgIHRlc3REYXRhLmxheWVyU3RvcmUuYXBwZW5kKGxheWVySW1w
bC5yZWxlYXNlKCkpOworICAgIHJldHVybiByZW5kZXJQYXNzUHRyLnJlbGVhc2UoKTsKK30KKwor
c3RhdGljIHZvaWQgY29uZmlndXJlUmVuZGVyUGFzc1Rlc3REYXRhKGNvbnN0IGNoYXIqIHRlc3RT
Y3JpcHQsIFJlbmRlclBhc3NSZW1vdmFsVGVzdERhdGEmIHRlc3REYXRhKQoreworICAgIC8vIE9u
ZSBzaGFyZWQgc3RhdGUgZm9yIGFsbCBxdWFkcyAtIHdlIGRvbid0IG5lZWQgdGhlIGNvcnJlY3Qg
ZGV0YWlscworICAgIHRlc3REYXRhLnNoYXJlZFF1YWRTdGF0ZSA9IENDU2hhcmVkUXVhZFN0YXRl
OjpjcmVhdGUoV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgV2ViVHJhbnNmb3JtYXRpb25NYXRy
aXgoKSwgSW50UmVjdCgpLCBJbnRSZWN0KCksIDEuMCwgdHJ1ZSk7CisKKyAgICBjb25zdCBjaGFy
KiBjdXJyZW50Q2hhciA9IHRlc3RTY3JpcHQ7CisKKyAgICAvLyBQcmUtY3JlYXRlIHJvb3QgcGFz
cworICAgIE93blB0cjxDQ1JlbmRlclBhc3M+IHJvb3RSZW5kZXJQYXNzID0gY3JlYXRlRHVtbXlS
ZW5kZXJQYXNzKHRlc3REYXRhKTsKKyAgICB0ZXN0RGF0YS5yZW5kZXJQYXNzSWQuaW5zZXJ0KHN0
ZDo6cGFpcjxDQ1JlbmRlclBhc3MqLCBjaGFyPihyb290UmVuZGVyUGFzcy5nZXQoKSwgdGVzdFNj
cmlwdFswXSkpOworICAgIHRlc3REYXRhLnJlbmRlclBhc3NDYWNoZS5pbnNlcnQoc3RkOjpwYWly
PGNoYXIsIFJlbmRlclBhc3NDYWNoZUVudHJ5Pih0ZXN0U2NyaXB0WzBdLCBSZW5kZXJQYXNzQ2Fj
aGVFbnRyeShyb290UmVuZGVyUGFzcy5yZWxlYXNlKCkpKSk7CisgICAgd2hpbGUgKCpjdXJyZW50
Q2hhciAhPSAnXDAnKSB7CisgICAgICAgIGNoYXIgcmVuZGVyUGFzc0lkID0gY3VycmVudENoYXJb
MF07CisgICAgICAgIGN1cnJlbnRDaGFyKys7CisKKyAgICAgICAgT3duUHRyPENDUmVuZGVyUGFz
cz4gcmVuZGVyUGFzczsKKworICAgICAgICBib29sIGlzUmVwbGljYSA9IGZhbHNlOworICAgICAg
ICBpZiAoIXRlc3REYXRhLnJlbmRlclBhc3NDYWNoZVtyZW5kZXJQYXNzSWRdLnJlbmRlclBhc3NQ
dHIuZ2V0KCkpCisgICAgICAgICAgICBpc1JlcGxpY2EgPSB0cnVlOworCisgICAgICAgIHJlbmRl
clBhc3MgPSB0ZXN0RGF0YS5yZW5kZXJQYXNzQ2FjaGVbcmVuZGVyUGFzc0lkXS5yZW5kZXJQYXNz
UHRyLnJlbGVhc2UoKTsKKworICAgICAgICAvLyBDeWNsZSB0aHJvdWdoIHF1YWQgZGF0YSBhbmQg
Y3JlYXRlIGFsbCBxdWFkcworICAgICAgICB3aGlsZSAoKmN1cnJlbnRDaGFyICE9ICdcbicgJiYg
KmN1cnJlbnRDaGFyICE9ICdcMCcpIHsKKyAgICAgICAgICAgIGlmICgqY3VycmVudENoYXIgPT0g
J3MnKSB7CisgICAgICAgICAgICAgICAgLy8gU29saWQgY29sb3IgZHJhdyBxdWFkCisgICAgICAg
ICAgICAgICAgT3duUHRyPENDRHJhd1F1YWQ+IHF1YWQgPSBDQ1NvbGlkQ29sb3JEcmF3UXVhZDo6
Y3JlYXRlKHRlc3REYXRhLnNoYXJlZFF1YWRTdGF0ZS5nZXQoKSwgSW50UmVjdCgwLCAwLCAxMCwg
MTApLCBDb2xvcjo6d2hpdGUpOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIHN0
YXRpY19jYXN0PENDVGVzdFJlbmRlclBhc3MqPihyZW5kZXJQYXNzLmdldCgpKS0+YXBwZW5kUXVh
ZChxdWFkLnJlbGVhc2UoKSk7CisgICAgICAgICAgICAgICAgY3VycmVudENoYXIrKzsKKyAgICAg
ICAgICAgIH0gZWxzZSBpZiAoKCpjdXJyZW50Q2hhciA+PSAnQScpICYmICgqY3VycmVudENoYXIg
PD0gJ1onKSkgeworICAgICAgICAgICAgICAgIC8vIFJlbmRlclBhc3MgZHJhdyBxdWFkCisgICAg
ICAgICAgICAgICAgY2hhciBuZXdSZW5kZXJQYXNzSWQgPSAqY3VycmVudENoYXI7CisgICAgICAg
ICAgICAgICAgY3VycmVudENoYXIrKzsKKyAgICAgICAgICAgICAgICBib29sIGhhc1RleHR1cmUg
PSBmYWxzZTsKKyAgICAgICAgICAgICAgICBib29sIGNvbnRlbnRzQ2hhbmdlZCA9IHRydWU7Cisg
ICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhciA9PSAnWycp
IHsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudENoYXIrKzsKKyAgICAgICAgICAgICAgICAg
ICAgd2hpbGUgKCgqY3VycmVudENoYXIgIT0gJ10nKSAmJiAoKmN1cnJlbnRDaGFyICE9ICdcMCcp
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKCpjdXJyZW50Q2hhcikgeworICAg
ICAgICAgICAgICAgICAgICAgICAgY2FzZSAnYyc6CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29udGVudHNDaGFuZ2VkID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICd0JzoKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoYXNUZXh0dXJlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIGN1cnJlbnRDaGFyKys7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICAgICAgaWYgKCpjdXJyZW50Q2hhciA9PSAnXScpCisgICAgICAgICAgICAgICAgICAgICAg
ICBjdXJyZW50Q2hhcisrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIEND
UmVuZGVyUGFzcyogcmVmUmVuZGVyUGFzc1B0cjsKKworICAgICAgICAgICAgICAgIGlmICh0ZXN0
RGF0YS5yZW5kZXJQYXNzQ2FjaGUuZmluZChuZXdSZW5kZXJQYXNzSWQpID09IHRlc3REYXRhLnJl
bmRlclBhc3NDYWNoZS5lbmQoKSkgeworICAgICAgICAgICAgICAgICAgICBPd25QdHI8Q0NSZW5k
ZXJQYXNzPiByZWZSZW5kZXJQYXNzID0gY3JlYXRlRHVtbXlSZW5kZXJQYXNzKHRlc3REYXRhKTsK
KyAgICAgICAgICAgICAgICAgICAgcmVmUmVuZGVyUGFzc1B0ciA9IHJlZlJlbmRlclBhc3MuZ2V0
KCk7CisgICAgICAgICAgICAgICAgICAgIEZha2VSZW5kZXJTdXJmYWNlKiByZWZSZW5kZXJTdXJm
YWNlID0gc3RhdGljX2Nhc3Q8RmFrZVJlbmRlclN1cmZhY2UqPihyZWZSZW5kZXJQYXNzLT50YXJn
ZXRTdXJmYWNlKCkpOworICAgICAgICAgICAgICAgICAgICByZWZSZW5kZXJTdXJmYWNlLT5zZXRI
YXNDYWNoZWRUZXh0dXJlKGhhc1RleHR1cmUpOworICAgICAgICAgICAgICAgICAgICByZWZSZW5k
ZXJTdXJmYWNlLT5zZXRDb250ZW50c0NoYW5nZWQoY29udGVudHNDaGFuZ2VkKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdERhdGEucmVuZGVyUGFzc0lkLmluc2VydChzdGQ6OnBhaXI8Q0NSZW5k
ZXJQYXNzKiwgY2hhcj4ocmVmUmVuZGVyUGFzcy5nZXQoKSwgbmV3UmVuZGVyUGFzc0lkKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3REYXRhLnJlbmRlclBhc3NDYWNoZS5pbnNlcnQoc3RkOjpw
YWlyPGNoYXIsIFJlbmRlclBhc3NDYWNoZUVudHJ5PihuZXdSZW5kZXJQYXNzSWQsIFJlbmRlclBh
c3NDYWNoZUVudHJ5KHJlZlJlbmRlclBhc3MucmVsZWFzZSgpKSkpOworICAgICAgICAgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgICAgICAgICByZWZSZW5kZXJQYXNzUHRyID0gdGVzdERhdGEu
cmVuZGVyUGFzc0NhY2hlW25ld1JlbmRlclBhc3NJZF0ucmVuZGVyUGFzczsKKworICAgICAgICAg
ICAgICAgIE93blB0cjxDQ1JlbmRlclBhc3NEcmF3UXVhZD4gcXVhZCA9IENDUmVuZGVyUGFzc0Ry
YXdRdWFkOjpjcmVhdGUodGVzdERhdGEuc2hhcmVkUXVhZFN0YXRlLmdldCgpLCBJbnRSZWN0KCks
IHJlZlJlbmRlclBhc3NQdHIsIGlzUmVwbGljYSwgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25z
KCksIFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucygpLCAxKTsKKyAgICAgICAgICAgICAgICBz
dGF0aWNfY2FzdDxDQ1Rlc3RSZW5kZXJQYXNzKj4ocmVuZGVyUGFzcy5nZXQoKSktPmFwcGVuZFF1
YWQocXVhZC5yZWxlYXNlKCkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHRl
c3REYXRhLnJlbmRlclBhc3NMaXN0Lmluc2VydCgwLCByZW5kZXJQYXNzLnJlbGVhc2UoKSk7Cisg
ICAgICAgIGlmICgqY3VycmVudENoYXIgIT0gJ1wwJykKKyAgICAgICAgICAgIGN1cnJlbnRDaGFy
Kys7CisgICAgfQorfQorCit2b2lkIGR1bXBSZW5kZXJQYXNzVGVzdERhdGEoY29uc3QgUmVuZGVy
UGFzc1JlbW92YWxUZXN0RGF0YSYgdGVzdERhdGEsIGNoYXIqIGJ1ZmZlcikKK3sKKyAgICBjaGFy
KiBwb3MgPSBidWZmZXI7CisgICAgQ0NSZW5kZXJQYXNzTGlzdDo6Y29uc3RfcmV2ZXJzZV9pdGVy
YXRvciBpdCA9IHRlc3REYXRhLnJlbmRlclBhc3NMaXN0LnJiZWdpbigpOworICAgIHdoaWxlIChp
dCAhPSB0ZXN0RGF0YS5yZW5kZXJQYXNzTGlzdC5yZW5kKCkpIHsKKyAgICAgICAgQ0NSZW5kZXJQ
YXNzKiBjdXJyZW50UGFzcyA9IGl0LT5nZXQoKTsKKyAgICAgICAgY2hhciBwYXNzSWQgPSB0ZXN0
RGF0YS5yZW5kZXJQYXNzSWQuZmluZChjdXJyZW50UGFzcyktPnNlY29uZDsKKyAgICAgICAgKnBv
cyA9IHBhc3NJZDsKKyAgICAgICAgcG9zKys7CisKKyAgICAgICAgQ0NRdWFkTGlzdDo6Y29uc3Rf
aXRlcmF0b3IgcXVhZExpc3RJdGVyYXRvciA9IGN1cnJlbnRQYXNzLT5xdWFkTGlzdCgpLmJlZ2lu
KCk7CisgICAgICAgIHdoaWxlIChxdWFkTGlzdEl0ZXJhdG9yICE9IGN1cnJlbnRQYXNzLT5xdWFk
TGlzdCgpLmVuZCgpKSB7CisgICAgICAgICAgICBDQ0RyYXdRdWFkKiBjdXJyZW50UXVhZCA9ICgq
cXVhZExpc3RJdGVyYXRvcikuZ2V0KCk7CisgICAgICAgICAgICBzd2l0Y2ggKGN1cnJlbnRRdWFk
LT5tYXRlcmlhbCgpKSB7CisgICAgICAgICAgICBjYXNlIENDRHJhd1F1YWQ6OlNvbGlkQ29sb3I6
CisgICAgICAgICAgICAgICAgKnBvcyA9ICdzJzsKKyAgICAgICAgICAgICAgICBwb3MrKzsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ0NEcmF3UXVhZDo6UmVuZGVy
UGFzczoKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIENDUmVuZGVyUGFz
c0RyYXdRdWFkKiByZW5kZXJQYXNzRHJhd1F1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NE
cmF3UXVhZCo+KGN1cnJlbnRRdWFkKTsKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgQ0NSZW5k
ZXJQYXNzKiByZWZQYXNzID0gcmVuZGVyUGFzc0RyYXdRdWFkLT5yZW5kZXJQYXNzKCk7CisgICAg
ICAgICAgICAgICAgICAgIGNoYXIgcmVmUGFzc0lkID0gdGVzdERhdGEucmVuZGVyUGFzc0lkLmZp
bmQocmVmUGFzcyktPnNlY29uZDsKKyAgICAgICAgICAgICAgICAgICAgKnBvcyA9IHJlZlBhc3NJ
ZDsKKyAgICAgICAgICAgICAgICAgICAgcG9zKys7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAq
cG9zID0gJ3gnOworICAgICAgICAgICAgICAgIHBvcysrOworICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBxdWFkTGlzdEl0ZXJh
dG9yKys7CisgICAgICAgIH0KKyAgICAgICAgKnBvcyA9ICdcbic7CisgICAgICAgIHBvcysrOwor
ICAgICAgICBpdCsrOworICAgIH0KKyAgICAqcG9zID0gJ1wwJzsKK30KKworLy8gRWFjaCBDQ1Jl
bmRlclBhc3NMaXN0IGlzIHJlcHJlc2VudGVkIGJ5IGEgc3RyaW5nIHdoaWNoIGRlc2NyaWJlcyB0
aGUgY29uZmlndXJhdGlvbi4KKy8vIFRoZSBzeW50YXggb2YgdGhlIHN0cmluZyBpcyBhcyBmb2xs
b3dzOgorLy8KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUnNzc3NzWFtjXXNzWXNzc1pbdF1zc1dbY3RdCisvLyBJZGVudGlmaWVzIHRoZSBy
ZW5kZXIgcGFzcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV4gXl5eIF4gXiAgIF4gICAgIF4g
ICAgIF4KKy8vIFRoZXNlIGFyZSBzb2xpZCBjb2xvciBxdWFkcy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tKyAgfCB8ICAgfCAgICAgfCAgICAgfAorLy8gSWRlbnRpZmllcyBSZW5kZXJQYXNz
RHJhd1F1YWQncyBSZW5kZXJQYXNzLS0tLS0tLS0tLS0tLS0tLS0rIHwgICB8ICAgICB8ICAgICB8
CisvLyBUaGlzIHF1YWQncyBjb250ZW50cyBkaWRuJ3QgY2hhbmdlLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tKyAgIHwgICAgIHwgICAgIHwKKy8vIFRoaXMgcXVhZCdzIGNvbnRlbnRzIGNoYW5n
ZWQgYW5kIGl0IGhhcyBubyB0ZXh0dXJlLS0tLS0tLS0tLS0tLS0tKyAgICAgfCAgICAgfAorLy8g
VGhpcyBxdWFkIGhhcyB0ZXh0dXJlIGJ1dCBpdHMgY29udGVudHMgY2hhbmdlZC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0rICAgICB8CisvLyBUaGlzIHF1YWQncyBjb250ZW50cyBkaWRuJ3QgY2hh
bmdlIGFuZCBpdCBoYXMgdGV4dHVyZSAtIHdpbGwgYmUgcmVtb3ZlZC0tLS0tLSsKKy8vCisvLyBF
eHBlY3RlZCByZXN1bHRzIGhhdmUgZXhhY3RseSB0aGUgc2FtZSBzeW50YXgsIGV4Y2VwdCB0aGV5
IGRvIG5vdCB1c2Ugc3F1YXJlIGJyYWNrZXRzLAorLy8gc2luY2Ugd2Ugb25seSBjaGVjayB0aGUg
c3RydWN0dXJlLCBub3QgYXR0cmlidXRlcy4KKy8vCisvLyBUZXN0IGNhc2UgY29uZmlndXJhdGlv
biBjb25zaXN0cyBvZiBpbml0aWFsaXphdGlvbiBzY3JpcHQgYW5kIGV4cGVjdGVkIHJlc3VsdHMs
CisvLyBhbGwgaW4gdGhlIHNhbWUgZm9ybWF0Lgorc3RydWN0IFRlc3RDYXNlIHsKKyAgICBjb25z
dCBjaGFyKiBuYW1lOworICAgIGNvbnN0IGNoYXIqIGluaXRTY3JpcHQ7CisgICAgY29uc3QgY2hh
ciogZXhwZWN0ZWRSZXN1bHQ7Cit9OworCitUZXN0Q2FzZSByZW1vdmVSZW5kZXJQYXNzZXNDYXNl
c1tdID0KKyAgICB7CisgICAgICAgIHsKKyAgICAgICAgICAgICJTaW5nbGUgcm9vdCBwYXNzIiwK
KyAgICAgICAgICAgICJSc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc1xuIgorICAgICAgICB9
LCB7CisgICAgICAgICAgICAiU2luZ2xlIHBhc3MgLSBubyBxdWFkcyIsCisgICAgICAgICAgICAi
UlxuIiwKKyAgICAgICAgICAgICJSXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJUd28g
cGFzc2VzLCBubyByZW1vdmFsIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAg
ICAgICJBc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJB
c3Nzc1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiVHdvIHBhc3NlcywgcmVtb3ZlIGxh
c3QiLAorICAgICAgICAgICAgIlJzc3NzQVtjdF1zc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xu
IiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAg
IkhhdmUgdGV4dHVyZSBidXQgY29udGVudHMgY2hhbmdlZCAtIGxlYXZlIHBhc3MiLAorICAgICAg
ICAgICAgIlJzc3NzQVt0XXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAg
ICAgIlJzc3NzQXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iCisgICAgICAgIH0sIHsKKyAg
ICAgICAgICAgICJDb250ZW50cyBkaWRuJ3QgY2hhbmdlIGJ1dCBubyB0ZXh0dXJlIC0gbGVhdmUg
cGFzcyIsCisgICAgICAgICAgICAiUnNzc3NBW2Ndc3NzXG4iCisgICAgICAgICAgICAiQXNzc3Nc
biIsCisgICAgICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIKKyAg
ICAgICAgfSwgeworICAgICAgICAgICAgIlJlcGxpY2E6IHR3byBxdWFkcyByZWZlcmVuY2UgdGhl
IHNhbWUgcGFzczsgcmVtb3ZlIiwKKyAgICAgICAgICAgICJSc3Nzc0FbY3RdQVtjdF1zc3NcbiIK
KyAgICAgICAgICAgICJBc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0FBc3NzXG4iCisgICAg
ICAgIH0sIHsKKyAgICAgICAgICAgICJSZXBsaWNhOiB0d28gcXVhZHMgcmVmZXJlbmNlIHRoZSBz
YW1lIHBhc3M7IGxlYXZlIiwKKyAgICAgICAgICAgICJSc3Nzc0FbY11BW2Ndc3NzXG4iCisgICAg
ICAgICAgICAiQXNzc3NcbiIsCisgICAgICAgICAgICAiUnNzc3NBQXNzc1xuIgorICAgICAgICAg
ICAgIkFzc3NzXG4iLAorICAgICAgICB9LCB7CisgICAgICAgICAgICAiTWFueSBwYXNzZXMsIHJl
bW92ZSBhbGwiLAorICAgICAgICAgICAgIlJzc3NzQVtjdF1zc3NcbiIKKyAgICAgICAgICAgICJB
c3NzQltjdF1DW2N0XXNcbiIKKyAgICAgICAgICAgICJCc3NzRFtjdF1zc0VbY3RdRltjdF1cbiIK
KyAgICAgICAgICAgICJFc3Nzc3NzXG4iCisgICAgICAgICAgICAiQ0dbY3RdXG4iCisgICAgICAg
ICAgICAiRHNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJGc3Nzc3Nzc1xuIgorICAgICAgICAgICAg
Ikdzc3NcbiIsCisKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgfSwgeworICAg
ICAgICAgICAgIkRlZXAgcmVjdXJzaW9uLCByZW1vdmUgYWxsIiwKKworICAgICAgICAgICAgIlJz
c3Nzc0FbY3Rdc3Nzc1xuIgorICAgICAgICAgICAgIkFzc3NzQnNzc1xuIgorICAgICAgICAgICAg
IkJDXG4iCisgICAgICAgICAgICAiQ0RcbiIKKyAgICAgICAgICAgICJERVxuIgorICAgICAgICAg
ICAgIkVGXG4iCisgICAgICAgICAgICAiRkdcbiIKKyAgICAgICAgICAgICJHSFxuIgorICAgICAg
ICAgICAgIkhzc3NJc3NzXG4iCisgICAgICAgICAgICAiSUpcbiIKKyAgICAgICAgICAgICJKc3Nz
c1xuIiwKKyAgICAgICAgICAgIAorICAgICAgICAgICAgIlJzc3Nzc0Fzc3NzXG4iCisgICAgICAg
IH0sIHsKKyAgICAgICAgICAgICJXaWRlIHJlY3Vyc2lvbiwgcmVtb3ZlIGFsbCIsCisgICAgICAg
ICAgICAiUkFbY3RdQltjdF1DW2N0XURbY3RdRVtjdF1GW2N0XUdbY3RdSFtjdF1JW2N0XUpbY3Rd
XG4iCisgICAgICAgICAgICAiQXNcbiIKKyAgICAgICAgICAgICJCc1xuIgorICAgICAgICAgICAg
IkNzc3NzXG4iCisgICAgICAgICAgICAiRHNzc3NcbiIKKyAgICAgICAgICAgICJFc1xuIgorICAg
ICAgICAgICAgIkZcbiIKKyAgICAgICAgICAgICJHc1xuIgorICAgICAgICAgICAgIkhzXG4iCisg
ICAgICAgICAgICAiSXNcbiIKKyAgICAgICAgICAgICJKc3Nzc1xuIiwKKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgIlJBQkNERUZHSElKXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJS
ZW1vdmUgcGFzc2VzIHJlZ2FyZGxlc3Mgb2YgY2FjaGUgc3RhdGUiLAorICAgICAgICAgICAgIlJz
c3NzQVtjdF1zc3NcbiIKKyAgICAgICAgICAgICJBc3NzQkNzXG4iCisgICAgICAgICAgICAiQnNz
c0RbY11zc0VbdF1GXG4iCisgICAgICAgICAgICAiRXNzc3Nzc1xuIgorICAgICAgICAgICAgIkNH
XG4iCisgICAgICAgICAgICAiRHNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJGc3Nzc3Nzc1xuIgor
ICAgICAgICAgICAgIkdzc3NcbiIsCisKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAg
ICAgfSwgeworICAgICAgICAgICAgIkxlYXZlIHNvbWUgcGFzc2VzLCByZW1vdmUgb3RoZXJzIiwK
KworICAgICAgICAgICAgIlJzc3NzQVtjXXNzc1xuIgorICAgICAgICAgICAgIkFzc3NCW3RdQ1tj
dF1zXG4iCisgICAgICAgICAgICAiQnNzc0RbY11zc1xuIgorICAgICAgICAgICAgIkNHXG4iCisg
ICAgICAgICAgICAiRHNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJHc3NzXG4iLAorCisgICAgICAg
ICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc0JDc1xuIgorICAgICAgICAgICAg
IkJzc3NEc3NcbiIKKyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAgICB9LCB7CisgICAg
ICAgICAgICAwLCAwLCAwCisgICAgICAgIH0KKyAgICB9OworCitzdGF0aWMgdm9pZCB2ZXJpZnlS
ZW5kZXJQYXNzVGVzdERhdGEoVGVzdENhc2UmIHRlc3RDYXNlLCBSZW5kZXJQYXNzUmVtb3ZhbFRl
c3REYXRhJiB0ZXN0RGF0YSkKK3sKKyAgICBjaGFyIGFjdHVhbFJlc3VsdFsxMDI0XTsKKyAgICBk
dW1wUmVuZGVyUGFzc1Rlc3REYXRhKHRlc3REYXRhLCBhY3R1YWxSZXN1bHQpOworICAgIEVYUEVD
VF9TVFJFUSh0ZXN0Q2FzZS5leHBlY3RlZFJlc3VsdCwgYWN0dWFsUmVzdWx0KSA8PCAiSW4gdGVz
dCBjYXNlOiAiIDw8IHRlc3RDYXNlLm5hbWU7Cit9CisKK1RFU1QoUmVuZGVyUGFzc1JlbW92YWxU
ZXN0LCB0ZXN0UmVtb3ZlUmVuZGVyUGFzc2VzKQoreworICAgIGludCB0ZXN0Q2FzZUluZGV4ID0g
MDsKKyAgICB3aGlsZSAocmVtb3ZlUmVuZGVyUGFzc2VzQ2FzZXNbdGVzdENhc2VJbmRleF0ubmFt
ZSkgeworICAgICAgICBEZWJ1Z1Njb3BlZFNldEltcGxUaHJlYWQgaW1wbFRocmVhZDsKKyAgICAg
ICAgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSB0ZXN0RGF0YTsKKyAgICAgICAgQ0NSZW5kZXJQ
YXNzTGlzdCBza2lwcGVkUGFzc2VzOworICAgICAgICBjb25maWd1cmVSZW5kZXJQYXNzVGVzdERh
dGEocmVtb3ZlUmVuZGVyUGFzc2VzQ2FzZXNbdGVzdENhc2VJbmRleF0uaW5pdFNjcmlwdCwgdGVz
dERhdGEpOworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpyZW1vdmVQYXNzZXNXaXRoQ2Fj
aGVkVGV4dHVyZXModGVzdERhdGEucmVuZGVyUGFzc0xpc3QsIHNraXBwZWRQYXNzZXMpOworICAg
ICAgICB2ZXJpZnlSZW5kZXJQYXNzVGVzdERhdGEocmVtb3ZlUmVuZGVyUGFzc2VzQ2FzZXNbdGVz
dENhc2VJbmRleF0sIHRlc3REYXRhKTsKKyAgICAgICAgdGVzdENhc2VJbmRleCsrOworICAgIH0K
K30KKwogfSAvLyBuYW1lc3BhY2UK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>147898</attachid>
            <date>2012-06-15 14:20:51 -0700</date>
            <delta_ts>2012-06-15 14:20:51 -0700</delta_ts>
            <desc>Archive of layout-test-results from ec2-cr-linux-01</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>720318</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">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
7txM6c7NlO7cTOnOzZTu3Ezpzs2U7txM6c7NlO7cTBnOzZTh3EwZzs2U4dxMGc7NlOHcTBnOzZTh
3EwZzs2U4dxMGc7NlOHcTBnOzZTh3EwZzs2U4dxMafePBiyDbxGDbxGZbwld5CV0kZfQRV5CF3kJ
XeQldJGX0EVeQhd5ScBhwSsDS+ZXGjCgER0a06EJHZrSoTs6dE+HHujQI4MFrwwsh7UMhoUMjoUM
loUMnoUMpoUMroUMtoUMvkUMvkWcdcbgW8TgW8TgW8TgW8QY34gxvjFjfGPG+MYcQUYe3x1dlO7o
onQXMBqQ0KEpHUpelXv6COzpI7Cnj8CePgIHelsP9LYe6G09cNqa0qE7OnRPhx7o0CODBa8MLINf
WcACRxxwzAEnHHDKAe9Yo8EbO8Z4nDgjzXAXGnjEg8c8eMKDpzz4jgff8+AH5kAy+xoxOxsxexvx
usudONyZw5063LnDnTzc2cOdPtz5U3DEOstdOBAwOcyeEow5caTXTY482tGdhTu6s3BHt87s6CaX
Hd3ksqObXHZ0k8uObnLZ0Y0YO7oRY0c3YuzoRowd3YixoxsxdnTNe0fXvHd0zXtH17wByujWidOx
M2Of6PERE08ekgO9KQd6Kw6cBiR0aEqH7ujQPR16YIzrKwPLYELI4ALVXranS/09Xerv6VJ/T7fJ
7+kbxJ6+QezpG8SevkHs6RvEnm6T39Nt8nv6trOnbzt7+razp287e/q2s6dvO3v6trOnbzt7+raz
p287e3pA/56+Q+05O9SeuUPtmTvUnrlD7ek71J6+Q+3pO9SevkPt6TvUnr5D7ek71J6+Q+0ZO9Se
sUPtGTvUnrFDHeg71IG+Qx3oO9SBvkMd6DvUgb5DHeg71IG+Qx3oO9SBvkMd6NvOgb7tHOjbzoG+
7Rzo286Bvu0c6NvOgb7tHOjbzoG+7Rzo286Bs5ccmHvJgbmXHOh7w4G+Nxzoe8OBvjcc6HvDgb43
HOh7w4G+Nxzo/pEDYxs5MLaRA2MbOdK3hiN9azjSt4YjfWs40reGI31rONK3hiN9azjSt4YjfWs4
0reGI31rONK3hiN9azjSt4YjfWs40qN5jvRoniNdGB7pwvBIF4ZHujA80oXhkS4MjxxPH4A5e1OP
j3h4xgeOHGhEh8Z0KI1/0StZ4kavZIkroQm91oRTa0yHJnRoSofu6NA9HXqgQlP6uKb0cU3p45rS
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
D52+p8g58ln6hsyHZpPb6eV8l/IzdQdNcOj/tB+S1hdQSwMECgACAAAAZKfPQJzpp3UGAAAABgAA
AEcAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJl
Y3QtZ2V0LWV4cGVjdGVkLnR4dFVUCQADG6LbTxui2091eAsAAQToAwAABOgDAABQQVNTCgpQSwME
FAACAAgAZKfPQFc1QluZAQAAFwMAAEMAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWRpZmYudHh0VVQJAAMbottPG6LbT3V4CwABBOgD
AAAE6AMAAKWSUW/TMBDH3/MpTuVhoMSJ061NNAlRCpMAMRXRCsQTcuxLY+bFVXxeU6p9dxxKN4FU
aRJPts+/+/t/52OMQUa3m8yInfXECB2xDp035LKGaJMNEZdJIRvMNvb3rdIdSmJrJIb9JmxRpdQT
RHEc/5eakOSFOWjNZsDyZAxxnuQcZrOIfXq9XEYsioM4diAInvOEvwCnfyKUnPdTzqMY4DO2Crsv
GrenmCcJzI2VN7B/t7r+eH+afaCt2sF+vnj77QCXSfkHLsqLflJeHOAjvsJQ4v4ZheVf8aKY9nnx
wAMMEHS+feS2WlEzgJcwek9nDkInna4MQm1DXeC8lOhc7Q10eCeMVoK0bYEsSOEdAt5hS24416H5
4HatbDrbWu/MLoWvIdJYb1R7RiA74RrQNdgWwdZAjX0UcGQ3QabB0Um7+WRyNHw+5cGwsUKlsESE
YSDcZZZVfu3SLVY3mlLbrbPw+PZ7CKZyrV9p9bIYF9NxCqMnt5D3/G/26rZCpVAtqh9h1GC/mH+4
erM6pAVXyfiYeR5+Np/w6BdQSwMEFAACAAgAZKfPQI2lfIqPAQAA6AIAAEUAHAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LXdkaWZmLmh0
bWxVVAkAAxui2096nttPdXgLAAEE6AMAAAToAwAAjZJfT9swFMXf+RRX5YEhVYlbaBN1oRPdkNi0
qROtQHuaHPumMfXsyNehySq++5yVgkCqxJPte3/n+PhPViKX04x8q3EaSdSwhZyL9crZ2sgJHBec
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
2SBU2s8F1gm/TVu5BgzeFY2SBSndAmkQhbMIeIct2TGulEGwu1bURrfa2WYXw1efqbVrZHtGIExh
a1AV6BZBV0C1fhSwpDsvU+PkpN10NjsaPp9zb7jRhYxhjQjj57CXSVK6rY17LG8UxdpsE9+8/+6T
sdiqV0q+zKbZfBrD5Mkr5AP/m726LVFKlKvyh/+5sF8tP1y92RzKvKtoeqw89y+bznjwC1BLAwQU
AAIACABkp89A/sGlHUABAABaAgAARQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVz
dHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtYWN0dWFsLnR4dFVUCQADG6LbTxui2091eAsAAQTo
AwAABOgDAACN0V1LwzAUBuD7/YrDvJjC6LKPfjAQYTpQUQY6FK8kTU7XuJiMJF1bh//dzFmHwmBX
IYfnPTlJJK3RAHVwSrrkDKz4QEgIqSJCWgAPqDiaJ4HlASKPiE+kZkvYXM/v7z4P0l+seQ2byezq
ZWeTbvJj42RUhcno2zZ6jpWDzYnzy//WcRxV/bjhAFsDplB7Vgru8q0bQ/vGdSystLUilQiZ9ncC
WzCG1maFBINrKgWnTmgFTgOjhUXANSpnt/tMGARbK5YbrXRhZR3As6/kupBcdRwwQ20OIgOtEHQG
Ltf7BtbplW+TY/vQtP0wbOYdRsTPKzXlATwiQu7cyo57vbRY2KDEdClcoM2i588uX30xYAtxIfh5
PIijQQDtY9+PVOQPnb6nyDnyWfqGzIdmk9vp5XyX8jN1B01w6P+0H5LWF1BLAwQKAAIAAABkp89A
nOmndQYAAAAGAAAAUwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUv
cG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtZXhwZWN0ZWQudHh0VVQJAAMbottPG6LbT3V4
CwABBOgDAAAE6AMAAFBBU1MKClBLAwQKAAAAAAC2pc9AAAAAAAAAAAAAAAAAKAAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy9VVAkAA/ee209co9tPdXgLAAEE6AMAAATo
AwAAUEsDBBQAAgAIACaoz0AVNTWSegAAALwAAABCABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
aHR0cC90ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9ydC1zdGRlcnIudHh0VVQJAAOXottP957bT3V4
CwABBOgDAAAE6AMAAI2OQQ7DIAwE73mFP0Ag7aEVvyHEVSwZjIyR+vwS5QPVXlY7h9kspREnI6mA
qqIRPsQIp1mL3m+P1xpmtvgOIfhCPXvFLkMzdv/tbG5Ph6PSRM0NpXVuwFQRnoCMBavBTZdJ4l0h
wqhpnxoTYEnHf7oqfeTzupcsMS8/UEsDBBQAAgAIABqoz0D9eOwWegAAAOIAAABHABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9taXNjL2Rucy1wcmVmZXRjaC1jb250cm9sLXN0
ZGVyci50eHRVVAkAA4Oi20/jnttPdXgLAAEE6AMAAAToAwAAizYyMjEwtjIyMjcwtzI3NzO0MDA2
Nzc1N7ByDQryD7JKTi0qiS9LLcpMq4wvKMpPjs8rLtZLTtYwNzHRjFVwdg0KiQ/w9owIA6twBipW
SMsvUjA0MtczAEJDhbTEzJzUFIXUoiJbXQtDC0OuaISFZnALLcxMzWhlIQBQSwMECgAAAAAA0KXP
QAAAAAAAAAAAAAAAACwAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L1VUCQADKJ/bT1yj2091eAsAAQToAwAABOgDAABQSwMECgAAAAAA0KXPQAAAAAAAAAAAAAAA
AEIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9VVAkAAyif209co9tPdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAEGoz0Bj
qqxsggAAAKgAAABqABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTItc3Rk
ZXJyLnR4dFVUCQADyaLbTyif2091eAsAAQToAwAABOgDAAAtjUEKwzAMBO95hV4QO72k+BWFviC4
G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jk
HhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQA
AgAIAEGoz0BjqqxsggAAAKgAAABYABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVU
CQADyaLbTyif2091eAsAAQToAwAABOgDAAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQLCMppf59
TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M
+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQAAgAIADmoz0AA
82dCyQAAAEMBAABZABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9zY3JpcHQtY3Jvc3NvcmlnaW4tbG9hZHMtY29ycmVjdGx5LWFjdHVhbC50eHRVVAkAA76i20++
ottPdXgLAAEE6AMAAAToAwAAlc9NTsNADAXgfU7hC+SnbEDZRShCQoGiTnsAM3E6ljLjaOwWentG
INYIefE2732SH/evbj+N8DI6NzyNPZyS4kLwjFd0PvNmgGYUS5oAJzZGI0BIeOUzGksCHzCdCRbJ
sGSMBB9sAU6HCYLZ1rft7u6+6crt+oeu61olf8lst1Yxze/ySXPN38O6ELE22ZpgcS2YxH+KmVQu
2ZP+YTdVNUzj4diD/jyZMTXVMbCCkRpsqEoKvIAF+u2sgrOCl5zJ23orxtvgXPUFUEsDBBQAAgAI
ADuoz0BWcFJpYgAAAI4AAABVABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS94c3MtREVOSUVELXhtbC1leHRlcm5hbC1lbnRpdHktc3RkZXJyLnR4dFVUCQADwqLb
TyGf2091eAsAAQToAwAABOgDAACNzDEKwzAMBdDdp/hbloLoajr2Bt0LwvkOAdsyigLp7Utv0AO8
V/fGLCKMIldvUjS02ZbvGVP9oIPu5sh4Wjk7R2A/wD7jk9I71b/5K9QDoRt4TZbgesPyWDAsUO0c
66/7AlBLAwQUAAIACAA5qM9APJvfTEUAAABJAAAAWwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvc2NyaXB0LWNyb3Nzb3JpZ2luLWxvYWRzLWNvcnJlY3RseS1l
eHBlY3RlZC50eHRVVAkAA76i20++ottPdXgLAAEE6AMAAAToAwAAc/RxDQqxUihOLsosKFEoSszT
4wrJyCxWKEktLlEoSCwuTi1WyExTKMlIhanJyU9MKVZIzi8qSk0uyanU4+IKcAwO5gIAUEsDBBQA
AgAIADmoz0Bigo8GFgEAABUCAABXABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9zY3JpcHQtY3Jvc3NvcmlnaW4tbG9hZHMtY29ycmVjdGx5LWRpZmYudHh0VVQJ
AAO+ottPvqLbT3V4CwABBOgDAAAE6AMAAK2QwWrDMAxA7/kK3VPHycbYyCmlhMHoVmjaD9AcpTEk
drCUrv37uS0bu43B0EFCSE/iKaVAyzjpAc9+FiXEogLxPAjrXmTSlw5rJjMHK2fNJthJlAme2Qd7
sE4NHltWxodARoazotMUC2ozOQkkaZr++wU0MuNw41cVqGJxD2mxeICqStLV5q3ZrGt4rZtm+VyX
sHeMHcELHrG5sgFFaIxZPFhnxaIQIDg82gOK9Q5Mj+5A0PkAXcCR4MNKD/vtGi4fl1oXd49ZHqMo
n/I8//E8uvbdn6hV9rqoImJU4qesl3GIMD/+kRhV+TkY4l/YWZImsFzX210JN4UQ0GUJ7HrLcHEM
EzITg+1AevoaurqFb7dxIfkEUEsDBBQAAgAIADmoz0Dq6Xbw2wcAAMsZAABfABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zY3JpcHQtY3Jvc3NvcmlnaW4tbG9h
ZHMtY29ycmVjdGx5LXByZXR0eS1kaWZmLmh0bWxVVAkAA76i208en9tPdXgLAAEE6AMAAAToAwAA
vVhbb9s2FH7PryASdAGKSrZju4vtNEOXy4ahu2DpngtKoiw2lKiRlB1323/f4U2WZCnOgG0Nmki8
HJ7Ld75zqCupdoxcnywZLR7foOWGSqpIgv44QfBPkScVJCTmAivKiyUqeEFWZiriIiEiiLhSPF+i
SfmEEngmyerkrxMrzgmJOeNiic7G04WZC+8pI7c0Td18hOPHteBVkQR+aXqpf5oH2RMkZzRBZ0mS
2LmUFypIcU7ZbolyXnBZ4tgpmGOxpqDyhORobIdKDsYZOwRhYNGGGIWySUfT6XTaI1/iQgaSCJo2
JiX9QswZzUMDRlK1RONw7scTKkuGQYjCESNBTBizE1uaqAwEjMevnI44SWixrndb/Vx49FM7Qk5l
WmSgmKqXZ3xDRMeq+Xy+GnI4IdYVoY7LBzhLus0p4xhMEXSdqXb09KobcAGmRX0UB/dTBWaOj5jt
rAyM3JanthlYF5g4arhtBS73mj2QWMdvEDhmcxs2Xcg43Hq/A6jG5ZM94e6phBCDfDCNvEGh/tO1
cFA9SRMS7fRvZFT9lvH48RcsVAimLlMqpArijLJk0LH6uAfY/+Y5YYLkENo3R85zZ3j30wLgQ4JI
L2nBbu5RB2hRNMYswIyuIT8U7zFLEI3273GRMOLd4eRoF+r3jNiA7vEcV0Lq0Gi1u1mII4hO5SMG
Z9bAsQlk1HtOixbOD+GwFmS36gAznB+Ll3UxChU/6uYwFTzvONtxpD5De/2nKo+IADSRJrrsqFf8
kEodaheLFgn6dOmjQp/Js9msk3uH0a85Rgua2xSwaVCTvsOBg2cfRKy6LThNHWE1DDcm9hKOLRSD
bnmOpLSGzneeSBxgvA2tNC0FCWyimilwpXkFEwTBj4EesHJpjtekFZQluqh9HTGsHagXxsAKoANE
1T2hrsn7gFzOFoO0m5J0n/saUSCxro6NRO7ZmqRJeyvEWQ4vX5DF6rmSXktyBNPUwyXEcLVOkgMB
KCFseAdZHNVm9Bo9VGXJhYJCKxyIwal5Tgol0esRnIcrlXHrb1uMdS8DgFcA0dhHymwwawbKf71G
K4MBEmaxZ7K3HtOaaTBjN16D3tUXtozl+CloVfa+Y8DHz8qsE7jO3AOR3f0hL4mtjsGWRI9UBUro
7LJWWyVReCFXDZVnzsAzqbCq5LdVBKW6LnuhzpRedWBLxJOdmXNtj2ewmS+pZ4pzFmHRFuB1i7jJ
1v14zr/4wZqipjalXUelH33PoJ+Hm8Mh/ni2qdsjJKVPjqG8DSEuYkCb67y8qeO2nSE2DYpNxMMS
v6XAFqIDRncUQl8CWiTkCWjsGYv3VbKhQp+5jq5ate/S8Vyh1XQp3Vu34DwIxFFF3+4VndiC7yuU
fTPKuue6vLnXWuG6bWsdTVOBc6thp0du9xiNzLoZ4OJD3+ygEeVb1wgQBl0lhPUFVevt4n6POgf3
gUnjiPZc3WMmh71zu3N2Mqz7DqE92C8knontMe89lfi70Lg5+9FX0c6l5e3XnvIO1XwmdxrXIZlj
2+g3WbngAoZXA9zk7Nf9mew7HLuss+k+7l2yxKnPLlOWCzDnFP2JTlcndTluFPHuboahRedpoHYl
6RV1avdlhBlGrJtMrJvMgQJ0lhMpfVcx6KI+jzaA/WCY+SV1DmoKdDsbyit5U49Ak/qFFDeNSthX
xH0/0a0pzWoCiRmkTGf+xATSEXZzzIHJ8cDU361epJWLLjQyRGlYtwqB6+0GOrtmgY0qSIyiSR2+
iCd0s0x57HzJK6VTvplBEatMjXBTAIcUdIHSNPGGNKukkQKNyseM2JNGrsSuQX9tg+JIwVxkVzsk
SbShWNOq+tFhA5SNBN9C4KEFyDDsdZ0PVaHudGo7ZnPXpdf9hnv3Ca67Vf1/3C6P/rNNt4fPaQK3
KBchSaqEf7LXq09kA5p+apDwnnVftVqRV+262bzSGfoKJhPH0hoB0t/ee6oOdHNc4g0EF1xMOrWn
KfegHAaTcGobr/3XE9849AT57Pb2tkEJZ5f3t/fz+14Ogxa1P13u7u76tF6SvFS7NrpcM9RZGcIj
aOooxgldXI4vHbfFjGDxybQQ/kKhR8y9K9NLrkbu092VjAUtATQifneaKVXK5WiEP+OncM35GjaV
VOrcMGMjRiM5+vx7RcRuNAln4YV7CXNahJ/l6TXINfKuUVtyzBMS6BiSLaz7BqCkg/luNm1sOTm5
ghQDTbGU7879DeIcdMwm1yOVlyOIOTgmUAS4FqBWMSVHWueRHpEjSeJKQB1wAoNYcCk5BFzXJ44T
CQEQAuo12wXQw1SYhQqq2NUI5LfObnwtOj+cMbf4oXF9u0eAo868vtyg9ichtwjIqPCrzAeBfSNx
fv1VEclyBR6CRdetpUAOzYWT3jVQo8+vb37+6eHnD3fox7uHh/ff3S3Rb4XEKUE/4A1+sCHCSmno
acahBeSMziCMCsDY2tysUJzhAqhG36VsUm+pytBvv35A2v2AmMnF1+EYfibLy/F43IgEtArA8SQJ
LBsEICLXrUmYqZwhY/A/kwhx55WIiTwiO3QeAahDHP7faFwMR6OrlfnT1K2Runq1mT604GU4lBnc
B49D8ajhkxfYPB22+f2Hu18/AilasEHf9s9ic1S9ixeoNxtW72NG9eVZKigAUhIJtwdTeJ2+hjlQ
zRz/su7TF+g+/2/g1PrzN1BLAwQUAAIACAA7qM9AYEtmEJEAAAD7AQAAXQAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQt
c2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUCQADwqLbTyGf2091eAsAAQToAwAABOgDAADtjjEO
gzAMRXdO4QuEBJZWmWHo0p4BBVMimSSynQpuXzr0Bh2rv76v90LeSqRJY06AzJk9LJEQVtXire36
S+vOdf7qnLOCoXLUw+4iZhjvt3Ewu5CZc6gbJjVf4MHxGVO7bwQUE0IPSPghQPQglBVRm/PpX8hy
uj3kRAd0rYMFJ62MAhMjSC0ls+LchH/oj0PfUEsDBBQAAgAIADmoz0DMjEiODgEAALYBAABZABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zY3JpcHQtY3Jvc3Nv
cmlnaW4tbG9hZHMtY29ycmVjdGx5LXdkaWZmLmh0bWxVVAkAA76i208dn9tPdXgLAAEE6AMAAATo
AwAAlZDBSgNBDIbv+xQBz53ZelHWdaHIIki10q0PkM5kO4O7M8skrRbx3Z1avHgRySGB5P8gX+0I
bVOzHAdqlKUBPmCL5nWX4j7YCi56xBv4BIXW/l5hf1rV+hyu9Rk1pTzzhAHMgMy3OdjcrZ661bKF
x7brFvdtBS+BsSd4wAN2JvlJAEVozF0i+ODFoxAgBDz4HYqPmeYw7Aj6mKBPOBK8eXHwsl6CE5kq
reeXV6rMNa+uy7LUTGafvBw1Y7Db+E525r+Ds4wYZxIn5WQcMiyO/yQm4rhPhvgPtspusoimKBbL
dr2pgM+/Jgyq2DjPIMQCU9ZEDL4HcfRzM0S0DCamREaGoyqK50XXFbU++f0CUEsDBBQAAgAIAHKo
z0BqnzbNZS4AAOJhBAAlABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZXJyb3JfbG9nLnR4dFVU
CQADKKPbT3Ke2091eAsAAQToAwAABOgDAADsXftz2za2/v3+FZzMzU0yXch6+rXN7riO0vhuanti
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
XPYkvMALdYcizb5U4SAz5R0mgzXCtk0ChQLuUXu497yZVuG5uieb5W1i7yUGEZ3sQwcigcjdJzLP
PA6S2KHQqKOcFJMkf+myNkwuJso8C3K0zGBOlw9Ikvwhwi3lIqT1PJM4TOoHd0klYP0VC5T9jHdM
6/z5buw8M17aLCiWF9LLAIgdAlHbURDjdpF0ro/zWZ4AmL0Ck3GIwMsLTpmgyjSIYEuY8q2pp/Kl
8BWVE6Rd6h7q64KJV/I2CMPGgVkIkXEuqFjwjnLPzc0V00ivq82yIFLCLOBFy7PPLUNughxb+52+
gGJPbpOhJjAEDO0sQ81tTM8nTFDGuK3vh+6prWi8sPoN3+M4BvMUe0Sot68+nl18PrVwEBDmnLvU
c96+s76z4jztyftX7/7ucDv0ta1KlzvDirZMxKfOT5/fv/o+sKKUhe/f9DTH6IHQvqtOu9xz/m5z
j4tTXclv/vERUy8UxDJlpaz//O2+T18hA123H9qXF+0PyVIJksJG2KNY7latGN63DutMKeIHylLc
kkTck8kTtdXQrQTIJ8rlTtw6E3CB4IovBNYqCDDGGZIudvhDFOmsQQWKmJW98kEVpB96WKyCMdd8
buOyU8k9E2/+Cxeec4DZ0DxTTg999nJyr8u7sCHmGoY/07/E/frPXz5Pvfs6qNZOkz7eZDa14kNa
ovu6WLtPlxA9DnI9LDqVV+kZWXQ//Q6Rgf5WFMOWnOmTLPGOHlsiw5zDfWBwWQbNKNAnSvcBgnZD
RVCUEht4XIVHcMI1yJNTTggMrsvgJXeAxY2weHkDPKbnkcKosnEiYVhZhz0YVzZKIXSHmyARRudN
0fiMPx5tg8iB75mPBfkzJCkO2Blf5+lbE0bE9LKzWbv8hSr3158+f9JXf4ltLsS7ldAtnw6Ic27q
iU3vwnRC3x9W5ENvxYKO4/Moo2Y5n/5FnOS0pv9uX/77P6+i54JXXy5+vLh89X9mrV/7io11KeIw
5reVdya+X2pPMWvDaj2Q8aL8p2ilf+YgE8rUKDx/fBjwcSV9rc8Yjt8kDxRQjwsjoRbVdq4b7acX
7M5Chyo+TUPtxTDF568ntsuRZpIIhfuVwPun7WKh2/n7H3/41//8+f5145z6/df1qm7+7/Wvmv7h
LEL9/vX50dWT5w/jBwtaNGHK3r1utHebwK8Du/F1gJub5vExd+eN12fNKfZiul7Xj0Z/Odp9rqqb
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
9YgeAu7KGGkJm85zjDeEMAK4dcwXeD0xBOcPyKD7wnXz0k5otIQ7quhIXB5JT1dtjP3bqgGnU2/3
LzZtvRcAgQ33XCglVAd+RPOX1gfar4L+pv3Rt2N5rT3Xm4FKyP31Phq5CegbaXjN+j1mXFngqKBp
v+Px+8/f1m9N0bY7NNwN/Sva9F+3965+3OqkDZDDH8U5riDhNHS5Tlde2yAd877G2swmZTjwmb61
BgppvBvsmsFfknB/4HWT98i3ByfLNB1AhbkNdaY/mcE7fvEi3nudyzuFU8jVLAd8gPQQ6zxZt1wj
hRqu2WAl+sMAdQsNhQkUE/crtpaVM/SPNnoOOYriJOY3nax9v89M2/bwi4/IuF8P3f47bXTqp2ZQ
N04RZ4/LZTbmox60xl3hvXGvWw9+iE5xC+aOBPBV6/GH8P6Yr3Savfbjs9BVxHlQ7vFJiOM1uJ/R
DNBmHp2rv5znh0KLFpvgFi/LsT6y8dL8SsowmIUluT0jF6aW2anb7VX7HCIT7derP+kVZfhmoAbb
7G3RA24OazUqIodc4I4duaX0K44HH3zD8TeCVi4djzAJEx43cBJWjxk4krdPCSY+0yJN3Nz4JW+1
YVXE7pu8JQAr4FIGkugr751Kd2HnlabKofWkDdkKXEhvZSlqSeZgVWey+90D0k880A83ZGFnfO9W
O2fyrPsTBY5ldZMXNrup6Cv93AHTRczfUVfkLuXrMV4hy0XU1sPDnM7y2f9cHv/7p+Or65sPx9c/
Xhz93fzn9eXB4XF74CWAB8/NyPx08ktv8VZPgnnOL76RhTdeUuIfrs4abL4fdxom/h9QSwMECgAA
AAAA6aXPQAAAAAAAAAAAAAAAAB0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L1VUCQAD
VZ/bT1yj2091eAsAAQToAwAABOgDAABQSwMECgAAAAAAu6XPQAAAAAAAAAAAAAAAACgAHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vVVQJAAMCn9tPXKPbT3V4CwABBOgD
AAAE6AMAAFBLAwQUAAIACAAsqM9Ago9MM2YAAABwAAAAPAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2Zhc3QvZmlsZXN5c3RlbS9vcC1yZW1vdmUtc3RkZXJyLnR4dFVUCQADpKLbTwKf2091eAsA
AQToAwAABOgDAACLNjIyMTSxgpDm5mZGhsbG5qZmBiZWrkFB/kFWaZk5qfHFlcUlqbnxKZlFqckl
+UWV8SmJJYlJicWpesnJGhamppqxCs6JeeolCkWpufllqQqJCnClCuWZJRkKyRmZOSlFqXl6XABQ
SwMEFAACAAgALKjPQIxPimtmAAAAcAAAADoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L2ZpbGVzeXN0ZW0vb3AtY29weS1zdGRlcnIudHh0VVQJAAOjottPAZ/bT3V4CwABBOgDAAAE6AMA
AIs2MjIxNLGCkObmZkaGxgYmRiamBlauQUH+QVZpmTmp8cWVxSWpufEpmUWpySX5RZXxKYkliUmJ
xal6yckaFqammrEKzol56iUKRam5+WWpCokKcKUK5ZklGQrJGZk5KUWpeXpcAFBLAwQUAAIACAAs
qM9ApRMHC2YAAABwAAAAOgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3Rl
bS9vcC1tb3ZlLXN0ZGVyci50eHRVVAkAA6Si208Cn9tPdXgLAAEE6AMAAAToAwAAizYyMjE0sYKQ
5uZmRobGxobGZkbGVq5BQf5BVmmZOanxxZXFJam58SmZRanJJflFlfEpiSWJSYnFqXrJyRoWpqaa
sQrOiXnqJQpFqbn5ZakKiQpwpQrlmSUZCskZmTkpRal5elwAUEsDBAoAAAAAAKulz0AAAAAAAAAA
AAAAAAAkABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvVVQJAAPhnttPXKPb
T3V4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAAbqM9AAAAAAAAAAAAAAAAAKgAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL1VUCQADhqLbT1yj2091eAsAAQToAwAABOgD
AABQSwMEFAACAAgAG6jPQAx2DsOCAAAAzAEAAFQAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9m
YXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLWNvcGllcy1pbmRpY2VzLXN0ZGVyci50
eHRVVAkAA4Wi20/jnttPdXgLAAEE6AMAAAToAwAAvc2xCsIwFIXh3ae4oy6SpLFNsjsLWYuUeHMt
AduU5NbnV3F0tssZfg58vVJaCvfdrmulUcbaU6vd2fuLd+ODqhpwikMkzJHKEXGvrTKHKwRmmhYG
zhAQqVbIK0O+QwnzSPCkwumdIc2fa0m3lQnErv8lrRBSy61Ja5qNSdkY8z/yBVBLAwQUAAIACAAa
qM9A2N5WdlYAAACeAAAARAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dl
YmdsL2Vycm9yLXJlcG9ydGluZy1zdGRlcnIudHh0VVQJAAODottP4Z7bT3V4CwABBOgDAAAE6AMA
AIs2MjIxNLCCkObmZoYWBiampgbm5lauQUH+QVbpOanFRvHJuSnxKanJ+SmpRXrJyRomlkYWmrEK
mXkpqRUK+aUlCvlpCkWJeempXNHYjDMzMDMizzgAUEsDBBQAAgAIACCoz0AYaetqTAAAAE8AAABK
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtY29tcG9z
aXRlLW1vZGVzLXN0ZGVyci50eHRVVAkAA4yi20/qnttPdXgLAAEE6AMAAAToAwAAizYyMjE0sIKQ
5uZmhhaWBqamFhZGVq5BQf5BVuk5qcVG8cm5KfEpqcn5KalFesnJGiaWRhaasQqZeSmpFQr5pSUK
+WkKRYl56alcAFBLAwQUAAIACAAbqM9AU/KdHXUAAACwAAAARQAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tc3RkZXJyLnR4dFVUCQAD
hqLbT+Oe2091eAsAAQToAwAABOgDAACNizEOwjAMAPe+wiMsKDWGNtmZkbJWqAqOqSLRBiUu7wfE
ysByw+luQKTWuC+77tj2ezREZN3J+7N3010qjjzHMQrnKGXHvCGL/fYCzfBztgf6Yw6qMj8UNENg
llohrwr5BiUsk8BTiqa3hrR80pKuqwqY5gVQSwMEFAACAAgAGqjPQMUqlcpEAAAAegAAAFEAHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1iaW5kLWF0dHJpYi1s
b2NhdGlvbi10ZXN0LXN0ZGVyci50eHRVVAkAA4Si20/hnttPdXgLAAEE6AMAAAToAwAAizYyMjE0
sIKQ5uZmhhaGxpamxkbGVq5BQf5BVuk5qcVG8cm5KfEpqcn5KalFesnJGiaWRhaasQpc0dg0m1uY
mRKjGQBQSwMEFAACAAgAG6jPQN6cfPd1AAAA5gAAAF8AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXZlcmlmaWVzLXRvby1tYW55LWlu
ZGljZXMtc3RkZXJyLnR4dFVUCQADhaLbT+Oe2091eAsAAQToAwAABOgDAACLNjIyMTSwgpDm5maG
FkaWlqaGxqZWrkFB/kFW6TmpxUbxybkp8SmpyfkpqUV6yckaJpZGFpqxCoklJam5BSUKJfkKicnJ
qcXFCvmlJQr5aQpFiXnpqQplqUUlmUBhhcw8kNKizKTSklQFA65orFaam9DQSgBQSwMEFAACAAgA
G6jPQDeY5Yo6AAAAPQAAAEoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93
ZWJnbC9udWxsLW9iamVjdC1iZWhhdmlvdXItc3RkZXJyLnR4dFVUCQADhqLbT+Oe2091eAsAAQTo
AwAABOgDAACLNjIyMTSwgpDm5maGFsYmFsZGlmZWrkFB/kFW6TmpxUbxybkp8SmpyfkpqUV6ycka
JpZGFpqxClwAUEsDBBQAAgAIABqoz0Bt83zuWgAAADEBAABRABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1zdGRl
cnIudHh0VVQJAAOEottP4p7bT3V4CwABBOgDAAAE6AMAAIs2MjIxNLCCkObmZoYWRgamhgYmxlau
QUH+QVbpOanFRvHJuSnxKanJ+SmpRXrJyRomlkYWmrEKXNFYNJuZWBqYkKvZ3MzEnGybLcyNTc3I
1WxpYWRpToxmAFBLAwQUAAIACAAaqM9AgceZQJwAAAB+BAAATgAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctYXJyYXlzLW91dC1vZi1ib3VuZHMtc3RkZXJy
LnR4dFVUCQADg6LbT+Ge2091eAsAAQToAwAABOgDAAC9zz0LwjAQBuDdX3GjLpJckuZjdxa6Fik1
PUvBNpKm/n5bXF295Xjf4+DhGkQtRfhOayvphPQWJYZLXV/rMDxpwTZOfdtTTD3lc4xH7dGdbtCV
QtOrQEnQxUjLAmktkB6Qu3kgeFMu47aGcd5P83hfC4E4ND9JbxQz6ZQzrCQKYbTlJr3i/lIq1Lzk
lrXkJiuBzKQR0nKTe/kb+QFQSwMEFAACAAgAGqjPQL1VCavTAAAAgwYAAFAAHAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3Vu
ZHMtc3RkZXJyLnR4dFVUCQADg6LbT+Ge2091eAsAAQToAwAABOgDAAC9lD1rw0AMhvf+Co3tUnS6
b++dC15DCPZZDobEV87n/P4khGwZOkReNAjxPOhFaEdkFDaP6r1TASkY5UPz07a/bXM88UKHdB4O
A6c8cPlO6dNECl97KN18ZMhrhTxCn9d5WGDMBfp1HLl87F6ig0UhtKXgpNDRKiG0j2KBBK28FNrF
KIOO97il0B6FLiQqi//JuquVz38VaoYuJV6Wp+bhvHCp060N03wfLVO/VgZ8pdSoojMi22gkQ27j
bW6vYWulpu2VzuPGSqNVEDoTi/SGt3gFUEsDBBQAAgAIABqoz0BIx6sDYwAAADwBAABEABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0LXN0
ZGVyci50eHRVVAkAA4Si20/hnttPdXgLAAEE6AMAAAToAwAAizYyMjE0sIKQ5uZmhhaGxoaWFqYm
Vq5BQf5BVuk5qcVG8cm5KfEpqcn5KalFesnJGiaWRhaasQqZeSmpFQr5pSUK+WkKRYl56alc0ViM
MzIwNTOkonGmlsbUNM7MzMCCPOMAUEsDBBQAAgAIAK2lz0Bt0qaiiAAAAC4BAABPABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLWRlbGV0ZWQtYnktYWNj
ZXNzb3Itc3RkZXJyLnR4dFVUCQAD5Z7bT+We2091eAsAAQToAwAABOgDAAC9jbEKwjAURfd+xRt1
ERsSm3bv4CRkLVLiy7MG2kSS136/0VlwEy4X7uHCGbSq2+5TTaOEkrVUSsquN+ZiummmLEZc3OgI
o6N0QNzJVuj9FSwzLU8GjmARKWeIK0O8Q7JhItgosS8YfHhfk7+tTHCshi9CLU//FJaU8Vt4Dpud
vQN82GSRKVUvUEsDBBQAAgAIABuoz0B6wlLfiwAAADQBAABOABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2JqZWN0LWRlbGV0aW9uLWJlaGF2aW91ci1zdGRlcnIu
dHh0VVQJAAOGottPhqLbT3V4CwABBOgDAAAE6AMAALWNMQ+CMBBGd3/FjboYqFBKdwYnE1ZiSL2e
2ARacxz8fjWumri4fMPLl/c6pYo8s++tKp2bg9Yqr0vbtO2ptcNIs+px8r0nTJ54j7gtamV2ZzjG
1Y3BA94cOxTiTffJVmpT/2BzIjTdBSSBQ6R5hrQIpCuwiwPBSizhiSHE15XDZRGC7EvSGPO/5ANQ
SwMEFAACAAgAHajPQA2CyoC3AAAA4wYAAEkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L2NhbnZhcy93ZWJnbC90eXBlLWNvbnZlcnNpb24tdGVzdC1zdGRlcnIudHh0VVQJAAOJottP557b
T3V4CwABBOgDAAAE6AMAAK3TMQvCQAwF4N1f0VEXyeVySdrdWehapEh7FkFbqAr+fAXXDqJvyfY+
HpdcwyyBqs800+BGkkik2tX1vq6GS75x2137ts/d1Od523VrKdk3h2LVLIaj+u/hxH+E1dIX4fPY
52cxPe7FdCrm4zjkZU5DVByXImtAcuLQdioJyTkh28l7GzhOxQy4Ck0UGMlxdCDnxiWSK6HtSnIo
Fxl4xiZKwLdzDi5IThIjOQ0JyZkSkIsUfvyzL1BLAwQKAAAAAADPpc9AAAAAAAAAAAAAAAAAJAAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL1VUCQADJp/bT1yj2091eAsAAQTo
AwAABOgDAABQSwMEFAACAAgAQKjPQGEdmHSDBwAAzRcAAEMAHAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9mYXN0L2xvYWRlci9sb2FkSW5Qcm9ncmVzcy1wcmV0dHktZGlmZi5odG1sVVQJAAPIottP
Jp/bT3V4CwABBOgDAAAE6AMAAKVYW2/bNhR+z68gEnQBiki2YzuL7TRDlzjrgN6wZE/DEFASZTOh
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
xtErPHjc78H3H5e/3czRDUALeEBKAp3lHzy6A4SgDzefPl5BA7JkRJeIP9v++T7Fj1+h+Lhf8e8J
VuPnP1BLAwQUAAIACABAqM9AbKMq8r4AAADwAAAAPQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2Zhc3QvbG9hZGVyL2xvYWRJblByb2dyZXNzLXdkaWZmLmh0bWxVVAkAA8ii208mn9tPdXgLAAEE
6AMAAAToAwAAXY4xT8MwFIT3/IqTGLo1M8ZEqioXhpRKJEyI4dV+aQHXtp6dIUL8d1x1Yzvp7rs7
fWZync5l8dytHXv84Ej2+yRxDk7hbiJ6wC/W5Nx/i6arpdsbrNtbVZKqc6IA6ynnxwp228PLcOgN
9mYYNk9GwX8Gxr3CW7A0n84F45LYiERR2FIIsSBzQZKYWMqCVRa7QpwQZu/rYq3vmk1vXkeFkXNN
1imup97j8YttwfO473dRLsbzhUP5aBrdXp/9AVBLAwQKAAIAAABAqM9A1tHaeS4AAAAuAAAAPwAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvYWRJblByb2dyZXNzLWV4cGVj
dGVkLnR4dFVUCQADyKLbT8ii2091eAsAAQToAwAABOgDAABBTEVSVDogVGVzdCBwYXNzZWQ6IFtv
YmplY3QgSFRNTEZvcm1FbGVtZW50XQoKUEsDBBQAAgAIAECoz0A0XQbmxQAAABoBAAA7ABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3MtZGlmZi50eHRV
VAkAA8ii20/IottPdXgLAAEE6AMAAAToAwAAnY+9TsMwFEZ3P8W3dUhNVJjwlKoyP1JKEQkTYjDJ
7Q9ybOv6WmrengjegOkMn3T0Ha01aplS7d0ci2ihLJopFy+5ProstY9uJP7Fc3jleFrWrOmaaBAa
b+QqUFVV/cviBinO/zmaBnqzvkW1Wd+haVS1O7x0h9Zib7tu+2gN/CUQ7g3ew+DK6Szo50SWObLB
zoUQBZkEiWMilhmrzMMK8YhQvFfYtvatN+iXb0guZxoNPuLX99KBp37fPkSerKeJgnwqqB9QSwME
FAACAAgAQKjPQCkmd2l0AAAAfQAAAD0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xv
YWRlci9sb2FkSW5Qcm9ncmVzcy1hY3R1YWwudHh0VVQJAAPIottPyKLbT3V4CwABBOgDAAAE6AMA
AA3KOw7CMBAFwD6neF3OgLsoMlA4RMKmQhTGLD85Xmu9KXJ7mHrG+eRnZzFZ74eDNcifQtgZXEqK
6+utCFslK8JiMMZSWNFIUYUriW7om6Qe/ERZc+4GZ8/BIFD7l9gaPQyufP9SUhzD5PYsi820UNFb
1/0AUEsDBAoAAAAAANmlz0AAAAAAAAAAAAAAAAAlABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZmFzdC9yZXBhaW50L1VUCQADOZ/bT1yj2091eAsAAQToAwAABOgDAABQSwMEFAACAAgA2aXPQH8i
T3A/AgAA1QUAAFcAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3JlcGFpbnQvYmxvY2st
c2VsZWN0aW9uLWdhcC1pbi1jb21wb3NpdGVkLWxheWVyLWRpZmZzLmh0bWxVVAkAAzmf2085n9tP
dXgLAAEE6AMAAAToAwAAnVRLb9swDL77V2i92EFqO+ixcQwUaYEV6LAB62VH2aIdYYrsSXQeKPLf
R8l5OE2ABdMhCix+D1Eksy/P3+fvv368sK/v397yIFvgUrkNuKANJSrIK24xNdByqTEtVFP+ji0o
KFE2Oq55G0sdl82ybaxEELHiWzCJI8rSniDILG5pTxQvQH1UjcZ4DbJe4GPRKLHL0v48yNK9cNGI
bR48y6oCA7oEVgCuATSTS16DfWQZZwsD1ezuRj+xIK6k1fVd7v5lKc+zwpCSkCtWKm7tzFO/wwbz
LKWvl2dz8k05AMMERx63pC83Nzu4y98aLqSukyQ5CNjSyBbzIKo67cHRiH0EjNaKG0YCiiAgXnv1
TiObscnUBxwQh6g5ySlAODK4NR5f4Zgej2XFomsiGXsYHYPcMoCd0ScgNnWtwCNsNDp9t4CvGsGs
uIqGMffsYTKZ9Jy74Kp/Hxh1Rg39+7TTnTWsWR8wEPOHCRfiZQUa36RFoLeJQscW3n/OywXQmpKY
SfB00F+zP59eNXt+8aFTSiVS7STuxxUKuMeasfBl01JdgOj9h0OMz+QFhoVPJXZc7QHTs/DyUIIJ
9aPiJcwXUomIe4QH3A9iKmks+ojB7XcMlIUbbHxyfpMR2GNutDLMsat454CkRVN2S3KR/OnAbH/6
zmroZZNji4Z7Fgc6ivwTeWzgIXyQOyI4q8aT/RrwCdHIoqMOCwftTw86ZmHck7j5MqQ+y8b/kx9o
DvS7kWsDGpr76ZGl/bik6emn919QSwMEFAACAAgA2aXPQGsMUTOQAAAApAwAAFUAHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3JlcGFpbnQvYmxvY2stc2VsZWN0aW9uLWdhcC1pbi1jb21w
b3NpdGVkLWxheWVyLWRpZmYucG5nVVQJAAM5n9tPOZ/bT3V4CwABBOgDAAAE6AMAAOsM8HPn5ZLi
YmBg4PX0cAliYGBWYGBgiuBgA4rMKmsqYGDgyfZ0cQypmPP2uiEjgwLPgQ2N9ecfLJJR4fpVNnem
MVBZ418rIPmjnZGRgcGIjYWB4YSEAAODQrIDA0NDz6jgqOCo4KjgqOCo4KjgqOCo4KjgqOCoIHbB
mHxxtnWz9DNigR0KBk9XP5d1TglNAFBLAwQUAAIACADZpc9AHS3DIo8AAAD5BQAAVwAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvcmVwYWludC9ibG9jay1zZWxlY3Rpb24tZ2FwLWluLWNv
bXBvc2l0ZWQtbGF5ZXItYWN0dWFsLnBuZ1VUCQADOZ/bTzmf2091eAsAAQToAwAABOgDAADrDPBz
5+WS4mJgYOD19HAJYmBgVmBgYIrgYAKKiIqIqgMpzRLXiJLkjNTk7OLSXAYzozRD4yRLC3Nzy1RT
c4OUNHPjtFTzZAvLtCRTMxMjg3saH3UZGFi7PV0cQyrmvD3IyAs04tCC7/65fOYLGEbBKBgFo2AU
0As0hDP/mczA6J2mwwfierr6uaxzSmgCAFBLAwQUAAIACADZpc9ASZd+XekAAAAyCwAAWQAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvcmVwYWludC9ibG9jay1zZWxlY3Rpb24tZ2FwLWlu
LWNvbXBvc2l0ZWQtbGF5ZXItZXhwZWN0ZWQucG5nVVQJAAM5n9tPOZ/bT3V4CwABBOgDAAAE6AMA
AOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgAoqIioiqAynNEteIkuSM1OTs4tJcBkMzc9NkA7Mk
CyBMTDFOMUg0M7VISTUwSjYytjQxMFvxW6uegYHriKeLY0jFnLc3LnIeChBxOagSMfFGPevBSXu2
LSh44GgUfLBOrmz+TF6GhnMbqxgYDlzl0GFomHGAiaGDc3gxbMP4f5x/vZajvtTOfrU6wwHfl6LD
06MjgnHDzni1OQNDTBc7N4OC2gYGhiSmUcYoY5QxyhhljDJGGcOJ8Y1VSpZ3tUpoQhywEczg6ern
ss4poQkAUEsDBAoAAAAAAOmlz0AAAAAAAAAAAAAAAAAhABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC94c2wvVVQJAANVn9tPXKPbT3V4CwABBOgDAAAE6AMAAFBLAwQUAAIACABYqM9AgUp3
rUsAAACsAAAATAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3hzbHQtdHJhbnNm
b3JtLXRvLWZyYWdtZW50LWNyYXNoLXN0ZGVyci50eHRVVAkAA/ii209Vn9tPdXgLAAEE6AMAAATo
AwAAtcyxDYAwDETRPlPcCrRs48AFWXJsZCzmR6JgA+qv97eYp5qUhoOZkSuGGgFTJxbQOOmFW1Kl
G1ty51DXV8TAYdHFvo7iVW375foAUEsDBBQAAgAIAFioz0BtR9RehQAAAPEAAAA9ABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZmFzdC94c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVU
CQAD+KLbT1Wf2091eAsAAQToAwAABOgDAACtjrENwzAMBHtPwQUUFuk0Q8osIMt0TEQSDZKCne3t
xCukeTz+i7ssdeWSnKUBqYpGmLnQLyIi1ub4YseNxjd7yItK5V4DbYaP9JHuTzI3nJM57lZQyaRr
JsN90TBJvp0rFG4Ed6BClZoD11XUh/OJV4UIvaXxBLtAkTT9USBcCJq+JsMBUEsDBBQAAgAIAFio
z0BQXUg3jAAAAPgAAAA/ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC94c2wveHNsdC1i
YWQtaW1wb3J0LXVyaS1zdGRlcnIudHh0VVQJAAP4ottPVZ/bT3V4CwABBOgDAAAE6AMAAK2OwQ3D
MAwD/51CC7h69JcZ+uwCiqM0QmUrkGWk3b5Js0I/BMkDCGYrqyiFWAV2Nx9gFuWfDIhYauBTAjce
XxIpL25Fekm8NbzTx3o8uEXDmVrguyk6N+ueuR0p0khTkrKaR+ou170DlcpwA1YuXANOetnJcFoY
oFca9xNhoEbTP85Uaz0vxxAFqV6+UEsDBAoAAAAAAOWlz0AAAAAAAAAAAAAAAAAiABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZmFzdC90ZXh0L1VUCQADTZ/bT1yj2091eAsAAQToAwAABOgDAABQ
SwMECgAAAAAA5aXPQAAAAAAAAAAAAAAAADAAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L3RleHQvaW50ZXJuYXRpb25hbC9VVAkAA02f209co9tPdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAI
AFWoz0B9IJARSo4AAEKhAABNABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC90ZXh0L2lu
dGVybmF0aW9uYWwvdGhhaS1saW5lLWJyZWFrcy1leHBlY3RlZC5wbmdVVAkAA/Gi209Nn9tPdXgL
AAEE6AMAAAToAwAAxf11XJXduj8KTxoBaRFJQRSkQ0JapAQEQQSkS1C6O5WUEhERkRIBAREB6ZYS
kVC6W7qk+1w3PmvtZ+291n5/5/2czznzDxHmnHeMcV3fGOMa4w69oyx3Fo8KD4VCnb0lL62GQmFc
RKHQtXDR4S/nyM8xw4+rTjJaTiYPH5hYOjpbo4yuGZuYmfDw8/IYmVy/xscvIPDA1PgBvxEv9wMe
IUEzQcK6JwMo1EXULekb6m5vlkYe6ZL1DaLWyIoxpdBZWMIUwnRIYmVuYOV7qH7+3FOeeu9jj2WR
tnXPY62ihR5tHY7YhXON5X5sT4sejjH2WGLJ2KWy9r4NwX/c+TiIAxvX0GGUaMNl9JFZCyY6w8Se
75pg/JvrG2+cI1u4SQzDSVDIa3xiuMyxI0nMxLNEMY4zNTUVlyFMgOAM8lZtCK24lxAj42MVKjSv
x1jIn1J6yhxnQ1Qyd99ds1x+eHoAJVSz4JPNF59qkTZAdfJpGaIh/5m7wP7p9P3X82sT9eEHRv6n
B+ikaVh4ah+Bhc9++maiat+9TX6Kvz7qdNNA9dGSP07E6aHmZBenZCfI/nxQzETP8Ex/4nXHDNux
6lwqDeo3b2c2z5na2X3SV/7hwxpBdUZu/nP1EOGjcKwIVx01mipBAwsLi2Rxb+0klVYMk1Z/e9+D
paZhkYS4exVSLiMZGRlzcw/lkFez9VAxiciW8/UUIuJjR6wSFxEvgpA0XGuJ9edn3xWlE1Rsd/J9
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
ceLVLXafj1cZ5ZhJ8jmGR0bars9NS/Dw/Fz3sFoDJAuIrKmpmXtzUboK7+DldcqiguFloBfH3MzM
4GOV2+CZ1g+OqMItPDziiMBLSfkcssa23n31KTf3BMbCwuIyY0CJWtNzWsT5bPFj/wTuS0pKKrbp
/wi4q+DpKcpobm4eUAK6hZyMrLikZMi2ZHm49ODouNlRprnQsgNEBwe50gD9C8X0EfviLanzyR3C
rSzYkX6X+3RMiCGQbr9RyWgxdxJNdKsctSj8Mc4Cmd3V9Wvd443KbN8nPbPEi3VTOUa19nzxampM
3pyL2/tRUVGgdZsdw2+YCb024KIIYfEbPK9751Z2KSTLr7n5+cwPH666Lry8kWZCeZkIp7NlyajW
h5ODA6SKMLiqpaWqBxPoyye765NhYWFgRL4K2Pghp9DP1WmecZ5tvxRwBt2/eZ1dO8fF1XV6ejom
Jua7zHvUGt6nrMvVZs+aBKR/5elwgDLkocTXZ156G6uYDkPDxcmZzg3SacGt0lXUwMenRiUj1DoH
VdhizGNVPDRc6jA7NfVVlMLvjHDvI44weM4H5frgyKKFMnutX92jpqYGnoTmNjXEKKb3Wk+PNUyu
v41iratdHq2M5Sp81mYloDJkZ3oITnR7e1vpFcfE5h7/q0uoQwrWPAZHsDmqFdvn6nlA7dmdriG8
GNDT1/e0BBJG0vf48EeafEBkUVHR3Dtcom8WhRA8RDJMDpwPdpbuDnFmv0mgJDyDnuptWOVxzUf1
Prbfya3L0bdqWeyJZX79TBKkmgH9CT45MzMTMJDoRWLidx584RgdBiIBYWHkmJCKiv0IfmOURT0Y
iZDQ0G1PCYNfioGG6S9/WOmDWf5sjHwjCf0kbiDT1m2QTHjkHHHF/CgFXNHE9okHh+uZPUWEDh+9
ghD4I5qBPkil5gyIajF3UVuVchbLC4wXOLuP/O7mdRW5HBnjx/8/UEsDBBQAAgAIAFWoz0B+FSZy
VIUAADeUAABJABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvdGhhaS1saW5lLWJyZWFrcy1kaWZmLnBuZ1VUCQAD8aLbT02f2091eAsAAQToAwAABOgDAAC9
/QVUV9+2P4BuQlBake4SaVC6ESQlpRsBKenuMBBpEFBSCemUbqRFQLobpLv7ra2/3znnnnvPvf/x
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
AAAAAAAAAAAAADUAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS1s
aW51eC9mYXN0L1VUCQADrZ/bT1yj2091eAsAAQToAwAABOgDAABQSwMECgAAAAAAF6bPQAAAAAAA
AAAAAAAAADoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51
eC9mYXN0L3RleHQvVVQJAAOtn9tPXKPbT3V4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAAXps9AAAAA
AAAAAAAAAAAASAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtLWxp
bnV4L2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL1VUCQADrZ/bT1yj2091eAsAAQToAwAABOgDAABQ
SwMEFAACAAgAiKjPQGMSR76BZQAA7HMAAGsAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0
Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9jb21wbGV4LWpvaW5p
bmctdXNpbmctZ3Bvcy1kaWZmLnBuZ1VUCQADT6PbT62f2091eAsAAQToAwAABOgDAADt/HdUVE27
L4o2oJhAQHJWEJEMkjMqAhIlZxCQnCTnoAiSEZCclJyanFMjWaLknDNNzplb0/db+1tr73P3GeOc
M+65fyzG+47Rds+uOavqeX7hqaoOeCcrjnmf5D4MBsN8KyGqAIOhPYbBUNXuooN34h0/f4TBHsPe
ir5Uck7cnHZxl169vrPb10H16O0XE8Ynt2geZRRw/gxUyIipOObEtzI1LTdDOryRcjPNyzXJhldE
aGhI+dZkvNySOn0rQTOh5H83B44T3t29g+XU28NoHOfx7KxOt7COZ9KuoY9vNY7XWCxj2Gz2Dg70
F46m9NERJgr9KXl+RH3199XD5nt3/37Ki0H7+O87S6yJ3th/r2/+v3hR8OYt0QyF39c0NDQ/bRbb
Uk3tN8f6M19OUslUx07LrO8/Z2Zu+06niE1GFjw3957D5E+j1SqT+bIJZg6XaZjQ3HPJDTXTazL1
hxYJBb5HL0VF+ejhKhcNSw/p8RcWF9k8zu2d3dxeZyi8zBtOzc6+y27c29JO6RWsUW72hJb2jgZ8
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
smCYr1zxCgpKvc21wV9U8O9awFV0FJQnzP+cvRRD7hO/+/D7ZRSU10H//cZ/v/Hfb/z3G//9xv+f
3jjHLmS7LVAT/for8siPFyKSz3KFND3/N1BLAwQKAAAAAAAXps9AAAAAAAAAAAAAAAAAKgAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL1VUCQADrp/bT1yj2091eAsA
AQToAwAABOgDAABQSwMECgAAAAAAA6bPQAAAAAAAAAAAAAAAAC8AHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL1VUCQADhp/bT1yj2091eAsAAQToAwAABOgD
AABQSwMECgAAAAAAA6bPQAAAAAAAAAAAAAAAADUAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL1VUCQADhp/bT1yj2091eAsAAQToAwAABOgDAABQ
SwMECgAAAAAAA6bPQAAAAAAAAAAAAAAAAD4AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L1VUCQADhp/bT1yj2091eAsAAQToAwAA
BOgDAABQSwMECgAAAAAAA6bPQAAAAAAAAAAAAAAAAEsAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9VVAkA
A4af209co9tPdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAHKoz0CTJCtadQAAAOIAAAB7ABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0
eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtaWZyYW1lLWluLW1haW4tZnJhbWUtYWxsb3dlZC1zdGRl
cnIudHh0VVQJAAMoo9tPhp/bT3V4CwABBOgDAAAE6AMAAIs2MjE0NLACksYGVubmZsYmpqZAppmF
lWtQkH+QVXJqUUl8WWpRZlplfEFRfnJ8XnGxXnKyhrmJiWasgrNrUEh8gLdnRBhYhTNQsUJafpGC
oZG5ngEQGiqkJWbmpKYopBYV2epaGFoYckVjs9DEyMCYVhYCAFBLAwQKAAAAAACMqM9AAAAAAAAA
AAAAAAAANgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBv
c2l0aW5nL1VUCQADV6PbT1yj2091eAsAAQToAwAABOgDAABQSwMEFAACAAgAiajPQFWxKzZFAgAA
2gUAAGQAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3Np
dGluZy9sb3N0LWNvbXBvc2l0b3ItY29udGV4dC1wZXJtYW5lbnRseS1kaWZmcy5odG1sVVQJAANS
o9tPsJ/bT3V4CwABBOgDAAAE6AMAAJ1UwW7iMBC95yu8vSSIkqAeS4hU0UpbidWutL30aOJJsOTY
WXtCQRX/vuOEQChIi9aHxPLMe/Nm7Jn02/PPxdv7rxf2/e3HMgvSNVbK/4AL+qFEBVmtOBbGVkm+
tqaSDW1MVRsnUeoyUcbhpD8wlrYaYYuTGmzFNWhUu9izpknHFqQOd/SPFV+B+izIffIBslzj48oo
sU+Tzh6kyUHFyohdFjzLogALOge2AvwA0ExWvAT3yFLO1haK+d0NWiaCeOJal3eZ36UJz9KVpShC
bliuuHPzlvaNcFma0OmlbUG0XGqwTHDkk5piy+1N0e+ypeGCyhbHcU/ucitrzIKoaHSO0uhoxD4D
RmvDLSNyRRAQr13kRiObs+msdegRvdeCgitAODL4NR5f4ZgdzbJg0bUgKXsYHZ38soCN1ScgmrJU
0CJcNDqdO8BXStxuuIqGPvfsYTqddpz74Kr+1jFqrBrqb0tOOWv4YJ3DIFhrjLkQLxsq8FI6BLqX
KPRs4f3XulwAnc2JmQKeDF2anX12Vex54kOlVEp/47H/+EcC/rLmLHzZ1pAjiE5/OMS0lbzAsPAp
x4arA2B25p73zy+2QL2Zw2ItlYh4i2gB9wOfQlqHrccg+z0D5eAGGV+U3yQEDpgbpQxr7F+8V0Ch
hcmbilTEfxqwu9+giNPQzcbH9gwPLB50DPJP5LF5h/BB7Yjg7DWe5JeAT4hWrhrqsHDQ+nShYxZO
OhI/W4bUZ9X4f/Kepqffj3wb0LA8TI806cYkTc12hP8FUEsDBBQAAgAIAIioz0A/Mu0XQAIAALMF
AABXABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRp
bmcvY2hpbGQtbGF5ZXItM2Qtc29ydGluZy1kaWZmcy5odG1sVVQJAANQo9tPrp/bT3V4CwABBOgD
AAAE6AMAAJ1UTW/bMAy9+1dovdhBajvobo1joEgLrECHDVguPcoW7QiQJU+i0wZF/vsoOx9Om2HF
dLAMke/xiSKZfbn/sVw9/3xg31bfn/IgW2Oj/AZc0IYSFeSt4lgZ26Tl2ppGdvRjmtY4iVLXdCiV
iBXfgo2/itgZ648TT5SlA0GQOdzSnihegHqrjMb4BWS9xtvCKLHL0sEeZOk+cGHENg/uZVWBBV0C
KwBfADSTDa/B3bKMs7WFanF1OXwsCJq0ur7K/V+W8jwrLBELuWGl4s4teqYVvGKepXT60bYkmVxq
sExw5HFL4eTr3wJe5U+GC3/xJDnwudLKFvMgqjpdojQ6mrC3gNHacMuITxEExOMQrNPIFmw27x0O
iIPXkhKuAOHI4Nd0eoFjfjTLikWXgmTsZnJ08ssCdlafgGjqWkGPcNHkdO4AHzWC3XAVjX2u2c1s
Nhs4d8FF/b1j1Fk11t9nme6s4YUNDqNgvTHhQjxsQOOTdAj0FFHo2cLr93n5AHS2JGYKeDIM1xzs
84tizy8+VkqpRCqVxH98XYB/rAULH15bKBHEoD8cY/pMfsCw8K7Ejqs9YH7mXh4qLrFATVfC0tda
xHtED7ge+VTSOuw9RrffMVAOPiHjnfJPCYE95pNSxjn2Fe8VUGhhyq4hFcnvDuz2FyjiNPSyybEj
wz2LBx2D/BN57NcxfJQ7IjirxpP8GvAO0cqiow4LR91ODzplYTyQ+HEypj7Lxv+TH2gO9LuJbwMa
ifvpkaXDMKTZ2M/mP1BLAwQUAAIACACIqM9AHS3DIo8AAAD5BQAASwAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nLzNkLWNvcm5lcnMtYWN0dWFs
LnBuZ1VUCQADT6PbT66f2091eAsAAQToAwAABOgDAADrDPBz5+WS4mJgYOD19HAJYmBgVmBgYIrg
YAKKiIqIqgMpzRLXiJLkjNTk7OLSXAYzozRD4yRLC3Nzy1RTc4OUNHPjtFTzZAvLtCRTMxMjg3sa
H3UZGFi7PV0cQyrmvD3IyAs04tCC7/65fOYLGEbBKBgFo2AU0As0hDP/mczA6J2mwwfierr6uaxz
SmgCAFBLAwQUAAIACACJqM9AawxRM5AAAACkDAAAYgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2xvc3QtY29tcG9zaXRvci1jb250ZXh0LXBl
cm1hbmVudGx5LWRpZmYucG5nVVQJAANSo9tPsJ/bT3V4CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg
4PX0cAliYGBWYGBgiuBgA4rMKmsqYGDgyfZ0cQypmPP2uiEjgwLPgQ2N9ecfLJJR4fpVNnemMVBZ
418rIPmjnZGRgcGIjYWB4YSEAAODQrIDA0NDz6jgqOCo4KjgqOCo4KjgqOCo4KjgqOCoIHbBmHxx
tnWz9DNigR0KBk9XP5d1TglNAFBLAwQUAAIACACIqM9AXSM4Y0gCAADOBQAAYAAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2JhY2tmYWNlLXZp
c2liaWxpdHktdHJhbnNmb3JtZWQtZGlmZnMuaHRtbFVUCQADUKPbT66f2091eAsAAQToAwAABOgD
AACdVMFu2zAMvfsrtF7sII0d9Ng4Boq0wAp02ID10qMs0Y4wWfYkOm1Q5N9H2YnjNAFaTAdLMPke
n0iR6bf7n6vnl18P7Pvzj6csSNdYab8Bl7ShQg1ZozkWta0SsbZ1pVo61FVTO4XKlEnOxZ+CC5ht
lFO50gq3M7TcOA8BGXvGNOmZgtThlvZY8xz0e1EbnL2CKtd4m9da7tKktwdpsleQ13KbBfeqKMCC
EcBywFcAw1TFS3C3LOVsbaFYXn2iYyaJI25MeZX5U5rwLM0tRZBqw4Tmzi07ymd4wyxN6O+5bUV6
uTJgmeTIZw3FVW+fRr7KnmouKVVxHB+InbCqwSyIitYIVLWJJuw9YLQ23DIi1gQB+dhHbQ2yJZsv
OocD4uC1olpoQBgY/JpOL3AsBrMqWHQpSMpuJoOTXxawteYIxLosNXQIF02O/x3go0GwG66jsc81
u5nP5z3nLriov3OMWqvH+rt0050NvLLeYRSsM8ZcyocNGHxSDoFqEoWeLbz+mJczoLOCmCng0dBf
s7cvLoo9vfhYKaUS6c3E/uMfCPhiLVn48NaAQJC9/nCM6TJ5hmHhncCW6z1gceIuDk8vtkD9KGC1
VlpGvEN0gOuRT6Gsw85jdPsdA+3gCzI+KP+SENhjvihlnGP/4r0CCi1r0VakIv7bgt3+Bk2cNVU2
Hloz3LN40BDkU+TQuGP4KHdEcPIaj/JLwDtEq/KWOiwctT0VdMrCWU/i58qY+iQb/09+oDnQ7ya+
DWhI7qdHmvTjkaZlN7b/AVBLAwQUAAIACACJqM9AawxRM5AAAACkDAAAXAAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2xvc3QtY29tcG9zaXRv
ci1jb250ZXh0LXR3aWNlLWRpZmYucG5nVVQJAANSo9tPsJ/bT3V4CwABBOgDAAAE6AMAAOsM8HPn
5ZLiYmBg4PX0cAliYGBWYGBgiuBgA4rMKmsqYGDgyfZ0cQypmPP2uiEjgwLPgQ2N9ecfLJJR4fpV
NnemMVBZ418rIPmjnZGRgcGIjYWB4YSEAAODQrIDA0NDz6jgqOCo4KjgqOCo4KjgqOCo4KjgqOCo
IHbBmHxxtnWz9DNigR0KBk9XP5d1TglNAFBLAwQUAAIACACLqM9AawxRM5AAAACkDAAAXQAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3dlYmds
LWxvc2VzLWNvbXBvc2l0b3ItY29udGV4dC1kaWZmLnBuZ1VUCQADVaPbT7Sf2091eAsAAQToAwAA
BOgDAADrDPBz5+WS4mJgYOD19HAJYmBgVmBgYIrgYAOKzCprKmBg4Mn2dHEMqZjz9rohI4MCz4EN
jfXnHyySUeH6VTZ3pjFQWeNfKyD5o52RkYHBiI2FgeGEhAADg0KyAwNDQ8+o4KjgqOCo4KjgqOCo
4KjgqOCo4KjgqCB2wZh8cbZ1s/QzYoEdCgZPVz+XdU4JTQBQSwMEFAACAAgAiajPQCuxiDpBAgAA
yAUAAF4AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3Np
dGluZy9sb3N0LWNvbXBvc2l0b3ItY29udGV4dC10d2ljZS1kaWZmcy5odG1sVVQJAANSo9tPsJ/b
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
XDfz+/PvsbX/sp9/u7yt+tzvE8k7yt4Vn/sx83/JnG9WbdHfCq9svPdq1WOmhluJjEZ7BSq/tuz+
zvmLT/xF8p33h55MfVy1fWfuxq//6o9IrHpvezv0WG3rbwaGmIsvvTcAfXj/8TfGoiO/Piyet/KP
7/mGsGLbLMvLu2v/fJGdVhv79m9C8Z95DA2ldnLJNmK5P548evDZxTL29p6StZ+fl0Vfr/bfX/+2
Ytqda3K/b75a8TN359313yQOz7KcuzUnY/3845uPH95cq/tzd/ixDV8/7n5mtv/2/TvJP6/Wrvv6
il1rztcZe15ZMDxQ72ZmWffu3PtoBoYfunn7WbgZGHbwMx6K/vFLfv1cWzEGhn3pnEBywkcu0hLJ
qOCo4KjgqOCo4KjgqOCo4KjgqOCo4AAK/mR/rffA8mhErzFQnMHT1c9lnVNCEwBQSwMEFAACAAgA
iKjPQGsMUTOQAAAApAwAAEkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9jb21wb3NpdGluZy8zZC1jb3JuZXJzLWRpZmYucG5nVVQJAANPo9tPrp/bT3V4CwABBOgD
AAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgA4rMKmsqYGDgyfZ0cQypmPP2uiEjgwLP
gQ2N9ecfLJJR4fpVNnemMVBZ418rIPmjnZGRgcGIjYWB4YSEAAODQrIDA0NDz6jgqOCo4KjgqOCo
4KjgqOCo4KjgqOCoIHbBmHxxtnWz9DNigR0KBk9XP5d1TglNAFBLAwQUAAIACACLqM9A7fW2S0QC
AAC2BQAAWAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBv
c2l0aW5nL3ZpZGVvLWZyYW1lLXNpemUtY2hhbmdlLWRpZmZzLmh0bWxVVAkAA1Wj20+zn9tPdXgL
AAEE6AMAAAToAwAAnVRNb9swDL37V2i52EFiO+ixcQwUaYAV6LAB62VHxaIdAbKUSXTSrsh/H2Xn
w2lSLJgOlmDyPT5RJLMvj9/nL79+LNjXl2/PeZCtsFZ+Ay5oQ4kK8rXiWBpbp8XKmlo2dDD12jiJ
UlfpRgowcWl5DbGTfyAuVlxXkHimLO0YgszhG+2J4ktQ76XRGG9BViu8Xxoldlna2YMs3UdeGvGW
B4+yLMGCLoAtAbcAmsmaV+DuWcbZykI5G3wSPxaETda6GuT+lKU8z5aWmIXcsEJx52Yt1Qu8Yp6l
9PfSNiedXGqwTHDk8ZriyddPIw7yZ8MFpSRJkgOhK6xcYx5EZaMLlEZHQ/YeMFobbhkRKoKAeOqi
NRrZjE2mrcMBcfCaU84VIBwZ/BqNrnBMj2ZZsuhakIzdDY9OflnAxuoTEE1VKWgRLhqe/jvAJ41g
N1xFfZ8xu5tMJh3nLriqv3WMGqv6+ts00501bFnn0AvWGhMuxGIDGp+lQ6C3iELPFo4/5uUC6GxB
zBTwZOiu2dmnV8WeX7yvlFKJVCuJ//jCAP9YMxYuXtdQIIhOf9jHtJm8wLDwocCGqz1geuZeHEou
sUB9V8B8JZWIeItoAeOeTymtw9ajd/sdA+XgBhkflN8kBPaYG6X0c+wr3iug0MIUTU0qkt8N2Lef
oIjT0Msmx5YM9ywedAzyT+SxYfvwXu6I4KwaT/IrwAdEK5cNdVjYa3d60BEL447Ez5M+9Vk2/p/8
QHOg3w19G9BQ3E+PLO3GIU3Hdjz/BVBLAwQUAAIACACKqM9AawxRM5AAAACkDAAAXAAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3JlbmRlci1z
dXJmYWNlLWFscGhhLWJsZW5kaW5nLWRpZmYucG5nVVQJAANTo9tPsp/bT3V4CwABBOgDAAAE6AMA
AOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgA4rMKmsqYGDgyfZ0cQypmPP2uiEjgwLPgQ2N9ecf
LJJR4fpVNnemMVBZ418rIPmjnZGRgcGIjYWB4YSEAAODQrIDA0NDz6jgqOCo4KjgqOCo4KjgqOCo
4KjgqOCoIHbBmHxxtnWz9DNigR0KBk9XP5d1TglNAFBLAwQKAAAAAAAaps9AAAAAAAAAAAAAAAAA
SgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5n
L2FjY2VsZXJhdGVkLWRyYXdpbmcvVVQJAAO0n9tPXKPbT3V4CwABBOgDAAAE6AMAAFBLAwQUAAIA
CACLqM9AHS3DIo8AAAD5BQAAYAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2No
cm9taXVtL2NvbXBvc2l0aW5nL2FjY2VsZXJhdGVkLWRyYXdpbmcvc3ZnLWZpbHRlcnMtYWN0dWFs
LnBuZ1VUCQADVqPbT7Sf2091eAsAAQToAwAABOgDAADrDPBz5+WS4mJgYOD19HAJYmBgVmBgYIrg
YAKKiIqIqgMpzRLXiJLkjNTk7OLSXAYzozRD4yRLC3Nzy1RTc4OUNHPjtFTzZAvLtCRTMxMjg3sa
H3UZGFi7PV0cQyrmvD3IyAs04tCC7/65fOYLGEbBKBgFo2AU0As0hDP/mczA6J2mwwfierr6uaxz
SmgCAFBLAwQUAAIACACLqM9Am2wJAhoBAAA+CwAAXAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2FjY2VsZXJhdGVkLWRyYXdpbmcvYWxwaGEt
ZXhwZWN0ZWQucG5nVVQJAANWo9tPtJ/bT3V4CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAli
YGBWYGBgiuBgAoqIioiqAynNEteIkuSM1OTs4tJcBhMDc4PUpDSzpETL1JTE5KS0FAsTcwPLNPMU
oySLZAPzOZ+UVzEwcF3wdHEMqZjz9sZBzsMOAiwHJweu4fI6ua7YoJe/b9X/Qzaz96alMTJc+PlG
joGhQKqRlUFAOIKBwRA3Y+Pv7ZvL977l+/cm8vw7ToYCHXkdhoYZB5gYOjhHGaOMwca4YWq825yB
QeYoOzeDgtoGBoYkJvyMsv9l39Ztv3twvu3rm7aMDH1PmwnniVHGKGOAGLvT0r6zMTQs/pHAyHCE
RYzBwWeUMcoYZYwyhidj35tmwZUtRmU5wAYxg6ern8s6p4QmAFBLAwQUAAIACACLqM9AO/jK3+oA
AAAwCwAAYgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBv
c2l0aW5nL2FjY2VsZXJhdGVkLWRyYXdpbmcvc3ZnLWZpbHRlcnMtZXhwZWN0ZWQucG5nVVQJAANW
o9tPtJ/bT3V4CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgAoqIioiqAynN
EteIkuSM1OTs4tJchhRTU5NEI5NEC3MTg8QkCyPTlLRkM4Nkw0RDw1TTRDMDdZbtLxgYuA55ujiG
VMx5e+cg52EHARbHuQH3jk1cnyRgYqezSmlG+ub+WONiBoYLluX8DAwV0o2sDALCEQwMhhiMjdnf
G9Kvlb+dx2BvJG//iuHfVG4xBgefBEaGIyyjjFHGKGOUMcogiZFz9sw7XgaG9Y+acJa6o4xRxihj
lDGCGbsZj+TzrlZRnyoMbAIzeLr6uaxzSmgCAFBLAwQUAAIACACLqM9AawxRM5AAAACkDAAAXgAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2Fj
Y2VsZXJhdGVkLWRyYXdpbmcvc3ZnLWZpbHRlcnMtZGlmZi5wbmdVVAkAA1aj20+0n9tPdXgLAAEE
6AMAAAToAwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GADiswqaypgYODJ9nRxDKmY8/a6ISOD
As+BDY315x8sklHh+lU2d6YxUFnjXysg+aOdkZGBwYiNhYHhhIQAA4NCsgMDQ0PPqOCo4KjgqOCo
4KjgqOCo4KjgqOCo4KggdsGYfHG2dbP0M2KBHQoGT1c/l3VOCU0AUEsDBBQAAgAIAIuoz0BrDFEz
kAAAAKQMAABYABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29t
cG9zaXRpbmcvYWNjZWxlcmF0ZWQtZHJhd2luZy9hbHBoYS1kaWZmLnBuZ1VUCQADVqPbT7Sf2091
eAsAAQToAwAABOgDAADrDPBz5+WS4mJgYOD19HAJYmBgVmBgYIrgYAOKzCprKmBg4Mn2dHEMqZjz
9rohI4MCz4ENjfXnHyySUeH6VTZ3pjFQWeNfKyD5o52RkYHBiI2FgeGEhAADg0KyAwNDQ8+o4Kjg
qOCo4KjgqOCo4KjgqOCo4KjgqCB2wZh8cbZ1s/QzYoEdCgZPVz+XdU4JTQBQSwMEFAACAAgAi6jP
QPwqjLdBAgAAlAUAAFoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9jb21wb3NpdGluZy9hY2NlbGVyYXRlZC1kcmF3aW5nL2FscGhhLWRpZmZzLmh0bWxVVAkAA1aj
20+0n9tPdXgLAAEE6AMAAAToAwAAnVRNj9owEL3nV7hcEgQkaI9LiLRikboSVSuVyx6NPQmWjJM6
Ez604r937PARFqSu6kMceea9eR7PTPrt9eds+f5rzr4vfyyyIF3jRrsNuKQNFWrIKs0xL+0mEWtb
blRDP+WmKmuFyhQJFwI0WI4gR9LynT/T1ZrHjitNWo4grfFAe6z5CvRHXhoc7UAVa3xelVoe06S1
B2lyir0q5SELXlWegwUjgK0AdwCGqQ0voH5mKWdrC/m056ONJHnGlSl6mftLE56lK0s8Um2Z0Lyu
px64hD1maUKn97YZqeLKgGWSIx9VxK72J/5etii5pMvFcXyG18KqCrMgyhsjUJUm6rOPgNHacssI
rgkC8q3lbgyyKRtPvMMZcfaaUUY1IFwY3BoMHnBMLmaVs+hRkJQ99S9OblnAxporEMui0OARddS/
nteAbwbBbrmOuj5D9jQej1vOY/BQv3eMGqu7+n1S6c4Gdqx16ATzxphLOd+CwYWqESjzUejYwuHn
vNwBayuImQJeDe01W/vkodjbi3eVUiqRKiN2H1cG4B5rysL5vgJBpd3qD7sYn8k7DAtfBDZcnwCT
G3dxLrDYAnWVgNlaaRlxj/CAYccnV7ZG79G5/ZGBruELMj4p/5IQOGG+KKWbY1fxTgGFlqVoNqQi
/tOAPfym6SCwpJeNLw0Ynlgc6BLkn8hLe3bhndwRwU01XuUXgC+IVq0a6rCw09z0oAMWjloSNz26
1DfZ+H/yM82Z/th3bUAD7zQ90qQddTT5/PD9C1BLAwQUAAIACACLqM9Ai2KpDUYCAACmBQAAYAAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2Fj
Y2VsZXJhdGVkLWRyYXdpbmcvc3ZnLWZpbHRlcnMtZGlmZnMuaHRtbFVUCQADVqPbT7Sf2091eAsA
AQToAwAABOgDAACdVMFu4jAQvecrvFwSRElQjyVEqijSVupqV1ouPRp7EiwZh7UnUFTx7ztOCJgW
aav1IY488968GXsm//b0c758/bVg35c/XoooX+NG+w24pA0Vaii2mmNZ200m1rbeqIZ+6s22dgqV
qTIuBGiwHEGOpeV7f+Z21bhUGsG61DPmWccU5Q4PtKear0C/l7XB8R5UtcaHVa3lMc86e5RnJwWr
Wh6K6EmVJVgwAtgKcA9gmNrwCtwDyzlbWyhngyDmWJJ/ujXVoPB/ecaLfGWJTaodE5o7N2vhS3jD
Is/o9LNtTtq4MmCZ5MjHW4qh3q6iDIqXmktKN03TnsQJq7ZYREnZGIGqNsmQvUeM1o5bRiSaICCf
uwiNQTZjk2nr0CN6rznVWAPCmcGv0egGx/RsViVLbgXJ2f3w7OSXBWysuQCxrioNLcIlw8u5A3w2
lOyO6yT0uWP3k8mk4zxGN/W3jkljdai/LS3lbGDPOocgWGtMuZSLHRh8UQ6B6p/Eni2++1iXT0Bn
BTFTwIuhS7OzT2+KvU48VEqlRHofqf/4xwD+smYsXrxtQdBj7/THIaat5CcMix8FNlyfANMrd9E/
s9QC9ZmA+VppmfAW0QLuAp9SWYetR5D9kYF28AUZH5R/SQicMF+UEtbYv3ivgELLWjQbUpH+acAe
ftO8EFjTzabnNoxPLB50DvJP5LlJQ3hQOyK4eo0X+RXgI6JVq4Y6LA5anC50xOJxR+JnSEh9VY3/
J+9pevrj0LcBDb/T9MizbuzRFGzH8V9QSwMEFAACAAgAi6jPQB0twyKPAAAA+QUAAFoAHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9hY2NlbGVy
YXRlZC1kcmF3aW5nL2FscGhhLWFjdHVhbC5wbmdVVAkAA1aj20+0n9tPdXgLAAEE6AMAAAToAwAA
6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GACioiKiKoDKc0S14iS5IzU5Ozi0lwGM6M0Q+MkSwtz
c8tUU3ODlDRz47RU82QLy7QkUzMTI4N7Gh91GRhYuz1dHEMq5rw9yMgLNOLQgu/+uXzmCxhGwSgY
BaNgFNALNIQz/5nMwOidpsMH4nq6+rmsc0poAgBQSwMEFAACAAgAiajPQB0twyKPAAAA+QUAAE8A
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9p
bWctbGF5ZXItZ3Jvdy1hY3R1YWwucG5nVVQJAANRo9tPr5/bT3V4CwABBOgDAAAE6AMAAOsM8HPn
5ZLiYmBg4PX0cAliYGBWYGBgiuBgAoqIioiqAynNEteIkuSM1OTs4tJcBjOjNEPjJEsLc3PLVFNz
g5Q0c+O0VPNkC8u0JFMzEyODexofdRkYWLs9XRxDKua8PcjICzTi0ILv/rl85gsYRsEoGAWjYBTQ
CzSEM/+ZzMDonabDB+J6uvq5rHNKaAIAUEsDBBQAAgAIAImoz0BrDFEzkAAAAKQMAABNABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvaW1nLWxh
eWVyLWdyb3ctZGlmZi5wbmdVVAkAA1Gj20+vn9tPdXgLAAEE6AMAAAToAwAA6wzwc+flkuJiYGDg
9fRwCWJgYFZgYGCK4GADiswqaypgYODJ9nRxDKmY8/a6ISODAs+BDY315x8sklHh+lU2d6YxUFnj
Xysg+aOdkZGBwYiNhYHhhIQAA4NCsgMDQ0PPqOCo4KjgqOCo4KjgqOCo4KjgqOCo4KggdsGYfHG2
dbP0M2KBHQoGT1c/l3VOCU0AUEsDBBQAAgAIAImoz0DhKG9N6gAAADALAABgABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvbG9zdC1jb21wb3Np
dG9yLWNvbnRleHQtdHdpY2UtZXhwZWN0ZWQucG5nVVQJAANSo9tPsJ/bT3V4CwABBOgDAAAE6AMA
AOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgAoqIioiqAynNEteIkuSM1OTs4tJcBrMkg9TkZHNj
U1MjEwNLM1PDtJQ0Y5M0M0vTRHNjAzPjvxkbXRkYuA55ujiGVMx5e8eQr9lBgMVx/tN65bh9LS7n
ohQCQqtOtqzlzTt7hp2h4dz3d4wMDPnKGxgYkpi4GRTUMBjffn/f8K30aZ/77LPxSQwHTrJiVTXK
GBKMbWnP3vEyMKx/1MTKICAcwcBg2DjKGGWMMkYZo4xRxihjlDFIGNYM5s28q28vXPgM2ARm8HT1
c1nnlNAEAFBLAwQUAAIACACJqM9APJWtaesAAAAyCwAAbQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2xvc3QtY29tcG9zaXRvci1jb250ZXh0
LXdpdGgtcmVuZGVyc3VyZmFjZS1leHBlY3RlZC5wbmdVVAkAA1Kj20+wn9tPdXgLAAEE6AMAAATo
AwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GACioiKiKoDKc0S14iS5IzU5Ozi0lwG85Q0k+RE
C3PLVEOzFBNL02RzM9PEVIsUExNTS4tEg1SNz8s+MDBwHfF0cQypmPP2xkbeQw4Cro49GmeWxmaW
bAt58KaTOVvt7pN2/+ozZ5gZGs4Vf2dgaNgtGMHAYNjIyiAgjMGojpW9Vl1beKw++vktW0aGH4p2
uNWOMgY7Y2NyWlk+A8MOUXkdhoYZB5gYOjhHGaOMUcYoY5QxyhhljDIGCeMG+2o+3tWFYXbewEYw
g6ern8s6p4QmAFBLAwQKAAAAAAAbps9AAAAAAAAAAAAAAAAAPgAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpbHRlcnMvVVQJAAO1n9tPXKPb
T3V4CwABBOgDAAAE6AMAAFBLAwQUAAIACACMqM9AHS3DIo8AAAD5BQAAXwAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpbHRlcnMvYmFja2dy
b3VuZC1maWx0ZXItYmx1ci1hY3R1YWwucG5nVVQJAANXo9tPtZ/bT3V4CwABBOgDAAAE6AMAAOsM
8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgAoqIioiqAynNEteIkuSM1OTs4tJcBjOjNEPjJEsLc3PL
VFNzg5Q0c+O0VPNkC8u0JFMzEyODexofdRkYWLs9XRxDKua8PcjICzTi0ILv/rl85gsYRsEoGAWj
YBTQCzSEM/+ZzMDonabDB+J6uvq5rHNKaAIAUEsDBBQAAgAIAIuoz0CHCFGrBgYAAJsPAABmABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZmls
dGVycy9iYWNrZ3JvdW5kLWZpbHRlci1ibHVyLW9mZi1heGlzLWRpZmYucG5nVVQJAANWo9tPtJ/b
T3V4CwABBOgDAAAE6AMAAO1V+1MTVxQ+uyy6EcGkmVIfiBvtAK1RAUGjIq40okgMtbUYfOBCQKso
Bqwa1NE1YsGBYuoTEEGnrUwdhqbQigLaDQiiWB9jh6EjStSgtb4oThEUpeeC/RP8jZ9y57vnnvOd
73wnu+dT/Vz3ISOHAIB7xDztZwAuHABtYAchkr/JYgIYFh+hnb3IXPDkVmPqqAp6zkK/WaUdhyfv
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
Eb3XigqvAGFg8Gs6vcCxGMyyZNGlICm7mQxOflnAxuoTEE1VKWgRLpqczh3go6aEt1xFY59rdjOf
zzvOQ3BRf+sYNVaN9bdVppw17FjnMArWGmMuxMMWND5Jh0BXEYWeLbx+X5cPQGcLYqaAJ0OXZmdf
XBR7nvhYKZUS6anE/uPfBfjLWrLwYV9DgSA6/eEY01byA4aFdwU2XB0BizP3on9xsQVqvgJWa6lE
xFtEC7ge+ZTSOmw9RtkfGCgHn5DxTvmnhMAR80kp4xr7F+8VUGhhimZDKuLfDdjXn6CI09DNxkNH
hkcWDxqC/BM59OsYPqodEZy9xpP8CvAO0cq8oQ4LR91OFzpl4awj8eNkTH1Wjf8n72l6+sPEtwGN
xOP0SJNuGNJsbGf0H1BLAwQUAAIACACLqM9A/5ufUC47AABMRQAAagAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpbHRlcnMvYmFja2dyb3Vu
ZC1maWx0ZXItYmx1ci1vZmYtYXhpcy1leHBlY3RlZC5wbmdVVAkAA1aj20+0n9tPdXgLAAEE6AMA
AAToAwAA7bxnVFNR1y0cVARBQEB6R4oSpEmRriIdVFpoBgIBAWkqvSOIiDTpSFVpAgFCl96k996L
FBEIIL3D3cfn/b7fd4z7594xHn6gwtnJ2mvNOddc5+wY9OyJIgkRPREMBiNRVnqsCYNdZoXBLukR
XgI/obpJxQ3+uOMor+eItjRHWzs42cLui4jfMxF7gUabmN0TFBYzMzM3F39hYiZoKiBiLnBf+EXo
0LNiGIwVpvz4obZrEm7aJUl7+Oxi66DiXpWqYroSFYNxs5/SlfFmWhw9Vd3tFqJYX04urhb7j3eE
rEPO1cjlhBEfb3/wu+Z8U1775gmfTvqHj9+xH5QejAkdnJ7/uFdc7EvYOV6jZfTUbU6ga+bIJmkz
TmzZc2OZ1joPhDoXRuOMB/6seO+LD/5Fi0cMg9ULXqKGwXzRV3jBL1oJ9cD3MHIs+M54CwWuva9Q
D/b6KuS/C/43FvDSO+NVtUQnYFUfkBbdsh3jhMHeEMH/z16dzR5DXAWDPZhhRbGN2kYaRaVE70e/
UNppyieAfSIowmEtUDSeHDGqBCqXI3uTbiu7K9HfdiLJ5oE9YAYrlrVVlwaIVhQHZCaPvBwiguI/
pOh0H1gPVRfmXoYtXi4jjJCTiUqJmIk9VpGd6CfOs+n/8q3MevLlE/TwVVgb9xXexXcVA/6aqiuB
mu1PqmeUEOpk1hJzipfda/sdJkqsSIzYYKypN7CfukdU+JV6lQNV5TJiJc8CEJGY0siwiuN4kemR
66e/6t12fotoJ8N8peTqHzm7Gydw2EY++fRkZqlAtEG2RW98bqv7YGqqCN1pfLaqS/IMDmPd7FsM
wxQ95Imrjb6qKu1y8hKh0NLRoaIQoE6MFmvdqNhkrmupW83JZdQmhrXpXuE1C1rS/FxS5xjiH5zx
KCb6dJzL+9T1Z3jaR6NXDfg0xp5b7dybx/O0MJgNOfugbcRvpaj0mgy2AfIwPusBloQJC7X5uCgu
dYmjxSj+yj/fMlTjJNxVQQbZUGxaedEpn34rNQ/ga77ttGaw1qTr5JKY0TlxGJAjk74ZqmD/49fV
uE0SWNtlEEWKS8aW5ldhJYmyhzMNdjHpHHT647sxefW1JxseC6FiM+5reQut4fafgJBUfGDmNQsZ
1vysfSuZz6vAZLaDNuqDnkLQC144uixIV7nuqNueI9nt9+dRpMu0YOuPP5dAwYQR2E94v1XJVNYy
tNIHGZaYbA3sqyIKS/t5aMNKkeGy54eCrYz3TH9+eCp7VvJL9QrMDCCrcSdGWMtdW0KNnodpzHUz
aYK9pN1Hs1NXUq+VaMpl1guum1+9FGtIX/YY9kAUHXzD5PABT9x+RBhxNizquPyadzrzZpcuzb8v
Y5+zvRqPA5mDKQeGfDXYg1hTfOJQyyhhQ/dnq7eT4UxUBmwtCdqJVSIjHQb61uvOCbN103fLp95s
VCyneB+v2NedOftrX4O1GVzhFf5INeCTPpqelvFVcw27FhEiyOVmFhY9ElManOK+ml3rdWLk0C2y
NpLnYAgw5kGO7fuUk16eLhjJTRL7hKgqJfpxpso55djMbUyysPvun/Fii1nvk3W7jsswM3F3bJ8A
QnlJM0ZYb5XGWXCyqGjEbvp1jPebnnwGYctP6bkFtceLUU9JmS/Dtqnheq/yntPze91J5iIhrYq3
J8cY4Mtyu0+GRlJOr5W+i3FcTnYhpRf+k+TQo//j1ddgFTyYfpAvviJPOt0AxwrrCkW27tge7lO2
Rx3qZeor7k320ydamWor/WmKAik3YZ8Cx9h/2hkCgnqocr9HtucLjAx97vyE6xCaxDGOPDUx+ZVX
PiPhjBtbXV2F5/9obKDCg437+wYcHxvwxCGUslRo3iG7+Ii4hNK9laxcKBOmJ9inOszjkFxWY1iT
pvckkr/eUTIa0cE+tYP3yTfkUo8xivJmRbKvUzlL76EGWLioCygWFPISkY2OlFxq98HV70kY9n8F
skjU3YexXibHYgdFVR3STziM6dnPBHDuznKfvqkZ9OoIWGrnXCDfzVo1vrsWocRBHSwyxACDCV01
fDd2LVVpaYDa6oM2o7Mgn57+ZwkH7MDVsMop9imVg41pdOHY7Pl+ec3+hPWfvq8kBwow31fk2L/r
85oV2lxMbEtjz7m1JJ8JEyJEySud9+83Tm/5XBz4RPbInOCMz7fjLl+9bvmn/DJMWKaMsFDaWGkw
I2jAe+DViofJ6ILBKqIhb17bn8/YdqmwlZlBAFVPpft862g5VWwi8RKMngCP2Kk7jkspGJDDRDMR
u2ZFm82qI4kHZx38QK4aCYEwBq57vsTvYzXkgg8TFigjZFM24I5RhqdHpZuY0Az+pRC7nnnXOOOq
mPAp6a+R47210QLjOtnTX2QA9MxCZkroOmnYF7wb2O0ZAs3PQ88lbuFU6KOy1yuJFILptTxkTRYs
eJXFph2j0h/6X202LZTxOn73DA9Wz1RGuDOssKKzYpetIMHfOxDDwfA452f4BB0JETcyQ2rrJ6XX
8W4FyBh4O5YXTDDf6SYixLk+W4xyzADryokJDWUkq4a+/uyx03GhUNN3jTSITGSyp38tZE/0x0ph
sFV/3xixnHSh7OcSzyXgONPGWIPa7UVOLtTnq59/GdlnJTsnpFvnV/z+H9AXEeLByTCRHelEK9or
37HB7YxcR8Xq54TvhvxLkWmK4bGOM27LoYziRRa9KSZxl2Fj+ruopRIhq6TdWsdKx+whQZy70DOD
JBVSG8LChPVEKbc34czS3gdVswFIQhjKotAvJpgn8h5NWBwfSVV8iFmeere50pNXT6eU4sWT9Va+
9f/pFps9rb9Mpq2rS8YiI4V7A4PNvvWNMaRWWdJ0WBFeSQchmbU/jqHno1/Mw3YekwIFL0xX5a9x
BJBqZXJ5PrYEg9VSGb4TN6kRVq3Uyonliz7X5SGsSu96YWMqLGeLURGtsNDOPXEOZRDb+LEQVrU7
oCp7/CcNa40Hs2HBg3fejclUeqpak56bMWMyGiWtGUjOlZAfGfhbL2plTe/t64UWefYI2bOVpyY0
l2BjpGWExYNiAL98e5E916ricdF6FSrTspZlMofiO05rI+vhPqcLoCoSjn9e/QqgeY8khX2hxoNP
evLGqFqnR2VEgu0Yce1tLsq2T14L7S764rReOqoiAUTUZyvY+CYNTSBY8cA0WMB6SGlT6UA1OOPh
AKHVJla1wyDofkyZZcwYYwmdRKaJhdR2263m5mbZo/aniAIjJue7wIsifp88d0dU6r7kIol70jNy
5ZO4ZqK/Uxir9r4tud2a8cXxaEcM/GK/vA6qzaJkGeG9Mans5y/Zkm8n0zsLVjR3cD3pFHQynI7R
j5pa+9V2Kxx6E8UwRrfDX4GpTogZlo9XYGwm+PAdzzs1t0NjeTJMBvQ1O0Fs4oa9N9VlebgTB3VU
rKxW9C2SRVz/zm1vb4Mk+3o+ru/gCM5oHygeYBsQ0ZzFrrWbiOZt8vypFhInx6we9/qcD1a5bK7l
V9kBETMZvQQ7CrjbeP2vcfZznih35eUApNr5mFGqx/zRVIeBz8XJbKrX/jiE+NXcAtIqalgbzRXM
M6/bIL8ZC+mbgUi1FGXGSDRFuJa1gfjKkNbTGEeQ4hTHAeUGNOyBPzsq4KtQhVlp+a5ctvLY3iKL
tc36l/4h3/cP7ADbGUReRqcT8/1ALbZFEDC7ogC4HvClEeS+9uKRvjMNF4nJ50AGtIz9jNTB2ulk
4cEt4gopuNQThgBRIGmAIFIRQoVp0eSKUc5LR2fca+S7qrn++4uyDSmXKMmO77IbkIRB4Ba0dXSc
xs3jAkC1F1kvIS4b3opRDk4/p/D5ZE6BHpyPVj+1Md+5Zao8IE+D5LD6+YGcxsj1V/3by018BMBH
Gr4jefF195MwcvUOEv5a4bmC4OSuAd2wuAC3PdTFLxOQnm6F+1S/WeqACjD1sP6Nbc1upLDK8SMJ
Y/qWr2/pujh+ozKecGuHkf48foJuCdmS2gRlcBgLgD0IQwX3JWdoft6N2b28MoYNbgjTh+QmSJlE
oYW2d3FvVqzScWX7ZPbCe/dP//pkuezF6Q4UVREDnnW5F9jGkqbLys1snbE9FBg1pNxyHE5Qb4IF
WEaxFEB16JVpnr9q4PfeCvY+O4Z2b5ZbfQ4/2TjWS4hNqnhV6iixwpObnnUbbm3b5xWTavjO8LOw
lWad95n38WBqPrJKFGcAY4WTY52Robtljqm7mY7Ru8TZT8c4TXQ/l6RmmLEgpim/7MwwuUwVgt1P
2lXdxT2CsZ5g5X/AZaI6Mg4y0tLJTWj8py3WpJ6oNXUskzTaMr7+Sa4IvgFP5goBHfgsSOj0/X1L
HX6rLEUCW8Ly/jlxEnZkRNxboNQvZlZab9KpiURMqfJ0u3Oz5mAGSjLuQf3E19L/EYaIhAAkGeM1
Te1V7PKchfWfhomIF92HsjCgnlcw9lu12nxed0k+nfPjTPsE/JRJiMK4rr8Qwbru3Z3x2Kxhk3v/
DokPMyO5hEAyRKoipjMoM5xNRv3fR0g496nOLJNLKdnQRxaVbYEanI9bpJJUEcHa6K9g0pc0K0o0
eSLyr1XRClcP4fVqmqZ7fGMLdiyVnj2ZOWjkw4MVKc8QYO62c+aKahY6Oo/tffmFb60LyhpFy8dj
be4f+sjGGjh5HNmler72Bd9SIdvfjeaaJuC6wqEZKUudE9TkQmqE46Rtec12B9xEF9gTDv7LIx6a
FYvKzQN0IK83PpcEpSEaOFzcsWVOq9lZ75GXYGafPYn0cjPeZKut3k2+W0paxfzu9odnsYXfZtfD
JDdQPjdgzjrejDHFD9yVjsNL4nYNV24OUFFgMBG/HJOYXHf7FT12/5A7U8E+mb9xx1/LXYwcrh3Y
0szCrj3MFBQSYpT5geY1xnsgvWhZb8Aeo5zKTYbuCXeSwKVPcMKrktOS2w1XoHZ0tpsl+y9TMhVU
WFHOOMyEiqLyCSiTkOZLYf8yl5J7SP2Vjo4OCZcNRujNvN5worw4YpRZlM7SVTN+g/xfj/O+YeL+
fWImATEzUWROfOIPeyarz4zNiVJF4GvKWr0a22Ot4kjTftVV/NP3vUR+9XYH6AUsUJr071hfHrHY
7pCu6xolH0Ble4FLGTjD2gUnjbs7PBjE7GymExjs8L7IFAmgunX6T78lhIqUFYj4COBWvnhTXKb3
a40N7xuJvWvYcs4KGzIcuYJpDqYhq3vtOmiRUCb1I8P7e3eyqO6I9sihSO0pVlWOusjpqjAtWlNO
sX3tLRDWDWCRiKHNI/QF6ucAbA5eZzEe+C/49JWpT7JM76T588l+bz6/K7VwNPLU+B1sNU9Umzw/
EmCBMvRFt3E9jHXQbOPi8tnu4NNW0Eadp8YuxP/49NQcTjGfefAaVbmeJxzNUBe0FBSOXKULpuId
Uiw6UTGcvm9pdj0CyV93KgRyhZUUeo2/BgwaJBhkkjiseqKotOzCkeL5WdudrBT2O3YLIt6h9mff
aUSEMKiGoLlbZtdvTVvHxMZCDudfFnn9EdiRAmNZu6kfoC2Xvhxe/QjPhzibZzMVflG+WhezpaJM
ThnkrtHLgcCyc1GYYbDEimVFRSsLCv6T144eK6+C2QCM4g+cOz9QYUaNPGyBsgINu5jzJ2sJZ5H1
2Md9lQtUKSqq3QtV00hX0pxqWfCeKvd+q4sKCZq870P9jXmg9SOPmyRbakZ0exR3sSwhrOpOFxUm
ISEB1f5yoSX0lkLI2I/XaA0NjWPikBALKXiiQcNHV/Je12HvUn7Z4WVmzaM2/JVcBI7iqkIo/d7v
RPv3ENfLX10amapwaAUxgM1pPRFfeupzPLjVylI3HYcP10upblT6upqPctv2nF1+Kjckl5MrPcZe
UtQQifgrhfSSPWwg+0dvIzQBJpDF2xXkh8Xzb8PfX02zPhdnT5Il1ueaFVp2pIy9dapVuAr9zM1y
zl7C19xSNk9CPjz2orX1CHxXKrrZFANiagYQw9UqEOl1xvGTxWJIQaXAMDKPK+6d+VxAlDAlvUD1
mAhT2oB8hyirhxNusE+9fM6BJbaZ6HVK6VkLHzzcWigAjh+bC/PFjM6pbzyVOVoEhsBpMULRe6db
rBeUv7hXpipqRSWSm9+yJGc/V3pBvlpJ4MtXHiOqKXlajJyw5VmbvgLXpylWYaGiIxnrXUxxD1HV
FVgbPkmpX6n73ioofiiLbK3tZFkc0nkcHS6NCD8KrfWcPdagDE2w7POlOlhAlN02uDklf7vQD//+
TuLs6QswIkEYqqg/IxoB7lHYZgzbkyzJb1hmgxsrhAKGjNuxeispAvvSRn2qxT+eaot9ZKIjQUU5
ZSv6gEHieyAqo6MtXewvpx1b16byRgHgN1sgIwUkFsRJeSjbiZI7ekU5GEz1YqSqXd3ZvjQwdWIF
K53lIwrqwrTdz9DWfrGYuczGOb5HCCw2V7OcZOTFHTinoug7BGKs9nCeeGISr56KAK4HRuP9p97b
Uc7rE5DOgra0cHq0U1C1UTn9VDdSyi0SFM/a1iRdYF6e3ehnnPG6bmfbjpQ7FmtYdoyLX5f+LJZf
d+5+iRr2o8gQrrcAgcr79CMVnA+8SQAxzUb5rHd+B9EVAnGax0QcOs25fmx65JR3/oKi1i7FW+Bi
UX0JHHT4kwHZTQ7bfcAxAnPGDO3y1ioldgbgCXXJI1XGi6/udBs4pXo3/bc/iRDVE/eMvur+oeuN
ojlYaFAPSKn+0sv0PXBXi9Df+CodXNYDC7RVr/YSLNDZNvjV6lA2mEMMlJWVzc2XHHqhTPWKPK+M
XOwUa3lc893+jKeuw8A6NNS9/3vQ1XLKkRk0Ge4bSkVudSFqmSUdclpXeGGvLLMQWET+czpefSfc
2GtQ4HCZY8ud390MlUJ3Xqfqghpe04vElOp46zzf+kAj2KIn6yPmiDWM1FJQr+XOfWcpPAEMBYTT
qS0muN5g1lNZEMfBtMssFRwRQnfvRU+SuC7SSWchHa6MEI1vfsZUEHayheIxA5n/kS2g1/AySeWT
6sAtndXnjXPUjT8x/VL3vI4dYwtg9XnrBag8w3K+++MtBh798jTTzpO2yEpHq8WOS68ZxIQC+hs/
0GzlbRrW5WSqaL7VBa/8m/XRkNxLNbnjCZ1PxdsOD3dbGOw9t5ppmvIvwd50jOBZb803+5ytGftf
w7UyOnQ10xg/19QcKLOdfPbxnhA5ZWFRjEhMw/h9csprPZyY/Vyq64EcaBMxDvrJvGymowif3G8n
uOKng5nq/9/rrX3xJ5VYwxT/7k486JHc7EqRlmQOr7s4P2n+99VveSv5erKp+YIos2BEo5LJ3/sb
rdanCShNOR11qhWiPYRH75cI9VSE9Q4cLf23/jKwDL4Ok+1qoKoTVlnJou67fwYGBqwGM++q8PDx
bQzn6qKpl9vvCb1mKNiy9mtKuWXEYVmvUmoWUfhM9uFl49X05ZJZwqwUbAi9SE51tRSOB8Y66mkd
dSIy+rzY82g79eJ0WTWW123uLUELVJmueCC+Ptvt3KGI5wKWwqvyoYIi3uqvxoojAIyB7jPGXMZR
R0lxc8eUb+PkhsvtZ7GqMF/GkjRknfT+2ML+pD2LqI0eL7UHeInZp0TO1w3L7ab7mt22MTZO1RNt
NxWIbnFRbLEjyoSMrMyle2+hvzL76eQ+ji0KyvKz2M5rPyvwOYODntZ3o7YqL+dpqsxTMLhH39FS
UVW16IqPqEXrPX8+9aX5aNs/+eHssc5Wzg91xpgmk94xpOhrnicvg8cnPJOyRcE2QBsPBPq/+CU5
edG7R3yZVw87d3FWdwHCqczWygpTNiix1PAfoUkSp937hm/0EPv32bru6KFIpFSvVu2Mbvg0eYiV
UtIVbLc+bGSxk/slGKCyUtxfjunAHthNlKa98Qbax2tcC3wqvzF4JR402D4azE/6cjctzPwepoHQ
6OtaaBfoCurhH9z7wd8Nfr9KO1d7Yyww7K8jaS0sO+U4qA6q++DyeKkvJwjpCcTV3IJa98Zr3F2f
71kA9XzY5Q5GXVHbicWy+9a2U+Ee2x/Z5VO2PNdaz1wFKOF/PHt7bZl+aJ78Ut4QIXh0N2cLustx
+ep1QsiRqO8x2joBk9cbL4hufHctIyOjV+bExh0d25QYKbVAh57/qNucyyGvDopMzI6PKGsZ0bOm
G/Sdjkjp9VojINs2w7deGciAHGDT+BIVxhFkwLDW86gt4pbs+eECgAmBqj6Z1N/6gQzV5Js0IVa3
BfCBQzjZojfUWhg93PZ/mKa5jTX6YvTSJV492WKnoVtsVq3+ku/7YkM8+I3gZuC5RB3/9Lnt/A5l
khQdE/Y83WodxegXTza7IcomCmI1TIQFMxuiyjlrm8u9Ta+KGb4Dojeuy9UfskTH7yOjAeRobbrK
BSpIz8efpoXTdR0pHhviYDrGu3yVF3Sffdw4aNUP5f99STFvDmVr1fSOXUNg57090cMt/HVHRfOJ
H4cTET6lR7mhOgxiuvb5H3WX2lMDXnVGWYQEKXxTJ04o43s5/VU+sOeuRLn9TK1T1Ij6N3Wiar+5
kY+M+xPWBSL2M6fQwAaNdz1vjgjag7hT7gOvU7VZW/Xly1w7d6ra9As9BALRCzc4qmUJsfqg8K3B
+UmMMVXSLqMguWAm3t6LjF1R3sT7yQIsMhrlM+7/wP9l6kL9DDgwvTKbcUCItaXOONndPrmGsF/p
ylEIjF5hbpxQy+PqDyE58zqvZTfoeqEWoTdHNTSW8AX+mZkXl/OTkRedYVuGb/umVSArz7iuVjGc
+V+X7uqm/oUgIiJ6AqAC5iFtbe3qw/lgYmpeQufrYvYzU0C4M9UTNxadMDahxguGdUJGR8OxBSOe
xb+DQ409z2d7xRD219njNk96ghV7iH/nUrniQ2myGsiU2yFNNnCeyG028ri53s8xwUEf5E7ylya8
SxA0cD5kJaPTkMa/MR6TMq0hudAnR5YsZN5B+VRKw8BAwuF3164GKScnZwPjPhPxeVLufi5QyC12
DX76vW9A1eeGllF9t9H0z+xXHIa2l/13R+vOnTqi70B7Es9vuMiUsez7AgZ0l6HvGoli9udg5qZ0
NJ8GPRVs7bCngKSH/TqXkHZrbu7CcAPs4ANNkCu5cW2MefCNvVgl3cwNfgdpS2B7cxyWe/7zkg/L
CMuH63wuyG8p2MxUH322SLnDz08GcmQz1pejkzuSZ+gzqas/jnL00Kl+CeBUOovJO8z8ZqrVPGE/
gmiBe62djPQGxpr9MDeTcutXKtF/WCydsNH/1S3wyV0JJ8sZk/BMD+E7lkALxT1pfp0dzPq0sQXu
rgxyQ1N1q8gcqNJEma0kkHvgm2NjY2XAiGC4TgsA8WaSX1CInN805BrYU5H2z+Cb8sGi2raEAzqv
GpXTvGjayLN14NYx1TrsYwJd6yL9dWfr9va1Ry8gpmxYV/tS/Zks39R6Kr3Xdisc8GY51UeGqlhF
RaVsvRJkKSReSaOkjRZt7rVmnz/DqEa3F2LBu0JUxUv7LDG/J+u2y46Ojs6wSSBTmb8IGuYL/2UT
kOSxUbEJOhwgePWL7oQ7WplX0hhbQhnKXbfmJZo/P47yCDVGh1xLmEq8KXytjNRfMP0KmGOE5OnQ
ZpQWfPgWlxexk3ZVoVu6sL779B748Om9UWMWHC1kiFYk34OemSzhpGkQVRWRHTSqfTIM/L69V68r
foRfhysn6JioQdOKwqDBN37cDidGjYB5HkfbS1AR3di6gLBaj+ZDzqPvqxy6cAz40xIdNEIjin32
GMxEFsD9m/x87LeyHrPV8YPlYLHfN8AdjK1q/hqrFrcoQy7apHMRefT3X6E4KK5V3YC1EdO9Lh+C
nv4AvP7PoASQcc35emsI3c6Mx6a8mmkk2C2l2niYe39mf2Zk/GLYtEX0FI3aOsXv75P2dclnD2GW
wnTk2Etxz9+0by91Xhy2yubrFc7/CmQhFRrxJ5M5bA9MBW2S82jba/Yi8zhxqFD8GwHxHlWXQ3nR
yATrC/1xxvP76gnCK2BkJIN0niZUmMCa2y3FBVfYauT6K8DY+2gJtHLgP3Q1NAorTfdGGer4bPQP
Q2v1T7on9gxHCmaLvLWGM18aJk8y3bNkzU57k/A4sQQIXaF5a9hdibL/ETriBOrHRG82vydVOCzb
TZSslAw+IYZyQMN2gLLVDWeW5nqSdB+Y/YjCiILa7dWT4BlZz4Zf02TrM28uYmOY4HmlK+ob4tWL
vldver5Um38yjDoQf61ownfcKnsuCJQf8odSkRU+WrJHi1Gz8Tstded7/HQ198+al1k8zkO5Z/WE
0O0+uudi91cqyjyujlFlh6uve/aXpBwkPadOFrEegZ5OQO5ZUUgMhZ9fuZpDxZJ/2P+BxatyflAs
1c1hK6Q51xiZkLH3/58FQEqXS5zrgLGzp3daQU6QqKdITRYn/gFXcRDkDiyhlT2Br0LsCp6qZjD1
XeaKgwiw8w3DavvmgY+9Rue4NXHj1tkg6+ySAC6XIa2XlxDJX9O4CGQ1gIWSvaYH62sTKiSwrgJT
1N6vNZaEHfXd4T+/ORO7aVowos6hIsjQ9YRE/+C+B36EOpIRbBWk9BirAD29y0d/m8hO9tZooJ0Y
F3GhOBnTc/xzhBWdY0uJ80aUrNOJsnOH2HATn3T80u7G0C/kTzEG7P1JCy/yxIeF8k9eQnzRW+Xs
jpyJ5YmUrVSZTkeYjL7HRdBmvMhL/0ATcTNJNV6V+JvLjNsy0mWaCnoTl6J7KOWXfMlcTHzdkbHK
1lGCuYlD6jzXq6TMZG4p126qRupMhasWFY0sDvGZAK43ELAw/medKAq/UoVGeQesYP9cUqmMbMwn
+dzFpWDi1qK6V+GREod2IZ9xGkVCruZ2kRQKnzSKNMoo4oUy8aodfRlxlahZzuNYoXY8kpbDWpZT
IQv2ERDT3mLUU2hSX0xLItR7i46UfG8+KfyilBBcTZ+GIowtFbV88zSZKeUeXG9tJG8N8PhgY7qJ
7wpsW4MUn1c5L+NelOBa2qLzrwmzro68Taq9WNo5vsRKC4H7yc8qnJzvg35649vz60wnSnFKm8r8
qqoDiOJK5WQQOl19x1VKOr/7MYfjIzI9JFD30NfXh2QypaMZyGTU8w53neOcDen3tuDqr6rMMrfb
9dDm/k0poSIVr2l+AeNzAhQ7n0n9A+xG2BSJXiT7wFZ7fOkXsAKZ8cIkLvAZ/ol/A15vtlaqf3Me
45/GyuUUjzGWK743lhzriUqi3nOgRz7aHs8WzwkoCNPCObkrRpn3kyijplrDmKpAM4IYchpDgAfv
k1tlqwFFph617ZqA4yZuUEc5s39VPm17K0hiX73VcicraaDEahBLjAeuFwPX81dEiygeF9mhEWtY
a7kFIuereaUPuWMxmsF6JnFlVRtVmzL7BHisz92osRxUytyqNelxUar6K6H66o18ZKG3xtvsQpQD
coa8AsY3ZC+O/jlIMN5sG5zjYx5wr0hZRewWlXgmtvAuvrVd0BZwF8a4P3f7/dkCjKG+fUvW9USM
vEy8NVw1vHdzJuOHZXATfQKaybhairRJ/+yNoAzexD3Jd6DjXcToGtFB0NrclkThX+VgKJ5RvooZ
+nsQazJ6dZQiT1elxBBfFZE9vtGw/k4/uXDG+2QdekwBiftRmC+n8ku25JQQ/c41PnOnGKImPrIn
+lFKuq8ZnpK8Kh9xb+nc38sNouQukiWEffYVfGZVqSyXUZz+YkAzW839KU8ULXc02sa0sOOeEZgO
XymamHYKWIfS3YNO7Xz2pcLY7qrMoO+rGhgf/PxTBuJRpEjWE6rdJOg93Na6NV08BFySDBj9gNl8
hySE+fru2Xp/CtFfmpxCj0nhJuY+xOxJPW1HO0QvBUqHM0nGLsFhbTeuYOxHFY5nzbqOf4DSiN2h
cHYbU2+gdUm8rpNNoF/1XsRu6kchuhWiwwN2lFf5WfpZukuG/gCBExrRCgrpNb7Y3pOdmYtSk/vL
MB5fCGZ0q5AVyAUHwGAcl0Z6jo22mZvGByorm2Yn3yEZVht4RDBsej9UGONvma+Y9C60hlv43IAJ
EeBZZ8lnUEYKWv8SDdVPyk1EqpnKYZ15YwVTttJtkA30st6nANnQSPvpQf2E/HqGA7i2GVyrf0jg
wKySLEWLu8bjZhNmf/YJnlsAPLwTGBUgiwn8nRIrarjzQuniVs0dIEsFHqaOgVjrJtKM1DXG8i1W
SgKSjRV0YVHnZTKp+nNWmNnNSyN293ncwn8xtPvGvOx6yeRse0i94qVLHvWDRlgJWbtna9rlEU81
0gQWCNjPVANSwIbYUespmQN3NPmtYkvMElsw37CdTfvpPSzXKYZH6pJtV1aX4ow3RguMl3uSIal4
Fuy79Mhi5ZKVyfbtpt1fm8imfJJZ9nihhPts3Htm1M4/nsYLvAWduU04Sf5PD9vA8MC1AS5wMWOT
kJXtWICJB4WWgu068h3RPlGxbewJ6NJKYJJRayKKtVbk3hT0dEn0uG4I8j2gr7wdQtNF3z0g9wbg
wxlQouzlMA+wdDCnG1j6B6orIaD2WLuuVR6qd0hmDvymKXOtQWw0o2ACUnntayCzxHKSA8Q0rMgl
hP+4IT1Xd8wLZdVBu3s4nv4wxrIvmzwi0Ww/7AVq6ODwoaEhtVQZr9Wh7H/PT+nxct8ypVS3/jVf
ya3M1fd4jzRkVuVFcFLqxPY0uP/5GvgHkLPrcf1LVwUJ0Qr0fXuQNqBRca0DutgQZTXbtm8hIq/n
f0I3BCB+jZFeQqDHtSTgdMUyOZKnNbk3r1VVS1EmRVEeLDxs0nn15IlpmoCqO5aHhwc4DZfjlaxA
6LG0JKFeqLWPlc8KE6jMjw3UQJjJaKyYZnEBOxdF0jHj4l14orytHiX3EzMIh9QO2MZX6bsOVr67
GcJi4oLWtSUyuMbt98qMuzZaDthoG6feSHxeYHaCACnpgqkwn24qcXO5XKcZlu7AJg5x4LbfIPuG
7UK2QrKGkO/aMzDY3BM71Ti+MzCVh4OBHAjivyfR2kzpLMrBGXFRlMUDDMVFc2THmOhV0OEymRnQ
RZak1J26sE+/CPXo5lhXWK3CgLZ9B/QEqO2UzxbJ2d3jsS7OxlsDDs37bwMBRIq/eeDitPsV6EPE
dMiw+jzjzdGyCYKSEbtSZHw7dP6osbGx1uvkPcjInCE5Vkj53kpge3wM/XmtKF0xECp+3fQnbcqC
LXrWXmuJNpYNCVJu0I18KIbPWcGOX0seJHDezZWML1EdK1369LhLRXJlPH4x/X1Xj14U91PvXwE0
/0By6wpGzem74/fdHGFVg2diL0pJqsoYUZQketkyB0M3MNdTF2XQLSEb01XQLet/ICG/hHhxUjuk
6q7vbv8fzBoi7hUV1VIMTvqnvUl/3NOxSIVRZHZ7B5HB8womZNSAPjpEH1624rMsi/KiQ0u51W7m
bli+v27f6L4YoUjNq3cDCLjvZn1qr74pixULkFZ9A02XVqzWWKn516HfX5bdIqXcSnfohVxJR6Lv
aIVJrH4HAUFYmZO8gS3qIG/3uG4cUQtBTB0sCZ+LZux1TZGaHclHmR9OxKQrsnhFQ8EQXcHYLCi3
cqJHTm3pixOGU4416zqz7LInj2YnGuKGFmpWvUqTfQbnjFfgevqCTV5N70m0sp7UrOVXNQIB+DtN
qDeenefoLPSCk6FYLUAQGVppu0xoj1abP6zJSyFDOERSdpXXvYty1Zj/Xru7zElnjcFwF/Q0q88f
MXkSPPw0scpUvmO2jSzRgQnNvubZCfNLiIjYClmm4z+c8XfCfAjiqB0P2QW2jJRe+DuyyhnK9qEd
iNnZ19F3twzUJylE3zp0fHKMVDReNX+RruWhDWGsrdqblN+IuoxKa/GVYJNJrxmeLb7s4qhyb68b
02q2dA2jXAruPFu1D6WdiLCGT79PrLYPuUR4Z2vbTsp8Pm7xN1ao/mAhhVYbenyLi8KT5jVD75xn
Bhi/njv2y//j8J0rGNyo7irnJlWvT3e58UTbxIeDDJoV5q1KtxdkYCSjjpoX3aDjj1e8wTvm2kLs
F8E/GxWX8IKZgwy+dlJrUc36Chg1Rq4oesYYZnMKuJnVtTv5rjkOUnsjiPa1rEeRFO13Yo4oaNRq
75uyR/q5ERkiTXJ17U7MVoteMxwsZoyssnPNuxmZpGOV05VNSgRWOYUQ8z6fQnbbuVO7EkSgJ6L/
UAnCTHrGcfHYODB7bthvNWDYO2DTa4UKA789lSUwIU1vRXFNtM5zzdCa8qh94mWdxKo8pVtbiz+y
mJX7aPuWEUcb/GHHNVP9qXCCXsPx3VaRMq6X30p7E5Vu9PuNKqlkZExYu5Pjv1bhUhItFe+a+BGa
NTPUcVUwl8uIcivyqQHD868tBco1mu1Degujj9WHaKOOazGlIt7qwhQkRB8SLAf9MvMSSl4a9VXL
mwR/s9T4OzJTNpn72QQIr9z761ZgE1D3dSbCgwc6au+JD0toBxQTl3tim40XFOtCRI8qlTvPDMvG
CuRzlr63jNB+/tnxac9fYZPV+eeZ65CqJ4dfxpc5VYrx5h2zwW/xNx9nfKeJ0RB49nJtOQNEKst/
x5Q96D4nv96xyuPcSlXL2k3D8Q804zz2nPnV3bryaj/pGTAlGSkh7v1DcfCKPDqzBiWOIotBacnS
P0M533WC/ai7iRLkq5VaNsieJEvs6dYd6wCHC3OmxoMv72qb96rU8F1Q+axLWp+JePdXfvMLxWci
xWEVy6VfHhxi/NbrUDU8w0wxqw5CQrUUcCMVhaghGSTwfMdoQ49K4293ZMSZp3WTk6t+iuSROHPH
4KaIYvs8j1TWdlVEUBk+Ju4fVaT1J7/GIJxtW+NLs9XrPwSB2TaRWth2FIMcRSAnhW21bt7h+XDz
irUN26nu5NejnWV+o2rXv3P/0St9fWosru26bUT7A+sRjLjVobJDatLJcEcBT933EExoiQzG6cBo
+sCyTnF+V9paupfYLziytflKsFp2a9Az85f3VLDnN23WbafXU2JD/XajKhteTfYczLkZ1xZyjT29
3jHzxFcVmb4RVXpmmF1+T/SHwTMjd4eayGu8P6Ijgtz7ufq58j4alFpNZNoWl90NNqB2xc9GYEO2
x9DhgudEsCLVWHxeXDUpk0S0rMZ5C4P986Nc+HJPStXvNBEGXVuMvpaDZaoc2aaHq0lU449Qgrd3
hofNQoKgm8FcEW8H9vf83DQaypDYSVopUaGU5eYz17+ARw95ozR+Bv9c2JorIuePdA0VJI9yZSyR
5ty/sYSPNDWssR8KbjmbCB46FFGxQ3AZob41iFFgrDISKilILNqLzCPjVGaOLM2IahpfBHQngERr
jH1TLlE2SRcYu0uyLDtW7oErbD0/P6iD7o6jaOKHrnMsYpWjuM42wutODpvCqxzXBrLsU28dM71e
1FDc3xisEqV1i/hSc6fUiXZXmw5NVO0HGDimoFby9GgLVf/wL2cQl6PWZArVz0zUUvs9I0BCVcVs
hRPW4eazH+koqruWR0Tb+qs1fouLdPym7CLeoSKipuzZNKNBCKHaPfPoykd9c1SeNOT8FOVbqE+P
/5rd4OSUV0u/baB98+5H936Us1zmXkVvivTJ6U6vccUb839cw8ODh5/uv589X/9d17ywJefBNLH5
3fvs+GBttu7inACXOkat1hL9s1L7+PH7Raw/6l5PFA2vpG1pVLyemIqX2xvuwn03tNSwkXPuKIH5
FQ3efq/UpOovi5ghVo8MI0acONc+XH0dmztEd3+F//tZzmLPixvTIRbs0JOLz9R5l+pOl/jzStMU
QomqbsDq+VhRS3HQqeD3EWJqrqhHDx8+vJg/Pzs52DSeqvN5fbHPNAEXpBQeDzKnrFNS9yWjUHuV
vEv+dyVZT6HFteVYVDBK+ky17OAUEWrs1NKRVcN1VvMy65XtziJCPvOKffK5ThDp3dwvc9qy+lcn
LFK9oLsuqHpfyNrgLl1CyLivZMSZFo7BC6oH8pFV8/Pz581nBNHXb/Px8d3mJTR6ZvH+hJQly5tO
Smv5/c9KMeaNAfNy9+oomtOeXNuDos+4lazU2o3KNWp+I0ZnNpgvUq6+wxi4hqBm01Tv4xU8AsZn
SUNVLpvYtUd5v5oCXXBjW5mJdv82ns+GWirNyckZGBhItK/VHzioPajR7poAc3QTH8lEkTkwYkgj
zy15TX6YWbISLzVx1dV3XBRBjD6nW8vJLjMTpdYWXfGCPuenH/99dSeKldvPpvjrN4qYd0TLB1OH
MooLQda5KsQXv9R61K7tE9vZ8Z5hiWW/dUFNmc14EVgEfm5gXeW8nhDfEqbgMqguxuQy9Ro6hgHZ
fmznGPtj6AeKvNQnwBKSSfz5MhT2C/hsemekm8Xe6rDHZs2BHz6xO3QO5i7YfAsR9eqf0YJZKt3n
headsVkp7jnV1Z7dCSJUVFQMojaW05VOuYi8xny+cLWk+1u5BbWVIHWQwXjGcoXXJg/wKCvpTcdn
i5Sjo+XU3iRxh/5v8g/RCB0dnUBSJhBuI58A/9SrJhKLFLffGopMVFDGj1HBNyQhTWk2LcQnpnZc
G7lbim5LPSaxbY/kJGB2nQNFH8nWyoKOVQ4RwPXGIqC7hNyyR8rFL7pTvPbHt7e3dXIR+Geb6omi
tqP5yLHhJQyYIhXS+gEo/mVw73F9owt0khd6FB/KIHZVED4mOPXjNRosMCixJHd2Ev9TXne2HkBj
5PqTXBEaaL+kjLH/5HM92xtFF46F0N3bn3LonRdW63rzB5RuZbJ8c9TYpxtIyKcavYZGvj8jeZPQ
nRkw04vNeu50i80+LzSVxyZQBT3+d+zHSXx+o2pzo+9rE7jq30Tmc4UXV9REJnuaYJ0v2KIGAjk/
PUr1OXeTl2+udFoDURUup4AhBjlSBT1o+TFP9CIc7wECHXxjr9y0+aMer6hJ47tv374BotHQ0MRF
R9+koRm8MLK/Z9HDKGzZ1xLK8A8BhnoNj85KrQZfgI4CrOTuQIaqsdfeMKdq7BXJ97WbLhtT4hRB
75CofTpp913vk/WDuouTun+t5y4G1RAK8FFeUrJb3Cuz1p+mmHN09reJjKwq34YivBV69DVpX3f2
7zYsNazejg3V8PmuYdlP00JD+xqdgQhFZjozTGRk5D+7a+AcL2o7EaNrdNRMYwzlF+VCjp0bawwg
VlVVzVL7PFDttrOrQQrEWXEsw7wSME3MamAxTHKDEGLaBjvq60Opo8WojIyMzdoTOzDWatHlpqdz
4CqFRnWNvYaLLXrbo7jJGO8L4AwAYYK5XIQ/gHn5LwC9/WBmNzF/9d8Zj8285xVCf3zsB9KVT/bX
m/L5KNWBI4Butou81IZ0lZEV9RVvb3PW5+cHcsMyGzcw1HV2dIzkIw01NLYAqcqd1kZC7sx23C2f
0tTUfDMfxA1NOPV4ZYT9tDNuy8lACCDGgKtWQvUZzWkPDxfCyaR3+z7fs9hfnxSDQiPF+gW09FU4
LBPz/Zib8yfzBgT83fV5BwxXVyXfpyw7rQxw4lYbwebTlzrjZh0H1aFivPL3DWhxaGMLfA5qB8ZB
KDKQA+ge2VxI8ovuhFLbSVGw7GZw8xOJlXSW0zmC/yy7++gdajhHB6TtYNrFWJhefVZwCohHI9/d
KzvLvZvDuaOgAoBNcxC5fjQQUT+CHu7c67m/AEK/AHYeem3XrXlUKzYzM9NhuaffUhh3iWH4cGtB
zG4KYgc0ydTTXaJ+NFjjcWDS9H69arPW4XeX21peuczxnzTWF1Q3bzquDt3BrdL3bvpcnDT4E9zj
uA57c83wHWHq5gmITGzGNS1dxus43fn6AQAUVtX6VUHd+bEv3mXwArdIb17yfd5IRN1oESK+P4aG
PjhTUHu8WrGckijr442NLnXb+V0Gdm89wgsC66s5mDF89uxVt8goBLJ6zkvUQs0pHhtuI/oWMdHR
YAwkgFZHcqr6xS+deAOxAJ6pqv7qFnSG+Vswn8R22y2IN3MUhu/aHkN3RHmpDWvc994SMI/V+VwA
NIMG00QqyYurZPTYqFh+Ir4UDWTNeX0iAEkM3g6B/RQUJrXdlptfmVNZeRzEnRIv6bIBrD4PD0/t
+fEaIs+g1G5aAreaVLEQJinhjHP9d1SX8N+Hs4S0TUx+gSWu++MWBUY1x0CN9H68MsGi9fT1x7/K
BQK2Y4mnkAxidqd7BT5eSzG6+6vDcAhVYYXyH3j/gpK1mhYCNeRDVl4Ro42Njt7dnJXFVTp3DmVr
AQY0dnR0QG3zh2L9oxFagHle6kmsSRNbIGMk/VIfoBB2LScLMM9+ptpt/mfQPwSF+wbYFIHt6fE6
g55Fjx7oHVuZqnAYy1hP6JW9qDau805TDGeWcn0FfUBg6haK7aR6b8SwUA83bpE6jQ6X1vxH02Cu
F6EssudxwDgAbYP6RR8roV4bAgzzYc2m0HQuc4KL+qg/LvRsFfgc+/GiJVBIBqg7XH1Y/8j5ZCf1
4rmBgQES6XX4KzDLFBHOLN2Yb60Yy6s/AMoCqJ/qOKAMHfC2vBFi9cBZ8nc8mq9iMRLgyP14dwXg
lkRB3GaiJNt2sgy0WbKqyvVEYasBgDYvsCuIxF++AmIybgG9ACnUL35Raj9b63Nx/lAX8fr1axMT
k7EM2/UQwIs538sKofT/+tb7R/WPntBJOttYWa1wp3q+qccjABD2ONhgckaWzngdTAO0AOaT0gqw
QjUiCbj7aDH6Vtj9eQvZk8+bJ5BjAqJXezgfDBC0tzZabtn/DXQwE11uZUhbW1l8TkHCOKH+RfKB
incxE4g2ENdAFu8fIMAVyfdfWzEARPnp6YuQIym//u8MOluceqqMNHVwzdHvxGQJJxUWtVU3o9t7
1afbnZcJSHnh8M7vSFWYr4MNOXsc06t6vKZAMrDVM1X+ml3QofKBQv7oxn7//l0ukDTUuBfs4gA0
M6hlh16MwHxbHtc/2lgDBgEoub6+PlDkp7FxcQX6xZnfvpk2vSfJMyy3A3qTFqMBftkqe76FA60D
yADDujoe7Cto9G5mG1MVhXqgFlaACiqzgsDGmN+qPtF6Ku3UQmfBi6zc9b1Mavmu/DLsHbTpiDAm
yRSXGTfAwQTApLWCulrPo21Uax/tILA+770PoKNL8vLyo0gXpFwdOYzV8QrvYnKKtIeR07DOXYOS
eBkvd8AeIGqAgUDJJzH6xQDOIn2J3kdLcWJgY4AB0E2Zq+7EsAe/QYRH1sDuAADnV218fMy+ksYI
WPrntIbraYrn+dGyD+AmSOsb79ewB5lsKLbZ7s/3skCHBHo06dArPchQnCBqu/oXqRBCWwjUGfic
ll8ieDC6YFD8KrvpSqRjvzzotK5AHmdcF0Kp4IgrofoRSukAok9m5tPCZejF3yzq6CKdgA25X8EK
Y20q9MMfOh5MPdc2MKAPb4XghUEDKcMBo1/lNi6IbrnOInMK8mLXlX0D5nuDHOsrAWUc9KKthVYa
KqqMTdqNJxcnwI8Za2ndM++4Geh0CSZEh0c8FgbQGRsbW7vdAWeScFQyh5q1pXBlbpwBFtWw1coi
C2wh2FM5mwo+zIzVHeu7PgYUEQAFMto9YCRZL589B6Lj34JpbGyEPosVx7cHDAJ02I2S+4nNF02w
cVBElCIPHA7avH3FErWy18m+et4Lp80ZL+4CAcu+L0C7wxjE8tk6r8DMqC9R/52GHnuD4BWZ3dKB
tINGCg1sYXV/Q8VmoA+WMbstRgw+kcx7DQV1qYzw7eZIrdcJm9z73fVJF+A2gYwZldnoY9G3swEW
JQ8br1FyRcfETAMnE6pzB8Z6C+uHj0vwOd9JBSgEdlbaY1+NxEf2cM6/3Ctj84Q72XHgIQGTYyuT
i7B38n/yiSwDoxUICcgFUvM4zATY+gHj/UZi/iQgOpDfuv8KdT/gEuxRIzUbtjNB2OpNx52s6/TC
f4L5a123mmlo7hrcxNECE+yEGyvEYgVcx88OZusAOjTSFAIM78K+bIEa42KBxW0xLYSOUQLty36t
DzI1DcDZDrSlS7B1yn0tz2SUEGZpc4W3/i00gYH4d353A2IQmY5kqifmg75WPuOeC9hsokvwn+tC
IY0G6AQdMEghrbm5GXhTdR2dYaA7jfnEsBuX+HGXfBn7wTtDxwb2ceNAIjz3hnU7OzsDr9NROGvA
fF/dwMLirl6nFQAzEUil4+ZMsi8+zA3gGfoUsV7Dfz+3/f/QAj2qe6Yw2JUW6CzAfzP23wX/XfDf
Bf93L5i7KDdshf4fFJj/aR53YfFtv8/gd11XiGEoamUkadMoJvU39Ftl+SeP8x+h/P4XUEsDBBQA
AgAIAIuoz0AdLcMijwAAAPkFAABnABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
Y2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9iYWNrZ3JvdW5kLWZpbHRlci1ibHVyLW91dHNl
dHMtYWN0dWFsLnBuZ1VUCQADVqPbT7Wf2091eAsAAQToAwAABOgDAADrDPBz5+WS4mJgYOD19HAJ
YmBgVmBgYIrgYAKKiIqIqgMpzRLXiJLkjNTk7OLSXAYzozRD4yRLC3Nzy1RTc4OUNHPjtFTzZAvL
tCRTMxMjg3saH3UZGFi7PV0cQyrmvD3IyAs04tCC7/65fOYLGEbBKBgFo2AU0As0hDP/mczA6J2m
wwfierr6uaxzSmgCAFBLAwQUAAIACACMqM9AawxRM5AAAACkDAAAXQAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpbHRlcnMvYmFja2dyb3Vu
ZC1maWx0ZXItYmx1ci1kaWZmLnBuZ1VUCQADV6PbT7Wf2091eAsAAQToAwAABOgDAADrDPBz5+WS
4mJgYOD19HAJYmBgVmBgYIrgYAOKzCprKmBg4Mn2dHEMqZjz9rohI4MCz4ENjfXnHyySUeH6VTZ3
pjFQWeNfKyD5o52RkYHBiI2FgeGEhAADg0KyAwNDQ8+o4KjgqOCo4KjgqOCo4KjgqOCo4KjgqCB2
wZh8cbZ1s/QzYoEdCgZPVz+XdU4JTQBQSwMEFAACAAgAi6jPQB0twyKPAAAA+QUAAGgAHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maWx0ZXJz
L2JhY2tncm91bmQtZmlsdGVyLWJsdXItb2ZmLWF4aXMtYWN0dWFsLnBuZ1VUCQADVqPbT7Sf2091
eAsAAQToAwAABOgDAADrDPBz5+WS4mJgYOD19HAJYmBgVmBgYIrgYAKKiIqIqgMpzRLXiJLkjNTk
7OLSXAYzozRD4yRLC3Nzy1RTc4OUNHPjtFTzZAvLtCRTMxMjg3saH3UZGFi7PV0cQyrmvD3IyAs0
4tCC7/65fOYLGEbBKBgFo2AU0As0hDP/mczA6J2mwwfierr6uaxzSmgCAFBLAwQUAAIACACLqM9A
6nN5bCYHAAD2EAAAaQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVt
L2NvbXBvc2l0aW5nL2ZpbHRlcnMvYmFja2dyb3VuZC1maWx0ZXItYmx1ci1vdXRzZXRzLWV4cGVj
dGVkLnBuZ1VUCQADVqPbT7Wf2091eAsAAQToAwAABOgDAADtVXtUk+cdfgEZiNw666VQwdlN5QhG
AZEwLiJYJjBgWGlICgll2YAQAkgm5AY4R6hMOT1FUguIyEKqSUhECRPI5UhrClEoIIESATGjQWJI
BHLjI7BPPf17/Xcb7/nOed/zfc/v8v3e8zzPZylJcW4uXi4AALfTv4tNBcBhLwD2KGd7+M2Od3cc
gDe/klOokuwcfDbhHJkIgpAhQcfxoYFBQceP/unYseDArJDALPyx0ODjyKP4Y0FB29puPALAs/p0
bPRHpY26qYwr3v3Xqoarv0usRy0tuZYiR+82VYrDa6Ks2899/u7ZVK7jRKk8v3jwnT8cFBZIajyf
R/8xMJ2qdwQVjaZ5OwAyL8vsgfN2FABZ9tvA3kScHbi41R9UHKl0BJ77hQA82LITnPjyvxU0YZm3
Y7Svn6evOBua1rG24Q+AIbjx5yR8mbx6Yxhr1Q07GB4wqCsA9F484MpLXV+NKrcFM8KuyJPVHPjp
K/yyKjdfPfEwDcPl16MTAthPFj4zbMwYpxP8xCuZq8ouPkkrOqwqzhCMGymZg5o5GjqJY12pldrU
w332hn3XA4VX1K/olKgkufmVLXTPTFVXX+FuZlG+OoWZhuEblajVSwwud5pU2Zmv6B2Ek6QjzjRU
hTgXgQ44NvJy8zTHPDSqGWIOQUilyhLSmfu+xDHt0OP2/naz5KoOg+MryD2Z9YoypJ5zfU4bvQvE
huNxe+TqonBGJG1dMYvQj0JF4ZLLJOZsoTT+oNAyn43jq8JIy2RxZpUiODHGO94Pgmp9tleMv6qr
NIZI9nDUjBbD8uwyZGFItxNy+lKcKr+NM8vQUHeBlkEvzDtD4NcV9/yG0BNJSQSZ8jO/UGaF9rqR
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
ZHxRfpMQ2GFulNKvsX/xXgGFFqZs5qQi+duA3fwGRZyGbjY5tGa4Y/GgQ5CryEPj9uG92hHByWs8
yq8BnxCtLBrqsLDX9nShQxbGHYmfK33qk2r8P/meZk+/Hfg2oCG5mx5Z2o1Hmpbt+P4HUEsDBBQA
AgAIAIuoz0AHOfAI1wAAAM0MAABlABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
Y2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9iYWNrZ3JvdW5kLWZpbHRlci1ibHVyLW91dHNl
dHMtZGlmZi5wbmdVVAkAA1aj20+1n9tPdXgLAAEE6AMAAAToAwAA6wzwc+flkuJiYGDg9fRwCWJg
YFZgYGCK4GADiswqaypgYOCZ4uniGFIx5+2tg7xMjjwsjvq79ghO1Jf8sFi8MFTwzGXdyrczbYGq
G4+/ZGRgOFDLIcDAoKDswMDQ0MMAFDBiYmFgODEqiE2weK5cQJTx+svSD66/nfn8JS/Dgf+7QhvO
WKx7IDyRj6FmtrjOaKiNCo4KjgoiCV5/ybjV9LPVXiD7XdbbmbVVQEUF/HEbRgNnVHBUcFRwVHBU
cNgL5i94zGv8Vef+EWDHg8HT1c9lnVNCEwBQSwMEFAACAAgAi6jPQG/CM6RMAgAA0wUAAGcAHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maWx0
ZXJzL2JhY2tncm91bmQtZmlsdGVyLWJsdXItb3V0c2V0cy1kaWZmcy5odG1sVVQJAANWo9tPtZ/b
T3V4CwABBOgDAAAE6AMAAJ1UTW/bMAy9+1dovdhBYjvosXEMFGmAFeiwActlR9miHWGKlEl0mqDI
fx9l58NpgzWYDpYh8j0+UiKzL0/fZ4tfP+bs6+LbSx5kS1wpvwEXtKFEBflacayMXaXl0pqVbOjH
rNbGSZS6TiupEKxLC17+rq1ptIi7o7hQjY1Ngw7QJZ44SzvCIHO4oz1RvAD1VhmN8SvIeokPhVFi
n6WdPcjSg5DCiF0ePMmqAgu6BFYAvgJoJle8BvfAMs6WFqrp3b9lxIIokrWu73L/l6U8zwpLAYTc
sFJx56Yt4wK2mGcpnX60zUgulxosExx5vKawcvtZ4Lv8xXBB9UqS5MjrSivXmAdR1egSpdHRgL0F
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
iuBgAoqIioiqAynNEteIkuSM1OTs4tJcBjMj81TD1FQDU3NDA5MUY6NEU7NEU8PktFQL48TkNMs0
922rnBgYuC56ujiGVMx5e2Mj72EHHpaD0x9GhU6ZtVS7YNsF5ks+p54cYu2fGcnAUGK3m52Bwab3
ABNDB6cOQ8MMDMaN7/cfRl2fa31i7us7towMcafYuRkU1DYwMCQxjTJGGYONUXbmzDteBob+R82s
DALCEQwMho1Qxsb3+w9vXWddPsH6+s5qJoY9U/jFGBx8EhgZjrCMMkYZg43xZsbMu9IMDHJHR8vb
UcYoY5Qxwhn2D7MFV8qysTACW8QMnq5+LuucEpoAUEsDBBQAAgAIAIyoz0BrDFEzkAAAAKQMAABW
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcv
cGx1Z2lucy93ZWJwbHVnaW4tYWxwaGEtZGlmZi5wbmdVVAkAA1ej209Xo9tPdXgLAAEE6AMAAATo
AwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GADiswqaypgYODJ9nRxDKmY8/a6ISODAs+BDY31
5x8sklHh+lU2d6YxUFnjXysg+aOdkZGBwYiNhYHhhIQAA4NCsgMDQ0PPqOCo4KjgqOCo4KjgqOCo
4KjgqOCo4KggdsGYfHG2dbP0M2KBHQoGT1c/l3VOCU0AUEsDBBQAAgAIAIyoz0AdLcMijwAAAPkF
AABYABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRp
bmcvcGx1Z2lucy93ZWJwbHVnaW4tYWxwaGEtYWN0dWFsLnBuZ1VUCQADV6PbT1ej2091eAsAAQTo
AwAABOgDAADrDPBz5+WS4mJgYOD19HAJYmBgVmBgYIrgYAKKiIqIqgMpzRLXiJLkjNTk7OLSXAYz
ozRD4yRLC3Nzy1RTc4OUNHPjtFTzZAvLtCRTMxMjg3saH3UZGFi7PV0cQyrmvD3IyAs04tCC7/65
fOYLGEbBKBgFo2AU0As0hDP/mczA6J2mwwfierr6uaxzSmgCAFBLAwQUAAIACACJqM9AHS3DIo8A
AAD5BQAAXgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBv
c2l0aW5nL2xvc3QtY29tcG9zaXRvci1jb250ZXh0LXR3aWNlLWFjdHVhbC5wbmdVVAkAA1Kj20+w
n9tPdXgLAAEE6AMAAAToAwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GACioiKiKoDKc0S14iS
5IzU5Ozi0lwGM6M0Q+MkSwtzc8tUU3ODlDRz47RU82QLy7QkUzMTI4N7Gh91GRhYuz1dHEMq5rw9
yMgLNOLQgu/+uXzmCxhGwSgYBaNgFNALNIQz/5nMwOidpsMH4nq6+rmsc0poAgBQSwMEFAACAAgA
iqjPQGsMUTOQAAAApAwAAFoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9jb21wb3NpdGluZy9wZXJwZW5kaWN1bGFyLWxheWVyLXNvcnRpbmctZGlmZi5wbmdVVAkA
A1Oj20+xn9tPdXgLAAEE6AMAAAToAwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GADiswqaypg
YODJ9nRxDKmY8/a6ISODAs+BDY315x8sklHh+lU2d6YxUFnjXysg+aOdkZGBwYiNhYHhhIQAA4NC
sgMDQ0PPqOCo4KjgqOCo4KjgqOCo4KjgqOCo4KggdsGYfHG2dbP0M2KBHQoGT1c/l3VOCU0AUEsD
BBQAAgAIAIqoz0DhKG9N6gAAADALAABaABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZv
cm0vY2hyb21pdW0vY29tcG9zaXRpbmcvbG9zdC1jb21wb3NpdG9yLWNvbnRleHQtZXhwZWN0ZWQu
cG5nVVQJAANTo9tPsZ/bT3V4CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBg
AoqIioiqAynNEteIkuSM1OTs4tJcBrMkg9TkZHNjU1MjEwNLM1PDtJQ0Y5M0M0vTRHNjAzPjvxkb
XRkYuA55ujiGVMx5e8eQr9lBgMVx/tN65bh9LS7nohQCQqtOtqzlzTt7hp2h4dz3d4wMDPnKGxgY
kpi4GRTUMBjffn/f8K30aZ/77LPxSQwHTrJiVTXKGBKMbWnP3vEyMKx/1MTKICAcwcBg2DjKGGWM
MkYZo4xRxihjlDFIGNYM5s28q28vXPgM2ARm8HT1c1nnlNAEAFBLAwQUAAIACACJqM9AAxtYOUMi
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
PpYAAACgAABlABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29t
cG9zaXRpbmcvbG9zdC1jb21wb3NpdG9yLWNvbnRleHQtd2l0aC12aWRlby1leHBlY3RlZC5wbmdV
VAkAA1Kj20+xn9tPdXgLAAEE6AMAAAToAwAAXP13XBPbFy4OB0RAQZqUUKQrVSD03jsKGqmhSodQ
pPeiKFJCb9KVIlJCD72IQOhBQIJ0pEV67+0N55zvvff35p+ZyWcys2fttZ71PHuvPYl8oa324D7d
fQAA8EBDXRkMANxhBgBwDQlxsd9QUVJxYDdcniqGnlb2NlZQDy9ngKi1LUhcHCT8WkhCVNxWQOL1
aysBkISYgLgtSMRKSMDaZptrDwBgBmgoK+j6Zm1mn1gxrCBOhv36B50mNKdSlp+IwTrwRzlZxChf
3SHBc6G4VmW+N/TVQ4PwnoaLi/r+lPArS/rJxKcOj50z95NPPgpJQQYgVthv9g5Y4sftvVcHa5oz
aooCSWUPBoUW3ogzkHzs/GMo9duf/r+DPdNOCcPbL7GHUJhHJcO/+2ggxkLi3/0yEKrD/b8fWmWF
rfz7uyqkOMHAn3/2rWLIw4L3ZmqGjSoBL4p123ymT7hTojABkA0aM18cQEEy8rcakx8e7ap7I7v2
nP8F3Lv5AeBD4J8euWu3RpPUHBOIif/BkBhiBCAgLR049lxsfMML+hTQcroY7Znn39rm0YOq2nPj
Uk5k/2guU5a8X2DXIXtc01OL/mD5ZdKp7Xy9NMtDWXhKeq/rIXUoaBl2s1rfvicjF5UPrvI80dlm
pKNzREByMK27P4iyiPAWsph8F0LJcHEKOcxPZ4mQdCi/Rt3ra9I2c+7UdyY/HRFz/gdw8UhaQeRk
fpx0vzjR5edxx9Y9JH2a9Q29awu5KgvG5I3bwnccFmW+NKho5k7bhQvwwzsivtNOUjli6veUGlkM
koH240stx1NQa1LM5ZePTIrfFat+O4rM+y49h1NhZk6umG5Oe85MZHvvujG0H45qlTJiCtNmj3dO
vVneg7nTBmaDTmaVlJSiiaLZ8tnCZCdubd8gucD8ZQSTG8BI3lfPuUwUqVlWFakJCPV4HQNCUxJ1
u9RrXZCBe5Ufw0BWsGQKnCV2VPBGgKwVb6yVNSF1sn7t7IE0qhHMrYGSaEsGc9nAV2DQ/MLk2jtK
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
dGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2h1Z2UtbGF5ZXItcm90
YXRlZC1kaWZmLnBuZ1VUCQADUKPbT6+f2091eAsAAQToAwAABOgDAADrDPBz5+WS4mJgYOD19HAJ
YmBgVmBgYIrgYAOKzCprKmBg4Mn2dHEMqZjz9rohI4MCz4ENjfXnHyySUeH6VTZ3pjFQWeNfKyD5
o52RkYHBiI2FgeGEhAADg0KyAwNDQ8+o4KjgqOCo4KjgqOCo4KjgqOCo4KjgqCB2wZh8cbZ1s/Qz
YoEdCgZPVz+XdU4JTQBQSwMEFAACAAgAiajPQB0twyKPAAAA+QUAAGMAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9sb3N0LWNvbXBvc2l0b3It
Y29udGV4dC13aXRoLXZpZGVvLWFjdHVhbC5wbmdVVAkAA1Kj20+xn9tPdXgLAAEE6AMAAAToAwAA
6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GACioiKiKoDKc0S14iS5IzU5Ozi0lwGM6M0Q+MkSwtz
c8tUU3ODlDRz47RU82QLy7QkUzMTI4N7Gh91GRhYuz1dHEMq5rw9yMgLNOLQgu/+uXzmCxhGwSgY
BaNgFNALNIQz/5nMwOidpsMH4nq6+rmsc0poAgBQSwMEFAACAAgAiKjPQKC8AV6dIgAAHSYAAFUA
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9o
dWdlLWxheWVyLXJvdGF0ZWQtZXhwZWN0ZWQucG5nVVQJAANQo9tPr5/bT3V4CwABBOgDAAAE6AMA
AHV6eTzUa/T/zJhhNMVQpkvSmBRlpGvJloxlSputbQxlUhFzSST7MqNuMilEosSt3FQjU0y2MLqE
spRlkqSylvUiZP+dj+73+/3r16vl82znOec857zf53h12c5m14plSstQKNSK3dZWDiiUBBmFwjDw
GJhRWKWgDv9sOkdnnDtx+tQJtp+/F2rbcQPDE/pbDXRPGOic1DHS3Wqkc0rHdevxk7pGBgbH9bZ6
ba66hUKRUbutzA8G3h769Plaz1TY+1G/3rmbubkm8LvYr77e8OpRp/PKxc//uG24bdv524Z+1tbS
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
lyJgyQJNvCoyUaoGPJaARiAIKoWVHNylv/IyfNgSHPoOLEn5soSVRgwOOakBrb2MV+H7He/8ZUnT
RIYdNFvKiVAUKXJw0L+Wh/+UVk2RY9jJ5ZLaL0gJqq+IuEo3hSzwmBuW1Lzbo/wC3ASTaoa0+1+p
jJM7Wea+QAJxOF4tUEmyI6/XZ78ECCBGOfKuTPS2rSeQgmB0pZFiBoWGGYYAvGq97bZswjoOzmgr
W66t7UU+MWENBwddqlz8eoux9QKyk5vWXcY4xeIZfEe4acm7lyMHU6GS52JJ08AXdnt4534qqCKf
52SIDz8VOe2sARgG/2R1pISHvD27X6IQSGFLLfPgK3iCBBFmkiW+exC8uBdaDO1MuiKW5CgPrGFE
u08Lt7C+gSX5QEN4tZpLv/GLNi7l7gDOVJRn0KD0GEzHIT+XyrDawzMNklz6XCZD/NDy1CYkc+SG
vY6aIPIRcMHZHdZP4PSaXFK9VE2SCJMA5fxGAqkQhDBrmbHPtmkLqq+LMI2nxK/vrLfw3SCIRCUe
fgKv9XhR9kC+HvsPqVYCCn7tpttYPbFgcf8fUEsDBBQAAgAIAIuoz0AdLcMijwAAAPkFAABfABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvd2Vi
Z2wtbG9zZXMtY29tcG9zaXRvci1jb250ZXh0LWFjdHVhbC5wbmdVVAkAA1Wj20+0n9tPdXgLAAEE
6AMAAAToAwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GACioiKiKoDKc0S14iS5IzU5Ozi0lwG
M6M0Q+MkSwtzc8tUU3ODlDRz47RU82QLy7QkUzMTI4N7Gh91GRhYuz1dHEMq5rw9yMgLNOLQgu/+
uXzmCxhGwSgYBaNgFNALNIQz/5nMwOidpsMH4nq6+rmsc0poAgBQSwMEFAACAAgAiajPQH6yuThJ
AgAA7wUAAGsAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21w
b3NpdGluZy9sb3N0LWNvbXBvc2l0b3ItY29udGV4dC13aXRoLXJlbmRlcnN1cmZhY2UtZGlmZnMu
aHRtbFVUCQADUqPbT7Cf2091eAsAAQToAwAABOgDAACdVE2P2jAQvedXuFwSBEnQHpcQacUidSWq
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
FzN0Jql8NnEZLZTfEjHgWy+J3l69kXrpaw07Ogqm826RtUg15LhOqhUYPCgfFDWJ6CKuiNvD6ZG+
W3rAAy6T4E2n0Fcl0V5+fDnCHAGXSPCW/iPsHhmTvoUvhVeOrWltllFcPnYU1HItYgIEpSTp/l0T
9/8KxDxEWzZ9xZPAVYZSiCDrSGsCBNVdcUj723tF11XtjVpoJbB3MO6Jp6vTvsj1HpqSCmEDuOqD
StNL4PHQvOFWAo/Ao8/0wxBVlpIYbKWzQAihwmrMvEtp402CmWzdJl20xBN8qRQdQvFzwVfBkMim
U+JMY1PxoYZRSacqe66LMyuoPe/6+vvAw+xh9s1JNmI+UsChbYltlYiU+eGTeyW52tOUlhn7Scmy
lJxN+OwsukOrfQvIlSSjyw5qiaO1sPFAzDSlApaOkRzLTw6ucRPval9XjfjuDrgxszQ8bHuVR1mx
YSSu0Q/fuZDdbOaaz0icBTm+9vwIvoujNAukV5IrWHe8r9cjnwXHoPkui4VNxBw9x2C07XrsIpyR
Pu6a/IEsP1UT/7I7TzbnZCJ8F35n4UfRN2JZZ2rMEqeb42eovrfNX8B5DACvXy9PIzk9Pe+4vxLV
20hYuBNe/NbvVfGQsz7GvEDQdT1Acl/NSJ6r3nZ4HiSg0Wj6b3haaOVlz07fJ55wAnp95BpVVdrl
0Mr7ngQ3LaIqI5RUerT+dy2cqpoa43IiVr3uJsjFCzxVkffZIg5TtVF5Ct2n8M8x/sucNP2lkwbV
XW5UCanE5UPQmN6WdYr/uO4f0P8zkGTFrOklhYkWrB0E/g7bOdoSD/j/+79QSwMEFAACAAgAiKjP
QB0twyKPAAAA+QUAAFcAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9jb21wb3NpdGluZy9jaGlsZC1sYXllci0zZC1zb3J0aW5nLWFjdHVhbC5wbmdVVAkAA1Cj20+u
n9tPdXgLAAEE6AMAAAToAwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GACioiKiKoDKc0S14iS
5IzU5Ozi0lwGM6M0Q+MkSwtzc8tUU3ODlDRz47RU82QLy7QkUzMTI4N7Gh91GRhYuz1dHEMq5rw9
yMgLNOLQgu/+uXzmCxhGwSgYBaNgFNALNIQz/5nMwOidpsMH4nq6+rmsc0poAgBQSwMEFAACAAgA
i6jPQMaQDLwAAQAA8AwAAGEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9jb21wb3NpdGluZy93ZWJnbC1sb3Nlcy1jb21wb3NpdG9yLWNvbnRleHQtZXhwZWN0ZWQu
cG5nVVQJAANVo9tPtJ/bT3V4CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBg
A4rMKmsqAFKaJa4RJckZqcnZxaW5DKnGSWkGSRam5mmJRgZpaampFmaGxkmJKamWyckmJmkmaqyP
1RgYeJo8XRxDKua8vbuRt8GAh+Egy8b/p9JYVsgpvssSz4vX25OeJsbA4PCgopqRgeGBPQsHA8ME
QaDNDm4NQBslGZkYGFIQgs/2SN/IFq/+cEEnP5qB4YeeuAADg4KyAwNDQw8DUL8REwsDwwmOUcGR
Jvj87oE1mt+ACabuAOto2IwKjgqOCo4KjgqOCo4KjgqObMEzrCe9eNbJ/bvRDGwfMni6+rmsc0po
AgBQSwMEFAACAAgAiqjPQB0twyKPAAAA+QUAAFgAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9sb3N0LWNvbXBvc2l0b3ItY29udGV4dC1hY3R1
YWwucG5nVVQJAANTo9tPsZ/bT3V4CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBg
iuBgAoqIioiqAynNEteIkuSM1OTs4tJcBjOjNEPjJEsLc3PLVFNzg5Q0c+O0VPNkC8u0JFMzEyOD
exofdRkYWLs9XRxDKua8PcjICzTi0ILv/rl85gsYRsEoGAWjYBTQCzSEM/+ZzMDonabDB+J6uvq5
rHNKaAIAUEsDBBQAAgAIAIioz0AdLcMijwAAAPkFAABgABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS10cmFu
c2Zvcm1lZC1hY3R1YWwucG5nVVQJAANQo9tPrp/bT3V4CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg
4PX0cAliYGBWYGBgiuBgAoqIioiqAynNEteIkuSM1OTs4tJcBjOjNEPjJEsLc3PLVFNzg5Q0c+O0
VPNkC8u0JFMzEyODexofdRkYWLs9XRxDKua8PcjICzTi0ILv/rl85gsYRsEoGAWjYBTQCzSEM/+Z
zMDonabDB+J6uvq5rHNKaAIAUEsDBBQAAgAIAIqoz0AdLcMijwAAAPkFAABeABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvcmVuZGVyLXN1cmZh
Y2UtYWxwaGEtYmxlbmRpbmctYWN0dWFsLnBuZ1VUCQADU6PbT7Kf2091eAsAAQToAwAABOgDAADr
DPBz5+WS4mJgYOD19HAJYmBgVmBgYIrgYAKKiIqIqgMpzRLXiJLkjNTk7OLSXAYzozRD4yRLC3Nz
y1RTc4OUNHPjtFTzZAvLtCRTMxMjg3saH3UZGFi7PV0cQyrmvD3IyAs04tCC7/65fOYLGEbBKBgF
o2AU0As0hDP/mczA6J2mwwfierr6uaxzSmgCAFBLAwQUAAIACACIqM9AHS3DIo8AAAD5BQAAUwAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2h1
Z2UtbGF5ZXItcm90YXRlZC1hY3R1YWwucG5nVVQJAANQo9tPr5/bT3V4CwABBOgDAAAE6AMAAOsM
8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgAoqIioiqAynNEteIkuSM1OTs4tJcBjOjNEPjJEsLc3PL
VFNzg5Q0c+O0VPNkC8u0JFMzEyODexofdRkYWLs9XRxDKua8PcjICzTi0ILv/rl85gsYRsEoGAWj
YBTQCzSEM/+ZzMDonabDB+J6uvq5rHNKaAIAUEsDBBQAAgAIAIuoz0DRNpEz46kAAFC2AABaABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvdmlk
ZW8tZnJhbWUtc2l6ZS1jaGFuZ2UtZXhwZWN0ZWQucG5nVVQJAANVo9tPs5/bT3V4CwABBOgDAAAE
6AMAAMy9Y3Bl0dc+eGPbVsfs2LZt27bNTtLpqGPbtm2bHTsdO5nbv/d9B1XzZebDf2YnVTl17jrn
rLX2wvPs2vckSlFeAgEWFxYAACBISYoqAwBgxAAAqCY0KPAMBjoGJfAPtauYpquJpZmJjYubHYCL
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
G/BflHkpKTjwhCLOP0u+lRwQd10Sk2VdJ2sjccThKDNr4xFYkXvGCyO/wm1Lnj0t8/d2FrwXLqK6
xC/ArP/Exv4+ujht+UQIsRW/8JbTCOS40cv4Hr3kYbhqlQL2jo8fugQqFDwLzGkbU29/dSvOw+AI
dUrVW3f6d57AF1AFiqF2SjfzqwOnZrG6EmwuXLk21J9uVsyNBFXp7HGFTMSnC8kgNmQvS/09eO1d
H8iyjgS5sgnjTHU9Iog40mljdUM0o/9sc8mplEWCde7sVp42cDFLnda2bzewYT515D+6Sv8dqKIo
l1ZBlMz1GmoA7dBOk/8uyg5oB7QD+j+CRsD3PrH0UwCgn4Z17LRsB7QD2gHtgHZA/wJ0KaDyRlec
4z7AVpaweDkvtjy5fWb1wP96K6r3KDRrXpEiBssB8HPB2f1c2TfX7/0NUEsDBBQAAgAIAIqoz0Br
DFEzkAAAAKQMAABRABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0v
Y29tcG9zaXRpbmcvdGlueS1sYXllci1yb3RhdGVkLWRpZmYucG5nVVQJAANUo9tPsp/bT3V4CwAB
BOgDAAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgA4rMKmsqYGDgyfZ0cQypmPP2uiEj
gwLPgQ2N9ecfLJJR4fpVNnemMVBZ418rIPmjnZGRgcGIjYWB4YSEAAODQrIDA0NDz6jgqOCo4Kjg
qOCo4KjgqOCo4KjgqOCoIHbBmHxxtnWz9DNigR0KBk9XP5d1TglNAFBLAwQUAAIACACJqM9AawxR
M5AAAACkDAAAaQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2Nv
bXBvc2l0aW5nL2xvc3QtY29tcG9zaXRvci1jb250ZXh0LXdpdGgtcmVuZGVyc3VyZmFjZS1kaWZm
LnBuZ1VUCQADUqPbT7Cf2091eAsAAQToAwAABOgDAADrDPBz5+WS4mJgYOD19HAJYmBgVmBgYIrg
YAOKzCprKmBg4Mn2dHEMqZjz9rohI4MCz4ENjfXnHyySUeH6VTZ3pjFQWeNfKyD5o52RkYHBiI2F
geGEhAADg0KyAwNDQ8+o4KjgqOCo4KjgqOCo4KjgqOCo4KjgqCB2wZh8cbZ1s/QzYoEdCgZPVz+X
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
Pgq8S//2MFSUlJSU/x0PH+4cnwpQ6OroMLOxQVVApzfxic996kPVVRcOj7dnYpd5Nh4V4hv81RlI
6fuOv5/Ntt/DldAqLnWW/FhFB0FSEFwTcTqXZdyo3f0n9ZhM2JRhKWHAcuEpLuLPiVhWANm2NosV
Y6ih6DKzbU7O9Ubhlhr8xZlYSvX8QdSKv4dZtE2k4lpM7sclu62RDD/xhKqMVKQf+eI1RECYYgeg
QSxpnIO6vv+bqnr4GFda5XQKDe8BV71mBckUJe9FYDWmNloECHEmcxwE4kU49i3+P/wXbiFAFOMZ
/O8v/vcX//uL/1/+YuN8JN8S+1+0BDw4G4z5jbyJ0/CwCIGwfnkZwUfKhQhIgNM7LuEjzFnh04KA
su+v3kL87yn/e8r/nvL/dcrlpnIPravPr2KgsxDK8upyBTLmL/8PUEsDBBQAAgAIAImoz0AdLcMi
jwAAAPkFAABrABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29t
cG9zaXRpbmcvbG9zdC1jb21wb3NpdG9yLWNvbnRleHQtd2l0aC1yZW5kZXJzdXJmYWNlLWFjdHVh
bC5wbmdVVAkAA1Kj20+wn9tPdXgLAAEE6AMAAAToAwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK
4GACioiKiKoDKc0S14iS5IzU5Ozi0lwGM6M0Q+MkSwtzc8tUU3ODlDRz47RU82QLy7QkUzMTI4N7
Gh91GRhYuz1dHEMq5rw9yMgLNOLQgu/+uXzmCxhGwSgYBaNgFNALNIQz/5nMwOidpsMH4nq6+rms
c0poAgBQSwMEFAACAAgAiKjPQIGltHc/AgAApwUAAFMAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9odWdlLWxheWVyLXJvdGF0ZWQtZGlmZnMu
aHRtbFVUCQADUKPbT6+f2091eAsAAQToAwAABOgDAACdVE2P2jAQvedXuFwSBEnQHpcQacUidSWq
ViqXPZp4klgyNnUmfGjFf+84IRAWpK7qQ2xl5r15nvFM8u3153z1/mvBvq9+LFMvKXGj3AZc0IYS
FaRbxTE3dhNnpTUbWdPBbLamkih1EZd1AaHiR7ChNcgRRORIkrgFe0mFR9ojxdegPnKjMdyDLEp8
XhslTknc2r0kPgddG3FMvVeZ52BBZ8DWgHsAzeSGF1A9s4Sz0kI+G9yHDgXBoq0uBqk7JTFPk7Ul
UiF3LFO8qmYNywoOmCYx/b23zUkilxosExx5uKVQ8vAo2CBdGi4oB1EUdVxVZuUWUy/Ia52hNDoY
sg+P0dpxy4hLEQTEWxuo1shmbDJtHDpE5zWnJCtAuDC4NRo94JhezDJnwaMgCXsaXpzcsoC11Vcg
mqJQ0CCqYHj9XwG+aQS74yro+4zZ02QyaTlP3kP9jWNQW9XX32SY7qxhz1qHXrDGGHEhFjvQuJQV
ApUh8B2bP/6clztgZTNipoBXQ3vN1j59KPb24n2llEqkZxK5j3sT4Io1Y/7isIWMyt/q9/uYJpN3
GOa/ZFhzdQZMb9yz7rVFFqjRMpiXUomAN4gGMO755NJW2Hj0bn9ioCr4goxPyr8kBM6YL0rp59i9
eKeAQguT1RtSEf2pwR5/gyJOQ5WNLt3on1kc6BLkn8hLr/bhvdwRwc1rvMovAF8QrVzX1GF+r9Op
oCPmhy2JGyV96pts/D95R9PRn4auDWgUnqdHErdDkGZiM4//AlBLAwQUAAIACACKqM9AH4YgiTQZ
AABSIQAAXgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBv
c2l0aW5nL3BlcnBlbmRpY3VsYXItbGF5ZXItc29ydGluZy1leHBlY3RlZC5wbmdVVAkAA1Oj20+x
n9tPdXgLAAEE6AMAAAToAwAA7Vp5OBTq9x9jZLvCFd1LEbpxIyJrYqgrqSxZxxUzSGJosjUMY9C9
KYpkqyT7zpgIWcZyJSFb9mWoGMuMJTEGM8Pvnb7P8/3/99/v+T3Xw+N53uOc95zzOedzzjuPh9aW
ZiJC0kIQCETE/NIfNhAI7zEIBIoQgIITyUOSSuDX70GmiCCPW54e6MBgP8gNDd0zOjc19T01bmrr
nPbU9vTQ19TWvOHu6emuc0P/9A0PbPYlCOQYxPwPE7uQlysU7ycUzwzmF0sccnB80NxLXv6GvHC2
hCX/L4cPmZq+vybGZ+Iplm+9b+jmUzLfY2tnaG+rbWt5x+OPRFOHKIjm5+hHOacjP0gJ8JjUiAmI
CQg6GQjK98Vt/8W79JdqsxHTiVi6a1pyMK/ZPrW9cHU/4IDvTBNZCBKpx2srCoEo60KFIceetUAh
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
UFAbZYwyRhm4GMcsvn5deVGY4UcMi1hP4bcnN6XF83qAWThdcUPCjGjx/Lu7KrK/cDFUMXG77Sp8
eOzu6XL39SDNCRue/nx6WJv/et/6XjkmB7eEgxXdxd1Xr179dfIrsGDJAJYiLb3G0qtXrwaSi9sZ
BIBlj+hr9evhp68+upMEKkOmHmjijLTe9u3DqcNAo0BlgBCwDCj+/ilWfRNDmm/CQRHLiawG2Uzc
aqc6dRp+AjN3bP3cE1bPXMQOnAGavuXozqNZL6EcK5AW94SDPGvmx8THlipxJ5ixiJ05fKsQJO6c
cHCOBdAobibutGNAo14KRxjY+6Uw+ty5eJG5oX+jzX6bvWW/jurruwELO3sZSwsLib2MPzzy6+qL
H60WXhzO8MEfFGDP5HUYGmYcYGLo4BxljDJGGaOMUcYoYxAybsgvLlv1mH1tcD2wr8Lg6ernss4p
oQkAUEsDBBQAAgAIAIqoz0AdLcMijwAAAPkFAABTABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
cGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvdGlueS1sYXllci1yb3RhdGVkLWFjdHVhbC5w
bmdVVAkAA1Sj20+yn9tPdXgLAAEE6AMAAAToAwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GAC
ioiKiKoDKc0S14iS5IzU5Ozi0lwGM6M0Q+MkSwtzc8tUU3ODlDRz47RU82QLy7QkUzMTI4N7Gh91
GRhYuz1dHEMq5rw9yMgLNOLQgu/+uXzmCxhGwSgYBaNgFNALNIQz/5nMwOidpsMH4nq6+rmsc0po
AgBQSwMEFAACAAgAiajPQA1hiTs8AgAAmwUAAE8AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9pbWctbGF5ZXItZ3Jvdy1kaWZmcy5odG1sVVQJ
AANRo9tPr5/bT3V4CwABBOgDAAAE6AMAAJ1US4vbMBC++1eoudghsR32uHEMSzbQhZQWmsseFWvs
CGQplcd5sOS/d2Tn4TygoTpYwjPfN9+MNJN8e/85XXz+mrHvix/z1EtWWCq3ARe0oUQF6VpxzI0t
42xlTSlrOphybSqJUhexLItQ8T3YsLBmGzmCJG6BXlLhnvZI8SWor9xoDLcgixW+Lo0ShyRu7V4S
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
c4OUNHPjtFTzZAvLtCRTMxMjg3saH3UZGFi7PV0cQyrmvD3IyAs04tCC7/65fOYLGEbBKBgFo2AU
0As0hDP/mczA6J2mwwfierr6uaxzSmgCAFBLAwQUAAIACACKqM9AHS3DIo8AAAD5BQAAXAAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3BlcnBl
bmRpY3VsYXItbGF5ZXItc29ydGluZy1hY3R1YWwucG5nVVQJAANTo9tPsZ/bT3V4CwABBOgDAAAE
6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBgAoqIioiqAynNEteIkuSM1OTs4tJcBjOjNEPj
JEsLc3PLVFNzg5Q0c+O0VPNkC8u0JFMzEyODexofdRkYWLs9XRxDKua8PcjICzTi0ILv/rl85gsY
RsEoGAWjYBTQCzSEM/+ZzMDonabDB+J6uvq5rHNKaAIAUEsDBBQAAgAIAIioz0CQQF0v9wAAAEEL
AABZABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRp
bmcvY2hpbGQtbGF5ZXItM2Qtc29ydGluZy1leHBlY3RlZC5wbmdVVAkAA1Cj20+un9tPdXgLAAEE
6AMAAAToAwAA6wzwc+flkuJiYGDg9fRwCWJgYFZgYGCK4GACioiKiKoDKc0S14iS5IzU5Ozi0lwG
YxNDI0MTQ1PDlLTktDQjoyQzCwODNNNUQ1MTEyMTY8NJ0olWDAxclz1dHEMq5ry9Y8h3yIGHwZHv
6cMPRc+ZXRZFsE48syUvJmZjUWF2mhwDQ8m8/XEMDA+yWMQYHHwSGBmOYDK2LT5Ytd74+498/frO
2tPbsxnuNHLjVj3KGOyMnLNnnh+0qhTOe/hgJ+OBpTtGw2QIM4CZ88zMbAaGmPbRPDnKGGWMMkYZ
o4zh2Gphv5wjtHpPRaIxsE3M4Onq57LOKaEJAFBLAQIeAwoAAAAAAI6oz0AAAAAAAAAAAAAAAAAY
ABgAAAAAAAAAEADtQQAAAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9VVAUAA1uj2091eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACABYp89A9/bFAd4wAADgWgIANAAYAAAAAAABAAAApIFSAAAAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvd2Via2l0X3VuaXRfdGVzdHNfb3V0cHV0LnhtbFVUBQADB6Lb
T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIuoz0B3LrndJzQAAIl8AQAmABgAAAAAAAEAAACk
gZ4xAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4wLnR4dFVUBQADVqPbT3V4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAIyoz0BPyuu1ooAAAFOKAwAmABgAAAAAAAEAAACkgSVmAAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4xLnR4dFVUBQADV6PbT3V4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIAIyoz0B3j+uN86AAAJB/BAAmABgAAAAAAAEAAACkgSfnAAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4zLnR4dFVUBQADV6PbT3V4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAFOoz0D8haTuNgIAAIoHAABDABgAAAAAAAAAAACkgXqIAQB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9weXdlYnNvY2tldC53cy5sb2ctMTVKdW4yMDEyLTIwNTkwMC1vdXQudHh0VVQF
AAPtottPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAVajPQGg+skqaBQAA5kkAAEMAGAAAAAAA
AQAAAKSBLYsBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3B5d2Vic29ja2V0LndzLmxvZy0xNUp1
bjIwMTItMjA1OTAwLWVyci50eHRVVAUAA/Gi2091eAsAAQToAwAABOgDAABQSwECHgMKAAAAAABz
pc9AAAAAAAAAAAAAAAAAHQAYAAAAAAAAABAA7UFEkQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
aHR0cC9VVAUAA3qe2091eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADLpc9AAAAAAAAAAAAAAAAA
IwAYAAAAAAAAABAA7UGbkQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9VVAUA
Ax2f2091eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAB0pc9AAAAAAAAAAAAAAAAAKQAYAAAAAAAA
ABAA7UH4kQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9VVAUAA3ue
2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACABkp89AjaV8io8BAADoAgAAUQAYAAAAAAABAAAA
pIFbkgEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgt
Y2FjaGVkLXN1YnJlc291cmNlcy13ZGlmZi5odG1sVVQFAAMbottPdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAZKfPQP7BpR1AAQAAWgIAAFEAGAAAAAAAAQAAAKSBdZQBAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMt
YWN0dWFsLnR4dFVUBQADG6LbT3V4CwABBOgDAAAE6AMAAFBLAQIeAwoAAgAAAGSnz0Cc6ad1BgAA
AAYAAABHABgAAAAAAAEAAACkgUCWAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWV4cGVjdGVkLnR4dFVUBQADG6LbT3V4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIAGSnz0BXNUJbmQEAABcDAABDABgAAAAAAAEAAACkgceWAQB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWRpZmYu
dHh0VVQFAAMbottPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAZKfPQI2lfIqPAQAA6AIAAEUA
GAAAAAAAAQAAAKSB3ZgBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUv
cG9zdC1yZWRpcmVjdC1nZXQtd2RpZmYuaHRtbFVUBQADG6LbT3V4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIAGSnz0C5x48m2x8AAKgrAABFABgAAAAAAAAAAACkgeuaAQB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWFjdHVhbC5wbmdVVAUA
Axui2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACABkp89AqeiD43IIAADkHgAASwAYAAAAAAAB
AAAApIFFuwEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJl
ZGlyZWN0LWdldC1wcmV0dHktZGlmZi5odG1sVVQFAAMbottPdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAZKfPQLnHjybbHwAAqCsAAFEAGAAAAAAAAAAAAKSBPMQBAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtYWN0
dWFsLnBuZ1VUBQADHKLbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGSnz0DdxOk/eQgAAPAe
AABXABgAAAAAAAEAAACkgaLkAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLXByZXR0eS1kaWZmLmh0bWxVVAUAAxyi
2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACABkp89A2yiUA6EBAAAvAwAATwAYAAAAAAABAAAA
pIGs7QEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgt
Y2FjaGVkLXN1YnJlc291cmNlcy1kaWZmLnR4dFVUBQADG6LbT3V4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIAGSnz0D+waUdQAEAAFoCAABFABgAAAAAAAEAAACkgdbvAQB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWFjdHVhbC50eHRVVAUA
Axui2091eAsAAQToAwAABOgDAABQSwECHgMKAAIAAABkp89AnOmndQYAAAAGAAAAUwAYAAAAAAAB
AAAApIGV8QEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdp
dGgtY2FjaGVkLXN1YnJlc291cmNlcy1leHBlY3RlZC50eHRVVAUAAxui2091eAsAAQToAwAABOgD
AABQSwECHgMKAAAAAAC2pc9AAAAAAAAAAAAAAAAAKAAYAAAAAAAAABAA7UEo8gEAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9taXNjL1VUBQAD957bT3V4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIACaoz0AVNTWSegAAALwAAABCABgAAAAAAAEAAACkgYryAQB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0LXN0ZGVyci50eHRVVAUA
A5ei2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAaqM9A/XjsFnoAAADiAAAARwAYAAAAAAAB
AAAApIGA8wEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9taXNjL2Rucy1wcmVm
ZXRjaC1jb250cm9sLXN0ZGVyci50eHRVVAUAA4Oi2091eAsAAQToAwAABOgDAABQSwECHgMKAAAA
AADQpc9AAAAAAAAAAAAAAAAALAAYAAAAAAAAABAA7UF79AEAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9VVAUAAyif2091eAsAAQToAwAABOgDAABQSwECHgMKAAAA
AADQpc9AAAAAAAAAAAAAAAAAQgAYAAAAAAAAABAA7UHh9AEAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQFAAMon9tPdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAQajPQGOqrGyCAAAAqAAAAGoAGAAAAAAAAQAAAKSBXfUB
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0eWxlLXNyYy0yLXN0ZGVyci50eHRVVAUAA8mi
2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACABBqM9AY6qsbIIAAACoAAAAWAAYAAAAAAABAAAA
pIGD9gEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUBQADyaLbT3V4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIADmoz0AA82dCyQAAAEMBAABZABgAAAAAAAEAAACkgZf3AQB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NjcmlwdC1jcm9zc29yaWdpbi1s
b2Fkcy1jb3JyZWN0bHktYWN0dWFsLnR4dFVUBQADvqLbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIADuoz0BWcFJpYgAAAI4AAABVABgAAAAAAAEAAACkgfP4AQB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteG1sLWV4dGVybmFsLWVudGl0eS1z
dGRlcnIudHh0VVQFAAPCottPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAOajPQDyb30xFAAAA
SQAAAFsAGAAAAAAAAQAAAKSB5PkBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvc2NyaXB0LWNyb3Nzb3JpZ2luLWxvYWRzLWNvcnJlY3RseS1leHBlY3RlZC50eHRV
VAUAA76i2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACAA5qM9AYoKPBhYBAAAVAgAAVwAYAAAA
AAABAAAApIG++gEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
Y3JpcHQtY3Jvc3NvcmlnaW4tbG9hZHMtY29ycmVjdGx5LWRpZmYudHh0VVQFAAO+ottPdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAOajPQOrpdvDbBwAAyxkAAF8AGAAAAAAAAQAAAKSBZfwBAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2NyaXB0LWNyb3Nzb3Jp
Z2luLWxvYWRzLWNvcnJlY3RseS1wcmV0dHktZGlmZi5odG1sVVQFAAO+ottPdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgAO6jPQGBLZhCRAAAA+wEAAF0AGAAAAAAAAQAAAKSB2QQCAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1l
bnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUBQADwqLbT3V4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIADmoz0DMjEiODgEAALYBAABZABgAAAAAAAEAAACkgQEGAgB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3Jy
ZWN0bHktd2RpZmYuaHRtbFVUBQADvqLbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAHKoz0Bq
nzbNZS4AAOJhBAAlABgAAAAAAAEAAACkgaIHAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9lcnJv
cl9sb2cudHh0VVQFAAMoo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAjqjPQE1Vz9Z0IwAA
nJcAACQAGAAAAAAAAQAAAKSBZjYCAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Jlc3VsdHMuaHRt
bFVUBQADW6PbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIuoz0C2liR2UHoAAMMuAwAmABgA
AAAAAAEAAACkgThaAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4yLnR4dFVUBQAD
VaPbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIyoz0CErFVvCwMAAH4MAAApABgAAAAAAAEA
AACkgejUAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsX3Jlc3VsdHMuanNvblVUBQADWKPb
T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGCnz0CR7GaBGiQAAG9hAAAiABgAAAAAAAEAAACk
gVbYAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwZC5jb25mVVQFAAMTottPdXgLAAEE6AMA
AAToAwAAUEsBAh4DCgAAAAAA6aXPQAAAAAAAAAAAAAAAAB0AGAAAAAAAAAAQAO1BzPwCAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvVVQFAANVn9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAA
AAAAu6XPQAAAAAAAAAAAAAAAACgAGAAAAAAAAAAQAO1BI/0CAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2Zhc3QvZmlsZXN5c3RlbS9VVAUAAwKf2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAs
qM9Ago9MM2YAAABwAAAAPAAYAAAAAAABAAAApIGF/QIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZmFzdC9maWxlc3lzdGVtL29wLXJlbW92ZS1zdGRlcnIudHh0VVQFAAOkottPdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgALKjPQIxPimtmAAAAcAAAADoAGAAAAAAAAQAAAKSBYf4CAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9vcC1jb3B5LXN0ZGVyci50eHRVVAUAA6Oi
2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAsqM9ApRMHC2YAAABwAAAAOgAYAAAAAAABAAAA
pIE7/wIAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVtL29wLW1vdmUtc3Rk
ZXJyLnR4dFVUBQADpKLbT3V4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAKulz0AAAAAAAAAAAAAA
AAAkABgAAAAAAAAAEADtQRUAAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy9V
VAUAA+Ge2091eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAbqM9AAAAAAAAAAAAAAAAAKgAYAAAA
AAAAABAA7UFzAAMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvVVQF
AAOGottPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAG6jPQAx2DsOCAAAAzAEAAFQAGAAAAAAA
AQAAAKSB1wADAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4
LXZhbGlkYXRpb24tY29waWVzLWluZGljZXMtc3RkZXJyLnR4dFVUBQADhaLbT3V4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIABqoz0DY3lZ2VgAAAJ4AAABEABgAAAAAAAEAAACkgecBAwB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmctc3RkZXJy
LnR4dFVUBQADg6LbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIACCoz0AYaetqTAAAAE8AAABK
ABgAAAAAAAEAAACkgbsCAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJn
bC93ZWJnbC1jb21wb3NpdGUtbW9kZXMtc3RkZXJyLnR4dFVUBQADjKLbT3V4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIABuoz0BT8p0ddQAAALAAAABFABgAAAAAAAEAAACkgYsDAwB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXN0ZGVyci50
eHRVVAUAA4ai2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAaqM9AxSqVykQAAAB6AAAAUQAY
AAAAAAABAAAApIF/BAMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wv
Z2wtYmluZC1hdHRyaWItbG9jYXRpb24tdGVzdC1zdGRlcnIudHh0VVQFAAOEottPdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgAG6jPQN6cfPd1AAAA5gAAAF8AGAAAAAAAAQAAAKSBTgUDAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tdmVy
aWZpZXMtdG9vLW1hbnktaW5kaWNlcy1zdGRlcnIudHh0VVQFAAOFottPdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgAG6jPQDeY5Yo6AAAAPQAAAEoAGAAAAAAAAQAAAKSBXAYDAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0LWJlaGF2aW91ci1zdGRl
cnIudHh0VVQFAAOGottPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAGqjPQG3zfO5aAAAAMQEA
AFEAGAAAAAAAAQAAAKSBGgcDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dl
YmdsL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMtc3RkZXJyLnR4dFVUBQADhKLbT3V4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIABqoz0CBx5lAnAAAAH4EAABOABgAAAAAAAEAAACkgf8HAwB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQt
b2YtYm91bmRzLXN0ZGVyci50eHRVVAUAA4Oi2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAa
qM9AvVUJq9MAAACDBgAAUAAYAAAAAAABAAAApIEjCQMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRV
VAUAA4Oi2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAaqM9ASMerA2MAAAA8AQAARAAYAAAA
AAABAAAApIGACgMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0
LWFjdGl2ZS10ZXN0LXN0ZGVyci50eHRVVAUAA4Si2091eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CACtpc9AbdKmoogAAAAuAQAATwAYAAAAAAABAAAApIFhCwMAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLWRlbGV0ZWQtYnktYWNjZXNzb3Itc3RkZXJyLnR4
dFVUBQAD5Z7bT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABuoz0B6wlLfiwAAADQBAABOABgA
AAAAAAEAAACkgXIMAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9v
YmplY3QtZGVsZXRpb24tYmVoYXZpb3VyLXN0ZGVyci50eHRVVAUAA4ai2091eAsAAQToAwAABOgD
AABQSwECHgMUAAIACAAdqM9ADYLKgLcAAADjBgAASQAYAAAAAAABAAAApIGFDQMAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvdHlwZS1jb252ZXJzaW9uLXRlc3Qtc3Rk
ZXJyLnR4dFVUBQADiaLbT3V4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAM+lz0AAAAAAAAAAAAAA
AAAkABgAAAAAAAAAEADtQb8OAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRlci9V
VAUAAyaf2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACABAqM9AYR2YdIMHAADNFwAAQwAYAAAA
AAABAAAApIEdDwMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJv
Z3Jlc3MtcHJldHR5LWRpZmYuaHRtbFVUBQADyKLbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
AECoz0BsoyryvgAAAPAAAAA9ABgAAAAAAAEAAACkgR0XAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L2xvYWRlci9sb2FkSW5Qcm9ncmVzcy13ZGlmZi5odG1sVVQFAAPIottPdXgLAAEE6AMA
AAToAwAAUEsBAh4DCgACAAAAQKjPQNbR2nkuAAAALgAAAD8AGAAAAAAAAQAAAKSBUhgDAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvYWRJblByb2dyZXNzLWV4cGVjdGVkLnR4
dFVUBQADyKLbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAECoz0A0XQbmxQAAABoBAAA7ABgA
AAAAAAEAAACkgfkYAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRlci9sb2FkSW5Q
cm9ncmVzcy1kaWZmLnR4dFVUBQADyKLbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAECoz0Ap
JndpdAAAAH0AAAA9ABgAAAAAAAEAAACkgTMaAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L2xvYWRlci9sb2FkSW5Qcm9ncmVzcy1hY3R1YWwudHh0VVQFAAPIottPdXgLAAEE6AMAAAToAwAA
UEsBAh4DCgAAAAAA2aXPQAAAAAAAAAAAAAAAACUAGAAAAAAAAAAQAO1BHhsDAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvcmVwYWludC9VVAUAAzmf2091eAsAAQToAwAABOgDAABQSwECHgMU
AAIACADZpc9AfyJPcD8CAADVBQAAVwAYAAAAAAABAAAApIF9GwMAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC9yZXBhaW50L2Jsb2NrLXNlbGVjdGlvbi1nYXAtaW4tY29tcG9zaXRlZC1sYXll
ci1kaWZmcy5odG1sVVQFAAM5n9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA2aXPQGsMUTOQ
AAAApAwAAFUAGAAAAAAAAAAAAKSBTR4DAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvcmVw
YWludC9ibG9jay1zZWxlY3Rpb24tZ2FwLWluLWNvbXBvc2l0ZWQtbGF5ZXItZGlmZi5wbmdVVAUA
Azmf2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACADZpc9AHS3DIo8AAAD5BQAAVwAYAAAAAAAA
AAAApIFsHwMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9yZXBhaW50L2Jsb2NrLXNlbGVj
dGlvbi1nYXAtaW4tY29tcG9zaXRlZC1sYXllci1hY3R1YWwucG5nVVQFAAM5n9tPdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgA2aXPQEmXfl3pAAAAMgsAAFkAGAAAAAAAAAAAAKSBjCADAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvcmVwYWludC9ibG9jay1zZWxlY3Rpb24tZ2FwLWluLWNv
bXBvc2l0ZWQtbGF5ZXItZXhwZWN0ZWQucG5nVVQFAAM5n9tPdXgLAAEE6AMAAAToAwAAUEsBAh4D
CgAAAAAA6aXPQAAAAAAAAAAAAAAAACEAGAAAAAAAAAAQAO1BCCIDAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QveHNsL1VUBQADVZ/bT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAFioz0CB
SnetSwAAAKwAAABMABgAAAAAAAEAAACkgWMiAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L3hzbC94c2x0LXRyYW5zZm9ybS10by1mcmFnbWVudC1jcmFzaC1zdGRlcnIudHh0VVQFAAP4ottP
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAWKjPQG1H1F6FAAAA8QAAAD0AGAAAAAAAAQAAAKSB
NCMDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3RyYW5zZm9ybS14aHItZG9jLXN0
ZGVyci50eHRVVAUAA/ii2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACABYqM9AUF1IN4wAAAD4
AAAAPwAYAAAAAAABAAAApIEwJAMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC94c2wveHNs
dC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIudHh0VVQFAAP4ottPdXgLAAEE6AMAAAToAwAAUEsBAh4D
CgAAAAAA5aXPQAAAAAAAAAAAAAAAACIAGAAAAAAAAAAQAO1BNSUDAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvdGV4dC9VVAUAA02f2091eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADlpc9A
AAAAAAAAAAAAAAAAMAAYAAAAAAAAABAA7UGRJQMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC90ZXh0L2ludGVybmF0aW9uYWwvVVQFAANNn9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
VajPQH0gkBFKjgAAQqEAAE0AGAAAAAAAAAAAAKSB+yUDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RoYWktbGluZS1icmVha3MtZXhwZWN0ZWQucG5nVVQF
AAPxottPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAVajPQHjTWzY3AgAAmwUAAEsAGAAAAAAA
AQAAAKSBzLQDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFs
L3RoYWktbGluZS1icmVha3MtZGlmZnMuaHRtbFVUBQAD8aLbT3V4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIAFWoz0DSOQ+x5owAABKfAABLABgAAAAAAAAAAACkgYi3AwB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC90aGFpLWxpbmUtYnJlYWtzLWFjdHVhbC5w
bmdVVAUAA/Gi2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACABVqM9AfhUmclSFAAA3lAAASQAY
AAAAAAAAAAAApIHzRAQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC90ZXh0L2ludGVybmF0
aW9uYWwvdGhhaS1saW5lLWJyZWFrcy1kaWZmLnBuZ1VUBQAD8aLbT3V4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAHKoz0CnpPYvkToBAFYHDwAmABgAAAAAAAEAAACkgcrKBAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9hY2Nlc3NfbG9nLnR4dFVUBQADKKPbT3V4CwABBOgDAAAE6AMAAFBLAQIeAwoA
AAAAABemz0AAAAAAAAAAAAAAAAAhABgAAAAAAAAAEADtQbsFBgB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9wbGF0Zm9ybS9VVAUAA62f2091eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAXps9AAAAA
AAAAAAAAAAAAMAAYAAAAAAAAABAA7UEWBgYAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZv
cm0vY2hyb21pdW0tbGludXgvVVQFAAOtn9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAF6bP
QAAAAAAAAAAAAAAAADUAGAAAAAAAAAAQAO1BgAYGAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Bs
YXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvVVQFAAOtn9tPdXgLAAEE6AMAAAToAwAAUEsBAh4D
CgAAAAAAF6bPQAAAAAAAAAAAAAAAADoAGAAAAAAAAAAQAO1B7wYGAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvdGV4dC9VVAUAA62f2091eAsAAQTo
AwAABOgDAABQSwECHgMKAAAAAAAXps9AAAAAAAAAAAAAAAAASAAYAAAAAAAAABAA7UFjBwYAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC90ZXh0L2lu
dGVybmF0aW9uYWwvVVQFAAOtn9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiKjPQGMSR76B
ZQAA7HMAAGsAGAAAAAAAAAAAAKSB5QcGAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtLWxpbnV4L2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2NvbXBsZXgtam9pbmluZy11
c2luZy1ncG9zLWRpZmYucG5nVVQFAANPo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiKjP
QLLBtRQXfAAAKowAAG0AGAAAAAAAAAAAAKSBC24GAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Bs
YXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2NvbXBsZXgtam9p
bmluZy11c2luZy1ncG9zLWFjdHVhbC5wbmdVVAUAA0+j2091eAsAAQToAwAABOgDAABQSwECHgMU
AAIACACIqM9Azhuy4k8CAADRBQAAbQAYAAAAAAABAAAApIHJ6gYAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvY29t
cGxleC1qb2luaW5nLXVzaW5nLWdwb3MtZGlmZnMuaHRtbFVUBQADT6PbT3V4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAIioz0CQW8WUunwAAOKMAABvABgAAAAAAAAAAACkgb/tBgB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L3RleHQvaW50ZXJuYXRp
b25hbC9jb21wbGV4LWpvaW5pbmctdXNpbmctZ3Bvcy1leHBlY3RlZC5wbmdVVAUAA0+j2091eAsA
AQToAwAABOgDAABQSwECHgMKAAAAAAAXps9AAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UEiawcA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vVVQFAAOun9tPdXgLAAEE
6AMAAAToAwAAUEsBAh4DCgAAAAAAA6bPQAAAAAAAAAAAAAAAAC8AGAAAAAAAAAAQAO1BhmsHAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvVVQFAAOGn9tPdXgL
AAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAA6bPQAAAAAAAAAAAAAAAADUAGAAAAAAAAAAQAO1B72sH
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvVVQF
AAOGn9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAA6bPQAAAAAAAAAAAAAAAAD4AGAAAAAAA
AAAQAO1BXmwHAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAv
dGVzdHMvc2VjdXJpdHkvVVQFAAOGn9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAA6bPQAAA
AAAAAAAAAAAAAEsAGAAAAAAAAAAQAO1B1mwHAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRm
b3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L1VUBQADhp/bT3V4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAHKoz0CTJCtadQAAAOIAAAB7ABgAAAAAAAEAAACkgVtt
BwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1pZnJhbWUtaW4tbWFpbi1mcmFtZS1hbGxvd2Vk
LXN0ZGVyci50eHRVVAUAAyij2091eAsAAQToAwAABOgDAABQSwECHgMKAAAAAACMqM9AAAAAAAAA
AAAAAAAANgAYAAAAAAAAABAA7UGFbgcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
Y2hyb21pdW0vY29tcG9zaXRpbmcvVVQFAANXo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
iajPQFWxKzZFAgAA2gUAAGQAGAAAAAAAAQAAAKSB9W4HAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2xvc3QtY29tcG9zaXRvci1jb250ZXh0LXBl
cm1hbmVudGx5LWRpZmZzLmh0bWxVVAUAA1Kj2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACACI
qM9APzLtF0ACAACzBQAAVwAYAAAAAAABAAAApIHYcQcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
cGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvY2hpbGQtbGF5ZXItM2Qtc29ydGluZy1kaWZm
cy5odG1sVVQFAANQo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiKjPQB0twyKPAAAA+QUA
AEsAGAAAAAAAAAAAAKSBqXQHAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9t
aXVtL2NvbXBvc2l0aW5nLzNkLWNvcm5lcnMtYWN0dWFsLnBuZ1VUBQADT6PbT3V4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIAImoz0BrDFEzkAAAAKQMAABiABgAAAAAAAAAAACkgb11BwB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9sb3N0LWNvbXBv
c2l0b3ItY29udGV4dC1wZXJtYW5lbnRseS1kaWZmLnBuZ1VUBQADUqPbT3V4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAIioz0BdIzhjSAIAAM4FAABgABgAAAAAAAEAAACkgel2BwB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9iYWNrZmFjZS12aXNp
YmlsaXR5LXRyYW5zZm9ybWVkLWRpZmZzLmh0bWxVVAUAA1Cj2091eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACACJqM9AawxRM5AAAACkDAAAXAAYAAAAAAAAAAAApIHLeQcAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvbG9zdC1jb21wb3NpdG9yLWNv
bnRleHQtdHdpY2UtZGlmZi5wbmdVVAUAA1Kj2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACACL
qM9AawxRM5AAAACkDAAAXQAYAAAAAAAAAAAApIHxegcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
cGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvd2ViZ2wtbG9zZXMtY29tcG9zaXRvci1jb250
ZXh0LWRpZmYucG5nVVQFAANVo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiajPQCuxiDpB
AgAAyAUAAF4AGAAAAAAAAQAAAKSBGHwHAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL2NvbXBvc2l0aW5nL2xvc3QtY29tcG9zaXRvci1jb250ZXh0LXR3aWNlLWRpZmZz
Lmh0bWxVVAUAA1Kj2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACACKqM9AqZ/i9zwCAAC2BQAA
WAAYAAAAAAABAAAApIHxfgcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21p
dW0vY29tcG9zaXRpbmcvbG9zdC1jb21wb3NpdG9yLWNvbnRleHQtZGlmZnMuaHRtbFVUBQADU6Pb
T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAImoz0DV0hZrwQIAAGEOAABSABgAAAAAAAAAAACk
gb+BBwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGlu
Zy9sYXlvdXQtd2lkdGgtY2hhbmdlLWRpZmYucG5nVVQFAANRo9tPdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAiKjPQGsMUTOQAAAApAwAAEkAGAAAAAAAAAAAAKSBDIUHAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nLzNkLWNvcm5lcnMtZGlmZi5w
bmdVVAUAA0+j2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACACLqM9A7fW2S0QCAAC2BQAAWAAY
AAAAAAABAAAApIEfhgcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0v
Y29tcG9zaXRpbmcvdmlkZW8tZnJhbWUtc2l6ZS1jaGFuZ2UtZGlmZnMuaHRtbFVUBQADVaPbT3V4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIqoz0BrDFEzkAAAAKQMAABcABgAAAAAAAAAAACkgfWI
BwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9y
ZW5kZXItc3VyZmFjZS1hbHBoYS1ibGVuZGluZy1kaWZmLnBuZ1VUBQADU6PbT3V4CwABBOgDAAAE
6AMAAFBLAQIeAwoAAAAAABqmz0AAAAAAAAAAAAAAAABKABgAAAAAAAAAEADtQRuKBwB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9hY2NlbGVyYXRl
ZC1kcmF3aW5nL1VUBQADtJ/bT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIuoz0AdLcMijwAA
APkFAABgABgAAAAAAAAAAACkgZ+KBwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9jb21wb3NpdGluZy9hY2NlbGVyYXRlZC1kcmF3aW5nL3N2Zy1maWx0ZXJzLWFjdHVh
bC5wbmdVVAUAA1aj2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACACLqM9Am2wJAhoBAAA+CwAA
XAAYAAAAAAAAAAAApIHIiwcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21p
dW0vY29tcG9zaXRpbmcvYWNjZWxlcmF0ZWQtZHJhd2luZy9hbHBoYS1leHBlY3RlZC5wbmdVVAUA
A1aj2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACACLqM9AO/jK3+oAAAAwCwAAYgAYAAAAAAAA
AAAApIF4jQcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9z
aXRpbmcvYWNjZWxlcmF0ZWQtZHJhd2luZy9zdmctZmlsdGVycy1leHBlY3RlZC5wbmdVVAUAA1aj
2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACACLqM9AawxRM5AAAACkDAAAXgAYAAAAAAAAAAAA
pIH+jgcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRp
bmcvYWNjZWxlcmF0ZWQtZHJhd2luZy9zdmctZmlsdGVycy1kaWZmLnBuZ1VUBQADVqPbT3V4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAIuoz0BrDFEzkAAAAKQMAABYABgAAAAAAAAAAACkgSaQBwB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9hY2Nl
bGVyYXRlZC1kcmF3aW5nL2FscGhhLWRpZmYucG5nVVQFAANWo9tPdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAi6jPQPwqjLdBAgAAlAUAAFoAGAAAAAAAAQAAAKSBSJEHAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2FjY2VsZXJhdGVkLWRyYXdp
bmcvYWxwaGEtZGlmZnMuaHRtbFVUBQADVqPbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIuo
z0CLYqkNRgIAAKYFAABgABgAAAAAAAEAAACkgR2UBwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9hY2NlbGVyYXRlZC1kcmF3aW5nL3N2Zy1maWx0
ZXJzLWRpZmZzLmh0bWxVVAUAA1aj2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACACLqM9AHS3D
Io8AAAD5BQAAWgAYAAAAAAAAAAAApIH9lgcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZv
cm0vY2hyb21pdW0vY29tcG9zaXRpbmcvYWNjZWxlcmF0ZWQtZHJhd2luZy9hbHBoYS1hY3R1YWwu
cG5nVVQFAANWo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiajPQB0twyKPAAAA+QUAAE8A
GAAAAAAAAAAAAKSBIJgHAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVt
L2NvbXBvc2l0aW5nL2ltZy1sYXllci1ncm93LWFjdHVhbC5wbmdVVAUAA1Gj2091eAsAAQToAwAA
BOgDAABQSwECHgMUAAIACACJqM9AawxRM5AAAACkDAAATQAYAAAAAAAAAAAApIE4mQcAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvaW1nLWxheWVy
LWdyb3ctZGlmZi5wbmdVVAUAA1Gj2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACACJqM9A4Shv
TeoAAAAwCwAAYAAYAAAAAAAAAAAApIFPmgcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZv
cm0vY2hyb21pdW0vY29tcG9zaXRpbmcvbG9zdC1jb21wb3NpdG9yLWNvbnRleHQtdHdpY2UtZXhw
ZWN0ZWQucG5nVVQFAANSo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiajPQDyVrWnrAAAA
MgsAAG0AGAAAAAAAAAAAAKSB05sHAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2No
cm9taXVtL2NvbXBvc2l0aW5nL2xvc3QtY29tcG9zaXRvci1jb250ZXh0LXdpdGgtcmVuZGVyc3Vy
ZmFjZS1leHBlY3RlZC5wbmdVVAUAA1Kj2091eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAbps9A
AAAAAAAAAAAAAAAAPgAYAAAAAAAAABAA7UFlnQcAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxh
dGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9VVAUAA7Wf2091eAsAAQToAwAABOgD
AABQSwECHgMUAAIACACMqM9AHS3DIo8AAAD5BQAAXwAYAAAAAAAAAAAApIHdnQcAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9iYWNr
Z3JvdW5kLWZpbHRlci1ibHVyLWFjdHVhbC5wbmdVVAUAA1ej2091eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACACLqM9AhwhRqwYGAACbDwAAZgAYAAAAAAAAAAAApIEFnwcAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9iYWNrZ3JvdW5k
LWZpbHRlci1ibHVyLW9mZi1heGlzLWRpZmYucG5nVVQFAANWo9tPdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAjKjPQASrmG5GAgAAuwUAAF8AGAAAAAAAAQAAAKSBq6UHAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpbHRlcnMvYmFja2dyb3Vu
ZC1maWx0ZXItYmx1ci1kaWZmcy5odG1sVVQFAANXo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgAi6jPQP+bn1AuOwAATEUAAGoAGAAAAAAAAAAAAKSBiqgHAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpbHRlcnMvYmFja2dyb3VuZC1maWx0
ZXItYmx1ci1vZmYtYXhpcy1leHBlY3RlZC5wbmdVVAUAA1aj2091eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACACLqM9AHS3DIo8AAAD5BQAAZwAYAAAAAAAAAAAApIFc5AcAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9iYWNrZ3JvdW5k
LWZpbHRlci1ibHVyLW91dHNldHMtYWN0dWFsLnBuZ1VUBQADVqPbT3V4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAIyoz0BrDFEzkAAAAKQMAABdABgAAAAAAAAAAACkgYzlBwB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maWx0ZXJzL2JhY2tncm91
bmQtZmlsdGVyLWJsdXItZGlmZi5wbmdVVAUAA1ej2091eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CACLqM9AHS3DIo8AAAD5BQAAaAAYAAAAAAAAAAAApIGz5gcAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9iYWNrZ3JvdW5kLWZpbHRl
ci1ibHVyLW9mZi1heGlzLWFjdHVhbC5wbmdVVAUAA1aj2091eAsAAQToAwAABOgDAABQSwECHgMU
AAIACACLqM9A6nN5bCYHAAD2EAAAaQAYAAAAAAAAAAAApIHk5wcAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9iYWNrZ3JvdW5kLWZp
bHRlci1ibHVyLW91dHNldHMtZXhwZWN0ZWQucG5nVVQFAANWo9tPdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAi6jPQL2yz4BNAgAA1gUAAGgAGAAAAAAAAQAAAKSBre8HAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpbHRlcnMvYmFja2dyb3Vu
ZC1maWx0ZXItYmx1ci1vZmYtYXhpcy1kaWZmcy5odG1sVVQFAANWo9tPdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgAi6jPQAc58AjXAAAAzQwAAGUAGAAAAAAAAAAAAKSBnPIHAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpbHRlcnMvYmFja2dy
b3VuZC1maWx0ZXItYmx1ci1vdXRzZXRzLWRpZmYucG5nVVQFAANWo9tPdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgAi6jPQG/CM6RMAgAA0wUAAGcAGAAAAAAAAQAAAKSBEvQHAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpbHRlcnMvYmFja2dy
b3VuZC1maWx0ZXItYmx1ci1vdXRzZXRzLWRpZmZzLmh0bWxVVAUAA1aj2091eAsAAQToAwAABOgD
AABQSwECHgMUAAIACACMqM9Asce7beEEAADADgAAYQAYAAAAAAAAAAAApIH/9gcAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZmlsdGVycy9iYWNr
Z3JvdW5kLWZpbHRlci1ibHVyLWV4cGVjdGVkLnBuZ1VUBQADV6PbT3V4CwABBOgDAAAE6AMAAFBL
AQIeAwoAAAAAAIyoz0AAAAAAAAAAAAAAAAA+ABgAAAAAAAAAEADtQXv8BwB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9wbHVnaW5zL1VUBQADV6Pb
T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIyoz0A4PpeEQAIAAKYFAABYABgAAAAAAAEAAACk
gfP8BwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGlu
Zy9wbHVnaW5zL3dlYnBsdWdpbi1hbHBoYS1kaWZmcy5odG1sVVQFAANXo9tPdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgAjKjPQBVSlZwZAQAAPwsAAFoAGAAAAAAAAAAAAKSBxf8HAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3BsdWdpbnMvd2Vi
cGx1Z2luLWFscGhhLWV4cGVjdGVkLnBuZ1VUBQADV6PbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIAIyoz0BrDFEzkAAAAKQMAABWABgAAAAAAAAAAACkgXIBCAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9wbHVnaW5zL3dlYnBsdWdpbi1hbHBo
YS1kaWZmLnBuZ1VUBQADV6PbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIyoz0AdLcMijwAA
APkFAABYABgAAAAAAAAAAACkgZICCAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9jb21wb3NpdGluZy9wbHVnaW5zL3dlYnBsdWdpbi1hbHBoYS1hY3R1YWwucG5nVVQF
AANXo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiajPQB0twyKPAAAA+QUAAF4AGAAAAAAA
AAAAAKSBswMIAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBv
c2l0aW5nL2xvc3QtY29tcG9zaXRvci1jb250ZXh0LXR3aWNlLWFjdHVhbC5wbmdVVAUAA1Kj2091
eAsAAQToAwAABOgDAABQSwECHgMUAAIACACKqM9AawxRM5AAAACkDAAAWgAYAAAAAAAAAAAApIHa
BAgAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcv
cGVycGVuZGljdWxhci1sYXllci1zb3J0aW5nLWRpZmYucG5nVVQFAANTo9tPdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgAiqjPQOEob03qAAAAMAsAAFoAGAAAAAAAAAAAAKSB/gUIAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2xvc3QtY29tcG9z
aXRvci1jb250ZXh0LWV4cGVjdGVkLnBuZ1VUBQADU6PbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIAImoz0ADG1g5QyIAAN8qAABhABgAAAAAAAAAAACkgXwHCAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9sb3N0LWNvbXBvc2l0b3ItY29udGV4
dC13aXRoLXZpZGVvLWRpZmYucG5nVVQFAANSo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
iqjPQGsg+o24AAAAGgsAAGAAGAAAAAAAAAAAAKSBWioIAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3JlbmRlci1zdXJmYWNlLWFscGhhLWJsZW5k
aW5nLWV4cGVjdGVkLnBuZ1VUBQADU6PbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIqoz0Be
VImQZkEAADxOAABVABgAAAAAAAAAAACkgawrCAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy90aW55LWxheWVyLXJvdGF0ZWQtZXhwZWN0ZWQucG5n
VVQFAANUo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiajPQB0twyKPAAAA+QUAAGQAGAAA
AAAAAAAAAKSBoW0IAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2Nv
bXBvc2l0aW5nL2xvc3QtY29tcG9zaXRvci1jb250ZXh0LXBlcm1hbmVudGx5LWFjdHVhbC5wbmdV
VAUAA1Kj2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACACJqM9AaBKpcj6WAAAAoAAAZQAYAAAA
AAAAAAAApIHObggAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29t
cG9zaXRpbmcvbG9zdC1jb21wb3NpdG9yLWNvbnRleHQtd2l0aC12aWRlby1leHBlY3RlZC5wbmdV
VAUAA1Kj2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACACIqM9AawxRM5AAAACkDAAAVQAYAAAA
AAAAAAAApIGrBQkAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29t
cG9zaXRpbmcvY2hpbGQtbGF5ZXItM2Qtc29ydGluZy1kaWZmLnBuZ1VUBQADUKPbT3V4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIAImoz0AdLcMijwAAAPkFAABUABgAAAAAAAAAAACkgcoGCQB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9sYXlvdXQt
d2lkdGgtY2hhbmdlLWFjdHVhbC5wbmdVVAUAA1Gj2091eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CACIqM9AawxRM5AAAACkDAAAUQAYAAAAAAAAAAAApIHnBwkAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvaHVnZS1sYXllci1yb3RhdGVkLWRpZmYu
cG5nVVQFAANQo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiajPQB0twyKPAAAA+QUAAGMA
GAAAAAAAAAAAAKSBAgkJAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVt
L2NvbXBvc2l0aW5nL2xvc3QtY29tcG9zaXRvci1jb250ZXh0LXdpdGgtdmlkZW8tYWN0dWFsLnBu
Z1VUBQADUqPbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIioz0CgvAFenSIAAB0mAABVABgA
AAAAAAAAAACkgS4KCQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9j
b21wb3NpdGluZy9odWdlLWxheWVyLXJvdGF0ZWQtZXhwZWN0ZWQucG5nVVQFAANQo9tPdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAi6jPQB0twyKPAAAA+QUAAF8AGAAAAAAAAAAAAKSBWi0JAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3dlYmds
LWxvc2VzLWNvbXBvc2l0b3ItY29udGV4dC1hY3R1YWwucG5nVVQFAANVo9tPdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgAiajPQH6yuThJAgAA7wUAAGsAGAAAAAAAAQAAAKSBgi4JAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2xvc3QtY29tcG9z
aXRvci1jb250ZXh0LXdpdGgtcmVuZGVyc3VyZmFjZS1kaWZmcy5odG1sVVQFAANSo9tPdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAiqjPQHzC8Y0+AgAApwUAAFMAGAAAAAAAAQAAAKSBcDEJAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3Rpbnkt
bGF5ZXItcm90YXRlZC1kaWZmcy5odG1sVVQFAANUo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgAiKjPQBCM5sy0DgAA8BgAAE0AGAAAAAAAAAAAAKSBOzQJAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nLzNkLWNvcm5lcnMtZXhwZWN0ZWQucG5n
VVQFAANPo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiKjPQB0twyKPAAAA+QUAAFcAGAAA
AAAAAAAAAKSBdkMJAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2Nv
bXBvc2l0aW5nL2NoaWxkLWxheWVyLTNkLXNvcnRpbmctYWN0dWFsLnBuZ1VUBQADUKPbT3V4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAIuoz0DGkAy8AAEAAPAMAABhABgAAAAAAAAAAACkgZZECQB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy93ZWJn
bC1sb3Nlcy1jb21wb3NpdG9yLWNvbnRleHQtZXhwZWN0ZWQucG5nVVQFAANVo9tPdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgAiqjPQB0twyKPAAAA+QUAAFgAGAAAAAAAAAAAAKSBMUYJAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2xvc3QtY29t
cG9zaXRvci1jb250ZXh0LWFjdHVhbC5wbmdVVAUAA1Oj2091eAsAAQToAwAABOgDAABQSwECHgMU
AAIACACIqM9AHS3DIo8AAAD5BQAAYAAYAAAAAAAAAAAApIFSRwkAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS10
cmFuc2Zvcm1lZC1hY3R1YWwucG5nVVQFAANQo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
iqjPQB0twyKPAAAA+QUAAF4AGAAAAAAAAAAAAKSBe0gJAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3JlbmRlci1zdXJmYWNlLWFscGhhLWJsZW5k
aW5nLWFjdHVhbC5wbmdVVAUAA1Oj2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACACIqM9AHS3D
Io8AAAD5BQAAUwAYAAAAAAAAAAAApIGiSQkAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZv
cm0vY2hyb21pdW0vY29tcG9zaXRpbmcvaHVnZS1sYXllci1yb3RhdGVkLWFjdHVhbC5wbmdVVAUA
A1Cj2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACACLqM9A0TaRM+OpAABQtgAAWgAYAAAAAAAA
AAAApIG+SgkAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9z
aXRpbmcvdmlkZW8tZnJhbWUtc2l6ZS1jaGFuZ2UtZXhwZWN0ZWQucG5nVVQFAANVo9tPdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAiKjPQGsMUTOQAAAApAwAAF4AGAAAAAAAAAAAAKSBNfUJAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2JhY2tm
YWNlLXZpc2liaWxpdHktdHJhbnNmb3JtZWQtZGlmZi5wbmdVVAUAA1Cj2091eAsAAQToAwAABOgD
AABQSwECHgMUAAIACACJqM9A4ShvTeoAAAAwCwAAZgAYAAAAAAAAAAAApIFd9gkAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvbG9zdC1jb21wb3Np
dG9yLWNvbnRleHQtcGVybWFuZW50bHktZXhwZWN0ZWQucG5nVVQFAANSo9tPdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgAiqjPQPK366pFAgAAyAUAAF4AGAAAAAAAAQAAAKSB5/cJAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3JlbmRlci1zdXJm
YWNlLWFscGhhLWJsZW5kaW5nLWRpZmZzLmh0bWxVVAUAA1Oj2091eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACACJqM9A+zNzOj8CAACqBQAAVAAYAAAAAAABAAAApIHE+gkAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvbGF5b3V0LXdpZHRoLWNoYW5n
ZS1kaWZmcy5odG1sVVQFAANRo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiajPQAiKXV+2
CwAACRYAAFYAGAAAAAAAAAAAAKSBkf0JAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL2NvbXBvc2l0aW5nL2xheW91dC13aWR0aC1jaGFuZ2UtZXhwZWN0ZWQucG5nVVQF
AANRo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiqjPQGsMUTOQAAAApAwAAFEAGAAAAAAA
AAAAAKSB1wkKAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBv
c2l0aW5nL3RpbnktbGF5ZXItcm90YXRlZC1kaWZmLnBuZ1VUBQADVKPbT3V4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAImoz0BrDFEzkAAAAKQMAABpABgAAAAAAAAAAACkgfIKCgB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9sb3N0LWNvbXBvc2l0
b3ItY29udGV4dC13aXRoLXJlbmRlcnN1cmZhY2UtZGlmZi5wbmdVVAUAA1Kj2091eAsAAQToAwAA
BOgDAABQSwECHgMUAAIACACIqM9AepwfsTkCAACPBQAASwAYAAAAAAABAAAApIElDAoAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvM2QtY29ybmVy
cy1kaWZmcy5odG1sVVQFAANPo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiajPQGp+JVM2
RQAArU8AAFEAGAAAAAAAAAAAAKSB4w4KAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL2NvbXBvc2l0aW5nL2ltZy1sYXllci1ncm93LWV4cGVjdGVkLnBuZ1VUBQADUaPb
T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAImoz0AdLcMijwAAAPkFAABrABgAAAAAAAAAAACk
gaRUCgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGlu
Zy9sb3N0LWNvbXBvc2l0b3ItY29udGV4dC13aXRoLXJlbmRlcnN1cmZhY2UtYWN0dWFsLnBuZ1VU
BQADUqPbT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIioz0CBpbR3PwIAAKcFAABTABgAAAAA
AAEAAACkgdhVCgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21w
b3NpdGluZy9odWdlLWxheWVyLXJvdGF0ZWQtZGlmZnMuaHRtbFVUBQADUKPbT3V4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIAIqoz0AfhiCJNBkAAFIhAABeABgAAAAAAAAAAACkgaRYCgB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9wZXJwZW5kaWN1
bGFyLWxheWVyLXNvcnRpbmctZXhwZWN0ZWQucG5nVVQFAANTo9tPdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAiqjPQJJX5xxEAgAAwgUAAFwAGAAAAAAAAQAAAKSBcHIKAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3BlcnBlbmRpY3VsYXItbGF5
ZXItc29ydGluZy1kaWZmcy5odG1sVVQFAANTo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
i6jPQOa/GflBAgAAywUAAF8AGAAAAAAAAQAAAKSBSnUKAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL3dlYmdsLWxvc2VzLWNvbXBvc2l0b3ItY29u
dGV4dC1kaWZmcy5odG1sVVQFAANVo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiKjPQK3+
du4pAwAA2QwAAGIAGAAAAAAAAAAAAKSBJHgKAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRm
b3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHktdHJhbnNmb3JtZWQt
ZXhwZWN0ZWQucG5nVVQFAANQo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiqjPQB0twyKP
AAAA+QUAAFMAGAAAAAAAAAAAAKSB6XsKAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL2NvbXBvc2l0aW5nL3RpbnktbGF5ZXItcm90YXRlZC1hY3R1YWwucG5nVVQFAANU
o9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiajPQA1hiTs8AgAAmwUAAE8AGAAAAAAAAQAA
AKSBBX0KAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0
aW5nL2ltZy1sYXllci1ncm93LWRpZmZzLmh0bWxVVAUAA1Gj2091eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACACLqM9AEfabzjYHAACrEQAAVgAYAAAAAAAAAAAApIHKfwoAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvdmlkZW8tZnJhbWUtc2l6ZS1j
aGFuZ2UtZGlmZi5wbmdVVAUAA1Wj2091eAsAAQToAwAABOgDAABQSwECHgMUAAIACACJqM9A6w++
LkQCAADXBQAAYwAYAAAAAAABAAAApIGQhwoAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZv
cm0vY2hyb21pdW0vY29tcG9zaXRpbmcvbG9zdC1jb21wb3NpdG9yLWNvbnRleHQtd2l0aC12aWRl
by1kaWZmcy5odG1sVVQFAANSo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiqjPQGsMUTOQ
AAAApAwAAFYAGAAAAAAAAAAAAKSBcYoKAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL2NvbXBvc2l0aW5nL2xvc3QtY29tcG9zaXRvci1jb250ZXh0LWRpZmYucG5nVVQF
AANTo9tPdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAi6jPQB0twyKPAAAA+QUAAFgAGAAAAAAA
AAAAAKSBkYsKAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBv
c2l0aW5nL3ZpZGVvLWZyYW1lLXNpemUtY2hhbmdlLWFjdHVhbC5wbmdVVAUAA1Wj2091eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACACKqM9AHS3DIo8AAAD5BQAAXAAYAAAAAAAAAAAApIGyjAoAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvcGVycGVu
ZGljdWxhci1sYXllci1zb3J0aW5nLWFjdHVhbC5wbmdVVAUAA1Oj2091eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACACIqM9AkEBdL/cAAABBCwAAWQAYAAAAAAAAAAAApIHXjQoAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvY2hpbGQtbGF5ZXItM2Qt
c29ydGluZy1leHBlY3RlZC5wbmdVVAUAA1Cj2091eAsAAQToAwAABOgDAABQSwUGAAAAAL8AvwBH
bgAAYY8KAAAA
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147965</attachid>
            <date>2012-06-16 05:47:28 -0700</date>
            <delta_ts>2012-06-16 09:20:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88482-20120616084727.patch</filename>
            <type>text/plain</type>
            <size>54059</size>
            <attacher>zlieber</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNDc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDBhY2E0ZDhjMjhlMTY3
MWI4YjJiNGI4ZjhiZDJkZDk2YjllMTBlMy4uMGQxZTNkMjZjYmRhYTE1M2YyZDQzYTQ3MTM5ODNm
YmRjODdhZTM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTA2LTE2ICBaZWV2
IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ29t
cG9zaXRvciBzaG91bGQgYXZvaWQgZHJhd2luZyBxdWFkcyB3aGVuIGNhY2hlZCB0ZXh0dXJlcyBh
cmUgYXZhaWxhYmxlIGFuZCBjb250ZW50cyB1bmNoYW5nZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWRyaWVubmUgV2Fsa2VyLgorCisgICAgICAgIFBvc3QtcHJvY2Vzc2luZyBDQ1JlbmRlclBhc3NM
aXN0IGFmdGVyIGl0J3MgYmVlbiBnZW5lcmF0ZWQgYW5kCisgICAgICAgIHJlbW92aW5nIGFsbCBy
ZW5kZXIgc3VyZmFjZSBxdWFkcyBmb3Igd2hpY2ggdGhlcmUgYXJlCisgICAgICAgIGNhY2hlZCB0
ZXh0dXJlcywgYW5kIHdob3NlIGNvbnRlbnQgZGlkbid0IGNoYW5nZS4gQWRkZWQgYSBuZXcKKyAg
ICAgICAgZmxhZyB0byBDQ0xheWVySW1wbCB0byBkaWZmZXJlbnRpYXRlIHN1cmZhY2UgcHJvcGVy
dHkgY2hhbmdlIGFuZAorICAgICAgICBsYXllciBwcm9wZXJ0eSBjaGFuZ2UuCisKKyAgICAgICAg
VGhlIGNoYW5nZXMgYXJlIGNvdmVyZWQgYnkgbmV3IHVuaXQgdGVzdHMgdGhhdCBjaGVjayB0aGF0
CisgICAgICAgIHRoZSByZW1vdmFsIGFsZ29yaXRobSBmdW5jdGlvbnMgcHJvcGVydGx5LiBObyBy
ZW5kZXJpbmcKKyAgICAgICAgYmVoYXZpb3VyIGNoYW5nZSwgc28gbm8gbmV3IGxheW91dCB0ZXN0
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJh
Y2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsYXllck5lZWRzVG9SZWRyYXdPbnRvSXRzVGFy
Z2V0U3VyZmFjZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDRGFt
YWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q0NE
YW1hZ2VUcmFja2VyOjpleHRlbmREYW1hZ2VGb3JSZW5kZXJTdXJmYWNlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDQ0xheWVySW1wbDo6Q0NMYXllckltcGwpOgorICAgICAgICAoV2ViQ29yZTo6Q0NM
YXllckltcGw6OmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpyZXNldEFsbENoYW5nZVRyYWNraW5n
Rm9yU3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0T3BhY2l0eSk6
CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0VHJhbnNmb3JtKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oOgorICAgICAgICAo
Q0NMYXllckltcGwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0
SW1wbDo6Y2FsY3VsYXRlUmVuZGVyUGFzc2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJU
cmVlSG9zdEltcGw6OnJlbW92ZVJlbmRlclBhc3Nlc1JlY3Vyc2l2ZSk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OnJlbW92ZVBhc3Nl
c1dpdGhDYWNoZWRUZXh0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJ
bXBsOjpwcmVwYXJlVG9EcmF3KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmg6CisgICAgICAgIChGcmFtZURhdGEpOgorICAgICAg
ICAoQ0NMYXllclRyZWVIb3N0SW1wbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NSZW5kZXJQYXNzLmg6CisgICAgICAgIChDQ1JlbmRlclBhc3MpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnByZXBhcmVDb250ZW50c1RleHR1cmUp
OgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpoYXNDYWNoZWRDb250ZW50c1Rl
eHR1cmUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1
cmZhY2U6OmNvbnRlbnRzQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmg6CisgICAgICAgIChDQ1JlbmRlclN1cmZhY2UpOgor
CiAyMDEyLTA2LTE1ICBUYWlqdSBUc3Vpa2kgIDx0emlrQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBNb3ZlIEZpbGVTeXN0ZW0gZnJhbWUgbWFuYWdlbWVudCBmcm9tIGZy
b250ZW5kIHRvIGJhY2tlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYmVlOTYzOGJm
M2I0MzUzYWFkYWYwODZhZTQwMzRkNTNhNGZkMDU1ZC4uY2JkYzQ0MTFkZmJlMjViMjcyOTAwNjc2
MWE1OTYxMDJjZDZiMWE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MSBAQAorMjAxMi0wNi0xNiAgWmVldiBMaWViZXIgIDx6bGllYmVyQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbQ2hyb21pdW1dIENvbXBvc2l0b3Igc2hvdWxkIGF2b2lkIGRyYXdpbmcgcXVhZHMg
d2hlbiBjYWNoZWQgdGV4dHVyZXMgYXJlIGF2YWlsYWJsZSBhbmQgY29udGVudHMgdW5jaGFuZ2Vk
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODQ4Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IEFkcmllbm5lIFdhbGtlci4KKworICAgICAgICBBZGRlZCB0
ZXN0cyB0byB2ZXJpZnkgcXVhZCByZW1vdmFsIGFsZ29yaXRobS4gQWRkZWQgaW5mcmFzdHJ1Y3R1
cmUKKyAgICAgICAgY29kZSB0byBnZW5lcmF0ZSBjdXN0b20gcmVuZGVyIHBhc3NlcyBvdXQgb2Yg
YSBzY3JpcHQgZW5jb2RlZCBhcyBDCisgICAgICAgIHN0cmluZy4KKworICAgICAgICAqIHRlc3Rz
L0NDRGFtYWdlVHJhY2tlclRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0VGVzdHM6OlRFU1RfRik6
CisgICAgICAgICogdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6VEVTVCk6CisgICAgICAgICogdGVzdHMvQ0NMYXllclRyZWVI
b3N0SW1wbFRlc3QuY3BwOgorCiAyMDEyLTA2LTE1ICBTYW1pIEt5b3N0aWxhICA8c2t5b3N0aWxA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgc2Nyb2xsaW5nIG5vbi1y
b290IGxheWVycyBpbiB0aGUgY29tcG9zaXRvciB0aHJlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRy
YWNrZXIuY3BwCmluZGV4IGE2ZmRiYjhmZmZhY2NhMzlmOTFmMGMwM2FiNzJmYWU4NGFlNjY2ZjAu
LjFkYmI1OTQwOGVkOTE3ZDc3ZjU4Nzc4MmIxZDE4NmE3ODc2YzAyY2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NEYW1hZ2VUcmFja2VyLmNwcApAQCAtMjM5LDYgKzIzOSwxOCBAQCBGbG9hdFJlY3QgQ0NEYW1h
Z2VUcmFja2VyOjp0cmFja0RhbWFnZUZyb21MZWZ0b3ZlclJlY3RzKCkKICAgICByZXR1cm4gZGFt
YWdlUmVjdDsKIH0KIAorc3RhdGljIGJvb2wgbGF5ZXJOZWVkc1RvUmVkcmF3T250b0l0c1Rhcmdl
dFN1cmZhY2UoQ0NMYXllckltcGwqIGxheWVyKQoreworICAgIC8vIElmIHRoZSBsYXllciBkb2Vz
IE5PVCBvd24gYSBzdXJmYWNlIGJ1dCBoYXMgU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCwKKyAgICAv
LyB0aGlzIG1lYW5zIHRoYXQgaXRzIHRhcmdldCBzdXJmYWNlIGlzIGFmZmVjdGVkIGFuZCBuZWVk
cyB0byBiZSByZWRyYXduLgorICAgIC8vIEhvd2V2ZXIsIGlmIHRoZSBsYXllciBET0VTIG93biBh
IHN1cmZhY2UsIHRoZW4gdGhlIFN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgCisgICAgLy8gZmxhZyBz
aG91bGQgbm90IGJlIHVzZWQgaGVyZSwgYmVjYXVzZSB0aGF0IGZsYWcgcmVwcmVzZW50cyB3aGV0
aGVyIHRoZQorICAgIC8vIGxheWVyJ3Mgc3VyZmFjZSBoYXMgY2hhbmdlZC4KKyAgICBpZiAobGF5
ZXItPnJlbmRlclN1cmZhY2UoKSkKKyAgICAgICAgcmV0dXJuIGxheWVyLT5sYXllclByb3BlcnR5
Q2hhbmdlZCgpOworICAgIHJldHVybiBsYXllci0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSB8fCBs
YXllci0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCk7Cit9CisKIHZvaWQgQ0NEYW1hZ2VU
cmFja2VyOjpleHRlbmREYW1hZ2VGb3JMYXllcihDQ0xheWVySW1wbCogbGF5ZXIsIEZsb2F0UmVj
dCYgdGFyZ2V0RGFtYWdlUmVjdCkKIHsKICAgICAvLyBUaGVyZSBhcmUgdHdvIHdheXMgdGhhdCBh
IGxheWVyIGNhbiBkYW1hZ2UgYSByZWdpb24gb2YgdGhlIHRhcmdldCBzdXJmYWNlOgpAQCAtMjUx
LDYgKzI2MywxMSBAQCB2b2lkIENDRGFtYWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yTGF5ZXIo
Q0NMYXllckltcGwqIGxheWVyLCBGbG9hdFJlY3QmIHRhcmdldAogICAgIC8vICAgICAgcmVnaW9u
IGRhbWFnZXMgdGhlIHN1cmZhY2UuCiAgICAgLy8KICAgICAvLyBQcm9wZXJ0eSBjaGFuZ2VzIHRh
a2UgcHJpb3JpdHkgb3ZlciB1cGRhdGUgcmVjdHMuCisgICAgLy8KKyAgICAvLyBUaGlzIG1ldGhv
ZCBpcyBjYWxsZWQgd2hlbiB3ZSB3YW50IHRvIGNvbnNpZGVyIGhvdyBhIGxheWVyIGNvbnRyaWJ1
dGVzIHRvIGl0cworICAgIC8vIHRhcmdldFJlbmRlclN1cmZhY2UsIGV2ZW4gaWYgdGhhdCBsYXll
ciBvd25zIHRoZSB0YXJnZXRSZW5kZXJTdXJmYWNlIGl0c2VsZi4KKyAgICAvLyBUbyBjb25zaWRl
ciBob3cgYSBsYXllcidzIHRhcmdldFN1cmZhY2UgY29udHJpYnV0ZXMgdG8gdGhlIGFuY2VzdG9y
U3VyZmFjZSwKKyAgICAvLyBleHRlbmREYW1hZ2VGb3JSZW5kZXJTdXJmYWNlKCkgbXVzdCBiZSBj
YWxsZWQgaW5zdGVhZC4KIAogICAgIC8vIENvbXB1dGUgdGhlIGxheWVyJ3MgIm9yaWdpblRyYW5z
Zm9ybSIgYnkgdHJhbnNsYXRpbmcgdGhlIGRyYXdUcmFuc2Zvcm0uCiAgICAgV2ViVHJhbnNmb3Jt
YXRpb25NYXRyaXggb3JpZ2luVHJhbnNmb3JtID0gbGF5ZXItPmRyYXdUcmFuc2Zvcm0oKTsKQEAg
LTI2Miw3ICsyNzksNyBAQCB2b2lkIENDRGFtYWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yTGF5
ZXIoQ0NMYXllckltcGwqIGxheWVyLCBGbG9hdFJlY3QmIHRhcmdldAogICAgIEZsb2F0UmVjdCBs
YXllclJlY3RJblRhcmdldFNwYWNlID0gQ0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJlY3Qob3JpZ2lu
VHJhbnNmb3JtLCBGbG9hdFJlY3QoRmxvYXRQb2ludDo6emVybygpLCBsYXllci0+Ym91bmRzKCkp
KTsKICAgICBzYXZlUmVjdEZvck5leHRGcmFtZShsYXllci0+aWQoKSwgbGF5ZXJSZWN0SW5UYXJn
ZXRTcGFjZSk7CiAKLSAgICBpZiAobGF5ZXJJc05ldyB8fCBsYXllci0+bGF5ZXJQcm9wZXJ0eUNo
YW5nZWQoKSkgeworICAgIGlmIChsYXllcklzTmV3IHx8IGxheWVyTmVlZHNUb1JlZHJhd09udG9J
dHNUYXJnZXRTdXJmYWNlKGxheWVyKSkgewogICAgICAgICAvLyBJZiBhIGxheWVyIGlzIG5ldyBv
ciBoYXMgY2hhbmdlZCwgdGhlbiBpdHMgZW50aXJlIGxheWVyIHJlY3QgYWZmZWN0cyB0aGUgdGFy
Z2V0IHN1cmZhY2UuCiAgICAgICAgIHRhcmdldERhbWFnZVJlY3QudW5pdGVJZk5vblplcm8obGF5
ZXJSZWN0SW5UYXJnZXRTcGFjZSk7CiAKQEAgLTMwMCw3ICszMTcsNyBAQCB2b2lkIENDRGFtYWdl
VHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yUmVuZGVyU3VyZmFjZShDQ0xheWVySW1wbCogbGF5ZXIs
IEZsb2F0UmVjdAogICAgIHNhdmVSZWN0Rm9yTmV4dEZyYW1lKGxheWVyLT5pZCgpLCBzdXJmYWNl
UmVjdEluVGFyZ2V0U3BhY2UpOwogCiAgICAgRmxvYXRSZWN0IGRhbWFnZVJlY3RJbkxvY2FsU3Bh
Y2U7Ci0gICAgaWYgKHN1cmZhY2VJc05ldyB8fCByZW5kZXJTdXJmYWNlLT5zdXJmYWNlUHJvcGVy
dHlDaGFuZ2VkKCkpIHsKKyAgICBpZiAoc3VyZmFjZUlzTmV3IHx8IHJlbmRlclN1cmZhY2UtPnN1
cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSB8fCBsYXllci0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFu
Z2VkKCkpIHsKICAgICAgICAgLy8gVGhlIGVudGlyZSBzdXJmYWNlIGNvbnRyaWJ1dGVzIGRhbWFn
ZS4KICAgICAgICAgZGFtYWdlUmVjdEluTG9jYWxTcGFjZSA9IHJlbmRlclN1cmZhY2UtPmNvbnRl
bnRSZWN0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcAppbmRleCBlNjFiZjkxZDA2YzVjYTI1
YzVjM2JhNmI0ZjNiZTQ2OWExYjljZDA5Li4wN2YwMjJkOWNjNWQ3MWI3NDI0ZGY3NGQyNDBmYTlm
ZTYzMDViNmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuY3BwCkBAIC01NSw2ICs1NSw3IEBAIEND
TGF5ZXJJbXBsOjpDQ0xheWVySW1wbChpbnQgaWQpCiAgICAgLCBtX2hhdmVXaGVlbEV2ZW50SGFu
ZGxlcnMoZmFsc2UpCiAgICAgLCBtX2RvdWJsZVNpZGVkKHRydWUpCiAgICAgLCBtX2xheWVyUHJv
cGVydHlDaGFuZ2VkKGZhbHNlKQorICAgICwgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQo
ZmFsc2UpCiAgICAgLCBtX21hc2tzVG9Cb3VuZHMoZmFsc2UpCiAgICAgLCBtX29wYXF1ZShmYWxz
ZSkKICAgICAsIG1fb3BhY2l0eSgxLjApCkBAIC0zMTAsNiArMzExLDI2IEBAIHZvaWQgQ0NMYXll
ckltcGw6OnNldFN0YWNraW5nT3JkZXJDaGFuZ2VkKGJvb2wgc3RhY2tpbmdPcmRlckNoYW5nZWQp
CiAgICAgICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZEZvclN1YnRyZWUoKTsKIH0KIAorYm9v
bCBDQ0xheWVySW1wbDo6bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkgY29uc3QKK3sKKyAg
ICBpZiAobV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQpCisgICAgICAgIHJldHVybiB0cnVl
OworCisgICAgLy8gSWYgdGhpcyBsYXllcidzIHN1cmZhY2UgcHJvcGVydHkgaGFzbid0IGNoYW5n
ZWQsIHdlIHdhbnQgdG8gc2VlIGlmCisgICAgLy8gc29tZSBsYXllciBhYm92ZSB1cyBoYXMgY2hh
bmdlZCB0aGlzIHByb3BlcnR5LiBUaGlzIGlzIGRvbmUgZm9yIHRoZQorICAgIC8vIGNhc2Ugd2hl
biBzdWNoIHBhcmVudCBsYXllciBkb2VzIG5vdCBkcmF3IGNvbnRlbnQsIGFuZCB0aGVyZWZvcmUg
d2lsbAorICAgIC8vIG5vdCBiZSB0cmF2ZXJzZWQgYnkgdGhlIGRhbWFnZSB0cmFja2VyLiBXZSBu
ZWVkIHRvIG1ha2Ugc3VyZSB0aGF0CisgICAgLy8gcHJvcGVydHkgY2hhbmdlIG9uIHN1Y2ggbGF5
ZXIgd2lsbCBiZSBjYXVnaHQgYnkgaXRzIGRlc2NlbmRhbnRzLgorICAgIENDTGF5ZXJJbXBsKiBj
dXJyZW50ID0gdGhpcy0+bV9wYXJlbnQ7CisgICAgd2hpbGUgKGN1cnJlbnQgJiYgIWN1cnJlbnQt
Pm1fcmVuZGVyU3VyZmFjZSkgeworICAgICAgICBpZiAoY3VycmVudC0+bV9sYXllclN1cmZhY2VQ
cm9wZXJ0eUNoYW5nZWQpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgY3VycmVu
dCA9IGN1cnJlbnQtPm1fcGFyZW50OworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKwog
dm9pZCBDQ0xheWVySW1wbDo6bm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yU3VidHJlZSgpCiB7
CiAgICAgbV9sYXllclByb3BlcnR5Q2hhbmdlZCA9IHRydWU7CkBAIC0zMjUsNiArMzQ2LDggQEAg
dm9pZCBDQ0xheWVySW1wbDo6bm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yRGVzY2VuZGFudHMo
KQogdm9pZCBDQ0xheWVySW1wbDo6cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKQog
ewogICAgIG1fbGF5ZXJQcm9wZXJ0eUNoYW5nZWQgPSBmYWxzZTsKKyAgICBtX2xheWVyU3VyZmFj
ZVByb3BlcnR5Q2hhbmdlZCA9IGZhbHNlOworCiAgICAgbV91cGRhdGVSZWN0ID0gRmxvYXRSZWN0
KCk7CiAKICAgICBpZiAobV9yZW5kZXJTdXJmYWNlKQpAQCAtNDY1LDcgKzQ4OCw3IEBAIHZvaWQg
Q0NMYXllckltcGw6OnNldE9wYWNpdHkoZmxvYXQgb3BhY2l0eSkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgbV9vcGFjaXR5ID0gb3BhY2l0eTsKLSAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRG
b3JTdWJ0cmVlKCk7CisgICAgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgPSB0cnVlOwog
fQogCiBib29sIENDTGF5ZXJJbXBsOjpvcGFjaXR5SXNBbmltYXRpbmcoKSBjb25zdApAQCAtNTA3
LDcgKzUzMCw3IEBAIHZvaWQgQ0NMYXllckltcGw6OnNldFRyYW5zZm9ybShjb25zdCBXZWJUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3Ry
YW5zZm9ybSA9IHRyYW5zZm9ybTsKLSAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JTdWJ0
cmVlKCk7CisgICAgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgPSB0cnVlOwogfQogCiBi
b29sIENDTGF5ZXJJbXBsOjp0cmFuc2Zvcm1Jc0FuaW1hdGluZygpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1w
bC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
ckltcGwuaAppbmRleCA0OTI5MDYwNjY4ZDMwNTNiYTc4ZTU2M2I4NTllZTkyODY4ODYzNDc4Li4y
NGFiYTNhOTM0MTJmNjI5YTM2MjM1MTVlY2QxNDZlNzE5YTUzOGE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJ
bXBsLmgKQEAgLTI1Myw2ICsyNTMsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTdGFja2luZ09y
ZGVyQ2hhbmdlZChib29sKTsKIAogICAgIGJvb2wgbGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSBjb25z
dCB7IHJldHVybiBtX2xheWVyUHJvcGVydHlDaGFuZ2VkOyB9CisgICAgYm9vbCBsYXllclN1cmZh
Y2VQcm9wZXJ0eUNoYW5nZWQoKSBjb25zdDsKKwogICAgIHZvaWQgcmVzZXRBbGxDaGFuZ2VUcmFj
a2luZ0ZvclN1YnRyZWUoKTsKIAogICAgIENDTGF5ZXJBbmltYXRpb25Db250cm9sbGVyKiBsYXll
ckFuaW1hdGlvbkNvbnRyb2xsZXIoKSB7IHJldHVybiBtX2xheWVyQW5pbWF0aW9uQ29udHJvbGxl
ci5nZXQoKTsgfQpAQCAtMzE2LDYgKzMxOCwxMiBAQCBwcml2YXRlOgogICAgIC8vIFRyYWNrcyBp
ZiBkcmF3aW5nLXJlbGF0ZWQgcHJvcGVydGllcyBoYXZlIGNoYW5nZWQgc2luY2UgbGFzdCByZWRy
YXcuCiAgICAgYm9vbCBtX2xheWVyUHJvcGVydHlDaGFuZ2VkOwogCisgICAgLy8gSW5kaWNhdGVz
IHRoYXQgYSBwcm9wZXJ0eSBoYXMgY2hhbmdlZCBvbiB0aGlzIGxheWVyIHRoYXQgd291bGQgbm90
CisgICAgLy8gYWZmZWN0IHRoZSBwaXhlbHMgb24gaXRzIHRhcmdldCBzdXJmYWNlLCBidXQgd291
bGQgcmVxdWlyZSByZWRyYXdpbmcKKyAgICAvLyBidXQgd291bGQgcmVxdWlyZSByZWRyYXdpbmcg
dGhlIHRhcmdldFN1cmZhY2Ugb250byBpdHMgYW5jZXN0b3IgdGFyZ2V0U3VyZmFjZS4KKyAgICAv
LyBGb3IgbGF5ZXJzIHRoYXQgZG8gbm90IG93biBhIHN1cmZhY2UgdGhpcyBmbGFnIGFjdHMgYXMg
bV9sYXllclByb3BlcnR5Q2hhbmdlZC4KKyAgICBib29sIG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlD
aGFuZ2VkOworCiAgICAgLy8gVXNlcyBsYXllcidzIGNvbnRlbnQgc3BhY2UuCiAgICAgSW50UmVj
dCBtX3Zpc2libGVMYXllclJlY3Q7CiAgICAgYm9vbCBtX21hc2tzVG9Cb3VuZHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVy
VHJlZUhvc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCmluZGV4IDcyMjYxMTZhZWJjMmViMjk1ZDc0
NjkzZjQ4MGI2YzJjOWFiNjM0YTYuLmMxMGFmZGRkZWJlMjhkMjYyM2Y2Y2Q3MjdhOTUxYmI5MDg3
NjE5MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCkBAIC00Miw2
ICs0Miw3IEBACiAjaW5jbHVkZSAiY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmgiCiAjaW5jbHVk
ZSAiY2MvQ0NNYXRoVXRpbC5oIgogI2luY2x1ZGUgImNjL0NDUGFnZVNjYWxlQW5pbWF0aW9uLmgi
CisjaW5jbHVkZSAiY2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQuaCIKICNpbmNsdWRlICJjYy9DQ1Nl
dHRpbmdzLmgiCiAjaW5jbHVkZSAiY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oIgogI2luY2x1ZGUg
ImNjL0NDVGhyZWFkVGFzay5oIgpAQCAtMjY2LDI1ICsyNjcsMjUgQEAgdm9pZCBDQ0xheWVyVHJl
ZUhvc3RJbXBsOjpjYWxjdWxhdGVSZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KENDTGF5ZXJMaXN0JiBy
ZW5kZXJTdXIKICAgICB9CiB9CiAKLWJvb2wgQ0NMYXllclRyZWVIb3N0SW1wbDo6Y2FsY3VsYXRl
UmVuZGVyUGFzc2VzKENDUmVuZGVyUGFzc0xpc3QmIHBhc3NlcywgQ0NMYXllckxpc3QmIHJlbmRl
clN1cmZhY2VMYXllckxpc3QsIENDTGF5ZXJMaXN0JiB3aWxsRHJhd0xheWVycykKK2Jvb2wgQ0NM
YXllclRyZWVIb3N0SW1wbDo6Y2FsY3VsYXRlUmVuZGVyUGFzc2VzKEZyYW1lRGF0YSYgZnJhbWUp
CiB7Ci0gICAgQVNTRVJUKHBhc3Nlcy5pc0VtcHR5KCkpOworICAgIEFTU0VSVChmcmFtZS5yZW5k
ZXJQYXNzZXMuaXNFbXB0eSgpKTsKIAotICAgIGNhbGN1bGF0ZVJlbmRlclN1cmZhY2VMYXllckxp
c3QocmVuZGVyU3VyZmFjZUxheWVyTGlzdCk7CisgICAgY2FsY3VsYXRlUmVuZGVyU3VyZmFjZUxh
eWVyTGlzdCgqZnJhbWUucmVuZGVyU3VyZmFjZUxheWVyTGlzdCk7CiAKLSAgICBUUkFDRV9FVkVO
VDEoImNjIiwgIkNDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRlclBhc3NlcyIsICJy
ZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LnNpemUoKSIsIHN0YXRpY19jYXN0PGxvbmcgbG9uZyB1bnNp
Z25lZD4ocmVuZGVyU3VyZmFjZUxheWVyTGlzdC5zaXplKCkpKTsKKyAgICBUUkFDRV9FVkVOVDEo
ImNjIiwgIkNDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRlclBhc3NlcyIsICJyZW5k
ZXJTdXJmYWNlTGF5ZXJMaXN0LnNpemUoKSIsIHN0YXRpY19jYXN0PGxvbmcgbG9uZyB1bnNpZ25l
ZD4oZnJhbWUucmVuZGVyU3VyZmFjZUxheWVyTGlzdC0+c2l6ZSgpKSk7CiAKICAgICBtX3Jvb3RM
YXllckltcGwtPnNldFNjaXNzb3JSZWN0KGVuY2xvc2luZ0ludFJlY3QobV9yb290U2Npc3NvclJl
Y3QpKTsKIAogICAgIC8vIENyZWF0ZSB0aGUgcmVuZGVyIHBhc3NlcyBpbiBkZXBlbmRlbmN5IG9y
ZGVyLgogICAgIEhhc2hNYXA8Q0NSZW5kZXJTdXJmYWNlKiwgQ0NSZW5kZXJQYXNzKj4gc3VyZmFj
ZVBhc3NNYXA7Ci0gICAgZm9yIChpbnQgc3VyZmFjZUluZGV4ID0gcmVuZGVyU3VyZmFjZUxheWVy
TGlzdC5zaXplKCkgLSAxOyBzdXJmYWNlSW5kZXggPj0gMCA7IC0tc3VyZmFjZUluZGV4KSB7Ci0g
ICAgICAgIENDTGF5ZXJJbXBsKiByZW5kZXJTdXJmYWNlTGF5ZXIgPSByZW5kZXJTdXJmYWNlTGF5
ZXJMaXN0W3N1cmZhY2VJbmRleF07CisgICAgZm9yIChpbnQgc3VyZmFjZUluZGV4ID0gZnJhbWUu
cmVuZGVyU3VyZmFjZUxheWVyTGlzdC0+c2l6ZSgpIC0gMTsgc3VyZmFjZUluZGV4ID49IDAgOyAt
LXN1cmZhY2VJbmRleCkgeworICAgICAgICBDQ0xheWVySW1wbCogcmVuZGVyU3VyZmFjZUxheWVy
ID0gKCpmcmFtZS5yZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KVtzdXJmYWNlSW5kZXhdOwogICAgICAg
ICBDQ1JlbmRlclN1cmZhY2UqIHJlbmRlclN1cmZhY2UgPSByZW5kZXJTdXJmYWNlTGF5ZXItPnJl
bmRlclN1cmZhY2UoKTsKIAogICAgICAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiBwYXNzID0gQ0NS
ZW5kZXJQYXNzOjpjcmVhdGUocmVuZGVyU3VyZmFjZSk7CiAgICAgICAgIHN1cmZhY2VQYXNzTWFw
LmFkZChyZW5kZXJTdXJmYWNlLCBwYXNzLmdldCgpKTsKLSAgICAgICAgcGFzc2VzLmFwcGVuZChw
YXNzLnJlbGVhc2UoKSk7CisgICAgICAgIGZyYW1lLnJlbmRlclBhc3Nlcy5hcHBlbmQocGFzcy5y
ZWxlYXNlKCkpOwogICAgIH0KIAogICAgIGJvb2wgcmVjb3JkTWV0cmljc0ZvckZyYW1lID0gdHJ1
ZTsgLy8gRklYTUU6IEluIHRoZSBmdXR1cmUsIGRpc2FibGUgdGhpcyB3aGVuIGFib3V0OnRyYWNp
bmcgaXMgb2ZmLgpAQCAtMjk5LDggKzMwMCw4IEBAIGJvb2wgQ0NMYXllclRyZWVIb3N0SW1wbDo6
Y2FsY3VsYXRlUmVuZGVyUGFzc2VzKENDUmVuZGVyUGFzc0xpc3QmIHBhc3NlcywgQ0NMYXllCiAg
ICAgLy8gaW4gdGhlIGZ1dHVyZS4KICAgICBib29sIGRyYXdGcmFtZSA9IHRydWU7CiAKLSAgICBD
Q0xheWVySXRlcmF0b3JUeXBlIGVuZCA9IENDTGF5ZXJJdGVyYXRvclR5cGU6OmVuZCgmcmVuZGVy
U3VyZmFjZUxheWVyTGlzdCk7Ci0gICAgZm9yIChDQ0xheWVySXRlcmF0b3JUeXBlIGl0ID0gQ0NM
YXllckl0ZXJhdG9yVHlwZTo6YmVnaW4oJnJlbmRlclN1cmZhY2VMYXllckxpc3QpOyBpdCAhPSBl
bmQ7ICsraXQpIHsKKyAgICBDQ0xheWVySXRlcmF0b3JUeXBlIGVuZCA9IENDTGF5ZXJJdGVyYXRv
clR5cGU6OmVuZChmcmFtZS5yZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KTsKKyAgICBmb3IgKENDTGF5
ZXJJdGVyYXRvclR5cGUgaXQgPSBDQ0xheWVySXRlcmF0b3JUeXBlOjpiZWdpbihmcmFtZS5yZW5k
ZXJTdXJmYWNlTGF5ZXJMaXN0KTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIENDUmVuZGVy
U3VyZmFjZSogcmVuZGVyU3VyZmFjZSA9IGl0LnRhcmdldFJlbmRlclN1cmZhY2VMYXllcigpLT5y
ZW5kZXJTdXJmYWNlKCk7CiAgICAgICAgIENDUmVuZGVyUGFzcyogcGFzcyA9IHN1cmZhY2VQYXNz
TWFwLmdldChyZW5kZXJTdXJmYWNlKTsKICAgICAgICAgYm9vbCBoYWRNaXNzaW5nVGlsZXMgPSBm
YWxzZTsKQEAgLTMxMiw3ICszMTMsNyBAQCBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1
bGF0ZVJlbmRlclBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIENDTGF5ZQogICAgICAg
ICAgICAgcGFzcy0+YXBwZW5kUXVhZHNGb3JSZW5kZXJTdXJmYWNlTGF5ZXIoKml0LCBjb250cmli
dXRpbmdSZW5kZXJQYXNzLCAmb2NjbHVzaW9uVHJhY2tlcik7CiAgICAgICAgIH0gZWxzZSBpZiAo
aXQucmVwcmVzZW50c0l0c2VsZigpICYmICFvY2NsdXNpb25UcmFja2VyLm9jY2x1ZGVkKCppdCwg
aXQtPnZpc2libGVMYXllclJlY3QoKSkgJiYgIWl0LT52aXNpYmxlTGF5ZXJSZWN0KCkuaXNFbXB0
eSgpICYmICFpdC0+c2Npc3NvclJlY3QoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGl0LT53
aWxsRHJhdyhtX2xheWVyUmVuZGVyZXIuZ2V0KCksIGNvbnRleHQoKSk7Ci0gICAgICAgICAgICB3
aWxsRHJhd0xheWVycy5hcHBlbmQoKml0KTsKKyAgICAgICAgICAgIGZyYW1lLndpbGxEcmF3TGF5
ZXJzLmFwcGVuZCgqaXQpOwogCiAgICAgICAgICAgICBwYXNzLT5hcHBlbmRRdWFkc0ZvckxheWVy
KCppdCwgJm9jY2x1c2lvblRyYWNrZXIsIGhhZE1pc3NpbmdUaWxlcyk7CiAgICAgICAgIH0KQEAg
LTMyNywxMiArMzI4LDE1IEBAIGJvb2wgQ0NMYXllclRyZWVIb3N0SW1wbDo6Y2FsY3VsYXRlUmVu
ZGVyUGFzc2VzKENDUmVuZGVyUGFzc0xpc3QmIHBhc3NlcywgQ0NMYXllCiAgICAgfQogCiAgICAg
aWYgKCFtX2hhc1RyYW5zcGFyZW50QmFja2dyb3VuZCkgewotICAgICAgICBwYXNzZXMubGFzdCgp
LT5zZXRIYXNUcmFuc3BhcmVudEJhY2tncm91bmQoZmFsc2UpOwotICAgICAgICBwYXNzZXMubGFz
dCgpLT5hcHBlbmRRdWFkc1RvRmlsbFNjcmVlbihtX3Jvb3RMYXllckltcGwuZ2V0KCksIG1fYmFj
a2dyb3VuZENvbG9yLCBvY2NsdXNpb25UcmFja2VyKTsKKyAgICAgICAgZnJhbWUucmVuZGVyUGFz
c2VzLmxhc3QoKS0+c2V0SGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKGZhbHNlKTsKKyAgICAgICAg
ZnJhbWUucmVuZGVyUGFzc2VzLmxhc3QoKS0+YXBwZW5kUXVhZHNUb0ZpbGxTY3JlZW4obV9yb290
TGF5ZXJJbXBsLmdldCgpLCBtX2JhY2tncm91bmRDb2xvciwgb2NjbHVzaW9uVHJhY2tlcik7CiAg
ICAgfQogCiAgICAgaWYgKGRyYXdGcmFtZSkKICAgICAgICAgb2NjbHVzaW9uVHJhY2tlci5vdmVy
ZHJhd01ldHJpY3MoKS5yZWNvcmRNZXRyaWNzKHRoaXMpOworCisgICAgcmVtb3ZlUGFzc2VzV2l0
aENhY2hlZFRleHR1cmVzKGZyYW1lLnJlbmRlclBhc3NlcywgZnJhbWUuc2tpcHBlZFBhc3Nlcyk7
CisKICAgICByZXR1cm4gZHJhd0ZyYW1lOwogfQogCkBAIC0zODIsNiArMzg2LDcwIEBAIEludFNp
emUgQ0NMYXllclRyZWVIb3N0SW1wbDo6Y29udGVudFNpemUoKSBjb25zdAogICAgIHJldHVybiBt
X3Jvb3RTY3JvbGxMYXllckltcGwtPmNoaWxkcmVuKClbMF0tPmNvbnRlbnRCb3VuZHMoKTsKIH0K
IAordm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpyZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUo
Q0NSZW5kZXJQYXNzTGlzdCYgcGFzc2VzLCBzaXplX3QgYm90dG9tUGFzcywgY29uc3QgQ0NSZW5k
ZXJQYXNzKiBmaXJzdFRvUmVtb3ZlLCBDQ1JlbmRlclBhc3NMaXN0JiBza2lwcGVkUGFzc2VzKQor
eworICAgIHNpemVfdCByZW1vdmVJbmRleCA9IHBhc3Nlcy5maW5kKGZpcnN0VG9SZW1vdmUpOwor
CisgICAgLy8gVGhlIHBhc3Mgd2FzIGFscmVhZHkgcmVtb3ZlZCBieSBhbm90aGVyIHF1YWQgLSBw
cm9iYWJseSB0aGUgb3JpZ2luYWwsIGFuZCB3ZSBhcmUgdGhlIHJlcGxpY2EuCisgICAgaWYgKHJl
bW92ZUluZGV4ID09IG5vdEZvdW5kKQorICAgICAgICByZXR1cm47CisKKyAgICBPd25QdHI8Q0NS
ZW5kZXJQYXNzPiByZW1vdmVkUGFzcyA9IHBhc3Nlc1tyZW1vdmVJbmRleF0ucmVsZWFzZSgpOwor
ICAgIHBhc3Nlcy5yZW1vdmUocmVtb3ZlSW5kZXgpOworCisgICAgLy8gTm93IGZvbGxvdyB1cCBm
b3IgYWxsIFJlbmRlclBhc3MgcXVhZHMgYW5kIHJlbW92ZSB0aGVpciByZW5kZXIgcGFzc2VzIHJl
Y3Vyc2l2ZWx5LgorICAgIGNvbnN0IENDUXVhZExpc3QmIHF1YWRMaXN0ID0gcmVtb3ZlZFBhc3Mt
PnF1YWRMaXN0KCk7CisgICAgQ0NRdWFkTGlzdDo6Y29uc3RCYWNrVG9Gcm9udEl0ZXJhdG9yIHF1
YWRMaXN0SXRlcmF0b3IgPSBxdWFkTGlzdC5iYWNrVG9Gcm9udEJlZ2luKCk7CisgICAgZm9yICg7
IHF1YWRMaXN0SXRlcmF0b3IgIT0gcXVhZExpc3QuYmFja1RvRnJvbnRFbmQoKTsgKytxdWFkTGlz
dEl0ZXJhdG9yKSB7CisgICAgICAgIENDRHJhd1F1YWQqIGN1cnJlbnRRdWFkID0gKCpxdWFkTGlz
dEl0ZXJhdG9yKS5nZXQoKTsKKyAgICAgICAgaWYgKGN1cnJlbnRRdWFkLT5tYXRlcmlhbCgpICE9
IENDRHJhd1F1YWQ6OlJlbmRlclBhc3MpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAg
ICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcmVuZGVyUGFzc1F1YWQgPSBzdGF0aWNfY2FzdDxDQ1Jl
bmRlclBhc3NEcmF3UXVhZCo+KGN1cnJlbnRRdWFkKTsKKyAgICAgICAgY29uc3QgQ0NSZW5kZXJQ
YXNzKiBuZXh0UmVuZGVyUGFzcyA9IHJlbmRlclBhc3NRdWFkLT5yZW5kZXJQYXNzKCk7CisKKyAg
ICAgICAgLy8gT3VyIHNlYXJjaCBpcyBub3cgbGltaXRlZCB1cCB0byB0aGUgcGFzcyB0aGF0IHdl
IGp1c3QgcmVtb3ZlZC4KKyAgICAgICAgLy8gU3Vic3RpdHV0ZSByZW1vdmVJbmRleCBmb3IgYm90
dG9tUGFzcyBub3cuCisgICAgICAgIHJlbW92ZVJlbmRlclBhc3Nlc1JlY3Vyc2l2ZShwYXNzZXMs
IHJlbW92ZUluZGV4LCBuZXh0UmVuZGVyUGFzcywgc2tpcHBlZFBhc3Nlcyk7CisgICAgfQorICAg
IHNraXBwZWRQYXNzZXMuYXBwZW5kKHJlbW92ZWRQYXNzLnJlbGVhc2UoKSk7Cit9CisKK3ZvaWQg
Q0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3ZlUGFzc2VzV2l0aENhY2hlZFRleHR1cmVzKENDUmVu
ZGVyUGFzc0xpc3QmIHBhc3NlcywgQ0NSZW5kZXJQYXNzTGlzdCYgc2tpcHBlZFBhc3NlcykKK3sK
KyAgICBmb3IgKHNzaXplX3QgcGFzc0luZGV4ID0gcGFzc2VzLnNpemUoKSAtIDE7IHBhc3NJbmRl
eCA+PSAwOyAtLXBhc3NJbmRleCkgeworICAgICAgICBDQ1JlbmRlclBhc3MqIGN1cnJlbnRQYXNz
ID0gcGFzc2VzW3Bhc3NJbmRleF0uZ2V0KCk7CisgICAgICAgIGNvbnN0IENDUXVhZExpc3QmIHF1
YWRMaXN0ID0gY3VycmVudFBhc3MtPnF1YWRMaXN0KCk7CisgICAgICAgIENDUXVhZExpc3Q6OmNv
bnN0QmFja1RvRnJvbnRJdGVyYXRvciBxdWFkTGlzdEl0ZXJhdG9yID0gcXVhZExpc3QuYmFja1Rv
RnJvbnRCZWdpbigpOworCisgICAgICAgIGZvciAoOyBxdWFkTGlzdEl0ZXJhdG9yICE9IHF1YWRM
aXN0LmJhY2tUb0Zyb250RW5kKCk7ICsrcXVhZExpc3RJdGVyYXRvcikgeworICAgICAgICAgICAg
Q0NEcmF3UXVhZCogY3VycmVudFF1YWQgPSBxdWFkTGlzdEl0ZXJhdG9yLT5nZXQoKTsKKworICAg
ICAgICAgICAgaWYgKGN1cnJlbnRRdWFkLT5tYXRlcmlhbCgpICE9IENDRHJhd1F1YWQ6OlJlbmRl
clBhc3MpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIENDUmVuZGVy
UGFzc0RyYXdRdWFkKiByZW5kZXJQYXNzUXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0Ry
YXdRdWFkKj4oY3VycmVudFF1YWQpOworICAgICAgICAgICAgQ0NSZW5kZXJTdXJmYWNlKiB0YXJn
ZXRTdXJmYWNlID0gcmVuZGVyUGFzc1F1YWQtPnJlbmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgp
OworCisgICAgICAgICAgICBpZiAodGFyZ2V0U3VyZmFjZS0+Y29udGVudHNDaGFuZ2VkKCkgfHwg
IXRhcmdldFN1cmZhY2UtPmhhc0NhY2hlZENvbnRlbnRzVGV4dHVyZSgpKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAvLyBSZXNlcnZlIHRoZSB0ZXh0dXJlIGltbWVk
aWF0ZWx5LiBXZSBkbyBub3QgbmVlZCB0byBwYXNzIGluIGxheWVyIHJlbmRlcmVyCisgICAgICAg
ICAgICAvLyBzaW5jZSB0aGUgdGV4dHVyZSBhbHJlYWR5IGV4aXN0cywganVzdCBuZWVkcyB0byBi
ZSByZXNlcnZlZC4KKyAgICAgICAgICAgIGlmICghdGFyZ2V0U3VyZmFjZS0+cHJlcGFyZUNvbnRl
bnRzVGV4dHVyZSgwKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
Ly8gV2UgYXJlIGNoYW5naW5nIHRoZSB2ZWN0b3IgaW4gdGhlIG1pZGRsZSBvZiByZXZlcnNlIGl0
ZXJhdGlvbi4KKyAgICAgICAgICAgIC8vIFdlIGFyZSBndWFyYW50ZWVkIHRoYXQgYW55IGRhdGEg
ZnJvbSBpdGVyYXRvciB0byB0aGUgZW5kIHdpbGwgbm90IGNoYW5nZS4KKyAgICAgICAgICAgIC8v
IENhcHR1cmUgdGhlIGl0ZXJhdG9yIHBvc2l0aW9uIGZyb20gdGhlIGVuZCwgYW5kIHJlc3RvcmUg
aXQgYWZ0ZXIgdGhlIGNoYW5nZS4KKyAgICAgICAgICAgIGludCBwb3NpdGlvbkZyb21FbmQgPSBw
YXNzZXMuc2l6ZSgpIC0gcGFzc0luZGV4OworICAgICAgICAgICAgcmVtb3ZlUmVuZGVyUGFzc2Vz
UmVjdXJzaXZlKHBhc3NlcywgcGFzc0luZGV4LCByZW5kZXJQYXNzUXVhZC0+cmVuZGVyUGFzcygp
LCBza2lwcGVkUGFzc2VzKTsKKyAgICAgICAgICAgIHBhc3NJbmRleCA9IHBhc3Nlcy5zaXplKCkg
LSBwb3NpdGlvbkZyb21FbmQ7CisgICAgICAgICAgICBBU1NFUlQocGFzc0luZGV4ID49IDApOwor
ICAgICAgICB9CisgICAgfQorfQorCiBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OnByZXBhcmVU
b0RyYXcoRnJhbWVEYXRhJiBmcmFtZSkKIHsKICAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkNDTGF5
ZXJUcmVlSG9zdEltcGw6OnByZXBhcmVUb0RyYXciKTsKQEAgLTM5Miw3ICs0NjAsNyBAQCBib29s
IENDTGF5ZXJUcmVlSG9zdEltcGw6OnByZXBhcmVUb0RyYXcoRnJhbWVEYXRhJiBmcmFtZSkKICAg
ICBmcmFtZS5yZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LT5jbGVhcigpOwogICAgIGZyYW1lLndpbGxE
cmF3TGF5ZXJzLmNsZWFyKCk7CiAKLSAgICBpZiAoIWNhbGN1bGF0ZVJlbmRlclBhc3NlcyhmcmFt
ZS5yZW5kZXJQYXNzZXMsICpmcmFtZS5yZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBmcmFtZS53aWxs
RHJhd0xheWVycykpCisgICAgaWYgKCFjYWxjdWxhdGVSZW5kZXJQYXNzZXMoZnJhbWUpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAvLyBJZiB3ZSByZXR1cm4gdHJ1ZSwgdGhlbiB3ZSBl
eHBlY3QgZHJhd0xheWVycygpIHRvIGJlIGNhbGxlZCBiZWZvcmUgdGhpcyBmdW5jdGlvbiBpcyBj
YWxsZWQgYWdhaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKaW5kZXggNjMw
ZTc5OGIwOThiOWMyOTVlYTE5MTJkZThiNTM0YjIzYjRhYzlhYS4uYzk4OGUwMTFhZWM3OWYzYzM2
ZDBhMjFiOGZiZDMyN2M1NDg0NjNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdElt
cGwuaApAQCAtODYsNiArODYsNyBAQCBwdWJsaWM6CiAKICAgICBzdHJ1Y3QgRnJhbWVEYXRhIHsK
ICAgICAgICAgQ0NSZW5kZXJQYXNzTGlzdCByZW5kZXJQYXNzZXM7CisgICAgICAgIENDUmVuZGVy
UGFzc0xpc3Qgc2tpcHBlZFBhc3NlczsKICAgICAgICAgQ0NMYXllckxpc3QqIHJlbmRlclN1cmZh
Y2VMYXllckxpc3Q7CiAgICAgICAgIENDTGF5ZXJMaXN0IHdpbGxEcmF3TGF5ZXJzOwogICAgIH07
CkBAIC0xNzQsNiArMTc1LDkgQEAgcHVibGljOgogICAgIENDRnJhbWVSYXRlQ291bnRlciogZnBz
Q291bnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fZnBzQ291bnRlci5nZXQoKTsgfQogICAgIENDRGVi
dWdSZWN0SGlzdG9yeSogZGVidWdSZWN0SGlzdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVidWdS
ZWN0SGlzdG9yeS5nZXQoKTsgfQogCisgICAgLy8gUmVtb3ZlcyBhbGwgcmVuZGVyIHBhc3NlcyBm
b3Igd2hpY2ggd2UgaGF2ZSBjYWNoZWQgdGV4dHVyZXMsIGFuZCB3aGljaCBkaWQgbm90IGNoYW5n
ZSB0aGVpciBjb250ZW50LgorICAgIHN0YXRpYyB2b2lkIHJlbW92ZVBhc3Nlc1dpdGhDYWNoZWRU
ZXh0dXJlcyhDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIENDUmVuZGVyUGFzc0xpc3QmIHNraXBw
ZWRQYXNzZXMpOworCiBwcm90ZWN0ZWQ6CiAgICAgQ0NMYXllclRyZWVIb3N0SW1wbChjb25zdCBD
Q0xheWVyVHJlZVNldHRpbmdzJiwgQ0NMYXllclRyZWVIb3N0SW1wbENsaWVudCopOwogCkBAIC0y
MDUsMTAgKzIwOSwxMyBAQCBwcml2YXRlOgogICAgIC8vIFJldHVybnMgZmFsc2UgaWYgdGhlIGZy
YW1lIHNob3VsZCBub3QgYmUgZGlzcGxheWVkLiBUaGlzIGZ1bmN0aW9uIHNob3VsZAogICAgIC8v
IG9ubHkgYmUgY2FsbGVkIGZyb20gcHJlcGFyZVRvRHJhdywgYXMgZGlkRHJhd0FsbExheWVycyBt
dXN0IGJlIGNhbGxlZAogICAgIC8vIGlmIHRoaXMgaGVscGVyIGZ1bmN0aW9uIGlzIGNhbGxlZC4K
LSAgICBib29sIGNhbGN1bGF0ZVJlbmRlclBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0JiwgQ0NMYXll
ckxpc3QmIHJlbmRlclN1cmZhY2VMYXllckxpc3QsIENDTGF5ZXJMaXN0JiB3aWxsRHJhd0xheWVy
cyk7CisgICAgYm9vbCBjYWxjdWxhdGVSZW5kZXJQYXNzZXMoRnJhbWVEYXRhJik7CiAgICAgdm9p
ZCBhbmltYXRlTGF5ZXJzUmVjdXJzaXZlKENDTGF5ZXJJbXBsKiwgZG91YmxlIG1vbm90b25pY1Rp
bWUsIGRvdWJsZSB3YWxsQ2xvY2tUaW1lLCBDQ0FuaW1hdGlvbkV2ZW50c1ZlY3RvciosIGJvb2wm
IGRpZEFuaW1hdGUsIGJvb2wmIG5lZWRzQW5pbWF0ZUxheWVycyk7CiAgICAgdm9pZCBzZXRCYWNr
Z3JvdW5kVGlja2luZ0VuYWJsZWQoYm9vbCk7CiAgICAgSW50U2l6ZSBjb250ZW50U2l6ZSgpIGNv
bnN0OworCisgICAgc3RhdGljIHZvaWQgcmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKENDUmVu
ZGVyUGFzc0xpc3QmIHBhc3Nlcywgc2l6ZV90IGJvdHRvbVBhc3MsIGNvbnN0IENDUmVuZGVyUGFz
cyogZmlyc3RUb1JlbW92ZSwgQ0NSZW5kZXJQYXNzTGlzdCYgc2tpcHBlZFBhc3Nlcyk7CisKICAg
ICB2b2lkIHNlbmREaWRMb3NlQ29udGV4dFJlY3Vyc2l2ZShDQ0xheWVySW1wbCopOwogICAgIHZv
aWQgY2xlYXJSZW5kZXJTdXJmYWNlcygpOwogICAgIGJvb2wgZW5zdXJlUmVuZGVyU3VyZmFjZUxh
eWVyTGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaAppbmRleCBhNDUxMDA2Y2U4OGIxMmIwNzIz
NzBkZmEyMjM5ZjgzODNiYTcxZmM2Li4yYjhiYzdlNWJjY2VjNDg4ODk3NjNjYmI3YjQ5NDBjMzk4
Y2JmMjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1JlbmRlclBhc3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6
CiAgICAgYm9vbCBoYXNUcmFuc3BhcmVudEJhY2tncm91bmQoKSBjb25zdCB7IHJldHVybiBtX2hh
c1RyYW5zcGFyZW50QmFja2dyb3VuZDsgfQogICAgIHZvaWQgc2V0SGFzVHJhbnNwYXJlbnRCYWNr
Z3JvdW5kKGJvb2wgdHJhbnNwYXJlbnQpIHsgbV9oYXNUcmFuc3BhcmVudEJhY2tncm91bmQgPSB0
cmFuc3BhcmVudDsgfQogCi1wcml2YXRlOgorcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IENDUmVu
ZGVyUGFzcyhDQ1JlbmRlclN1cmZhY2UqKTsKIAogICAgIENDUmVuZGVyU3VyZmFjZSogbV90YXJn
ZXRTdXJmYWNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAKaW5kZXggZGRhYmQ1Mjhj
OGZkMWQwYmNkNTZiMjAzNzBkYzUzZGQwMzAyMmVjYy4uMzA2YTFjMDc1Y2I1NzhiNTRiNTQ5MjU3
NTA4MTZiMDRmY2UzYmM1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCkBAIC04
OCwxMCArODgsMTggQEAgRmxvYXRSZWN0IENDUmVuZGVyU3VyZmFjZTo6ZHJhd2FibGVDb250ZW50
UmVjdCgpIGNvbnN0CiAKIGJvb2wgQ0NSZW5kZXJTdXJmYWNlOjpwcmVwYXJlQ29udGVudHNUZXh0
dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJlcikKIHsKLSAgICBUZXh0dXJl
TWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBsYXllclJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFn
ZXIoKTsKKyAgICAvLyBGSVhNRTogVGhpcyBtZXRob2Qgc2hvdWxkIGJlIHNlcGFyYXRlZCBpbnRv
IHR3bzogb25lIHRvIHJlc2VydmUgYW4KKyAgICAvLyBleGlzdGluZyBzdXJmYWNlLCBhbmQgb25l
IHRvIGNyZWF0ZSBhIG5ldyBvbmUuIFRoYXQgd2F5IHdlIHdpbGwgbm90CisgICAgLy8gbmVlZCB0
byBwYXNzIG51bGwgbGF5ZXJSZW5kZXJlci4KKyAgICBpZiAobGF5ZXJSZW5kZXJlcikgeworICAg
ICAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBsYXllclJlbmRlcmVyLT5pbXBs
VGV4dHVyZU1hbmFnZXIoKTsKKworICAgICAgICBpZiAoIW1fY29udGVudHNUZXh0dXJlKQorICAg
ICAgICAgICAgbV9jb250ZW50c1RleHR1cmUgPSBNYW5hZ2VkVGV4dHVyZTo6Y3JlYXRlKHRleHR1
cmVNYW5hZ2VyKTsKKyAgICB9CiAKICAgICBpZiAoIW1fY29udGVudHNUZXh0dXJlKQotICAgICAg
ICBtX2NvbnRlbnRzVGV4dHVyZSA9IE1hbmFnZWRUZXh0dXJlOjpjcmVhdGUodGV4dHVyZU1hbmFn
ZXIpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAobV9jb250ZW50c1RleHR1cmUt
PmlzUmVzZXJ2ZWQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMTQsNiArMTIyLDExIEBA
IGJvb2wgQ0NSZW5kZXJTdXJmYWNlOjpoYXNWYWxpZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fY29udGVudHNUZXh0dXJlICYmIG1fY29udGVudHNUZXh0dXJlLT5pc1Jlc2Vy
dmVkKCkgJiYgbV9jb250ZW50c1RleHR1cmUtPmlzVmFsaWQobV9jb250ZW50UmVjdC5zaXplKCks
IEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBKTsKIH0KIAorYm9vbCBDQ1JlbmRlclN1cmZhY2U6Omhh
c0NhY2hlZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY29udGVudHNU
ZXh0dXJlICYmIG1fY29udGVudHNUZXh0dXJlLT5pc1ZhbGlkKG1fY29udGVudFJlY3Quc2l6ZSgp
LCBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSk7Cit9CisKIGJvb2wgQ0NSZW5kZXJTdXJmYWNlOjpw
cmVwYXJlQmFja2dyb3VuZFRleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBsYXllclJlbmRl
cmVyKQogewogICAgIFRleHR1cmVNYW5hZ2VyKiB0ZXh0dXJlTWFuYWdlciA9IGxheWVyUmVuZGVy
ZXItPmltcGxUZXh0dXJlTWFuYWdlcigpOwpAQCAtMjEwLDYgKzIyMywxMSBAQCB2b2lkIENDUmVu
ZGVyU3VyZmFjZTo6c2V0Q2xpcFJlY3QoY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpCiAgICAgbV9j
bGlwUmVjdCA9IGNsaXBSZWN0OwogfQogCitib29sIENDUmVuZGVyU3VyZmFjZTo6Y29udGVudHND
aGFuZ2VkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIW1fZGFtYWdlVHJhY2tlci0+Y3VycmVudERh
bWFnZVJlY3QoKS5pc0VtcHR5KCk7Cit9CisKIHZvaWQgQ0NSZW5kZXJTdXJmYWNlOjpzZXRDb250
ZW50UmVjdChjb25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCkKIHsKICAgICBpZiAobV9jb250ZW50
UmVjdCA9PSBjb250ZW50UmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKaW5kZXggNjI1
MjNiODIxMmI3ZTM2ZDY1ZDgyZGM2ZDFjNjliOTFjODc0YzY0OS4uODZjYTY5NmQwZWQ3NGZiNDAy
YTRmNzExNTg1M2RlYzllOTNkYWRhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKQEAg
LTUzLDkgKzUzLDEwIEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBDQ1JlbmRlclN1cmZhY2UoQ0NM
YXllckltcGwqKTsKICAgICB+Q0NSZW5kZXJTdXJmYWNlKCk7CiAKLSAgICBib29sIHByZXBhcmVD
b250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CisgICAgdmlydHVhbCBib29s
IHByZXBhcmVDb250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CiAgICAgdm9p
ZCByZWxlYXNlQ29udGVudHNUZXh0dXJlKCk7CiAgICAgYm9vbCBoYXNWYWxpZENvbnRlbnRzVGV4
dHVyZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBoYXNDYWNoZWRDb250ZW50c1RleHR1cmUo
KSBjb25zdDsKIAogICAgIGJvb2wgcHJlcGFyZUJhY2tncm91bmRUZXh0dXJlKExheWVyUmVuZGVy
ZXJDaHJvbWl1bSopOwogICAgIHZvaWQgcmVsZWFzZUJhY2tncm91bmRUZXh0dXJlKCk7CkBAIC0x
MTQsNiArMTE1LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2Npc3NvclJlY3QoY29uc3QgSW50
UmVjdCYgc2Npc3NvclJlY3QpIHsgbV9zY2lzc29yUmVjdCA9IHNjaXNzb3JSZWN0OyB9CiAgICAg
Y29uc3QgSW50UmVjdCYgc2Npc3NvclJlY3QoKSBjb25zdCB7IHJldHVybiBtX3NjaXNzb3JSZWN0
OyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgY29udGVudHNDaGFuZ2VkKCkgY29uc3Q7CisKICAgICB2
b2lkIHNldENvbnRlbnRSZWN0KGNvbnN0IEludFJlY3QmKTsKICAgICBjb25zdCBJbnRSZWN0JiBj
b250ZW50UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFJlY3Q7IH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAKaW5k
ZXggOGM5YjU0M2IyY2Y0ZWI5NjJiODg2MjdmZWY2MzQ3YzhkMDAwZjUzOC4uZjQ5ODA2OWYwZWVh
NzlmMzI4OWZkNjRiNDA1YWQ5NzZhOTFhODY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3BwCkBAIC05MzQsNyArOTM0LDgg
QEAgVEVTVF9GKENDRGFtYWdlVHJhY2tlclRlc3QsIHZlcmlmeURhbWFnZUZvck1hc2spCiAKICAg
ICAvLyBUaGVuIHRlc3QgdGhlIHByb3BlcnR5IGNoYW5nZS4KICAgICBjbGVhckRhbWFnZUZvckFs
bFN1cmZhY2VzKHJvb3QuZ2V0KCkpOwotICAgIG1hc2tMYXllci0+c2V0T3BhY2l0eSgwLjUpOwor
ICAgIG1hc2tMYXllci0+c2V0U3RhY2tpbmdPcmRlckNoYW5nZWQodHJ1ZSk7CisKICAgICBlbXVs
YXRlRHJhd2luZ09uZUZyYW1lKHJvb3QuZ2V0KCkpOwogICAgIGNoaWxkRGFtYWdlUmVjdCA9IGNo
aWxkLT5yZW5kZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+Y3VycmVudERhbWFnZVJlY3Qo
KTsKICAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShGbG9hdFJlY3QoMCwgMCwgMzAsIDMwKSwgY2hp
bGREYW1hZ2VSZWN0KTsKQEAgLTEwMDEsNyArMTAwMiw3IEBAIFRFU1RfRihDQ0RhbWFnZVRyYWNr
ZXJUZXN0LCB2ZXJpZnlEYW1hZ2VGb3JSZXBsaWNhTWFzaykKIAogICAgIC8vIENBU0UgMTogYSBw
cm9wZXJ0eSBjaGFuZ2Ugb24gdGhlIG1hc2sgc2hvdWxkIGRhbWFnZSBvbmx5IHRoZSByZWZsZWN0
ZWQgcmVnaW9uIG9uIHRoZSB0YXJnZXQgc3VyZmFjZS4KICAgICBjbGVhckRhbWFnZUZvckFsbFN1
cmZhY2VzKHJvb3QuZ2V0KCkpOwotICAgIHJlcGxpY2FNYXNrTGF5ZXItPnNldE9wYWNpdHkoMC42
Zik7CisgICAgcmVwbGljYU1hc2tMYXllci0+c2V0U3RhY2tpbmdPcmRlckNoYW5nZWQodHJ1ZSk7
CiAgICAgZW11bGF0ZURyYXdpbmdPbmVGcmFtZShyb290LmdldCgpKTsKIAogICAgIEZsb2F0UmVj
dCBncmFuZENoaWxkRGFtYWdlUmVjdCA9IGdyYW5kQ2hpbGQxLT5yZW5kZXJTdXJmYWNlKCktPmRh
bWFnZVRyYWNrZXIoKS0+Y3VycmVudERhbWFnZVJlY3QoKTsKQEAgLTEwNjUsNyArMTA2Niw4IEBA
IFRFU1RfRihDQ0RhbWFnZVRyYWNrZXJUZXN0LCB2ZXJpZnlEYW1hZ2VGb3JSZXBsaWNhTWFza1dp
dGhBbmNob3IpCiAKICAgICAvLyBBIHByb3BlcnR5IGNoYW5nZSBvbiB0aGUgcmVwbGljYU1hc2sg
c2hvdWxkIGRhbWFnZSB0aGUgcmVmbGVjdGVkIHJlZ2lvbiBvbiB0aGUgdGFyZ2V0IHN1cmZhY2Uu
CiAgICAgY2xlYXJEYW1hZ2VGb3JBbGxTdXJmYWNlcyhyb290LmdldCgpKTsKLSAgICByZXBsaWNh
TWFza0xheWVyLT5zZXRPcGFjaXR5KDAuNmYpOworICAgIHJlcGxpY2FNYXNrTGF5ZXItPnNldFN0
YWNraW5nT3JkZXJDaGFuZ2VkKHRydWUpOworCiAgICAgZW11bGF0ZURyYXdpbmdPbmVGcmFtZShy
b290LmdldCgpKTsKIAogICAgIEZsb2F0UmVjdCBjaGlsZERhbWFnZVJlY3QgPSBjaGlsZDEtPnJl
bmRlclN1cmZhY2UoKS0+ZGFtYWdlVHJhY2tlcigpLT5jdXJyZW50RGFtYWdlUmVjdCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVySW1wbFRlc3QuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVySW1wbFRlc3QuY3BwCmluZGV4
IDgyN2M5YWRhYWUwNzQ0NTZhOWQwYzAyYjg3MzgzNzQ3OWY2MzY1ZDMuLjAxZjk0M2E2NDBlNmFl
OWM1OWYxYjQ2ZGM4ZGQ4YjgxZDcxMjliN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHAKQEAgLTQyLDIxICs0MiwzMyBAQCBuYW1lc3Bh
Y2UgewogICAgIGNvZGVUb1Rlc3Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAogICAgIEVYUEVDVF9UUlVFKHJvb3QtPmxheWVyUHJvcGVy
dHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIEVYUEVDVF9UUlVF
KGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIEVYUEVDVF9UUlVFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpCisg
ICAgRVhQRUNUX1RSVUUoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAg
ICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyU3VyZmFjZVByb3Bl
cnR5Q2hhbmdlZCgpKQorCiAKICNkZWZpbmUgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfRElE
X05PVF9DSEFOR0UoY29kZVRvVGVzdCkgICAgICAgICAgIFwKICAgICByb290LT5yZXNldEFsbENo
YW5nZVRyYWNraW5nRm9yU3VidHJlZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg
ICBjb2RlVG9UZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJQcm9wZXJ0eUNoYW5n
ZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfRkFMU0UoY2hpbGQt
PmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBF
WFBFQ1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSkKKyAgICBFWFBF
Q1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFu
Z2VkKCkpCiAKICNkZWZpbmUgRVhFQ1VURV9BTkRfVkVSSUZZX09OTFlfTEFZRVJfQ0hBTkdFRChj
b2RlVG9UZXN0KSAgICAgICAgICAgICAgIFwKICAgICByb290LT5yZXNldEFsbENoYW5nZVRyYWNr
aW5nRm9yU3VidHJlZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjb2RlVG9U
ZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICBFWFBFQ1RfVFJVRShyb290LT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfRkFMU0UoY2hpbGQtPmxheWVyUHJv
cGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBFWFBFQ1RfRkFM
U0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSkKKyAgICBFWFBFQ1RfRkFMU0Uo
Z3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgIFwK
KyAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkpCisK
KyNkZWZpbmUgRVhFQ1VURV9BTkRfVkVSSUZZX09OTFlfU1VSRkFDRV9DSEFOR0VEKGNvZGVUb1Rl
c3QpICAgICAgICAgICAgIFwKKyAgICByb290LT5yZXNldEFsbENoYW5nZVRyYWNraW5nRm9yU3Vi
dHJlZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb2RlVG9UZXN0OyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0UoY2hpbGQtPmxheWVyUHJvcGVydHlDaGFu
Z2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0UoZ3JhbmRD
aGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgIFwKKyAgICBF
WFBFQ1RfVFJVRShyb290LT5sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSkKIAogVEVTVChD
Q0xheWVySW1wbFRlc3QsIHZlcmlmeUxheWVyQ2hhbmdlc0FyZVRyYWNrZWRQcm9wZXJseSkKIHsK
QEAgLTk4LDExICsxMTAsOSBAQCBURVNUKENDTGF5ZXJJbXBsVGVzdCwgdmVyaWZ5TGF5ZXJDaGFu
Z2VzQXJlVHJhY2tlZFByb3Blcmx5KQogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NI
QU5HRUQocm9vdC0+c2V0TWFza0xheWVyKENDTGF5ZXJJbXBsOjpjcmVhdGUoNCkpKTsKICAgICBF
WEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldE1hc2tzVG9Cb3VuZHMo
dHJ1ZSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0
T3BhcXVlKHRydWUpKTsKLSAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJv
b3QtPnNldE9wYWNpdHkoYXJiaXRyYXJ5TnVtYmVyKSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZ
X1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRSZXBsaWNhTGF5ZXIoQ0NMYXllckltcGw6OmNyZWF0
ZSg1KSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0
UG9zaXRpb24oYXJiaXRyYXJ5RmxvYXRQb2ludCkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9T
VUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0UHJlc2VydmVzM0QodHJ1ZSkpOwotICAgIEVYRUNVVEVf
QU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0VHJhbnNmb3JtKGFyYml0cmFyeVRy
YW5zZm9ybSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+
c2V0RG91YmxlU2lkZWQoZmFsc2UpKTsgLy8gY29uc3RydWN0b3IgaW5pdGlhbGl6ZXMgaXQgdG8g
InRydWUiLgogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2Ny
b2xsQnkoYXJiaXRyYXJ5SW50U2l6ZSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVF
X0NIQU5HRUQocm9vdC0+c2V0U2Nyb2xsRGVsdGEoYXJiaXRyYXJ5SW50U2l6ZSkpOwpAQCAtMTE3
LDYgKzEyNywxMCBAQCBURVNUKENDTGF5ZXJJbXBsVGVzdCwgdmVyaWZ5TGF5ZXJDaGFuZ2VzQXJl
VHJhY2tlZFByb3Blcmx5KQogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX0xBWUVSX0NIQU5H
RUQocm9vdC0+c2V0QmFja2dyb3VuZENvbG9yKENvbG9yOjpncmF5KSk7CiAgICAgRVhFQ1VURV9B
TkRfVkVSSUZZX09OTFlfTEFZRVJfQ0hBTkdFRChyb290LT5zZXRCYWNrZ3JvdW5kRmlsdGVycyhh
cmJpdHJhcnlGaWx0ZXJzKSk7CiAKKyAgICAvLyBDaGFuZ2luZyB0aGVzZSBwcm9wZXJ0aWVzIG9u
bHkgYWZmZWN0cyBob3cgcmVuZGVyIHN1cmZhY2UgaXMgZHJhd24KKyAgICBFWEVDVVRFX0FORF9W
RVJJRllfT05MWV9TVVJGQUNFX0NIQU5HRUQocm9vdC0+c2V0T3BhY2l0eShhcmJpdHJhcnlOdW1i
ZXIpKTsKKyAgICBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9TVVJGQUNFX0NIQU5HRUQocm9vdC0+
c2V0VHJhbnNmb3JtKGFyYml0cmFyeVRyYW5zZm9ybSkpOworCiAgICAgLy8gU3BlY2lhbCBjYXNl
OiBjaGVjayB0aGF0IHN1YmxheWVyIHRyYW5zZm9ybSBjaGFuZ2VzIGFsbCBsYXllcidzIGRlc2Nl
bmRhbnRzLCBidXQgbm90IHRoZSBsYXllciBpdHNlbGYuCiAgICAgcm9vdC0+cmVzZXRBbGxDaGFu
Z2VUcmFja2luZ0ZvclN1YnRyZWUoKTsKICAgICByb290LT5zZXRTdWJsYXllclRyYW5zZm9ybShh
cmJpdHJhcnlUcmFuc2Zvcm0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAppbmRleCAzNTA5Mzc2YWY4Y2VlZWU4
YmUzNjBmODg2MmFjMmZhYzE1NWRhMzY1Li41Mzg2M2I2MTU5ZTAyM2VjNTQwOGEwZDQ2ODVhMTA4
YmYzNTViZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5
ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUg
ImNjL0NDTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NMYXllclRpbGluZ0RhdGEuaCIKICNp
bmNsdWRlICJjYy9DQ1F1YWRDdWxsZXIuaCIKKyNpbmNsdWRlICJjYy9DQ1JlbmRlclBhc3NEcmF3
UXVhZC5oIgogI2luY2x1ZGUgImNjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAi
Y2MvQ0NTZXR0aW5ncy5oIgogI2luY2x1ZGUgImNjL0NDU2luZ2xlVGhyZWFkUHJveHkuaCIKQEAg
LTI0MDQsNCArMjQwNSw1OTcgQEAgVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBoYXNU
cmFuc3BhcmVudEJhY2tncm91bmQpCiAgICAgTW9jazo6VmVyaWZ5QW5kQ2xlYXJFeHBlY3RhdGlv
bnMoJm1vY2tDb250ZXh0KTsKIH0KIAorVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBz
dXJmYWNlVGV4dHVyZUNhY2hpbmcpCit7CisgICAgQ0NTZXR0aW5nczo6c2V0UGFydGlhbFN3YXBF
bmFibGVkKHRydWUpOworICAgIAorICAgIENDTGF5ZXJUcmVlU2V0dGluZ3Mgc2V0dGluZ3M7Cisg
ICAgT3duUHRyPENDTGF5ZXJUcmVlSG9zdEltcGw+IG15SG9zdEltcGwgPSBDQ0xheWVyVHJlZUhv
c3RJbXBsOjpjcmVhdGUoc2V0dGluZ3MsIHRoaXMpOworICAgIAorICAgIFJlZlB0cjxDQ0dyYXBo
aWNzQ29udGV4dD4gY29udGV4dCA9IENDR3JhcGhpY3NDb250ZXh0OjpjcmVhdGUzRChHcmFwaGlj
c0NvbnRleHQzRFByaXZhdGU6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dEZyb21XZWJDb250ZXh0KGFk
b3B0UHRyKG5ldyBQYXJ0aWFsU3dhcENvbnRleHQoKSksIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5k
ZXJEaXJlY3RseVRvSG9zdFdpbmRvdykpOworCisgICAgbXlIb3N0SW1wbC0+aW5pdGlhbGl6ZUxh
eWVyUmVuZGVyZXIoY29udGV4dC5yZWxlYXNlKCksIFVudGhyb3R0bGVkVXBsb2FkZXIpOworICAg
IG15SG9zdEltcGwtPnNldFZpZXdwb3J0U2l6ZShJbnRTaXplKDEwMCwgMTAwKSk7CisKKyAgICBP
d25QdHI8Q0NMYXllckltcGw+IHJvb3QgPSBDQ0xheWVySW1wbDo6Y3JlYXRlKDEpOworICAgIEND
TGF5ZXJJbXBsKiByb290UHRyID0gcm9vdC5nZXQoKTsKKworICAgIHJvb3QtPnNldEFuY2hvclBv
aW50KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIHJvb3QtPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQo
MCwgMCkpOworICAgIHJvb3QtPnNldEJvdW5kcyhJbnRTaXplKDEwMCwgMTAwKSk7CisgICAgcm9v
dC0+c2V0Q29udGVudEJvdW5kcyhJbnRTaXplKDEwMCwgMTAwKSk7CisgICAgcm9vdC0+c2V0Vmlz
aWJsZUxheWVyUmVjdChJbnRSZWN0KDAsIDAsIDEwMCwgMTAwKSk7CisgICAgcm9vdC0+c2V0RHJh
d3NDb250ZW50KHRydWUpOworICAgIG15SG9zdEltcGwtPnNldFJvb3RMYXllcihyb290LnJlbGVh
c2UoKSk7CisKKyAgICAvLyBJbnRlcm1lZGlhdGUgbGF5ZXIgZG9lcyBub3Qgb3duIGEgc3VyZmFj
ZSwgYW5kIGRvZXMgbm90IGRyYXcgY29udGVudC4KKyAgICBPd25QdHI8Q0NMYXllckltcGw+IGlu
dGVybWVkaWF0ZUxheWVyID0gQ0NMYXllckltcGw6OmNyZWF0ZSgyKTsKKyAgICBDQ0xheWVySW1w
bCogaW50ZXJtZWRpYXRlTGF5ZXJQdHIgPSBpbnRlcm1lZGlhdGVMYXllci5nZXQoKTsKKworICAg
IGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50KDAsIDApKTsK
KyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCgxMCwgMTAp
KTsKKyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0Qm91bmRzKEludFNpemUoMTAwLCAxMDAp
KTsKKyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0Q29udGVudEJvdW5kcyhJbnRTaXplKDEw
MCwgMTAwKSk7CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNldFZpc2libGVMYXllclJlY3Qo
SW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpOworICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRE
cmF3c0NvbnRlbnQoZmFsc2UpOyAvLyBvbmx5IGNoaWxkcmVuIGRyYXcgY29udGVudAorICAgIHJv
b3RQdHItPmFkZENoaWxkKGludGVybWVkaWF0ZUxheWVyLnJlbGVhc2UoKSk7CisKKyAgICBPd25Q
dHI8Q0NMYXllckltcGw+IHN1cmZhY2VMYXllciA9IENDTGF5ZXJJbXBsOjpjcmVhdGUoMyk7Cisg
ICAgQ0NMYXllckltcGwqIHN1cmZhY2VMYXllclB0ciA9IHN1cmZhY2VMYXllci5nZXQoKTsKKwor
ICAgIC8vIFN1cmZhY2UgbGF5ZXIgaXMgdGhlIGxheWVyIHRoYXQgY2hhbmdlcyBpdHMgb3BhY2l0
eQorICAgIC8vIEl0IHdpbGwgY29udGFpbiBvdGhlciBsYXllcnMgdGhhdCBkcmF3IGNvbnRlbnQu
CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50KDAsIDApKTsK
KyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoMTAsIDEwKSk7Cisg
ICAgc3VyZmFjZUxheWVyUHRyLT5zZXRCb3VuZHMoSW50U2l6ZSg1MCwgNTApKTsKKyAgICBzdXJm
YWNlTGF5ZXJQdHItPnNldENvbnRlbnRCb3VuZHMoSW50U2l6ZSg1MCwgNTApKTsKKyAgICBzdXJm
YWNlTGF5ZXJQdHItPnNldFZpc2libGVMYXllclJlY3QoSW50UmVjdCgwLCAwLCA1MCwgNTApKTsK
KyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldERyYXdzQ29udGVudChmYWxzZSk7IC8vIG9ubHkgY2hp
bGRyZW4gZHJhdyBjb250ZW50CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRPcGFjaXR5KDAuNWYp
OyAvLyBUaGlzIHdpbGwgY2F1c2UgaXQgdG8gaGF2ZSBhIHN1cmZhY2UKKyAgICBpbnRlcm1lZGlh
dGVMYXllclB0ci0+YWRkQ2hpbGQoc3VyZmFjZUxheWVyLnJlbGVhc2UoKSk7CisKKyAgICAvLyBD
aGlsZCBvZiB0aGUgc3VyZmFjZSBsYXllciB3aWxsIHByb2R1Y2Ugc29tZSBxdWFkcworICAgIE93
blB0cjxGYWtlTGF5ZXJXaXRoUXVhZHM+IGNoaWxkID0gRmFrZUxheWVyV2l0aFF1YWRzOjpjcmVh
dGUoNCk7CisgICAgRmFrZUxheWVyV2l0aFF1YWRzKiBjaGlsZFB0ciA9IGNoaWxkLmdldCgpOwor
CisgICAgY2hpbGRQdHItPnNldEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIGNo
aWxkUHRyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KDUsIDUpKTsKKyAgICBjaGlsZFB0ci0+c2V0
Qm91bmRzKEludFNpemUoMTAsIDEwKSk7CisgICAgY2hpbGRQdHItPnNldENvbnRlbnRCb3VuZHMo
SW50U2l6ZSgxMCwgMTApKTsKKyAgICBjaGlsZFB0ci0+c2V0VmlzaWJsZUxheWVyUmVjdChJbnRS
ZWN0KDAsIDAsIDEwLCAxMCkpOworICAgIGNoaWxkUHRyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7
CisKKyAgICBzdXJmYWNlTGF5ZXJQdHItPmFkZENoaWxkKGNoaWxkLnJlbGVhc2UoKSk7CisKKyAg
ICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAg
ICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAg
ICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gcmVuZGVyIHBhc3NlcywgZWFjaCB3aXRoIG9uZSBxdWFk
CisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisgICAg
ICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNpemUo
KSk7CisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlz
dCgpLnNpemUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRlclBhc3Ms
IGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisgICAg
ICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQYXNz
RHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClbMF0uZ2V0KCkpOwor
ICAgICAgICBFWFBFQ1RfVFJVRShxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZhY2UoKS0+
Y29udGVudHNDaGFuZ2VkKCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJh
bWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKKyAgICB9
CisKKyAgICAvLyBEcmF3IHdpdGhvdXQgYW55IGNoYW5nZQorICAgIHsKKyAgICAgICAgQ0NMYXll
clRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhv
c3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZl
IHR3byBFTVBUWSByZW5kZXIgcGFzc2VzCisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVu
ZGVyUGFzc2VzLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgwVSwgZnJhbWUucmVuZGVyUGFz
c2VzWzBdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgwVSwgZnJhbWUu
cmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisKKyAgICAgICAgbXlIb3N0SW1w
bC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXll
cnMoZnJhbWUpOworICAgIH0KKworICAgIC8vIENoYW5nZSBvcGFjaXR5IGFuZCBkcmF3CisgICAg
c3VyZmFjZUxheWVyUHRyLT5zZXRPcGFjaXR5KDAuNmYpOworICAgIHsKKyAgICAgICAgQ0NMYXll
clRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhv
c3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZl
IG9uZSByZW5kZXIgcGFzcywgYXMgdGhlIG90aGVyIG9uZSBzaG91bGQgYmUgY3VsbGVkCisgICAg
ICAgIEFTU0VSVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisKKyAgICAgICAg
RVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsK
KyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRlclBhc3MsIGZyYW1lLnJlbmRlclBh
c3Nlc1swXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisgICAgICAgIENDUmVuZGVyUGFz
c0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQYXNzRHJhd1F1YWQqPihmcmFt
ZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0uZ2V0KCkpOworICAgICAgICBFWFBFQ1Rf
RkFMU0UocXVhZC0+cmVuZGVyUGFzcygpLT50YXJnZXRTdXJmYWNlKCktPmNvbnRlbnRzQ2hhbmdl
ZCgpKTsKKworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAg
bXlIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisgICAgfQorCisgICAgLy8gQ2hh
bmdlIGxlc3MgYmVuaWduIHByb3BlcnR5IGFuZCBkcmF3IC0gc2hvdWxkIGhhdmUgY29udGVudHMg
Y2hhbmdlZCBmbGFnCisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRTdGFja2luZ09yZGVyQ2hhbmdl
ZCh0cnVlKTsKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBm
cmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFt
ZSkpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gcmVuZGVyIHBhc3NlcywgZWFjaCB3
aXRoIG9uZSBxdWFkCisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNp
emUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1
YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlNvbGlkQ29s
b3IsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisK
KyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRlclBhc3MsIGZyYW1lLnJlbmRlclBh
c3Nlc1sxXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisgICAgICAgIENDUmVuZGVyUGFz
c0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQYXNzRHJhd1F1YWQqPihmcmFt
ZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClbMF0uZ2V0KCkpOworICAgICAgICBFWFBFQ1Rf
VFJVRShxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZhY2UoKS0+Y29udGVudHNDaGFuZ2Vk
KCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBt
eUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKKyAgICB9CisKKyAgICAvLyBDaGFu
Z2Ugb3BhY2l0eSBhZ2FpbiwgYnV0IGV2aWN0IHRoZSBjYWNoZWQgc3VyZmFjZSB0ZXh0dXJlCisg
ICAgc3VyZmFjZUxheWVyUHRyLT5zZXRPcGFjaXR5KDAuNWYpOworICAgIE1hbmFnZWRUZXh0dXJl
KiBjb250ZW50c1RleHR1cmUgPSBzdXJmYWNlTGF5ZXJQdHItPnJlbmRlclN1cmZhY2UoKS0+Y29u
dGVudHNUZXh0dXJlKCk7CisgICAgQVNTRVJUX1RSVUUoY29udGVudHNUZXh0dXJlLT5pc1ZhbGlk
KGNvbnRlbnRzVGV4dHVyZS0+c2l6ZSgpLCBjb250ZW50c1RleHR1cmUtPmZvcm1hdCgpKSk7Cisg
ICAgQ0NSZW5kZXJlciogcmVuZGVyZXIgPSBteUhvc3RJbXBsLT5sYXllclJlbmRlcmVyKCk7Cisg
ICAgVGV4dHVyZU1hbmFnZXIqIHRleHR1cmVNYW5hZ2VyID0gcmVuZGVyZXItPmltcGxUZXh0dXJl
TWFuYWdlcigpOworICAgIHNpemVfdCBtYXhNZW1vcnlMaW1pdCA9IHRleHR1cmVNYW5hZ2VyLT5t
YXhNZW1vcnlMaW1pdEJ5dGVzKCk7CisKKyAgICAvLyBUaGlzIHNob3VsZCBldmljZSBhbGwgY2Fj
aGVkIHN1cmZhY2VzCisgICAgdGV4dHVyZU1hbmFnZXItPnNldE1heE1lbW9yeUxpbWl0Qnl0ZXMo
MCk7CisKKyAgICAvLyBSZXN0b3JlIG9yaWdpbmFsIGxpbWl0CisgICAgdGV4dHVyZU1hbmFnZXIt
PnNldE1heE1lbW9yeUxpbWl0Qnl0ZXMobWF4TWVtb3J5TGltaXQpOworCisgICAgLy8gV2FzIG91
ciBzdXJmYWNlIGV2aWN0ZWQ/CisgICAgQVNTRVJUX0ZBTFNFKGNvbnRlbnRzVGV4dHVyZS0+aXNW
YWxpZChjb250ZW50c1RleHR1cmUtPnNpemUoKSwgY29udGVudHNUZXh0dXJlLT5mb3JtYXQoKSkp
OworCisgICAgLy8gQ2hhbmdlIG9wYWNpdHkgYW5kIGRyYXcKKyAgICBzdXJmYWNlTGF5ZXJQdHIt
PnNldE9wYWNpdHkoMC42Zik7CisgICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpG
cmFtZURhdGEgZnJhbWU7CisgICAgICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVU
b0RyYXcoZnJhbWUpKTsKKworICAgICAgICAvLyBNdXN0IHJlY2VpdmUgdHdvIHJlbmRlciBwYXNz
ZXMKKyAgICAgICAgQVNTRVJUX0VRKDJVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKwor
ICAgICAgICAvLyBFdmVuIHRob3VnaCBub3QgZW5vdWdoIHByb3BlcnRpZXMgY2hhbmdlZCwgdGhl
IGVudGlyZSB0aGluZyBtdXN0IGJlCisgICAgICAgIC8vIHJlZHJhd24gYXMgd2UgZG9uJ3QgaGF2
ZSBjYWNoZWQgdGV4dHVyZXMKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNz
ZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5y
ZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVEo
Q0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgp
WzBdLT5tYXRlcmlhbCgpKTsKKyAgICAgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQgPSBz
dGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+
cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShxdWFkLT5yZW5kZXJQ
YXNzKCktPnRhcmdldFN1cmZhY2UoKS0+Y29udGVudHNDaGFuZ2VkKCkpOworCisgICAgICAgIG15
SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3
QWxsTGF5ZXJzKGZyYW1lKTsKKyAgICB9CisKKyAgICAvLyBEcmF3IHdpdGhvdXQgYW55IGNoYW5n
ZSwgdG8gbWFrZSBzdXJlIHRoZSBzdGF0ZSBpcyBjbGVhcgorICAgIHsKKyAgICAgICAgQ0NMYXll
clRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhv
c3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZl
IHR3byBFTVBUWSByZW5kZXIgcGFzc2VzCisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVu
ZGVyUGFzc2VzLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgwVSwgZnJhbWUucmVuZGVyUGFz
c2VzWzBdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgwVSwgZnJhbWUu
cmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisKKyAgICAgICAgbXlIb3N0SW1w
bC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXll
cnMoZnJhbWUpOworICAgIH0KKworICAgIC8vIENoYW5nZSBvcGFjaXR5IG9uIHRoZSBpbnRlcm1l
ZGlhdGUgbGF5ZXIKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm0gPSBpbnRl
cm1lZGlhdGVMYXllclB0ci0+dHJhbnNmb3JtKCk7CisgICAgdHJhbnNmb3JtLnNldE0xMSgxLjAw
MDEpOworICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRUcmFuc2Zvcm0odHJhbnNmb3JtKTsK
KyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAg
ICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisg
ICAgICAgIC8vIE11c3QgcmVjZWl2ZSBvbmUgcmVuZGVyIHBhc3MsIGFzIHRoZSBvdGhlciBvbmUg
c2hvdWxkIGJlIGN1bGxlZC4KKyAgICAgICAgQVNTRVJUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNz
ZXMuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0t
PnF1YWRMaXN0KCkuc2l6ZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6UmVu
ZGVyUGFzcywgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgp
KTsKKyAgICAgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQgPSBzdGF0aWNfY2FzdDxDQ1Jl
bmRlclBhc3NEcmF3UXVhZCo+KGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKVswXS5n
ZXQoKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1
cmZhY2UoKS0+Y29udGVudHNDaGFuZ2VkKCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdM
YXllcnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1l
KTsKKyAgICB9Cit9CisKK3N0cnVjdCBSZW5kZXJQYXNzQ2FjaGVFbnRyeSB7CisgICAgbXV0YWJs
ZSBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZW5kZXJQYXNzUHRyOworICAgIENDUmVuZGVyUGFzcyog
cmVuZGVyUGFzczsKKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5KFBhc3NPd25QdHI8Q0NSZW5k
ZXJQYXNzPiByKQorICAgICAgICA6IHJlbmRlclBhc3NQdHIociksCisgICAgICAgICAgcmVuZGVy
UGFzcyhyZW5kZXJQYXNzUHRyLmdldCgpKQorICAgIHsKKyAgICB9CisKKyAgICBSZW5kZXJQYXNz
Q2FjaGVFbnRyeSgpCisgICAgeworICAgIH0KKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5KGNv
bnN0IFJlbmRlclBhc3NDYWNoZUVudHJ5JiBlbnRyeSkKKyAgICAgICAgOiByZW5kZXJQYXNzUHRy
KGVudHJ5LnJlbmRlclBhc3NQdHIucmVsZWFzZSgpKSwKKyAgICAgICAgICByZW5kZXJQYXNzKGVu
dHJ5LnJlbmRlclBhc3MpCisgICAgeworICAgIH0KKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5
JiBvcGVyYXRvcj0oY29uc3QgUmVuZGVyUGFzc0NhY2hlRW50cnkmIGVudHJ5KQorICAgIHsKKyAg
ICAgICAgcmVuZGVyUGFzc1B0ciA9IGVudHJ5LnJlbmRlclBhc3NQdHIucmVsZWFzZSgpOworICAg
ICAgICByZW5kZXJQYXNzID0gZW50cnkucmVuZGVyUGFzczsKKyAgICAgICAgcmV0dXJuICp0aGlz
OworICAgIH0KK307CisKK3N0cnVjdCBSZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhIHsKKyAgICBD
Q1JlbmRlclBhc3NMaXN0IHJlbmRlclBhc3NMaXN0OworICAgIHN0ZDo6bWFwPGNoYXIsIFJlbmRl
clBhc3NDYWNoZUVudHJ5PiByZW5kZXJQYXNzQ2FjaGU7CisgICAgc3RkOjptYXA8Y29uc3QgQ0NS
ZW5kZXJQYXNzKiwgY2hhcj4gcmVuZGVyUGFzc0lkOworICAgIFZlY3RvcjxPd25QdHI8Q0NSZW5k
ZXJTdXJmYWNlPiA+IHJlbmRlclN1cmZhY2VTdG9yZTsKKyAgICBWZWN0b3I8T3duUHRyPENDTGF5
ZXJJbXBsPiA+IGxheWVyU3RvcmU7CisgICAgT3duUHRyPENDU2hhcmVkUXVhZFN0YXRlPiBzaGFy
ZWRRdWFkU3RhdGU7Cit9OworCitjbGFzcyBGYWtlUmVuZGVyU3VyZmFjZSA6IHB1YmxpYyBDQ1Jl
bmRlclN1cmZhY2UgeworcHJpdmF0ZToKKyAgICBib29sIG1faGFzQ2FjaGVkVGV4dHVyZTsKKyAg
ICBib29sIG1fY29udGVudHNDaGFuZ2VkOworCitwdWJsaWM6CisgICAgRmFrZVJlbmRlclN1cmZh
Y2UoQ0NMYXllckltcGwqIGxheWVySW1wbCkKKyAgICAgICAgOiBDQ1JlbmRlclN1cmZhY2UobGF5
ZXJJbXBsKSwKKyAgICAgICAgICBtX2hhc0NhY2hlZFRleHR1cmUoZmFsc2UpCisgICAgeworICAg
IH0KKworICAgIHZpcnR1YWwgYm9vbCBoYXNDYWNoZWRDb250ZW50c1RleHR1cmUoKSBjb25zdCBP
VkVSUklERQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1faGFzQ2FjaGVkVGV4dHVyZTsKKyAgICB9
CisKKyAgICB2aXJ0dWFsIGJvb2wgcHJlcGFyZUNvbnRlbnRzVGV4dHVyZShMYXllclJlbmRlcmVy
Q2hyb21pdW0qIGxyYykgT1ZFUlJJREUKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKworICAgIHZpcnR1YWwgYm9vbCBjb250ZW50c0NoYW5nZWQoKSBjb25zdCBPVkVSUklERQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIG1fY29udGVudHNDaGFuZ2VkOworICAgIH0KKworICAgIHZv
aWQgc2V0SGFzQ2FjaGVkVGV4dHVyZShib29sIGhhc0NhY2hlZFRleHR1cmUpCisgICAgeworICAg
ICAgICBtX2hhc0NhY2hlZFRleHR1cmUgPSBoYXNDYWNoZWRUZXh0dXJlOworICAgIH0KKworICAg
IHZvaWQgc2V0Q29udGVudHNDaGFuZ2VkKGJvb2wgY29udGVudHNDaGFuZ2VkKQorICAgIHsKKyAg
ICAgICAgbV9jb250ZW50c0NoYW5nZWQgPSBjb250ZW50c0NoYW5nZWQ7CisgICAgfQorfTsKKwor
Y2xhc3MgQ0NUZXN0UmVuZGVyUGFzczogcHVibGljIENDUmVuZGVyUGFzcyB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzPiBjcmVhdGUoQ0NSZW5kZXJTdXJmYWNl
KiB0YXJnZXRTdXJmYWNlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ1Rl
c3RSZW5kZXJQYXNzKHRhcmdldFN1cmZhY2UpKTsKKyAgICB9CisKK3Byb3RlY3RlZDoKKyAgICBD
Q1Rlc3RSZW5kZXJQYXNzKENDUmVuZGVyU3VyZmFjZSogc3VyZmFjZSkKKyAgICAgICAgOiBDQ1Jl
bmRlclBhc3Moc3VyZmFjZSkKKyAgICB7CisgICAgfQorCitwdWJsaWM6CisgICAgdm9pZCBhcHBl
bmRRdWFkKFBhc3NPd25QdHI8Q0NEcmF3UXVhZD4gcXVhZCkKKyAgICB7CisgICAgICAgIG1fcXVh
ZExpc3QuYXBwZW5kKHF1YWQpOworICAgIH0KK307CisKK3N0YXRpYyBQYXNzT3duUHRyPENDUmVu
ZGVyUGFzcz4gY3JlYXRlRHVtbXlSZW5kZXJQYXNzKFJlbmRlclBhc3NSZW1vdmFsVGVzdERhdGEm
IHRlc3REYXRhKQoreworICAgIE93blB0cjxDQ0xheWVySW1wbD4gbGF5ZXJJbXBsID0gQ0NMYXll
ckltcGw6OmNyZWF0ZSgxKTsKKyAgICBDQ1JlbmRlclN1cmZhY2UqIHJlbmRlclN1cmZhY2UgPSBu
ZXcgRmFrZVJlbmRlclN1cmZhY2UobGF5ZXJJbXBsLmdldCgpKTsKKyAgICBPd25QdHI8Q0NSZW5k
ZXJQYXNzPiByZW5kZXJQYXNzUHRyID0gQ0NUZXN0UmVuZGVyUGFzczo6Y3JlYXRlKHJlbmRlclN1
cmZhY2UpOworCisgICAgdGVzdERhdGEucmVuZGVyU3VyZmFjZVN0b3JlLmFwcGVuZChhZG9wdFB0
cihyZW5kZXJTdXJmYWNlKSk7CisgICAgdGVzdERhdGEubGF5ZXJTdG9yZS5hcHBlbmQobGF5ZXJJ
bXBsLnJlbGVhc2UoKSk7CisgICAgcmV0dXJuIHJlbmRlclBhc3NQdHIucmVsZWFzZSgpOworfQor
CitzdGF0aWMgdm9pZCBjb25maWd1cmVSZW5kZXJQYXNzVGVzdERhdGEoY29uc3QgY2hhciogdGVz
dFNjcmlwdCwgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSYgdGVzdERhdGEpCit7CisgICAgLy8g
T25lIHNoYXJlZCBzdGF0ZSBmb3IgYWxsIHF1YWRzIC0gd2UgZG9uJ3QgbmVlZCB0aGUgY29ycmVj
dCBkZXRhaWxzCisgICAgdGVzdERhdGEuc2hhcmVkUXVhZFN0YXRlID0gQ0NTaGFyZWRRdWFkU3Rh
dGU6OmNyZWF0ZShXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBXZWJUcmFuc2Zvcm1hdGlvbk1h
dHJpeCgpLCBJbnRSZWN0KCksIEludFJlY3QoKSwgMS4wLCB0cnVlKTsKKworICAgIGNvbnN0IGNo
YXIqIGN1cnJlbnRDaGFyID0gdGVzdFNjcmlwdDsKKworICAgIC8vIFByZS1jcmVhdGUgcm9vdCBw
YXNzCisgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcm9vdFJlbmRlclBhc3MgPSBjcmVhdGVEdW1t
eVJlbmRlclBhc3ModGVzdERhdGEpOworICAgIHRlc3REYXRhLnJlbmRlclBhc3NJZC5pbnNlcnQo
c3RkOjpwYWlyPENDUmVuZGVyUGFzcyosIGNoYXI+KHJvb3RSZW5kZXJQYXNzLmdldCgpLCB0ZXN0
U2NyaXB0WzBdKSk7CisgICAgdGVzdERhdGEucmVuZGVyUGFzc0NhY2hlLmluc2VydChzdGQ6OnBh
aXI8Y2hhciwgUmVuZGVyUGFzc0NhY2hlRW50cnk+KHRlc3RTY3JpcHRbMF0sIFJlbmRlclBhc3ND
YWNoZUVudHJ5KHJvb3RSZW5kZXJQYXNzLnJlbGVhc2UoKSkpKTsKKyAgICB3aGlsZSAoKmN1cnJl
bnRDaGFyICE9ICdcMCcpIHsKKyAgICAgICAgY2hhciByZW5kZXJQYXNzSWQgPSBjdXJyZW50Q2hh
clswXTsKKyAgICAgICAgY3VycmVudENoYXIrKzsKKworICAgICAgICBPd25QdHI8Q0NSZW5kZXJQ
YXNzPiByZW5kZXJQYXNzOworCisgICAgICAgIGJvb2wgaXNSZXBsaWNhID0gZmFsc2U7CisgICAg
ICAgIGlmICghdGVzdERhdGEucmVuZGVyUGFzc0NhY2hlW3JlbmRlclBhc3NJZF0ucmVuZGVyUGFz
c1B0ci5nZXQoKSkKKyAgICAgICAgICAgIGlzUmVwbGljYSA9IHRydWU7CisKKyAgICAgICAgcmVu
ZGVyUGFzcyA9IHRlc3REYXRhLnJlbmRlclBhc3NDYWNoZVtyZW5kZXJQYXNzSWRdLnJlbmRlclBh
c3NQdHIucmVsZWFzZSgpOworCisgICAgICAgIC8vIEN5Y2xlIHRocm91Z2ggcXVhZCBkYXRhIGFu
ZCBjcmVhdGUgYWxsIHF1YWRzCisgICAgICAgIHdoaWxlICgqY3VycmVudENoYXIgIT0gJ1xuJyAm
JiAqY3VycmVudENoYXIgIT0gJ1wwJykgeworICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhciA9
PSAncycpIHsKKyAgICAgICAgICAgICAgICAvLyBTb2xpZCBjb2xvciBkcmF3IHF1YWQKKyAgICAg
ICAgICAgICAgICBPd25QdHI8Q0NEcmF3UXVhZD4gcXVhZCA9IENDU29saWRDb2xvckRyYXdRdWFk
OjpjcmVhdGUodGVzdERhdGEuc2hhcmVkUXVhZFN0YXRlLmdldCgpLCBJbnRSZWN0KDAsIDAsIDEw
LCAxMCksIENvbG9yOjp3aGl0ZSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAg
c3RhdGljX2Nhc3Q8Q0NUZXN0UmVuZGVyUGFzcyo+KHJlbmRlclBhc3MuZ2V0KCkpLT5hcHBlbmRR
dWFkKHF1YWQucmVsZWFzZSgpKTsKKyAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcisrOworICAg
ICAgICAgICAgfSBlbHNlIGlmICgoKmN1cnJlbnRDaGFyID49ICdBJykgJiYgKCpjdXJyZW50Q2hh
ciA8PSAnWicpKSB7CisgICAgICAgICAgICAgICAgLy8gUmVuZGVyUGFzcyBkcmF3IHF1YWQKKyAg
ICAgICAgICAgICAgICBjaGFyIG5ld1JlbmRlclBhc3NJZCA9ICpjdXJyZW50Q2hhcjsKKyAgICAg
ICAgICAgICAgICBjdXJyZW50Q2hhcisrOworICAgICAgICAgICAgICAgIGJvb2wgaGFzVGV4dHVy
ZSA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJvb2wgY29udGVudHNDaGFuZ2VkID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoKmN1cnJlbnRDaGFyID09ICdb
JykgeworICAgICAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcisrOworICAgICAgICAgICAgICAg
ICAgICB3aGlsZSAoKCpjdXJyZW50Q2hhciAhPSAnXScpICYmICgqY3VycmVudENoYXIgIT0gJ1ww
JykpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoKmN1cnJlbnRDaGFyKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdjJzoKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb250ZW50c0NoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3QnOgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhhc1RleHR1cmUgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
ICAgICAgICAgY3VycmVudENoYXIrKzsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgICAgICBpZiAoKmN1cnJlbnRDaGFyID09ICddJykKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGN1cnJlbnRDaGFyKys7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAg
Q0NSZW5kZXJQYXNzKiByZWZSZW5kZXJQYXNzUHRyOworCisgICAgICAgICAgICAgICAgaWYgKHRl
c3REYXRhLnJlbmRlclBhc3NDYWNoZS5maW5kKG5ld1JlbmRlclBhc3NJZCkgPT0gdGVzdERhdGEu
cmVuZGVyUGFzc0NhY2hlLmVuZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIE93blB0cjxDQ1Jl
bmRlclBhc3M+IHJlZlJlbmRlclBhc3MgPSBjcmVhdGVEdW1teVJlbmRlclBhc3ModGVzdERhdGEp
OworICAgICAgICAgICAgICAgICAgICByZWZSZW5kZXJQYXNzUHRyID0gcmVmUmVuZGVyUGFzcy5n
ZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgRmFrZVJlbmRlclN1cmZhY2UqIHJlZlJlbmRlclN1
cmZhY2UgPSBzdGF0aWNfY2FzdDxGYWtlUmVuZGVyU3VyZmFjZSo+KHJlZlJlbmRlclBhc3MtPnRh
cmdldFN1cmZhY2UoKSk7CisgICAgICAgICAgICAgICAgICAgIHJlZlJlbmRlclN1cmZhY2UtPnNl
dEhhc0NhY2hlZFRleHR1cmUoaGFzVGV4dHVyZSk7CisgICAgICAgICAgICAgICAgICAgIHJlZlJl
bmRlclN1cmZhY2UtPnNldENvbnRlbnRzQ2hhbmdlZChjb250ZW50c0NoYW5nZWQpOworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RGF0YS5yZW5kZXJQYXNzSWQuaW5zZXJ0KHN0ZDo6cGFpcjxDQ1Jl
bmRlclBhc3MqLCBjaGFyPihyZWZSZW5kZXJQYXNzLmdldCgpLCBuZXdSZW5kZXJQYXNzSWQpKTsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdERhdGEucmVuZGVyUGFzc0NhY2hlLmluc2VydChzdGQ6
OnBhaXI8Y2hhciwgUmVuZGVyUGFzc0NhY2hlRW50cnk+KG5ld1JlbmRlclBhc3NJZCwgUmVuZGVy
UGFzc0NhY2hlRW50cnkocmVmUmVuZGVyUGFzcy5yZWxlYXNlKCkpKSk7CisgICAgICAgICAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIHJlZlJlbmRlclBhc3NQdHIgPSB0ZXN0RGF0
YS5yZW5kZXJQYXNzQ2FjaGVbbmV3UmVuZGVyUGFzc0lkXS5yZW5kZXJQYXNzOworCisgICAgICAg
ICAgICAgICAgT3duUHRyPENDUmVuZGVyUGFzc0RyYXdRdWFkPiBxdWFkID0gQ0NSZW5kZXJQYXNz
RHJhd1F1YWQ6OmNyZWF0ZSh0ZXN0RGF0YS5zaGFyZWRRdWFkU3RhdGUuZ2V0KCksIEludFJlY3Qo
KSwgcmVmUmVuZGVyUGFzc1B0ciwgaXNSZXBsaWNhLCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlv
bnMoKSwgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zKCksIDEpOworICAgICAgICAgICAgICAg
IHN0YXRpY19jYXN0PENDVGVzdFJlbmRlclBhc3MqPihyZW5kZXJQYXNzLmdldCgpKS0+YXBwZW5k
UXVhZChxdWFkLnJlbGVhc2UoKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAg
dGVzdERhdGEucmVuZGVyUGFzc0xpc3QuaW5zZXJ0KDAsIHJlbmRlclBhc3MucmVsZWFzZSgpKTsK
KyAgICAgICAgaWYgKCpjdXJyZW50Q2hhciAhPSAnXDAnKQorICAgICAgICAgICAgY3VycmVudENo
YXIrKzsKKyAgICB9Cit9CisKK3ZvaWQgZHVtcFJlbmRlclBhc3NUZXN0RGF0YShjb25zdCBSZW5k
ZXJQYXNzUmVtb3ZhbFRlc3REYXRhJiB0ZXN0RGF0YSwgY2hhciogYnVmZmVyKQoreworICAgIGNo
YXIqIHBvcyA9IGJ1ZmZlcjsKKyAgICBDQ1JlbmRlclBhc3NMaXN0Ojpjb25zdF9yZXZlcnNlX2l0
ZXJhdG9yIGl0ID0gdGVzdERhdGEucmVuZGVyUGFzc0xpc3QucmJlZ2luKCk7CisgICAgd2hpbGUg
KGl0ICE9IHRlc3REYXRhLnJlbmRlclBhc3NMaXN0LnJlbmQoKSkgeworICAgICAgICBDQ1JlbmRl
clBhc3MqIGN1cnJlbnRQYXNzID0gaXQtPmdldCgpOworICAgICAgICBjaGFyIHBhc3NJZCA9IHRl
c3REYXRhLnJlbmRlclBhc3NJZC5maW5kKGN1cnJlbnRQYXNzKS0+c2Vjb25kOworICAgICAgICAq
cG9zID0gcGFzc0lkOworICAgICAgICBwb3MrKzsKKworICAgICAgICBDQ1F1YWRMaXN0Ojpjb25z
dF9pdGVyYXRvciBxdWFkTGlzdEl0ZXJhdG9yID0gY3VycmVudFBhc3MtPnF1YWRMaXN0KCkuYmVn
aW4oKTsKKyAgICAgICAgd2hpbGUgKHF1YWRMaXN0SXRlcmF0b3IgIT0gY3VycmVudFBhc3MtPnF1
YWRMaXN0KCkuZW5kKCkpIHsKKyAgICAgICAgICAgIENDRHJhd1F1YWQqIGN1cnJlbnRRdWFkID0g
KCpxdWFkTGlzdEl0ZXJhdG9yKS5nZXQoKTsKKyAgICAgICAgICAgIHN3aXRjaCAoY3VycmVudFF1
YWQtPm1hdGVyaWFsKCkpIHsKKyAgICAgICAgICAgIGNhc2UgQ0NEcmF3UXVhZDo6U29saWRDb2xv
cjoKKyAgICAgICAgICAgICAgICAqcG9zID0gJ3MnOworICAgICAgICAgICAgICAgIHBvcysrOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDQ0RyYXdRdWFkOjpSZW5k
ZXJQYXNzOgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgQ0NSZW5kZXJQ
YXNzRHJhd1F1YWQqIHJlbmRlclBhc3NEcmF3UXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFz
c0RyYXdRdWFkKj4oY3VycmVudFF1YWQpOworICAgICAgICAgICAgICAgICAgICBjb25zdCBDQ1Jl
bmRlclBhc3MqIHJlZlBhc3MgPSByZW5kZXJQYXNzRHJhd1F1YWQtPnJlbmRlclBhc3MoKTsKKyAg
ICAgICAgICAgICAgICAgICAgY2hhciByZWZQYXNzSWQgPSB0ZXN0RGF0YS5yZW5kZXJQYXNzSWQu
ZmluZChyZWZQYXNzKS0+c2Vjb25kOworICAgICAgICAgICAgICAgICAgICAqcG9zID0gcmVmUGFz
c0lkOworICAgICAgICAgICAgICAgICAgICBwb3MrKzsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAg
ICpwb3MgPSAneCc7CisgICAgICAgICAgICAgICAgcG9zKys7CisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHF1YWRMaXN0SXRl
cmF0b3IrKzsKKyAgICAgICAgfQorICAgICAgICAqcG9zID0gJ1xuJzsKKyAgICAgICAgcG9zKys7
CisgICAgICAgIGl0Kys7CisgICAgfQorICAgICpwb3MgPSAnXDAnOworfQorCisvLyBFYWNoIEND
UmVuZGVyUGFzc0xpc3QgaXMgcmVwcmVzZW50ZWQgYnkgYSBzdHJpbmcgd2hpY2ggZGVzY3JpYmVz
IHRoZSBjb25maWd1cmF0aW9uLgorLy8gVGhlIHN5bnRheCBvZiB0aGUgc3RyaW5nIGlzIGFzIGZv
bGxvd3M6CisvLworLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBSc3Nzc3NYW2Ndc3NZc3NzWlt0XXNzV1tjdF0KKy8vIElkZW50aWZpZXMgdGhl
IHJlbmRlciBwYXNzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXiBeXl4gXiBeICAgXiAgICAg
XiAgICAgXgorLy8gVGhlc2UgYXJlIHNvbGlkIGNvbG9yIHF1YWRzLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rICB8IHwgICB8ICAgICB8ICAgICB8CisvLyBJZGVudGlmaWVzIFJlbmRlclBh
c3NEcmF3UXVhZCdzIFJlbmRlclBhc3MtLS0tLS0tLS0tLS0tLS0tLSsgfCAgIHwgICAgIHwgICAg
IHwKKy8vIFRoaXMgcXVhZCdzIGNvbnRlbnRzIGRpZG4ndCBjaGFuZ2UtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rICAgfCAgICAgfCAgICAgfAorLy8gVGhpcyBxdWFkJ3MgY29udGVudHMgY2hh
bmdlZCBhbmQgaXQgaGFzIG5vIHRleHR1cmUtLS0tLS0tLS0tLS0tLS0rICAgICB8ICAgICB8Cisv
LyBUaGlzIHF1YWQgaGFzIHRleHR1cmUgYnV0IGl0cyBjb250ZW50cyBjaGFuZ2VkLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSsgICAgIHwKKy8vIFRoaXMgcXVhZCdzIGNvbnRlbnRzIGRpZG4ndCBj
aGFuZ2UgYW5kIGl0IGhhcyB0ZXh0dXJlIC0gd2lsbCBiZSByZW1vdmVkLS0tLS0tKworLy8KKy8v
IEV4cGVjdGVkIHJlc3VsdHMgaGF2ZSBleGFjdGx5IHRoZSBzYW1lIHN5bnRheCwgZXhjZXB0IHRo
ZXkgZG8gbm90IHVzZSBzcXVhcmUgYnJhY2tldHMsCisvLyBzaW5jZSB3ZSBvbmx5IGNoZWNrIHRo
ZSBzdHJ1Y3R1cmUsIG5vdCBhdHRyaWJ1dGVzLgorLy8KKy8vIFRlc3QgY2FzZSBjb25maWd1cmF0
aW9uIGNvbnNpc3RzIG9mIGluaXRpYWxpemF0aW9uIHNjcmlwdCBhbmQgZXhwZWN0ZWQgcmVzdWx0
cywKKy8vIGFsbCBpbiB0aGUgc2FtZSBmb3JtYXQuCitzdHJ1Y3QgVGVzdENhc2UgeworICAgIGNv
bnN0IGNoYXIqIG5hbWU7CisgICAgY29uc3QgY2hhciogaW5pdFNjcmlwdDsKKyAgICBjb25zdCBj
aGFyKiBleHBlY3RlZFJlc3VsdDsKK307CisKK1Rlc3RDYXNlIHJlbW92ZVJlbmRlclBhc3Nlc0Nh
c2VzW10gPQorICAgIHsKKyAgICAgICAgeworICAgICAgICAgICAgIlNpbmdsZSByb290IHBhc3Mi
LAorICAgICAgICAgICAgIlJzc3NzXG4iLAorICAgICAgICAgICAgIlJzc3NzXG4iCisgICAgICAg
IH0sIHsKKyAgICAgICAgICAgICJTaW5nbGUgcGFzcyAtIG5vIHF1YWRzIiwKKyAgICAgICAgICAg
ICJSXG4iLAorICAgICAgICAgICAgIlJcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIlR3
byBwYXNzZXMsIG5vIHJlbW92YWwiLAorICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAg
ICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAgICAgICAg
IkFzc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJUd28gcGFzc2VzLCByZW1vdmUg
bGFzdCIsCisgICAgICAgICAgICAiUnNzc3NBW2N0XXNzc1xuIgorICAgICAgICAgICAgIkFzc3Nz
XG4iLAorICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAg
ICAiSGF2ZSB0ZXh0dXJlIGJ1dCBjb250ZW50cyBjaGFuZ2VkIC0gbGVhdmUgcGFzcyIsCisgICAg
ICAgICAgICAiUnNzc3NBW3Rdc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIsCisgICAgICAg
ICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIKKyAgICAgICAgfSwgewor
ICAgICAgICAgICAgIkNvbnRlbnRzIGRpZG4ndCBjaGFuZ2UgYnV0IG5vIHRleHR1cmUgLSBsZWF2
ZSBwYXNzIiwKKyAgICAgICAgICAgICJSc3Nzc0FbY11zc3NcbiIKKyAgICAgICAgICAgICJBc3Nz
c1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIgor
ICAgICAgICB9LCB7CisgICAgICAgICAgICAiUmVwbGljYTogdHdvIHF1YWRzIHJlZmVyZW5jZSB0
aGUgc2FtZSBwYXNzOyByZW1vdmUiLAorICAgICAgICAgICAgIlJzc3NzQVtjdF1BW2N0XXNzc1xu
IgorICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAgIlJzc3NzQUFzc3NcbiIKKyAg
ICAgICAgfSwgeworICAgICAgICAgICAgIlJlcGxpY2E6IHR3byBxdWFkcyByZWZlcmVuY2UgdGhl
IHNhbWUgcGFzczsgbGVhdmUiLAorICAgICAgICAgICAgIlJzc3NzQVtjXUFbY11zc3NcbiIKKyAg
ICAgICAgICAgICJBc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0FBc3NzXG4iCisgICAgICAg
ICAgICAiQXNzc3NcbiIsCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJNYW55IHBhc3Nlcywg
cmVtb3ZlIGFsbCIsCisgICAgICAgICAgICAiUnNzc3NBW2N0XXNzc1xuIgorICAgICAgICAgICAg
IkFzc3NCW2N0XUNbY3Rdc1xuIgorICAgICAgICAgICAgIkJzc3NEW2N0XXNzRVtjdF1GW2N0XVxu
IgorICAgICAgICAgICAgIkVzc3Nzc3NcbiIKKyAgICAgICAgICAgICJDR1tjdF1cbiIKKyAgICAg
ICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAgICAgICAgIkZzc3Nzc3NzXG4iCisgICAgICAgICAg
ICAiR3Nzc1xuIiwKKworICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAgICB9LCB7Cisg
ICAgICAgICAgICAiRGVlcCByZWN1cnNpb24sIHJlbW92ZSBhbGwiLAorCisgICAgICAgICAgICAi
UnNzc3NzQVtjdF1zc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NCc3NzXG4iCisgICAgICAgICAg
ICAiQkNcbiIKKyAgICAgICAgICAgICJDRFxuIgorICAgICAgICAgICAgIkRFXG4iCisgICAgICAg
ICAgICAiRUZcbiIKKyAgICAgICAgICAgICJGR1xuIgorICAgICAgICAgICAgIkdIXG4iCisgICAg
ICAgICAgICAiSHNzc0lzc3NcbiIKKyAgICAgICAgICAgICJJSlxuIgorICAgICAgICAgICAgIkpz
c3NzXG4iLAorICAgICAgICAgICAgCisgICAgICAgICAgICAiUnNzc3NzQXNzc3NcbiIKKyAgICAg
ICAgfSwgeworICAgICAgICAgICAgIldpZGUgcmVjdXJzaW9uLCByZW1vdmUgYWxsIiwKKyAgICAg
ICAgICAgICJSQVtjdF1CW2N0XUNbY3RdRFtjdF1FW2N0XUZbY3RdR1tjdF1IW2N0XUlbY3RdSltj
dF1cbiIKKyAgICAgICAgICAgICJBc1xuIgorICAgICAgICAgICAgIkJzXG4iCisgICAgICAgICAg
ICAiQ3Nzc3NcbiIKKyAgICAgICAgICAgICJEc3Nzc1xuIgorICAgICAgICAgICAgIkVzXG4iCisg
ICAgICAgICAgICAiRlxuIgorICAgICAgICAgICAgIkdzXG4iCisgICAgICAgICAgICAiSHNcbiIK
KyAgICAgICAgICAgICJJc1xuIgorICAgICAgICAgICAgIkpzc3NzXG4iLAorICAgICAgICAgICAg
CisgICAgICAgICAgICAiUkFCQ0RFRkdISUpcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAg
IlJlbW92ZSBwYXNzZXMgcmVnYXJkbGVzcyBvZiBjYWNoZSBzdGF0ZSIsCisgICAgICAgICAgICAi
UnNzc3NBW2N0XXNzc1xuIgorICAgICAgICAgICAgIkFzc3NCQ3NcbiIKKyAgICAgICAgICAgICJC
c3NzRFtjXXNzRVt0XUZcbiIKKyAgICAgICAgICAgICJFc3Nzc3NzXG4iCisgICAgICAgICAgICAi
Q0dcbiIKKyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAgICAgICAgIkZzc3Nzc3NzXG4i
CisgICAgICAgICAgICAiR3Nzc1xuIiwKKworICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAg
ICAgICB9LCB7CisgICAgICAgICAgICAiTGVhdmUgc29tZSBwYXNzZXMsIHJlbW92ZSBvdGhlcnMi
LAorCisgICAgICAgICAgICAiUnNzc3NBW2Ndc3NzXG4iCisgICAgICAgICAgICAiQXNzc0JbdF1D
W2N0XXNcbiIKKyAgICAgICAgICAgICJCc3NzRFtjXXNzXG4iCisgICAgICAgICAgICAiQ0dcbiIK
KyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAgICAgICAgIkdzc3NcbiIsCisKKyAgICAg
ICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3NzQkNzXG4iCisgICAgICAgICAg
ICAiQnNzc0Rzc1xuIgorICAgICAgICAgICAgIkRzc3Nzc3NzXG4iCisgICAgICAgIH0sIHsKKyAg
ICAgICAgICAgIDAsIDAsIDAKKyAgICAgICAgfQorICAgIH07CisKK3N0YXRpYyB2b2lkIHZlcmlm
eVJlbmRlclBhc3NUZXN0RGF0YShUZXN0Q2FzZSYgdGVzdENhc2UsIFJlbmRlclBhc3NSZW1vdmFs
VGVzdERhdGEmIHRlc3REYXRhKQoreworICAgIGNoYXIgYWN0dWFsUmVzdWx0WzEwMjRdOworICAg
IGR1bXBSZW5kZXJQYXNzVGVzdERhdGEodGVzdERhdGEsIGFjdHVhbFJlc3VsdCk7CisgICAgRVhQ
RUNUX1NUUkVRKHRlc3RDYXNlLmV4cGVjdGVkUmVzdWx0LCBhY3R1YWxSZXN1bHQpIDw8ICJJbiB0
ZXN0IGNhc2U6ICIgPDwgdGVzdENhc2UubmFtZTsKK30KKworVEVTVChSZW5kZXJQYXNzUmVtb3Zh
bFRlc3QsIHRlc3RSZW1vdmVSZW5kZXJQYXNzZXMpCit7CisgICAgaW50IHRlc3RDYXNlSW5kZXgg
PSAwOworICAgIHdoaWxlIChyZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2FzZUluZGV4XS5u
YW1lKSB7CisgICAgICAgIERlYnVnU2NvcGVkU2V0SW1wbFRocmVhZCBpbXBsVGhyZWFkOworICAg
ICAgICBSZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhIHRlc3REYXRhOworICAgICAgICBDQ1JlbmRl
clBhc3NMaXN0IHNraXBwZWRQYXNzZXM7CisgICAgICAgIGNvbmZpZ3VyZVJlbmRlclBhc3NUZXN0
RGF0YShyZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2FzZUluZGV4XS5pbml0U2NyaXB0LCB0
ZXN0RGF0YSk7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OnJlbW92ZVBhc3Nlc1dpdGhD
YWNoZWRUZXh0dXJlcyh0ZXN0RGF0YS5yZW5kZXJQYXNzTGlzdCwgc2tpcHBlZFBhc3Nlcyk7Cisg
ICAgICAgIHZlcmlmeVJlbmRlclBhc3NUZXN0RGF0YShyZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1t0
ZXN0Q2FzZUluZGV4XSwgdGVzdERhdGEpOworICAgICAgICB0ZXN0Q2FzZUluZGV4Kys7CisgICAg
fQorfQorCiB9IC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147973</attachid>
            <date>2012-06-16 09:20:53 -0700</date>
            <delta_ts>2012-06-16 18:37:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88482-20120616122052.patch</filename>
            <type>text/plain</type>
            <size>54059</size>
            <attacher>zlieber</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2I4NmVjYjU0ZjU2Y2U1
OGE4OWM4ODBmZWY0ODE3NjIzZTUyYThiYS4uODRkZmQ3ZTBhYTkyNTc3NjFkNmM4YmE3ZDI2ZWMz
YzdiNWQwNmE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTA2LTE2ICBaZWV2
IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ29t
cG9zaXRvciBzaG91bGQgYXZvaWQgZHJhd2luZyBxdWFkcyB3aGVuIGNhY2hlZCB0ZXh0dXJlcyBh
cmUgYXZhaWxhYmxlIGFuZCBjb250ZW50cyB1bmNoYW5nZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWRyaWVubmUgV2Fsa2VyLgorCisgICAgICAgIFBvc3QtcHJvY2Vzc2luZyBDQ1JlbmRlclBhc3NM
aXN0IGFmdGVyIGl0J3MgYmVlbiBnZW5lcmF0ZWQgYW5kCisgICAgICAgIHJlbW92aW5nIGFsbCBy
ZW5kZXIgc3VyZmFjZSBxdWFkcyBmb3Igd2hpY2ggdGhlcmUgYXJlCisgICAgICAgIGNhY2hlZCB0
ZXh0dXJlcywgYW5kIHdob3NlIGNvbnRlbnQgZGlkbid0IGNoYW5nZS4gQWRkZWQgYSBuZXcKKyAg
ICAgICAgZmxhZyB0byBDQ0xheWVySW1wbCB0byBkaWZmZXJlbnRpYXRlIHN1cmZhY2UgcHJvcGVy
dHkgY2hhbmdlIGFuZAorICAgICAgICBsYXllciBwcm9wZXJ0eSBjaGFuZ2UuCisKKyAgICAgICAg
VGhlIGNoYW5nZXMgYXJlIGNvdmVyZWQgYnkgbmV3IHVuaXQgdGVzdHMgdGhhdCBjaGVjayB0aGF0
CisgICAgICAgIHRoZSByZW1vdmFsIGFsZ29yaXRobSBmdW5jdGlvbnMgcHJvcGVydGx5LiBObyBy
ZW5kZXJpbmcKKyAgICAgICAgYmVoYXZpb3VyIGNoYW5nZSwgc28gbm8gbmV3IGxheW91dCB0ZXN0
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJh
Y2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsYXllck5lZWRzVG9SZWRyYXdPbnRvSXRzVGFy
Z2V0U3VyZmFjZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDRGFt
YWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q0NE
YW1hZ2VUcmFja2VyOjpleHRlbmREYW1hZ2VGb3JSZW5kZXJTdXJmYWNlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDQ0xheWVySW1wbDo6Q0NMYXllckltcGwpOgorICAgICAgICAoV2ViQ29yZTo6Q0NM
YXllckltcGw6OmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpyZXNldEFsbENoYW5nZVRyYWNraW5n
Rm9yU3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0T3BhY2l0eSk6
CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0VHJhbnNmb3JtKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oOgorICAgICAgICAo
Q0NMYXllckltcGwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0
SW1wbDo6Y2FsY3VsYXRlUmVuZGVyUGFzc2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJU
cmVlSG9zdEltcGw6OnJlbW92ZVJlbmRlclBhc3Nlc1JlY3Vyc2l2ZSk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OnJlbW92ZVBhc3Nl
c1dpdGhDYWNoZWRUZXh0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJ
bXBsOjpwcmVwYXJlVG9EcmF3KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmg6CisgICAgICAgIChGcmFtZURhdGEpOgorICAgICAg
ICAoQ0NMYXllclRyZWVIb3N0SW1wbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NSZW5kZXJQYXNzLmg6CisgICAgICAgIChDQ1JlbmRlclBhc3MpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnByZXBhcmVDb250ZW50c1RleHR1cmUp
OgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpoYXNDYWNoZWRDb250ZW50c1Rl
eHR1cmUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1
cmZhY2U6OmNvbnRlbnRzQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmg6CisgICAgICAgIChDQ1JlbmRlclN1cmZhY2UpOgor
CiAyMDEyLTA2LTE1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTIwMjgwLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwppbmRleCBmOWNkMDJkMDc0NDUwZTBmY2UxNzY5YTEzYWQzYWY0YjExZTc1MWE1
Li5hM2VjOGUxMzRiZWIzYmU4ZmUzNTgwYjRmOTE5NjY4ODBkMTJkOTczIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA2LTE2ICBaZWV2IExpZWJlciAg
PHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ29tcG9zaXRvciBz
aG91bGQgYXZvaWQgZHJhd2luZyBxdWFkcyB3aGVuIGNhY2hlZCB0ZXh0dXJlcyBhcmUgYXZhaWxh
YmxlIGFuZCBjb250ZW50cyB1bmNoYW5nZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg4NDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRyaWVubmUg
V2Fsa2VyLgorCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIHZlcmlmeSBxdWFkIHJlbW92YWwgYWxn
b3JpdGhtLiBBZGRlZCBpbmZyYXN0cnVjdHVyZQorICAgICAgICBjb2RlIHRvIGdlbmVyYXRlIGN1
c3RvbSByZW5kZXIgcGFzc2VzIG91dCBvZiBhIHNjcmlwdAorICAgICAgICBlbmNvZGVkIGFzIEMg
c3RyaW5nLgorCisgICAgICAgICogdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHA6CisgICAg
ICAgIChXZWJLaXRUZXN0czo6VEVTVF9GKToKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVySW1wbFRl
c3QuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpURVNUKToKKyAg
ICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHA6CisKIDIwMTItMDYtMTYg
IERhbiBBbGNhbnRhcmEgIDxkZmFsY2FudGFyYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2No
cm9taXVtXSBXZWJGcmFtZUNsaWVudDo6dXNlckFnZW50T3ZlcnJpZGUoKSBzaG91bGQgdGFrZSBp
biBhIFdlYkZyYW1lKiBhcyBpdHMgZmlyc3QgYXJndW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRy
YWNrZXIuY3BwCmluZGV4IGE2ZmRiYjhmZmZhY2NhMzlmOTFmMGMwM2FiNzJmYWU4NGFlNjY2ZjAu
LjFkYmI1OTQwOGVkOTE3ZDc3ZjU4Nzc4MmIxZDE4NmE3ODc2YzAyY2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NEYW1hZ2VUcmFja2VyLmNwcApAQCAtMjM5LDYgKzIzOSwxOCBAQCBGbG9hdFJlY3QgQ0NEYW1h
Z2VUcmFja2VyOjp0cmFja0RhbWFnZUZyb21MZWZ0b3ZlclJlY3RzKCkKICAgICByZXR1cm4gZGFt
YWdlUmVjdDsKIH0KIAorc3RhdGljIGJvb2wgbGF5ZXJOZWVkc1RvUmVkcmF3T250b0l0c1Rhcmdl
dFN1cmZhY2UoQ0NMYXllckltcGwqIGxheWVyKQoreworICAgIC8vIElmIHRoZSBsYXllciBkb2Vz
IE5PVCBvd24gYSBzdXJmYWNlIGJ1dCBoYXMgU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCwKKyAgICAv
LyB0aGlzIG1lYW5zIHRoYXQgaXRzIHRhcmdldCBzdXJmYWNlIGlzIGFmZmVjdGVkIGFuZCBuZWVk
cyB0byBiZSByZWRyYXduLgorICAgIC8vIEhvd2V2ZXIsIGlmIHRoZSBsYXllciBET0VTIG93biBh
IHN1cmZhY2UsIHRoZW4gdGhlIFN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgCisgICAgLy8gZmxhZyBz
aG91bGQgbm90IGJlIHVzZWQgaGVyZSwgYmVjYXVzZSB0aGF0IGZsYWcgcmVwcmVzZW50cyB3aGV0
aGVyIHRoZQorICAgIC8vIGxheWVyJ3Mgc3VyZmFjZSBoYXMgY2hhbmdlZC4KKyAgICBpZiAobGF5
ZXItPnJlbmRlclN1cmZhY2UoKSkKKyAgICAgICAgcmV0dXJuIGxheWVyLT5sYXllclByb3BlcnR5
Q2hhbmdlZCgpOworICAgIHJldHVybiBsYXllci0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSB8fCBs
YXllci0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCk7Cit9CisKIHZvaWQgQ0NEYW1hZ2VU
cmFja2VyOjpleHRlbmREYW1hZ2VGb3JMYXllcihDQ0xheWVySW1wbCogbGF5ZXIsIEZsb2F0UmVj
dCYgdGFyZ2V0RGFtYWdlUmVjdCkKIHsKICAgICAvLyBUaGVyZSBhcmUgdHdvIHdheXMgdGhhdCBh
IGxheWVyIGNhbiBkYW1hZ2UgYSByZWdpb24gb2YgdGhlIHRhcmdldCBzdXJmYWNlOgpAQCAtMjUx
LDYgKzI2MywxMSBAQCB2b2lkIENDRGFtYWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yTGF5ZXIo
Q0NMYXllckltcGwqIGxheWVyLCBGbG9hdFJlY3QmIHRhcmdldAogICAgIC8vICAgICAgcmVnaW9u
IGRhbWFnZXMgdGhlIHN1cmZhY2UuCiAgICAgLy8KICAgICAvLyBQcm9wZXJ0eSBjaGFuZ2VzIHRh
a2UgcHJpb3JpdHkgb3ZlciB1cGRhdGUgcmVjdHMuCisgICAgLy8KKyAgICAvLyBUaGlzIG1ldGhv
ZCBpcyBjYWxsZWQgd2hlbiB3ZSB3YW50IHRvIGNvbnNpZGVyIGhvdyBhIGxheWVyIGNvbnRyaWJ1
dGVzIHRvIGl0cworICAgIC8vIHRhcmdldFJlbmRlclN1cmZhY2UsIGV2ZW4gaWYgdGhhdCBsYXll
ciBvd25zIHRoZSB0YXJnZXRSZW5kZXJTdXJmYWNlIGl0c2VsZi4KKyAgICAvLyBUbyBjb25zaWRl
ciBob3cgYSBsYXllcidzIHRhcmdldFN1cmZhY2UgY29udHJpYnV0ZXMgdG8gdGhlIGFuY2VzdG9y
U3VyZmFjZSwKKyAgICAvLyBleHRlbmREYW1hZ2VGb3JSZW5kZXJTdXJmYWNlKCkgbXVzdCBiZSBj
YWxsZWQgaW5zdGVhZC4KIAogICAgIC8vIENvbXB1dGUgdGhlIGxheWVyJ3MgIm9yaWdpblRyYW5z
Zm9ybSIgYnkgdHJhbnNsYXRpbmcgdGhlIGRyYXdUcmFuc2Zvcm0uCiAgICAgV2ViVHJhbnNmb3Jt
YXRpb25NYXRyaXggb3JpZ2luVHJhbnNmb3JtID0gbGF5ZXItPmRyYXdUcmFuc2Zvcm0oKTsKQEAg
LTI2Miw3ICsyNzksNyBAQCB2b2lkIENDRGFtYWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yTGF5
ZXIoQ0NMYXllckltcGwqIGxheWVyLCBGbG9hdFJlY3QmIHRhcmdldAogICAgIEZsb2F0UmVjdCBs
YXllclJlY3RJblRhcmdldFNwYWNlID0gQ0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJlY3Qob3JpZ2lu
VHJhbnNmb3JtLCBGbG9hdFJlY3QoRmxvYXRQb2ludDo6emVybygpLCBsYXllci0+Ym91bmRzKCkp
KTsKICAgICBzYXZlUmVjdEZvck5leHRGcmFtZShsYXllci0+aWQoKSwgbGF5ZXJSZWN0SW5UYXJn
ZXRTcGFjZSk7CiAKLSAgICBpZiAobGF5ZXJJc05ldyB8fCBsYXllci0+bGF5ZXJQcm9wZXJ0eUNo
YW5nZWQoKSkgeworICAgIGlmIChsYXllcklzTmV3IHx8IGxheWVyTmVlZHNUb1JlZHJhd09udG9J
dHNUYXJnZXRTdXJmYWNlKGxheWVyKSkgewogICAgICAgICAvLyBJZiBhIGxheWVyIGlzIG5ldyBv
ciBoYXMgY2hhbmdlZCwgdGhlbiBpdHMgZW50aXJlIGxheWVyIHJlY3QgYWZmZWN0cyB0aGUgdGFy
Z2V0IHN1cmZhY2UuCiAgICAgICAgIHRhcmdldERhbWFnZVJlY3QudW5pdGVJZk5vblplcm8obGF5
ZXJSZWN0SW5UYXJnZXRTcGFjZSk7CiAKQEAgLTMwMCw3ICszMTcsNyBAQCB2b2lkIENDRGFtYWdl
VHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yUmVuZGVyU3VyZmFjZShDQ0xheWVySW1wbCogbGF5ZXIs
IEZsb2F0UmVjdAogICAgIHNhdmVSZWN0Rm9yTmV4dEZyYW1lKGxheWVyLT5pZCgpLCBzdXJmYWNl
UmVjdEluVGFyZ2V0U3BhY2UpOwogCiAgICAgRmxvYXRSZWN0IGRhbWFnZVJlY3RJbkxvY2FsU3Bh
Y2U7Ci0gICAgaWYgKHN1cmZhY2VJc05ldyB8fCByZW5kZXJTdXJmYWNlLT5zdXJmYWNlUHJvcGVy
dHlDaGFuZ2VkKCkpIHsKKyAgICBpZiAoc3VyZmFjZUlzTmV3IHx8IHJlbmRlclN1cmZhY2UtPnN1
cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSB8fCBsYXllci0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFu
Z2VkKCkpIHsKICAgICAgICAgLy8gVGhlIGVudGlyZSBzdXJmYWNlIGNvbnRyaWJ1dGVzIGRhbWFn
ZS4KICAgICAgICAgZGFtYWdlUmVjdEluTG9jYWxTcGFjZSA9IHJlbmRlclN1cmZhY2UtPmNvbnRl
bnRSZWN0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcAppbmRleCBlNjFiZjkxZDA2YzVjYTI1
YzVjM2JhNmI0ZjNiZTQ2OWExYjljZDA5Li4wN2YwMjJkOWNjNWQ3MWI3NDI0ZGY3NGQyNDBmYTlm
ZTYzMDViNmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuY3BwCkBAIC01NSw2ICs1NSw3IEBAIEND
TGF5ZXJJbXBsOjpDQ0xheWVySW1wbChpbnQgaWQpCiAgICAgLCBtX2hhdmVXaGVlbEV2ZW50SGFu
ZGxlcnMoZmFsc2UpCiAgICAgLCBtX2RvdWJsZVNpZGVkKHRydWUpCiAgICAgLCBtX2xheWVyUHJv
cGVydHlDaGFuZ2VkKGZhbHNlKQorICAgICwgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQo
ZmFsc2UpCiAgICAgLCBtX21hc2tzVG9Cb3VuZHMoZmFsc2UpCiAgICAgLCBtX29wYXF1ZShmYWxz
ZSkKICAgICAsIG1fb3BhY2l0eSgxLjApCkBAIC0zMTAsNiArMzExLDI2IEBAIHZvaWQgQ0NMYXll
ckltcGw6OnNldFN0YWNraW5nT3JkZXJDaGFuZ2VkKGJvb2wgc3RhY2tpbmdPcmRlckNoYW5nZWQp
CiAgICAgICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZEZvclN1YnRyZWUoKTsKIH0KIAorYm9v
bCBDQ0xheWVySW1wbDo6bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkgY29uc3QKK3sKKyAg
ICBpZiAobV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQpCisgICAgICAgIHJldHVybiB0cnVl
OworCisgICAgLy8gSWYgdGhpcyBsYXllcidzIHN1cmZhY2UgcHJvcGVydHkgaGFzbid0IGNoYW5n
ZWQsIHdlIHdhbnQgdG8gc2VlIGlmCisgICAgLy8gc29tZSBsYXllciBhYm92ZSB1cyBoYXMgY2hh
bmdlZCB0aGlzIHByb3BlcnR5LiBUaGlzIGlzIGRvbmUgZm9yIHRoZQorICAgIC8vIGNhc2Ugd2hl
biBzdWNoIHBhcmVudCBsYXllciBkb2VzIG5vdCBkcmF3IGNvbnRlbnQsIGFuZCB0aGVyZWZvcmUg
d2lsbAorICAgIC8vIG5vdCBiZSB0cmF2ZXJzZWQgYnkgdGhlIGRhbWFnZSB0cmFja2VyLiBXZSBu
ZWVkIHRvIG1ha2Ugc3VyZSB0aGF0CisgICAgLy8gcHJvcGVydHkgY2hhbmdlIG9uIHN1Y2ggbGF5
ZXIgd2lsbCBiZSBjYXVnaHQgYnkgaXRzIGRlc2NlbmRhbnRzLgorICAgIENDTGF5ZXJJbXBsKiBj
dXJyZW50ID0gdGhpcy0+bV9wYXJlbnQ7CisgICAgd2hpbGUgKGN1cnJlbnQgJiYgIWN1cnJlbnQt
Pm1fcmVuZGVyU3VyZmFjZSkgeworICAgICAgICBpZiAoY3VycmVudC0+bV9sYXllclN1cmZhY2VQ
cm9wZXJ0eUNoYW5nZWQpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgY3VycmVu
dCA9IGN1cnJlbnQtPm1fcGFyZW50OworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKwog
dm9pZCBDQ0xheWVySW1wbDo6bm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yU3VidHJlZSgpCiB7
CiAgICAgbV9sYXllclByb3BlcnR5Q2hhbmdlZCA9IHRydWU7CkBAIC0zMjUsNiArMzQ2LDggQEAg
dm9pZCBDQ0xheWVySW1wbDo6bm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yRGVzY2VuZGFudHMo
KQogdm9pZCBDQ0xheWVySW1wbDo6cmVzZXRBbGxDaGFuZ2VUcmFja2luZ0ZvclN1YnRyZWUoKQog
ewogICAgIG1fbGF5ZXJQcm9wZXJ0eUNoYW5nZWQgPSBmYWxzZTsKKyAgICBtX2xheWVyU3VyZmFj
ZVByb3BlcnR5Q2hhbmdlZCA9IGZhbHNlOworCiAgICAgbV91cGRhdGVSZWN0ID0gRmxvYXRSZWN0
KCk7CiAKICAgICBpZiAobV9yZW5kZXJTdXJmYWNlKQpAQCAtNDY1LDcgKzQ4OCw3IEBAIHZvaWQg
Q0NMYXllckltcGw6OnNldE9wYWNpdHkoZmxvYXQgb3BhY2l0eSkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgbV9vcGFjaXR5ID0gb3BhY2l0eTsKLSAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRG
b3JTdWJ0cmVlKCk7CisgICAgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgPSB0cnVlOwog
fQogCiBib29sIENDTGF5ZXJJbXBsOjpvcGFjaXR5SXNBbmltYXRpbmcoKSBjb25zdApAQCAtNTA3
LDcgKzUzMCw3IEBAIHZvaWQgQ0NMYXllckltcGw6OnNldFRyYW5zZm9ybShjb25zdCBXZWJUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3Ry
YW5zZm9ybSA9IHRyYW5zZm9ybTsKLSAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JTdWJ0
cmVlKCk7CisgICAgbV9sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQgPSB0cnVlOwogfQogCiBi
b29sIENDTGF5ZXJJbXBsOjp0cmFuc2Zvcm1Jc0FuaW1hdGluZygpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1w
bC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
ckltcGwuaAppbmRleCA0OTI5MDYwNjY4ZDMwNTNiYTc4ZTU2M2I4NTllZTkyODY4ODYzNDc4Li4y
NGFiYTNhOTM0MTJmNjI5YTM2MjM1MTVlY2QxNDZlNzE5YTUzOGE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJ
bXBsLmgKQEAgLTI1Myw2ICsyNTMsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTdGFja2luZ09y
ZGVyQ2hhbmdlZChib29sKTsKIAogICAgIGJvb2wgbGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSBjb25z
dCB7IHJldHVybiBtX2xheWVyUHJvcGVydHlDaGFuZ2VkOyB9CisgICAgYm9vbCBsYXllclN1cmZh
Y2VQcm9wZXJ0eUNoYW5nZWQoKSBjb25zdDsKKwogICAgIHZvaWQgcmVzZXRBbGxDaGFuZ2VUcmFj
a2luZ0ZvclN1YnRyZWUoKTsKIAogICAgIENDTGF5ZXJBbmltYXRpb25Db250cm9sbGVyKiBsYXll
ckFuaW1hdGlvbkNvbnRyb2xsZXIoKSB7IHJldHVybiBtX2xheWVyQW5pbWF0aW9uQ29udHJvbGxl
ci5nZXQoKTsgfQpAQCAtMzE2LDYgKzMxOCwxMiBAQCBwcml2YXRlOgogICAgIC8vIFRyYWNrcyBp
ZiBkcmF3aW5nLXJlbGF0ZWQgcHJvcGVydGllcyBoYXZlIGNoYW5nZWQgc2luY2UgbGFzdCByZWRy
YXcuCiAgICAgYm9vbCBtX2xheWVyUHJvcGVydHlDaGFuZ2VkOwogCisgICAgLy8gSW5kaWNhdGVz
IHRoYXQgYSBwcm9wZXJ0eSBoYXMgY2hhbmdlZCBvbiB0aGlzIGxheWVyIHRoYXQgd291bGQgbm90
CisgICAgLy8gYWZmZWN0IHRoZSBwaXhlbHMgb24gaXRzIHRhcmdldCBzdXJmYWNlLCBidXQgd291
bGQgcmVxdWlyZSByZWRyYXdpbmcKKyAgICAvLyBidXQgd291bGQgcmVxdWlyZSByZWRyYXdpbmcg
dGhlIHRhcmdldFN1cmZhY2Ugb250byBpdHMgYW5jZXN0b3IgdGFyZ2V0U3VyZmFjZS4KKyAgICAv
LyBGb3IgbGF5ZXJzIHRoYXQgZG8gbm90IG93biBhIHN1cmZhY2UgdGhpcyBmbGFnIGFjdHMgYXMg
bV9sYXllclByb3BlcnR5Q2hhbmdlZC4KKyAgICBib29sIG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlD
aGFuZ2VkOworCiAgICAgLy8gVXNlcyBsYXllcidzIGNvbnRlbnQgc3BhY2UuCiAgICAgSW50UmVj
dCBtX3Zpc2libGVMYXllclJlY3Q7CiAgICAgYm9vbCBtX21hc2tzVG9Cb3VuZHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVy
VHJlZUhvc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCmluZGV4IDcyMjYxMTZhZWJjMmViMjk1ZDc0
NjkzZjQ4MGI2YzJjOWFiNjM0YTYuLmMxMGFmZGRkZWJlMjhkMjYyM2Y2Y2Q3MjdhOTUxYmI5MDg3
NjE5MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCkBAIC00Miw2
ICs0Miw3IEBACiAjaW5jbHVkZSAiY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmgiCiAjaW5jbHVk
ZSAiY2MvQ0NNYXRoVXRpbC5oIgogI2luY2x1ZGUgImNjL0NDUGFnZVNjYWxlQW5pbWF0aW9uLmgi
CisjaW5jbHVkZSAiY2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQuaCIKICNpbmNsdWRlICJjYy9DQ1Nl
dHRpbmdzLmgiCiAjaW5jbHVkZSAiY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oIgogI2luY2x1ZGUg
ImNjL0NDVGhyZWFkVGFzay5oIgpAQCAtMjY2LDI1ICsyNjcsMjUgQEAgdm9pZCBDQ0xheWVyVHJl
ZUhvc3RJbXBsOjpjYWxjdWxhdGVSZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KENDTGF5ZXJMaXN0JiBy
ZW5kZXJTdXIKICAgICB9CiB9CiAKLWJvb2wgQ0NMYXllclRyZWVIb3N0SW1wbDo6Y2FsY3VsYXRl
UmVuZGVyUGFzc2VzKENDUmVuZGVyUGFzc0xpc3QmIHBhc3NlcywgQ0NMYXllckxpc3QmIHJlbmRl
clN1cmZhY2VMYXllckxpc3QsIENDTGF5ZXJMaXN0JiB3aWxsRHJhd0xheWVycykKK2Jvb2wgQ0NM
YXllclRyZWVIb3N0SW1wbDo6Y2FsY3VsYXRlUmVuZGVyUGFzc2VzKEZyYW1lRGF0YSYgZnJhbWUp
CiB7Ci0gICAgQVNTRVJUKHBhc3Nlcy5pc0VtcHR5KCkpOworICAgIEFTU0VSVChmcmFtZS5yZW5k
ZXJQYXNzZXMuaXNFbXB0eSgpKTsKIAotICAgIGNhbGN1bGF0ZVJlbmRlclN1cmZhY2VMYXllckxp
c3QocmVuZGVyU3VyZmFjZUxheWVyTGlzdCk7CisgICAgY2FsY3VsYXRlUmVuZGVyU3VyZmFjZUxh
eWVyTGlzdCgqZnJhbWUucmVuZGVyU3VyZmFjZUxheWVyTGlzdCk7CiAKLSAgICBUUkFDRV9FVkVO
VDEoImNjIiwgIkNDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRlclBhc3NlcyIsICJy
ZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LnNpemUoKSIsIHN0YXRpY19jYXN0PGxvbmcgbG9uZyB1bnNp
Z25lZD4ocmVuZGVyU3VyZmFjZUxheWVyTGlzdC5zaXplKCkpKTsKKyAgICBUUkFDRV9FVkVOVDEo
ImNjIiwgIkNDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRlclBhc3NlcyIsICJyZW5k
ZXJTdXJmYWNlTGF5ZXJMaXN0LnNpemUoKSIsIHN0YXRpY19jYXN0PGxvbmcgbG9uZyB1bnNpZ25l
ZD4oZnJhbWUucmVuZGVyU3VyZmFjZUxheWVyTGlzdC0+c2l6ZSgpKSk7CiAKICAgICBtX3Jvb3RM
YXllckltcGwtPnNldFNjaXNzb3JSZWN0KGVuY2xvc2luZ0ludFJlY3QobV9yb290U2Npc3NvclJl
Y3QpKTsKIAogICAgIC8vIENyZWF0ZSB0aGUgcmVuZGVyIHBhc3NlcyBpbiBkZXBlbmRlbmN5IG9y
ZGVyLgogICAgIEhhc2hNYXA8Q0NSZW5kZXJTdXJmYWNlKiwgQ0NSZW5kZXJQYXNzKj4gc3VyZmFj
ZVBhc3NNYXA7Ci0gICAgZm9yIChpbnQgc3VyZmFjZUluZGV4ID0gcmVuZGVyU3VyZmFjZUxheWVy
TGlzdC5zaXplKCkgLSAxOyBzdXJmYWNlSW5kZXggPj0gMCA7IC0tc3VyZmFjZUluZGV4KSB7Ci0g
ICAgICAgIENDTGF5ZXJJbXBsKiByZW5kZXJTdXJmYWNlTGF5ZXIgPSByZW5kZXJTdXJmYWNlTGF5
ZXJMaXN0W3N1cmZhY2VJbmRleF07CisgICAgZm9yIChpbnQgc3VyZmFjZUluZGV4ID0gZnJhbWUu
cmVuZGVyU3VyZmFjZUxheWVyTGlzdC0+c2l6ZSgpIC0gMTsgc3VyZmFjZUluZGV4ID49IDAgOyAt
LXN1cmZhY2VJbmRleCkgeworICAgICAgICBDQ0xheWVySW1wbCogcmVuZGVyU3VyZmFjZUxheWVy
ID0gKCpmcmFtZS5yZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KVtzdXJmYWNlSW5kZXhdOwogICAgICAg
ICBDQ1JlbmRlclN1cmZhY2UqIHJlbmRlclN1cmZhY2UgPSByZW5kZXJTdXJmYWNlTGF5ZXItPnJl
bmRlclN1cmZhY2UoKTsKIAogICAgICAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiBwYXNzID0gQ0NS
ZW5kZXJQYXNzOjpjcmVhdGUocmVuZGVyU3VyZmFjZSk7CiAgICAgICAgIHN1cmZhY2VQYXNzTWFw
LmFkZChyZW5kZXJTdXJmYWNlLCBwYXNzLmdldCgpKTsKLSAgICAgICAgcGFzc2VzLmFwcGVuZChw
YXNzLnJlbGVhc2UoKSk7CisgICAgICAgIGZyYW1lLnJlbmRlclBhc3Nlcy5hcHBlbmQocGFzcy5y
ZWxlYXNlKCkpOwogICAgIH0KIAogICAgIGJvb2wgcmVjb3JkTWV0cmljc0ZvckZyYW1lID0gdHJ1
ZTsgLy8gRklYTUU6IEluIHRoZSBmdXR1cmUsIGRpc2FibGUgdGhpcyB3aGVuIGFib3V0OnRyYWNp
bmcgaXMgb2ZmLgpAQCAtMjk5LDggKzMwMCw4IEBAIGJvb2wgQ0NMYXllclRyZWVIb3N0SW1wbDo6
Y2FsY3VsYXRlUmVuZGVyUGFzc2VzKENDUmVuZGVyUGFzc0xpc3QmIHBhc3NlcywgQ0NMYXllCiAg
ICAgLy8gaW4gdGhlIGZ1dHVyZS4KICAgICBib29sIGRyYXdGcmFtZSA9IHRydWU7CiAKLSAgICBD
Q0xheWVySXRlcmF0b3JUeXBlIGVuZCA9IENDTGF5ZXJJdGVyYXRvclR5cGU6OmVuZCgmcmVuZGVy
U3VyZmFjZUxheWVyTGlzdCk7Ci0gICAgZm9yIChDQ0xheWVySXRlcmF0b3JUeXBlIGl0ID0gQ0NM
YXllckl0ZXJhdG9yVHlwZTo6YmVnaW4oJnJlbmRlclN1cmZhY2VMYXllckxpc3QpOyBpdCAhPSBl
bmQ7ICsraXQpIHsKKyAgICBDQ0xheWVySXRlcmF0b3JUeXBlIGVuZCA9IENDTGF5ZXJJdGVyYXRv
clR5cGU6OmVuZChmcmFtZS5yZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KTsKKyAgICBmb3IgKENDTGF5
ZXJJdGVyYXRvclR5cGUgaXQgPSBDQ0xheWVySXRlcmF0b3JUeXBlOjpiZWdpbihmcmFtZS5yZW5k
ZXJTdXJmYWNlTGF5ZXJMaXN0KTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIENDUmVuZGVy
U3VyZmFjZSogcmVuZGVyU3VyZmFjZSA9IGl0LnRhcmdldFJlbmRlclN1cmZhY2VMYXllcigpLT5y
ZW5kZXJTdXJmYWNlKCk7CiAgICAgICAgIENDUmVuZGVyUGFzcyogcGFzcyA9IHN1cmZhY2VQYXNz
TWFwLmdldChyZW5kZXJTdXJmYWNlKTsKICAgICAgICAgYm9vbCBoYWRNaXNzaW5nVGlsZXMgPSBm
YWxzZTsKQEAgLTMxMiw3ICszMTMsNyBAQCBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1
bGF0ZVJlbmRlclBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIENDTGF5ZQogICAgICAg
ICAgICAgcGFzcy0+YXBwZW5kUXVhZHNGb3JSZW5kZXJTdXJmYWNlTGF5ZXIoKml0LCBjb250cmli
dXRpbmdSZW5kZXJQYXNzLCAmb2NjbHVzaW9uVHJhY2tlcik7CiAgICAgICAgIH0gZWxzZSBpZiAo
aXQucmVwcmVzZW50c0l0c2VsZigpICYmICFvY2NsdXNpb25UcmFja2VyLm9jY2x1ZGVkKCppdCwg
aXQtPnZpc2libGVMYXllclJlY3QoKSkgJiYgIWl0LT52aXNpYmxlTGF5ZXJSZWN0KCkuaXNFbXB0
eSgpICYmICFpdC0+c2Npc3NvclJlY3QoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGl0LT53
aWxsRHJhdyhtX2xheWVyUmVuZGVyZXIuZ2V0KCksIGNvbnRleHQoKSk7Ci0gICAgICAgICAgICB3
aWxsRHJhd0xheWVycy5hcHBlbmQoKml0KTsKKyAgICAgICAgICAgIGZyYW1lLndpbGxEcmF3TGF5
ZXJzLmFwcGVuZCgqaXQpOwogCiAgICAgICAgICAgICBwYXNzLT5hcHBlbmRRdWFkc0ZvckxheWVy
KCppdCwgJm9jY2x1c2lvblRyYWNrZXIsIGhhZE1pc3NpbmdUaWxlcyk7CiAgICAgICAgIH0KQEAg
LTMyNywxMiArMzI4LDE1IEBAIGJvb2wgQ0NMYXllclRyZWVIb3N0SW1wbDo6Y2FsY3VsYXRlUmVu
ZGVyUGFzc2VzKENDUmVuZGVyUGFzc0xpc3QmIHBhc3NlcywgQ0NMYXllCiAgICAgfQogCiAgICAg
aWYgKCFtX2hhc1RyYW5zcGFyZW50QmFja2dyb3VuZCkgewotICAgICAgICBwYXNzZXMubGFzdCgp
LT5zZXRIYXNUcmFuc3BhcmVudEJhY2tncm91bmQoZmFsc2UpOwotICAgICAgICBwYXNzZXMubGFz
dCgpLT5hcHBlbmRRdWFkc1RvRmlsbFNjcmVlbihtX3Jvb3RMYXllckltcGwuZ2V0KCksIG1fYmFj
a2dyb3VuZENvbG9yLCBvY2NsdXNpb25UcmFja2VyKTsKKyAgICAgICAgZnJhbWUucmVuZGVyUGFz
c2VzLmxhc3QoKS0+c2V0SGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKGZhbHNlKTsKKyAgICAgICAg
ZnJhbWUucmVuZGVyUGFzc2VzLmxhc3QoKS0+YXBwZW5kUXVhZHNUb0ZpbGxTY3JlZW4obV9yb290
TGF5ZXJJbXBsLmdldCgpLCBtX2JhY2tncm91bmRDb2xvciwgb2NjbHVzaW9uVHJhY2tlcik7CiAg
ICAgfQogCiAgICAgaWYgKGRyYXdGcmFtZSkKICAgICAgICAgb2NjbHVzaW9uVHJhY2tlci5vdmVy
ZHJhd01ldHJpY3MoKS5yZWNvcmRNZXRyaWNzKHRoaXMpOworCisgICAgcmVtb3ZlUGFzc2VzV2l0
aENhY2hlZFRleHR1cmVzKGZyYW1lLnJlbmRlclBhc3NlcywgZnJhbWUuc2tpcHBlZFBhc3Nlcyk7
CisKICAgICByZXR1cm4gZHJhd0ZyYW1lOwogfQogCkBAIC0zODIsNiArMzg2LDcwIEBAIEludFNp
emUgQ0NMYXllclRyZWVIb3N0SW1wbDo6Y29udGVudFNpemUoKSBjb25zdAogICAgIHJldHVybiBt
X3Jvb3RTY3JvbGxMYXllckltcGwtPmNoaWxkcmVuKClbMF0tPmNvbnRlbnRCb3VuZHMoKTsKIH0K
IAordm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpyZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUo
Q0NSZW5kZXJQYXNzTGlzdCYgcGFzc2VzLCBzaXplX3QgYm90dG9tUGFzcywgY29uc3QgQ0NSZW5k
ZXJQYXNzKiBmaXJzdFRvUmVtb3ZlLCBDQ1JlbmRlclBhc3NMaXN0JiBza2lwcGVkUGFzc2VzKQor
eworICAgIHNpemVfdCByZW1vdmVJbmRleCA9IHBhc3Nlcy5maW5kKGZpcnN0VG9SZW1vdmUpOwor
CisgICAgLy8gVGhlIHBhc3Mgd2FzIGFscmVhZHkgcmVtb3ZlZCBieSBhbm90aGVyIHF1YWQgLSBw
cm9iYWJseSB0aGUgb3JpZ2luYWwsIGFuZCB3ZSBhcmUgdGhlIHJlcGxpY2EuCisgICAgaWYgKHJl
bW92ZUluZGV4ID09IG5vdEZvdW5kKQorICAgICAgICByZXR1cm47CisKKyAgICBPd25QdHI8Q0NS
ZW5kZXJQYXNzPiByZW1vdmVkUGFzcyA9IHBhc3Nlc1tyZW1vdmVJbmRleF0ucmVsZWFzZSgpOwor
ICAgIHBhc3Nlcy5yZW1vdmUocmVtb3ZlSW5kZXgpOworCisgICAgLy8gTm93IGZvbGxvdyB1cCBm
b3IgYWxsIFJlbmRlclBhc3MgcXVhZHMgYW5kIHJlbW92ZSB0aGVpciByZW5kZXIgcGFzc2VzIHJl
Y3Vyc2l2ZWx5LgorICAgIGNvbnN0IENDUXVhZExpc3QmIHF1YWRMaXN0ID0gcmVtb3ZlZFBhc3Mt
PnF1YWRMaXN0KCk7CisgICAgQ0NRdWFkTGlzdDo6Y29uc3RCYWNrVG9Gcm9udEl0ZXJhdG9yIHF1
YWRMaXN0SXRlcmF0b3IgPSBxdWFkTGlzdC5iYWNrVG9Gcm9udEJlZ2luKCk7CisgICAgZm9yICg7
IHF1YWRMaXN0SXRlcmF0b3IgIT0gcXVhZExpc3QuYmFja1RvRnJvbnRFbmQoKTsgKytxdWFkTGlz
dEl0ZXJhdG9yKSB7CisgICAgICAgIENDRHJhd1F1YWQqIGN1cnJlbnRRdWFkID0gKCpxdWFkTGlz
dEl0ZXJhdG9yKS5nZXQoKTsKKyAgICAgICAgaWYgKGN1cnJlbnRRdWFkLT5tYXRlcmlhbCgpICE9
IENDRHJhd1F1YWQ6OlJlbmRlclBhc3MpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAg
ICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcmVuZGVyUGFzc1F1YWQgPSBzdGF0aWNfY2FzdDxDQ1Jl
bmRlclBhc3NEcmF3UXVhZCo+KGN1cnJlbnRRdWFkKTsKKyAgICAgICAgY29uc3QgQ0NSZW5kZXJQ
YXNzKiBuZXh0UmVuZGVyUGFzcyA9IHJlbmRlclBhc3NRdWFkLT5yZW5kZXJQYXNzKCk7CisKKyAg
ICAgICAgLy8gT3VyIHNlYXJjaCBpcyBub3cgbGltaXRlZCB1cCB0byB0aGUgcGFzcyB0aGF0IHdl
IGp1c3QgcmVtb3ZlZC4KKyAgICAgICAgLy8gU3Vic3RpdHV0ZSByZW1vdmVJbmRleCBmb3IgYm90
dG9tUGFzcyBub3cuCisgICAgICAgIHJlbW92ZVJlbmRlclBhc3Nlc1JlY3Vyc2l2ZShwYXNzZXMs
IHJlbW92ZUluZGV4LCBuZXh0UmVuZGVyUGFzcywgc2tpcHBlZFBhc3Nlcyk7CisgICAgfQorICAg
IHNraXBwZWRQYXNzZXMuYXBwZW5kKHJlbW92ZWRQYXNzLnJlbGVhc2UoKSk7Cit9CisKK3ZvaWQg
Q0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3ZlUGFzc2VzV2l0aENhY2hlZFRleHR1cmVzKENDUmVu
ZGVyUGFzc0xpc3QmIHBhc3NlcywgQ0NSZW5kZXJQYXNzTGlzdCYgc2tpcHBlZFBhc3NlcykKK3sK
KyAgICBmb3IgKHNzaXplX3QgcGFzc0luZGV4ID0gcGFzc2VzLnNpemUoKSAtIDE7IHBhc3NJbmRl
eCA+PSAwOyAtLXBhc3NJbmRleCkgeworICAgICAgICBDQ1JlbmRlclBhc3MqIGN1cnJlbnRQYXNz
ID0gcGFzc2VzW3Bhc3NJbmRleF0uZ2V0KCk7CisgICAgICAgIGNvbnN0IENDUXVhZExpc3QmIHF1
YWRMaXN0ID0gY3VycmVudFBhc3MtPnF1YWRMaXN0KCk7CisgICAgICAgIENDUXVhZExpc3Q6OmNv
bnN0QmFja1RvRnJvbnRJdGVyYXRvciBxdWFkTGlzdEl0ZXJhdG9yID0gcXVhZExpc3QuYmFja1Rv
RnJvbnRCZWdpbigpOworCisgICAgICAgIGZvciAoOyBxdWFkTGlzdEl0ZXJhdG9yICE9IHF1YWRM
aXN0LmJhY2tUb0Zyb250RW5kKCk7ICsrcXVhZExpc3RJdGVyYXRvcikgeworICAgICAgICAgICAg
Q0NEcmF3UXVhZCogY3VycmVudFF1YWQgPSBxdWFkTGlzdEl0ZXJhdG9yLT5nZXQoKTsKKworICAg
ICAgICAgICAgaWYgKGN1cnJlbnRRdWFkLT5tYXRlcmlhbCgpICE9IENDRHJhd1F1YWQ6OlJlbmRl
clBhc3MpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIENDUmVuZGVy
UGFzc0RyYXdRdWFkKiByZW5kZXJQYXNzUXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0Ry
YXdRdWFkKj4oY3VycmVudFF1YWQpOworICAgICAgICAgICAgQ0NSZW5kZXJTdXJmYWNlKiB0YXJn
ZXRTdXJmYWNlID0gcmVuZGVyUGFzc1F1YWQtPnJlbmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgp
OworCisgICAgICAgICAgICBpZiAodGFyZ2V0U3VyZmFjZS0+Y29udGVudHNDaGFuZ2VkKCkgfHwg
IXRhcmdldFN1cmZhY2UtPmhhc0NhY2hlZENvbnRlbnRzVGV4dHVyZSgpKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAvLyBSZXNlcnZlIHRoZSB0ZXh0dXJlIGltbWVk
aWF0ZWx5LiBXZSBkbyBub3QgbmVlZCB0byBwYXNzIGluIGxheWVyIHJlbmRlcmVyCisgICAgICAg
ICAgICAvLyBzaW5jZSB0aGUgdGV4dHVyZSBhbHJlYWR5IGV4aXN0cywganVzdCBuZWVkcyB0byBi
ZSByZXNlcnZlZC4KKyAgICAgICAgICAgIGlmICghdGFyZ2V0U3VyZmFjZS0+cHJlcGFyZUNvbnRl
bnRzVGV4dHVyZSgwKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
Ly8gV2UgYXJlIGNoYW5naW5nIHRoZSB2ZWN0b3IgaW4gdGhlIG1pZGRsZSBvZiByZXZlcnNlIGl0
ZXJhdGlvbi4KKyAgICAgICAgICAgIC8vIFdlIGFyZSBndWFyYW50ZWVkIHRoYXQgYW55IGRhdGEg
ZnJvbSBpdGVyYXRvciB0byB0aGUgZW5kIHdpbGwgbm90IGNoYW5nZS4KKyAgICAgICAgICAgIC8v
IENhcHR1cmUgdGhlIGl0ZXJhdG9yIHBvc2l0aW9uIGZyb20gdGhlIGVuZCwgYW5kIHJlc3RvcmUg
aXQgYWZ0ZXIgdGhlIGNoYW5nZS4KKyAgICAgICAgICAgIGludCBwb3NpdGlvbkZyb21FbmQgPSBw
YXNzZXMuc2l6ZSgpIC0gcGFzc0luZGV4OworICAgICAgICAgICAgcmVtb3ZlUmVuZGVyUGFzc2Vz
UmVjdXJzaXZlKHBhc3NlcywgcGFzc0luZGV4LCByZW5kZXJQYXNzUXVhZC0+cmVuZGVyUGFzcygp
LCBza2lwcGVkUGFzc2VzKTsKKyAgICAgICAgICAgIHBhc3NJbmRleCA9IHBhc3Nlcy5zaXplKCkg
LSBwb3NpdGlvbkZyb21FbmQ7CisgICAgICAgICAgICBBU1NFUlQocGFzc0luZGV4ID49IDApOwor
ICAgICAgICB9CisgICAgfQorfQorCiBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OnByZXBhcmVU
b0RyYXcoRnJhbWVEYXRhJiBmcmFtZSkKIHsKICAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkNDTGF5
ZXJUcmVlSG9zdEltcGw6OnByZXBhcmVUb0RyYXciKTsKQEAgLTM5Miw3ICs0NjAsNyBAQCBib29s
IENDTGF5ZXJUcmVlSG9zdEltcGw6OnByZXBhcmVUb0RyYXcoRnJhbWVEYXRhJiBmcmFtZSkKICAg
ICBmcmFtZS5yZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LT5jbGVhcigpOwogICAgIGZyYW1lLndpbGxE
cmF3TGF5ZXJzLmNsZWFyKCk7CiAKLSAgICBpZiAoIWNhbGN1bGF0ZVJlbmRlclBhc3NlcyhmcmFt
ZS5yZW5kZXJQYXNzZXMsICpmcmFtZS5yZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBmcmFtZS53aWxs
RHJhd0xheWVycykpCisgICAgaWYgKCFjYWxjdWxhdGVSZW5kZXJQYXNzZXMoZnJhbWUpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAvLyBJZiB3ZSByZXR1cm4gdHJ1ZSwgdGhlbiB3ZSBl
eHBlY3QgZHJhd0xheWVycygpIHRvIGJlIGNhbGxlZCBiZWZvcmUgdGhpcyBmdW5jdGlvbiBpcyBj
YWxsZWQgYWdhaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKaW5kZXggNjMw
ZTc5OGIwOThiOWMyOTVlYTE5MTJkZThiNTM0YjIzYjRhYzlhYS4uYzk4OGUwMTFhZWM3OWYzYzM2
ZDBhMjFiOGZiZDMyN2M1NDg0NjNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdElt
cGwuaApAQCAtODYsNiArODYsNyBAQCBwdWJsaWM6CiAKICAgICBzdHJ1Y3QgRnJhbWVEYXRhIHsK
ICAgICAgICAgQ0NSZW5kZXJQYXNzTGlzdCByZW5kZXJQYXNzZXM7CisgICAgICAgIENDUmVuZGVy
UGFzc0xpc3Qgc2tpcHBlZFBhc3NlczsKICAgICAgICAgQ0NMYXllckxpc3QqIHJlbmRlclN1cmZh
Y2VMYXllckxpc3Q7CiAgICAgICAgIENDTGF5ZXJMaXN0IHdpbGxEcmF3TGF5ZXJzOwogICAgIH07
CkBAIC0xNzQsNiArMTc1LDkgQEAgcHVibGljOgogICAgIENDRnJhbWVSYXRlQ291bnRlciogZnBz
Q291bnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fZnBzQ291bnRlci5nZXQoKTsgfQogICAgIENDRGVi
dWdSZWN0SGlzdG9yeSogZGVidWdSZWN0SGlzdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVidWdS
ZWN0SGlzdG9yeS5nZXQoKTsgfQogCisgICAgLy8gUmVtb3ZlcyBhbGwgcmVuZGVyIHBhc3NlcyBm
b3Igd2hpY2ggd2UgaGF2ZSBjYWNoZWQgdGV4dHVyZXMsIGFuZCB3aGljaCBkaWQgbm90IGNoYW5n
ZSB0aGVpciBjb250ZW50LgorICAgIHN0YXRpYyB2b2lkIHJlbW92ZVBhc3Nlc1dpdGhDYWNoZWRU
ZXh0dXJlcyhDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIENDUmVuZGVyUGFzc0xpc3QmIHNraXBw
ZWRQYXNzZXMpOworCiBwcm90ZWN0ZWQ6CiAgICAgQ0NMYXllclRyZWVIb3N0SW1wbChjb25zdCBD
Q0xheWVyVHJlZVNldHRpbmdzJiwgQ0NMYXllclRyZWVIb3N0SW1wbENsaWVudCopOwogCkBAIC0y
MDUsMTAgKzIwOSwxMyBAQCBwcml2YXRlOgogICAgIC8vIFJldHVybnMgZmFsc2UgaWYgdGhlIGZy
YW1lIHNob3VsZCBub3QgYmUgZGlzcGxheWVkLiBUaGlzIGZ1bmN0aW9uIHNob3VsZAogICAgIC8v
IG9ubHkgYmUgY2FsbGVkIGZyb20gcHJlcGFyZVRvRHJhdywgYXMgZGlkRHJhd0FsbExheWVycyBt
dXN0IGJlIGNhbGxlZAogICAgIC8vIGlmIHRoaXMgaGVscGVyIGZ1bmN0aW9uIGlzIGNhbGxlZC4K
LSAgICBib29sIGNhbGN1bGF0ZVJlbmRlclBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0JiwgQ0NMYXll
ckxpc3QmIHJlbmRlclN1cmZhY2VMYXllckxpc3QsIENDTGF5ZXJMaXN0JiB3aWxsRHJhd0xheWVy
cyk7CisgICAgYm9vbCBjYWxjdWxhdGVSZW5kZXJQYXNzZXMoRnJhbWVEYXRhJik7CiAgICAgdm9p
ZCBhbmltYXRlTGF5ZXJzUmVjdXJzaXZlKENDTGF5ZXJJbXBsKiwgZG91YmxlIG1vbm90b25pY1Rp
bWUsIGRvdWJsZSB3YWxsQ2xvY2tUaW1lLCBDQ0FuaW1hdGlvbkV2ZW50c1ZlY3RvciosIGJvb2wm
IGRpZEFuaW1hdGUsIGJvb2wmIG5lZWRzQW5pbWF0ZUxheWVycyk7CiAgICAgdm9pZCBzZXRCYWNr
Z3JvdW5kVGlja2luZ0VuYWJsZWQoYm9vbCk7CiAgICAgSW50U2l6ZSBjb250ZW50U2l6ZSgpIGNv
bnN0OworCisgICAgc3RhdGljIHZvaWQgcmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKENDUmVu
ZGVyUGFzc0xpc3QmIHBhc3Nlcywgc2l6ZV90IGJvdHRvbVBhc3MsIGNvbnN0IENDUmVuZGVyUGFz
cyogZmlyc3RUb1JlbW92ZSwgQ0NSZW5kZXJQYXNzTGlzdCYgc2tpcHBlZFBhc3Nlcyk7CisKICAg
ICB2b2lkIHNlbmREaWRMb3NlQ29udGV4dFJlY3Vyc2l2ZShDQ0xheWVySW1wbCopOwogICAgIHZv
aWQgY2xlYXJSZW5kZXJTdXJmYWNlcygpOwogICAgIGJvb2wgZW5zdXJlUmVuZGVyU3VyZmFjZUxh
eWVyTGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaAppbmRleCBhNDUxMDA2Y2U4OGIxMmIwNzIz
NzBkZmEyMjM5ZjgzODNiYTcxZmM2Li4yYjhiYzdlNWJjY2VjNDg4ODk3NjNjYmI3YjQ5NDBjMzk4
Y2JmMjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1JlbmRlclBhc3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6
CiAgICAgYm9vbCBoYXNUcmFuc3BhcmVudEJhY2tncm91bmQoKSBjb25zdCB7IHJldHVybiBtX2hh
c1RyYW5zcGFyZW50QmFja2dyb3VuZDsgfQogICAgIHZvaWQgc2V0SGFzVHJhbnNwYXJlbnRCYWNr
Z3JvdW5kKGJvb2wgdHJhbnNwYXJlbnQpIHsgbV9oYXNUcmFuc3BhcmVudEJhY2tncm91bmQgPSB0
cmFuc3BhcmVudDsgfQogCi1wcml2YXRlOgorcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IENDUmVu
ZGVyUGFzcyhDQ1JlbmRlclN1cmZhY2UqKTsKIAogICAgIENDUmVuZGVyU3VyZmFjZSogbV90YXJn
ZXRTdXJmYWNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAKaW5kZXggZGRhYmQ1Mjhj
OGZkMWQwYmNkNTZiMjAzNzBkYzUzZGQwMzAyMmVjYy4uMzA2YTFjMDc1Y2I1NzhiNTRiNTQ5MjU3
NTA4MTZiMDRmY2UzYmM1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCkBAIC04
OCwxMCArODgsMTggQEAgRmxvYXRSZWN0IENDUmVuZGVyU3VyZmFjZTo6ZHJhd2FibGVDb250ZW50
UmVjdCgpIGNvbnN0CiAKIGJvb2wgQ0NSZW5kZXJTdXJmYWNlOjpwcmVwYXJlQ29udGVudHNUZXh0
dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJlcikKIHsKLSAgICBUZXh0dXJl
TWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBsYXllclJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFn
ZXIoKTsKKyAgICAvLyBGSVhNRTogVGhpcyBtZXRob2Qgc2hvdWxkIGJlIHNlcGFyYXRlZCBpbnRv
IHR3bzogb25lIHRvIHJlc2VydmUgYW4KKyAgICAvLyBleGlzdGluZyBzdXJmYWNlLCBhbmQgb25l
IHRvIGNyZWF0ZSBhIG5ldyBvbmUuIFRoYXQgd2F5IHdlIHdpbGwgbm90CisgICAgLy8gbmVlZCB0
byBwYXNzIG51bGwgbGF5ZXJSZW5kZXJlci4KKyAgICBpZiAobGF5ZXJSZW5kZXJlcikgeworICAg
ICAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBsYXllclJlbmRlcmVyLT5pbXBs
VGV4dHVyZU1hbmFnZXIoKTsKKworICAgICAgICBpZiAoIW1fY29udGVudHNUZXh0dXJlKQorICAg
ICAgICAgICAgbV9jb250ZW50c1RleHR1cmUgPSBNYW5hZ2VkVGV4dHVyZTo6Y3JlYXRlKHRleHR1
cmVNYW5hZ2VyKTsKKyAgICB9CiAKICAgICBpZiAoIW1fY29udGVudHNUZXh0dXJlKQotICAgICAg
ICBtX2NvbnRlbnRzVGV4dHVyZSA9IE1hbmFnZWRUZXh0dXJlOjpjcmVhdGUodGV4dHVyZU1hbmFn
ZXIpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAobV9jb250ZW50c1RleHR1cmUt
PmlzUmVzZXJ2ZWQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMTQsNiArMTIyLDExIEBA
IGJvb2wgQ0NSZW5kZXJTdXJmYWNlOjpoYXNWYWxpZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fY29udGVudHNUZXh0dXJlICYmIG1fY29udGVudHNUZXh0dXJlLT5pc1Jlc2Vy
dmVkKCkgJiYgbV9jb250ZW50c1RleHR1cmUtPmlzVmFsaWQobV9jb250ZW50UmVjdC5zaXplKCks
IEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBKTsKIH0KIAorYm9vbCBDQ1JlbmRlclN1cmZhY2U6Omhh
c0NhY2hlZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY29udGVudHNU
ZXh0dXJlICYmIG1fY29udGVudHNUZXh0dXJlLT5pc1ZhbGlkKG1fY29udGVudFJlY3Quc2l6ZSgp
LCBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSk7Cit9CisKIGJvb2wgQ0NSZW5kZXJTdXJmYWNlOjpw
cmVwYXJlQmFja2dyb3VuZFRleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBsYXllclJlbmRl
cmVyKQogewogICAgIFRleHR1cmVNYW5hZ2VyKiB0ZXh0dXJlTWFuYWdlciA9IGxheWVyUmVuZGVy
ZXItPmltcGxUZXh0dXJlTWFuYWdlcigpOwpAQCAtMjEwLDYgKzIyMywxMSBAQCB2b2lkIENDUmVu
ZGVyU3VyZmFjZTo6c2V0Q2xpcFJlY3QoY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpCiAgICAgbV9j
bGlwUmVjdCA9IGNsaXBSZWN0OwogfQogCitib29sIENDUmVuZGVyU3VyZmFjZTo6Y29udGVudHND
aGFuZ2VkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIW1fZGFtYWdlVHJhY2tlci0+Y3VycmVudERh
bWFnZVJlY3QoKS5pc0VtcHR5KCk7Cit9CisKIHZvaWQgQ0NSZW5kZXJTdXJmYWNlOjpzZXRDb250
ZW50UmVjdChjb25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCkKIHsKICAgICBpZiAobV9jb250ZW50
UmVjdCA9PSBjb250ZW50UmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKaW5kZXggNjI1
MjNiODIxMmI3ZTM2ZDY1ZDgyZGM2ZDFjNjliOTFjODc0YzY0OS4uODZjYTY5NmQwZWQ3NGZiNDAy
YTRmNzExNTg1M2RlYzllOTNkYWRhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKQEAg
LTUzLDkgKzUzLDEwIEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBDQ1JlbmRlclN1cmZhY2UoQ0NM
YXllckltcGwqKTsKICAgICB+Q0NSZW5kZXJTdXJmYWNlKCk7CiAKLSAgICBib29sIHByZXBhcmVD
b250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CisgICAgdmlydHVhbCBib29s
IHByZXBhcmVDb250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CiAgICAgdm9p
ZCByZWxlYXNlQ29udGVudHNUZXh0dXJlKCk7CiAgICAgYm9vbCBoYXNWYWxpZENvbnRlbnRzVGV4
dHVyZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBoYXNDYWNoZWRDb250ZW50c1RleHR1cmUo
KSBjb25zdDsKIAogICAgIGJvb2wgcHJlcGFyZUJhY2tncm91bmRUZXh0dXJlKExheWVyUmVuZGVy
ZXJDaHJvbWl1bSopOwogICAgIHZvaWQgcmVsZWFzZUJhY2tncm91bmRUZXh0dXJlKCk7CkBAIC0x
MTQsNiArMTE1LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2Npc3NvclJlY3QoY29uc3QgSW50
UmVjdCYgc2Npc3NvclJlY3QpIHsgbV9zY2lzc29yUmVjdCA9IHNjaXNzb3JSZWN0OyB9CiAgICAg
Y29uc3QgSW50UmVjdCYgc2Npc3NvclJlY3QoKSBjb25zdCB7IHJldHVybiBtX3NjaXNzb3JSZWN0
OyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgY29udGVudHNDaGFuZ2VkKCkgY29uc3Q7CisKICAgICB2
b2lkIHNldENvbnRlbnRSZWN0KGNvbnN0IEludFJlY3QmKTsKICAgICBjb25zdCBJbnRSZWN0JiBj
b250ZW50UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFJlY3Q7IH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAKaW5k
ZXggOGM5YjU0M2IyY2Y0ZWI5NjJiODg2MjdmZWY2MzQ3YzhkMDAwZjUzOC4uZjQ5ODA2OWYwZWVh
NzlmMzI4OWZkNjRiNDA1YWQ5NzZhOTFhODY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3BwCkBAIC05MzQsNyArOTM0LDgg
QEAgVEVTVF9GKENDRGFtYWdlVHJhY2tlclRlc3QsIHZlcmlmeURhbWFnZUZvck1hc2spCiAKICAg
ICAvLyBUaGVuIHRlc3QgdGhlIHByb3BlcnR5IGNoYW5nZS4KICAgICBjbGVhckRhbWFnZUZvckFs
bFN1cmZhY2VzKHJvb3QuZ2V0KCkpOwotICAgIG1hc2tMYXllci0+c2V0T3BhY2l0eSgwLjUpOwor
ICAgIG1hc2tMYXllci0+c2V0U3RhY2tpbmdPcmRlckNoYW5nZWQodHJ1ZSk7CisKICAgICBlbXVs
YXRlRHJhd2luZ09uZUZyYW1lKHJvb3QuZ2V0KCkpOwogICAgIGNoaWxkRGFtYWdlUmVjdCA9IGNo
aWxkLT5yZW5kZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+Y3VycmVudERhbWFnZVJlY3Qo
KTsKICAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShGbG9hdFJlY3QoMCwgMCwgMzAsIDMwKSwgY2hp
bGREYW1hZ2VSZWN0KTsKQEAgLTEwMDEsNyArMTAwMiw3IEBAIFRFU1RfRihDQ0RhbWFnZVRyYWNr
ZXJUZXN0LCB2ZXJpZnlEYW1hZ2VGb3JSZXBsaWNhTWFzaykKIAogICAgIC8vIENBU0UgMTogYSBw
cm9wZXJ0eSBjaGFuZ2Ugb24gdGhlIG1hc2sgc2hvdWxkIGRhbWFnZSBvbmx5IHRoZSByZWZsZWN0
ZWQgcmVnaW9uIG9uIHRoZSB0YXJnZXQgc3VyZmFjZS4KICAgICBjbGVhckRhbWFnZUZvckFsbFN1
cmZhY2VzKHJvb3QuZ2V0KCkpOwotICAgIHJlcGxpY2FNYXNrTGF5ZXItPnNldE9wYWNpdHkoMC42
Zik7CisgICAgcmVwbGljYU1hc2tMYXllci0+c2V0U3RhY2tpbmdPcmRlckNoYW5nZWQodHJ1ZSk7
CiAgICAgZW11bGF0ZURyYXdpbmdPbmVGcmFtZShyb290LmdldCgpKTsKIAogICAgIEZsb2F0UmVj
dCBncmFuZENoaWxkRGFtYWdlUmVjdCA9IGdyYW5kQ2hpbGQxLT5yZW5kZXJTdXJmYWNlKCktPmRh
bWFnZVRyYWNrZXIoKS0+Y3VycmVudERhbWFnZVJlY3QoKTsKQEAgLTEwNjUsNyArMTA2Niw4IEBA
IFRFU1RfRihDQ0RhbWFnZVRyYWNrZXJUZXN0LCB2ZXJpZnlEYW1hZ2VGb3JSZXBsaWNhTWFza1dp
dGhBbmNob3IpCiAKICAgICAvLyBBIHByb3BlcnR5IGNoYW5nZSBvbiB0aGUgcmVwbGljYU1hc2sg
c2hvdWxkIGRhbWFnZSB0aGUgcmVmbGVjdGVkIHJlZ2lvbiBvbiB0aGUgdGFyZ2V0IHN1cmZhY2Uu
CiAgICAgY2xlYXJEYW1hZ2VGb3JBbGxTdXJmYWNlcyhyb290LmdldCgpKTsKLSAgICByZXBsaWNh
TWFza0xheWVyLT5zZXRPcGFjaXR5KDAuNmYpOworICAgIHJlcGxpY2FNYXNrTGF5ZXItPnNldFN0
YWNraW5nT3JkZXJDaGFuZ2VkKHRydWUpOworCiAgICAgZW11bGF0ZURyYXdpbmdPbmVGcmFtZShy
b290LmdldCgpKTsKIAogICAgIEZsb2F0UmVjdCBjaGlsZERhbWFnZVJlY3QgPSBjaGlsZDEtPnJl
bmRlclN1cmZhY2UoKS0+ZGFtYWdlVHJhY2tlcigpLT5jdXJyZW50RGFtYWdlUmVjdCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVySW1wbFRlc3QuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVySW1wbFRlc3QuY3BwCmluZGV4
IDgyN2M5YWRhYWUwNzQ0NTZhOWQwYzAyYjg3MzgzNzQ3OWY2MzY1ZDMuLjAxZjk0M2E2NDBlNmFl
OWM1OWYxYjQ2ZGM4ZGQ4YjgxZDcxMjliN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHAKQEAgLTQyLDIxICs0MiwzMyBAQCBuYW1lc3Bh
Y2UgewogICAgIGNvZGVUb1Rlc3Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAogICAgIEVYUEVDVF9UUlVFKHJvb3QtPmxheWVyUHJvcGVy
dHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIEVYUEVDVF9UUlVF
KGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIEVYUEVDVF9UUlVFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpCisg
ICAgRVhQRUNUX1RSVUUoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAg
ICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyU3VyZmFjZVByb3Bl
cnR5Q2hhbmdlZCgpKQorCiAKICNkZWZpbmUgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfRElE
X05PVF9DSEFOR0UoY29kZVRvVGVzdCkgICAgICAgICAgIFwKICAgICByb290LT5yZXNldEFsbENo
YW5nZVRyYWNraW5nRm9yU3VidHJlZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg
ICBjb2RlVG9UZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJQcm9wZXJ0eUNoYW5n
ZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfRkFMU0UoY2hpbGQt
PmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBF
WFBFQ1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSkKKyAgICBFWFBF
Q1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFu
Z2VkKCkpCiAKICNkZWZpbmUgRVhFQ1VURV9BTkRfVkVSSUZZX09OTFlfTEFZRVJfQ0hBTkdFRChj
b2RlVG9UZXN0KSAgICAgICAgICAgICAgIFwKICAgICByb290LT5yZXNldEFsbENoYW5nZVRyYWNr
aW5nRm9yU3VidHJlZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjb2RlVG9U
ZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICBFWFBFQ1RfVFJVRShyb290LT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfRkFMU0UoY2hpbGQtPmxheWVyUHJv
cGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBFWFBFQ1RfRkFM
U0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSkKKyAgICBFWFBFQ1RfRkFMU0Uo
Z3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgIFwK
KyAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkpCisK
KyNkZWZpbmUgRVhFQ1VURV9BTkRfVkVSSUZZX09OTFlfU1VSRkFDRV9DSEFOR0VEKGNvZGVUb1Rl
c3QpICAgICAgICAgICAgIFwKKyAgICByb290LT5yZXNldEFsbENoYW5nZVRyYWNraW5nRm9yU3Vi
dHJlZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb2RlVG9UZXN0OyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0UoY2hpbGQtPmxheWVyUHJvcGVydHlDaGFu
Z2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfRkFMU0UoZ3JhbmRD
aGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgIFwKKyAgICBF
WFBFQ1RfVFJVRShyb290LT5sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSkKIAogVEVTVChD
Q0xheWVySW1wbFRlc3QsIHZlcmlmeUxheWVyQ2hhbmdlc0FyZVRyYWNrZWRQcm9wZXJseSkKIHsK
QEAgLTk4LDExICsxMTAsOSBAQCBURVNUKENDTGF5ZXJJbXBsVGVzdCwgdmVyaWZ5TGF5ZXJDaGFu
Z2VzQXJlVHJhY2tlZFByb3Blcmx5KQogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NI
QU5HRUQocm9vdC0+c2V0TWFza0xheWVyKENDTGF5ZXJJbXBsOjpjcmVhdGUoNCkpKTsKICAgICBF
WEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJvb3QtPnNldE1hc2tzVG9Cb3VuZHMo
dHJ1ZSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0
T3BhcXVlKHRydWUpKTsKLSAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKHJv
b3QtPnNldE9wYWNpdHkoYXJiaXRyYXJ5TnVtYmVyKSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZ
X1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRSZXBsaWNhTGF5ZXIoQ0NMYXllckltcGw6OmNyZWF0
ZSg1KSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0
UG9zaXRpb24oYXJiaXRyYXJ5RmxvYXRQb2ludCkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9T
VUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0UHJlc2VydmVzM0QodHJ1ZSkpOwotICAgIEVYRUNVVEVf
QU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0VHJhbnNmb3JtKGFyYml0cmFyeVRy
YW5zZm9ybSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+
c2V0RG91YmxlU2lkZWQoZmFsc2UpKTsgLy8gY29uc3RydWN0b3IgaW5pdGlhbGl6ZXMgaXQgdG8g
InRydWUiLgogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2Ny
b2xsQnkoYXJiaXRyYXJ5SW50U2l6ZSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVF
X0NIQU5HRUQocm9vdC0+c2V0U2Nyb2xsRGVsdGEoYXJiaXRyYXJ5SW50U2l6ZSkpOwpAQCAtMTE3
LDYgKzEyNywxMCBAQCBURVNUKENDTGF5ZXJJbXBsVGVzdCwgdmVyaWZ5TGF5ZXJDaGFuZ2VzQXJl
VHJhY2tlZFByb3Blcmx5KQogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX0xBWUVSX0NIQU5H
RUQocm9vdC0+c2V0QmFja2dyb3VuZENvbG9yKENvbG9yOjpncmF5KSk7CiAgICAgRVhFQ1VURV9B
TkRfVkVSSUZZX09OTFlfTEFZRVJfQ0hBTkdFRChyb290LT5zZXRCYWNrZ3JvdW5kRmlsdGVycyhh
cmJpdHJhcnlGaWx0ZXJzKSk7CiAKKyAgICAvLyBDaGFuZ2luZyB0aGVzZSBwcm9wZXJ0aWVzIG9u
bHkgYWZmZWN0cyBob3cgcmVuZGVyIHN1cmZhY2UgaXMgZHJhd24KKyAgICBFWEVDVVRFX0FORF9W
RVJJRllfT05MWV9TVVJGQUNFX0NIQU5HRUQocm9vdC0+c2V0T3BhY2l0eShhcmJpdHJhcnlOdW1i
ZXIpKTsKKyAgICBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9TVVJGQUNFX0NIQU5HRUQocm9vdC0+
c2V0VHJhbnNmb3JtKGFyYml0cmFyeVRyYW5zZm9ybSkpOworCiAgICAgLy8gU3BlY2lhbCBjYXNl
OiBjaGVjayB0aGF0IHN1YmxheWVyIHRyYW5zZm9ybSBjaGFuZ2VzIGFsbCBsYXllcidzIGRlc2Nl
bmRhbnRzLCBidXQgbm90IHRoZSBsYXllciBpdHNlbGYuCiAgICAgcm9vdC0+cmVzZXRBbGxDaGFu
Z2VUcmFja2luZ0ZvclN1YnRyZWUoKTsKICAgICByb290LT5zZXRTdWJsYXllclRyYW5zZm9ybShh
cmJpdHJhcnlUcmFuc2Zvcm0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAppbmRleCAzNTA5Mzc2YWY4Y2VlZWU4
YmUzNjBmODg2MmFjMmZhYzE1NWRhMzY1Li41Mzg2M2I2MTU5ZTAyM2VjNTQwOGEwZDQ2ODVhMTA4
YmYzNTViZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5
ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUg
ImNjL0NDTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NMYXllclRpbGluZ0RhdGEuaCIKICNp
bmNsdWRlICJjYy9DQ1F1YWRDdWxsZXIuaCIKKyNpbmNsdWRlICJjYy9DQ1JlbmRlclBhc3NEcmF3
UXVhZC5oIgogI2luY2x1ZGUgImNjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAi
Y2MvQ0NTZXR0aW5ncy5oIgogI2luY2x1ZGUgImNjL0NDU2luZ2xlVGhyZWFkUHJveHkuaCIKQEAg
LTI0MDQsNCArMjQwNSw1OTcgQEAgVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBoYXNU
cmFuc3BhcmVudEJhY2tncm91bmQpCiAgICAgTW9jazo6VmVyaWZ5QW5kQ2xlYXJFeHBlY3RhdGlv
bnMoJm1vY2tDb250ZXh0KTsKIH0KIAorVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBz
dXJmYWNlVGV4dHVyZUNhY2hpbmcpCit7CisgICAgQ0NTZXR0aW5nczo6c2V0UGFydGlhbFN3YXBF
bmFibGVkKHRydWUpOworICAgIAorICAgIENDTGF5ZXJUcmVlU2V0dGluZ3Mgc2V0dGluZ3M7Cisg
ICAgT3duUHRyPENDTGF5ZXJUcmVlSG9zdEltcGw+IG15SG9zdEltcGwgPSBDQ0xheWVyVHJlZUhv
c3RJbXBsOjpjcmVhdGUoc2V0dGluZ3MsIHRoaXMpOworICAgIAorICAgIFJlZlB0cjxDQ0dyYXBo
aWNzQ29udGV4dD4gY29udGV4dCA9IENDR3JhcGhpY3NDb250ZXh0OjpjcmVhdGUzRChHcmFwaGlj
c0NvbnRleHQzRFByaXZhdGU6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dEZyb21XZWJDb250ZXh0KGFk
b3B0UHRyKG5ldyBQYXJ0aWFsU3dhcENvbnRleHQoKSksIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5k
ZXJEaXJlY3RseVRvSG9zdFdpbmRvdykpOworCisgICAgbXlIb3N0SW1wbC0+aW5pdGlhbGl6ZUxh
eWVyUmVuZGVyZXIoY29udGV4dC5yZWxlYXNlKCksIFVudGhyb3R0bGVkVXBsb2FkZXIpOworICAg
IG15SG9zdEltcGwtPnNldFZpZXdwb3J0U2l6ZShJbnRTaXplKDEwMCwgMTAwKSk7CisKKyAgICBP
d25QdHI8Q0NMYXllckltcGw+IHJvb3QgPSBDQ0xheWVySW1wbDo6Y3JlYXRlKDEpOworICAgIEND
TGF5ZXJJbXBsKiByb290UHRyID0gcm9vdC5nZXQoKTsKKworICAgIHJvb3QtPnNldEFuY2hvclBv
aW50KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIHJvb3QtPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQo
MCwgMCkpOworICAgIHJvb3QtPnNldEJvdW5kcyhJbnRTaXplKDEwMCwgMTAwKSk7CisgICAgcm9v
dC0+c2V0Q29udGVudEJvdW5kcyhJbnRTaXplKDEwMCwgMTAwKSk7CisgICAgcm9vdC0+c2V0Vmlz
aWJsZUxheWVyUmVjdChJbnRSZWN0KDAsIDAsIDEwMCwgMTAwKSk7CisgICAgcm9vdC0+c2V0RHJh
d3NDb250ZW50KHRydWUpOworICAgIG15SG9zdEltcGwtPnNldFJvb3RMYXllcihyb290LnJlbGVh
c2UoKSk7CisKKyAgICAvLyBJbnRlcm1lZGlhdGUgbGF5ZXIgZG9lcyBub3Qgb3duIGEgc3VyZmFj
ZSwgYW5kIGRvZXMgbm90IGRyYXcgY29udGVudC4KKyAgICBPd25QdHI8Q0NMYXllckltcGw+IGlu
dGVybWVkaWF0ZUxheWVyID0gQ0NMYXllckltcGw6OmNyZWF0ZSgyKTsKKyAgICBDQ0xheWVySW1w
bCogaW50ZXJtZWRpYXRlTGF5ZXJQdHIgPSBpbnRlcm1lZGlhdGVMYXllci5nZXQoKTsKKworICAg
IGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50KDAsIDApKTsK
KyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCgxMCwgMTAp
KTsKKyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0Qm91bmRzKEludFNpemUoMTAwLCAxMDAp
KTsKKyAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0Q29udGVudEJvdW5kcyhJbnRTaXplKDEw
MCwgMTAwKSk7CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNldFZpc2libGVMYXllclJlY3Qo
SW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpOworICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRE
cmF3c0NvbnRlbnQoZmFsc2UpOyAvLyBvbmx5IGNoaWxkcmVuIGRyYXcgY29udGVudAorICAgIHJv
b3RQdHItPmFkZENoaWxkKGludGVybWVkaWF0ZUxheWVyLnJlbGVhc2UoKSk7CisKKyAgICBPd25Q
dHI8Q0NMYXllckltcGw+IHN1cmZhY2VMYXllciA9IENDTGF5ZXJJbXBsOjpjcmVhdGUoMyk7Cisg
ICAgQ0NMYXllckltcGwqIHN1cmZhY2VMYXllclB0ciA9IHN1cmZhY2VMYXllci5nZXQoKTsKKwor
ICAgIC8vIFN1cmZhY2UgbGF5ZXIgaXMgdGhlIGxheWVyIHRoYXQgY2hhbmdlcyBpdHMgb3BhY2l0
eQorICAgIC8vIEl0IHdpbGwgY29udGFpbiBvdGhlciBsYXllcnMgdGhhdCBkcmF3IGNvbnRlbnQu
CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50KDAsIDApKTsK
KyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoMTAsIDEwKSk7Cisg
ICAgc3VyZmFjZUxheWVyUHRyLT5zZXRCb3VuZHMoSW50U2l6ZSg1MCwgNTApKTsKKyAgICBzdXJm
YWNlTGF5ZXJQdHItPnNldENvbnRlbnRCb3VuZHMoSW50U2l6ZSg1MCwgNTApKTsKKyAgICBzdXJm
YWNlTGF5ZXJQdHItPnNldFZpc2libGVMYXllclJlY3QoSW50UmVjdCgwLCAwLCA1MCwgNTApKTsK
KyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldERyYXdzQ29udGVudChmYWxzZSk7IC8vIG9ubHkgY2hp
bGRyZW4gZHJhdyBjb250ZW50CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRPcGFjaXR5KDAuNWYp
OyAvLyBUaGlzIHdpbGwgY2F1c2UgaXQgdG8gaGF2ZSBhIHN1cmZhY2UKKyAgICBpbnRlcm1lZGlh
dGVMYXllclB0ci0+YWRkQ2hpbGQoc3VyZmFjZUxheWVyLnJlbGVhc2UoKSk7CisKKyAgICAvLyBD
aGlsZCBvZiB0aGUgc3VyZmFjZSBsYXllciB3aWxsIHByb2R1Y2Ugc29tZSBxdWFkcworICAgIE93
blB0cjxGYWtlTGF5ZXJXaXRoUXVhZHM+IGNoaWxkID0gRmFrZUxheWVyV2l0aFF1YWRzOjpjcmVh
dGUoNCk7CisgICAgRmFrZUxheWVyV2l0aFF1YWRzKiBjaGlsZFB0ciA9IGNoaWxkLmdldCgpOwor
CisgICAgY2hpbGRQdHItPnNldEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIGNo
aWxkUHRyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KDUsIDUpKTsKKyAgICBjaGlsZFB0ci0+c2V0
Qm91bmRzKEludFNpemUoMTAsIDEwKSk7CisgICAgY2hpbGRQdHItPnNldENvbnRlbnRCb3VuZHMo
SW50U2l6ZSgxMCwgMTApKTsKKyAgICBjaGlsZFB0ci0+c2V0VmlzaWJsZUxheWVyUmVjdChJbnRS
ZWN0KDAsIDAsIDEwLCAxMCkpOworICAgIGNoaWxkUHRyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7
CisKKyAgICBzdXJmYWNlTGF5ZXJQdHItPmFkZENoaWxkKGNoaWxkLnJlbGVhc2UoKSk7CisKKyAg
ICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAg
ICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAg
ICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gcmVuZGVyIHBhc3NlcywgZWFjaCB3aXRoIG9uZSBxdWFk
CisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisgICAg
ICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNpemUo
KSk7CisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlz
dCgpLnNpemUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRlclBhc3Ms
IGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisgICAg
ICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQYXNz
RHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClbMF0uZ2V0KCkpOwor
ICAgICAgICBFWFBFQ1RfVFJVRShxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZhY2UoKS0+
Y29udGVudHNDaGFuZ2VkKCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJh
bWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKKyAgICB9
CisKKyAgICAvLyBEcmF3IHdpdGhvdXQgYW55IGNoYW5nZQorICAgIHsKKyAgICAgICAgQ0NMYXll
clRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhv
c3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZl
IHR3byBFTVBUWSByZW5kZXIgcGFzc2VzCisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVu
ZGVyUGFzc2VzLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgwVSwgZnJhbWUucmVuZGVyUGFz
c2VzWzBdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgwVSwgZnJhbWUu
cmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisKKyAgICAgICAgbXlIb3N0SW1w
bC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXll
cnMoZnJhbWUpOworICAgIH0KKworICAgIC8vIENoYW5nZSBvcGFjaXR5IGFuZCBkcmF3CisgICAg
c3VyZmFjZUxheWVyUHRyLT5zZXRPcGFjaXR5KDAuNmYpOworICAgIHsKKyAgICAgICAgQ0NMYXll
clRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhv
c3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZl
IG9uZSByZW5kZXIgcGFzcywgYXMgdGhlIG90aGVyIG9uZSBzaG91bGQgYmUgY3VsbGVkCisgICAg
ICAgIEFTU0VSVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisKKyAgICAgICAg
RVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsK
KyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRlclBhc3MsIGZyYW1lLnJlbmRlclBh
c3Nlc1swXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisgICAgICAgIENDUmVuZGVyUGFz
c0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQYXNzRHJhd1F1YWQqPihmcmFt
ZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0uZ2V0KCkpOworICAgICAgICBFWFBFQ1Rf
RkFMU0UocXVhZC0+cmVuZGVyUGFzcygpLT50YXJnZXRTdXJmYWNlKCktPmNvbnRlbnRzQ2hhbmdl
ZCgpKTsKKworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAg
bXlIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisgICAgfQorCisgICAgLy8gQ2hh
bmdlIGxlc3MgYmVuaWduIHByb3BlcnR5IGFuZCBkcmF3IC0gc2hvdWxkIGhhdmUgY29udGVudHMg
Y2hhbmdlZCBmbGFnCisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRTdGFja2luZ09yZGVyQ2hhbmdl
ZCh0cnVlKTsKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBm
cmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFt
ZSkpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gcmVuZGVyIHBhc3NlcywgZWFjaCB3
aXRoIG9uZSBxdWFkCisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNp
emUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1
YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlNvbGlkQ29s
b3IsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisK
KyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRlclBhc3MsIGZyYW1lLnJlbmRlclBh
c3Nlc1sxXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisgICAgICAgIENDUmVuZGVyUGFz
c0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQYXNzRHJhd1F1YWQqPihmcmFt
ZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClbMF0uZ2V0KCkpOworICAgICAgICBFWFBFQ1Rf
VFJVRShxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZhY2UoKS0+Y29udGVudHNDaGFuZ2Vk
KCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBt
eUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKKyAgICB9CisKKyAgICAvLyBDaGFu
Z2Ugb3BhY2l0eSBhZ2FpbiwgYnV0IGV2aWN0IHRoZSBjYWNoZWQgc3VyZmFjZSB0ZXh0dXJlCisg
ICAgc3VyZmFjZUxheWVyUHRyLT5zZXRPcGFjaXR5KDAuNWYpOworICAgIE1hbmFnZWRUZXh0dXJl
KiBjb250ZW50c1RleHR1cmUgPSBzdXJmYWNlTGF5ZXJQdHItPnJlbmRlclN1cmZhY2UoKS0+Y29u
dGVudHNUZXh0dXJlKCk7CisgICAgQVNTRVJUX1RSVUUoY29udGVudHNUZXh0dXJlLT5pc1ZhbGlk
KGNvbnRlbnRzVGV4dHVyZS0+c2l6ZSgpLCBjb250ZW50c1RleHR1cmUtPmZvcm1hdCgpKSk7Cisg
ICAgQ0NSZW5kZXJlciogcmVuZGVyZXIgPSBteUhvc3RJbXBsLT5sYXllclJlbmRlcmVyKCk7Cisg
ICAgVGV4dHVyZU1hbmFnZXIqIHRleHR1cmVNYW5hZ2VyID0gcmVuZGVyZXItPmltcGxUZXh0dXJl
TWFuYWdlcigpOworICAgIHNpemVfdCBtYXhNZW1vcnlMaW1pdCA9IHRleHR1cmVNYW5hZ2VyLT5t
YXhNZW1vcnlMaW1pdEJ5dGVzKCk7CisKKyAgICAvLyBUaGlzIHNob3VsZCBldmljZSBhbGwgY2Fj
aGVkIHN1cmZhY2VzCisgICAgdGV4dHVyZU1hbmFnZXItPnNldE1heE1lbW9yeUxpbWl0Qnl0ZXMo
MCk7CisKKyAgICAvLyBSZXN0b3JlIG9yaWdpbmFsIGxpbWl0CisgICAgdGV4dHVyZU1hbmFnZXIt
PnNldE1heE1lbW9yeUxpbWl0Qnl0ZXMobWF4TWVtb3J5TGltaXQpOworCisgICAgLy8gV2FzIG91
ciBzdXJmYWNlIGV2aWN0ZWQ/CisgICAgQVNTRVJUX0ZBTFNFKGNvbnRlbnRzVGV4dHVyZS0+aXNW
YWxpZChjb250ZW50c1RleHR1cmUtPnNpemUoKSwgY29udGVudHNUZXh0dXJlLT5mb3JtYXQoKSkp
OworCisgICAgLy8gQ2hhbmdlIG9wYWNpdHkgYW5kIGRyYXcKKyAgICBzdXJmYWNlTGF5ZXJQdHIt
PnNldE9wYWNpdHkoMC42Zik7CisgICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpG
cmFtZURhdGEgZnJhbWU7CisgICAgICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVU
b0RyYXcoZnJhbWUpKTsKKworICAgICAgICAvLyBNdXN0IHJlY2VpdmUgdHdvIHJlbmRlciBwYXNz
ZXMKKyAgICAgICAgQVNTRVJUX0VRKDJVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKwor
ICAgICAgICAvLyBFdmVuIHRob3VnaCBub3QgZW5vdWdoIHByb3BlcnRpZXMgY2hhbmdlZCwgdGhl
IGVudGlyZSB0aGluZyBtdXN0IGJlCisgICAgICAgIC8vIHJlZHJhd24gYXMgd2UgZG9uJ3QgaGF2
ZSBjYWNoZWQgdGV4dHVyZXMKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNz
ZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5y
ZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVEo
Q0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgp
WzBdLT5tYXRlcmlhbCgpKTsKKyAgICAgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQgPSBz
dGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+
cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShxdWFkLT5yZW5kZXJQ
YXNzKCktPnRhcmdldFN1cmZhY2UoKS0+Y29udGVudHNDaGFuZ2VkKCkpOworCisgICAgICAgIG15
SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3
QWxsTGF5ZXJzKGZyYW1lKTsKKyAgICB9CisKKyAgICAvLyBEcmF3IHdpdGhvdXQgYW55IGNoYW5n
ZSwgdG8gbWFrZSBzdXJlIHRoZSBzdGF0ZSBpcyBjbGVhcgorICAgIHsKKyAgICAgICAgQ0NMYXll
clRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhv
c3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZl
IHR3byBFTVBUWSByZW5kZXIgcGFzc2VzCisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVu
ZGVyUGFzc2VzLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgwVSwgZnJhbWUucmVuZGVyUGFz
c2VzWzBdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgwVSwgZnJhbWUu
cmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisKKyAgICAgICAgbXlIb3N0SW1w
bC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXll
cnMoZnJhbWUpOworICAgIH0KKworICAgIC8vIENoYW5nZSBvcGFjaXR5IG9uIHRoZSBpbnRlcm1l
ZGlhdGUgbGF5ZXIKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm0gPSBpbnRl
cm1lZGlhdGVMYXllclB0ci0+dHJhbnNmb3JtKCk7CisgICAgdHJhbnNmb3JtLnNldE0xMSgxLjAw
MDEpOworICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRUcmFuc2Zvcm0odHJhbnNmb3JtKTsK
KyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAg
ICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisg
ICAgICAgIC8vIE11c3QgcmVjZWl2ZSBvbmUgcmVuZGVyIHBhc3MsIGFzIHRoZSBvdGhlciBvbmUg
c2hvdWxkIGJlIGN1bGxlZC4KKyAgICAgICAgQVNTRVJUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNz
ZXMuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0t
PnF1YWRMaXN0KCkuc2l6ZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6UmVu
ZGVyUGFzcywgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgp
KTsKKyAgICAgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQgPSBzdGF0aWNfY2FzdDxDQ1Jl
bmRlclBhc3NEcmF3UXVhZCo+KGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKVswXS5n
ZXQoKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1
cmZhY2UoKS0+Y29udGVudHNDaGFuZ2VkKCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdM
YXllcnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1l
KTsKKyAgICB9Cit9CisKK3N0cnVjdCBSZW5kZXJQYXNzQ2FjaGVFbnRyeSB7CisgICAgbXV0YWJs
ZSBPd25QdHI8Q0NSZW5kZXJQYXNzPiByZW5kZXJQYXNzUHRyOworICAgIENDUmVuZGVyUGFzcyog
cmVuZGVyUGFzczsKKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5KFBhc3NPd25QdHI8Q0NSZW5k
ZXJQYXNzPiByKQorICAgICAgICA6IHJlbmRlclBhc3NQdHIociksCisgICAgICAgICAgcmVuZGVy
UGFzcyhyZW5kZXJQYXNzUHRyLmdldCgpKQorICAgIHsKKyAgICB9CisKKyAgICBSZW5kZXJQYXNz
Q2FjaGVFbnRyeSgpCisgICAgeworICAgIH0KKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5KGNv
bnN0IFJlbmRlclBhc3NDYWNoZUVudHJ5JiBlbnRyeSkKKyAgICAgICAgOiByZW5kZXJQYXNzUHRy
KGVudHJ5LnJlbmRlclBhc3NQdHIucmVsZWFzZSgpKSwKKyAgICAgICAgICByZW5kZXJQYXNzKGVu
dHJ5LnJlbmRlclBhc3MpCisgICAgeworICAgIH0KKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5
JiBvcGVyYXRvcj0oY29uc3QgUmVuZGVyUGFzc0NhY2hlRW50cnkmIGVudHJ5KQorICAgIHsKKyAg
ICAgICAgcmVuZGVyUGFzc1B0ciA9IGVudHJ5LnJlbmRlclBhc3NQdHIucmVsZWFzZSgpOworICAg
ICAgICByZW5kZXJQYXNzID0gZW50cnkucmVuZGVyUGFzczsKKyAgICAgICAgcmV0dXJuICp0aGlz
OworICAgIH0KK307CisKK3N0cnVjdCBSZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhIHsKKyAgICBD
Q1JlbmRlclBhc3NMaXN0IHJlbmRlclBhc3NMaXN0OworICAgIHN0ZDo6bWFwPGNoYXIsIFJlbmRl
clBhc3NDYWNoZUVudHJ5PiByZW5kZXJQYXNzQ2FjaGU7CisgICAgc3RkOjptYXA8Y29uc3QgQ0NS
ZW5kZXJQYXNzKiwgY2hhcj4gcmVuZGVyUGFzc0lkOworICAgIFZlY3RvcjxPd25QdHI8Q0NSZW5k
ZXJTdXJmYWNlPiA+IHJlbmRlclN1cmZhY2VTdG9yZTsKKyAgICBWZWN0b3I8T3duUHRyPENDTGF5
ZXJJbXBsPiA+IGxheWVyU3RvcmU7CisgICAgT3duUHRyPENDU2hhcmVkUXVhZFN0YXRlPiBzaGFy
ZWRRdWFkU3RhdGU7Cit9OworCitjbGFzcyBGYWtlUmVuZGVyU3VyZmFjZSA6IHB1YmxpYyBDQ1Jl
bmRlclN1cmZhY2UgeworcHJpdmF0ZToKKyAgICBib29sIG1faGFzQ2FjaGVkVGV4dHVyZTsKKyAg
ICBib29sIG1fY29udGVudHNDaGFuZ2VkOworCitwdWJsaWM6CisgICAgRmFrZVJlbmRlclN1cmZh
Y2UoQ0NMYXllckltcGwqIGxheWVySW1wbCkKKyAgICAgICAgOiBDQ1JlbmRlclN1cmZhY2UobGF5
ZXJJbXBsKSwKKyAgICAgICAgICBtX2hhc0NhY2hlZFRleHR1cmUoZmFsc2UpCisgICAgeworICAg
IH0KKworICAgIHZpcnR1YWwgYm9vbCBoYXNDYWNoZWRDb250ZW50c1RleHR1cmUoKSBjb25zdCBP
VkVSUklERQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1faGFzQ2FjaGVkVGV4dHVyZTsKKyAgICB9
CisKKyAgICB2aXJ0dWFsIGJvb2wgcHJlcGFyZUNvbnRlbnRzVGV4dHVyZShMYXllclJlbmRlcmVy
Q2hyb21pdW0qIGxyYykgT1ZFUlJJREUKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKworICAgIHZpcnR1YWwgYm9vbCBjb250ZW50c0NoYW5nZWQoKSBjb25zdCBPVkVSUklERQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIG1fY29udGVudHNDaGFuZ2VkOworICAgIH0KKworICAgIHZv
aWQgc2V0SGFzQ2FjaGVkVGV4dHVyZShib29sIGhhc0NhY2hlZFRleHR1cmUpCisgICAgeworICAg
ICAgICBtX2hhc0NhY2hlZFRleHR1cmUgPSBoYXNDYWNoZWRUZXh0dXJlOworICAgIH0KKworICAg
IHZvaWQgc2V0Q29udGVudHNDaGFuZ2VkKGJvb2wgY29udGVudHNDaGFuZ2VkKQorICAgIHsKKyAg
ICAgICAgbV9jb250ZW50c0NoYW5nZWQgPSBjb250ZW50c0NoYW5nZWQ7CisgICAgfQorfTsKKwor
Y2xhc3MgQ0NUZXN0UmVuZGVyUGFzczogcHVibGljIENDUmVuZGVyUGFzcyB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzPiBjcmVhdGUoQ0NSZW5kZXJTdXJmYWNl
KiB0YXJnZXRTdXJmYWNlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ1Rl
c3RSZW5kZXJQYXNzKHRhcmdldFN1cmZhY2UpKTsKKyAgICB9CisKK3Byb3RlY3RlZDoKKyAgICBD
Q1Rlc3RSZW5kZXJQYXNzKENDUmVuZGVyU3VyZmFjZSogc3VyZmFjZSkKKyAgICAgICAgOiBDQ1Jl
bmRlclBhc3Moc3VyZmFjZSkKKyAgICB7CisgICAgfQorCitwdWJsaWM6CisgICAgdm9pZCBhcHBl
bmRRdWFkKFBhc3NPd25QdHI8Q0NEcmF3UXVhZD4gcXVhZCkKKyAgICB7CisgICAgICAgIG1fcXVh
ZExpc3QuYXBwZW5kKHF1YWQpOworICAgIH0KK307CisKK3N0YXRpYyBQYXNzT3duUHRyPENDUmVu
ZGVyUGFzcz4gY3JlYXRlRHVtbXlSZW5kZXJQYXNzKFJlbmRlclBhc3NSZW1vdmFsVGVzdERhdGEm
IHRlc3REYXRhKQoreworICAgIE93blB0cjxDQ0xheWVySW1wbD4gbGF5ZXJJbXBsID0gQ0NMYXll
ckltcGw6OmNyZWF0ZSgxKTsKKyAgICBDQ1JlbmRlclN1cmZhY2UqIHJlbmRlclN1cmZhY2UgPSBu
ZXcgRmFrZVJlbmRlclN1cmZhY2UobGF5ZXJJbXBsLmdldCgpKTsKKyAgICBPd25QdHI8Q0NSZW5k
ZXJQYXNzPiByZW5kZXJQYXNzUHRyID0gQ0NUZXN0UmVuZGVyUGFzczo6Y3JlYXRlKHJlbmRlclN1
cmZhY2UpOworCisgICAgdGVzdERhdGEucmVuZGVyU3VyZmFjZVN0b3JlLmFwcGVuZChhZG9wdFB0
cihyZW5kZXJTdXJmYWNlKSk7CisgICAgdGVzdERhdGEubGF5ZXJTdG9yZS5hcHBlbmQobGF5ZXJJ
bXBsLnJlbGVhc2UoKSk7CisgICAgcmV0dXJuIHJlbmRlclBhc3NQdHIucmVsZWFzZSgpOworfQor
CitzdGF0aWMgdm9pZCBjb25maWd1cmVSZW5kZXJQYXNzVGVzdERhdGEoY29uc3QgY2hhciogdGVz
dFNjcmlwdCwgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSYgdGVzdERhdGEpCit7CisgICAgLy8g
T25lIHNoYXJlZCBzdGF0ZSBmb3IgYWxsIHF1YWRzIC0gd2UgZG9uJ3QgbmVlZCB0aGUgY29ycmVj
dCBkZXRhaWxzCisgICAgdGVzdERhdGEuc2hhcmVkUXVhZFN0YXRlID0gQ0NTaGFyZWRRdWFkU3Rh
dGU6OmNyZWF0ZShXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBXZWJUcmFuc2Zvcm1hdGlvbk1h
dHJpeCgpLCBJbnRSZWN0KCksIEludFJlY3QoKSwgMS4wLCB0cnVlKTsKKworICAgIGNvbnN0IGNo
YXIqIGN1cnJlbnRDaGFyID0gdGVzdFNjcmlwdDsKKworICAgIC8vIFByZS1jcmVhdGUgcm9vdCBw
YXNzCisgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcm9vdFJlbmRlclBhc3MgPSBjcmVhdGVEdW1t
eVJlbmRlclBhc3ModGVzdERhdGEpOworICAgIHRlc3REYXRhLnJlbmRlclBhc3NJZC5pbnNlcnQo
c3RkOjpwYWlyPENDUmVuZGVyUGFzcyosIGNoYXI+KHJvb3RSZW5kZXJQYXNzLmdldCgpLCB0ZXN0
U2NyaXB0WzBdKSk7CisgICAgdGVzdERhdGEucmVuZGVyUGFzc0NhY2hlLmluc2VydChzdGQ6OnBh
aXI8Y2hhciwgUmVuZGVyUGFzc0NhY2hlRW50cnk+KHRlc3RTY3JpcHRbMF0sIFJlbmRlclBhc3ND
YWNoZUVudHJ5KHJvb3RSZW5kZXJQYXNzLnJlbGVhc2UoKSkpKTsKKyAgICB3aGlsZSAoKmN1cnJl
bnRDaGFyICE9ICdcMCcpIHsKKyAgICAgICAgY2hhciByZW5kZXJQYXNzSWQgPSBjdXJyZW50Q2hh
clswXTsKKyAgICAgICAgY3VycmVudENoYXIrKzsKKworICAgICAgICBPd25QdHI8Q0NSZW5kZXJQ
YXNzPiByZW5kZXJQYXNzOworCisgICAgICAgIGJvb2wgaXNSZXBsaWNhID0gZmFsc2U7CisgICAg
ICAgIGlmICghdGVzdERhdGEucmVuZGVyUGFzc0NhY2hlW3JlbmRlclBhc3NJZF0ucmVuZGVyUGFz
c1B0ci5nZXQoKSkKKyAgICAgICAgICAgIGlzUmVwbGljYSA9IHRydWU7CisKKyAgICAgICAgcmVu
ZGVyUGFzcyA9IHRlc3REYXRhLnJlbmRlclBhc3NDYWNoZVtyZW5kZXJQYXNzSWRdLnJlbmRlclBh
c3NQdHIucmVsZWFzZSgpOworCisgICAgICAgIC8vIEN5Y2xlIHRocm91Z2ggcXVhZCBkYXRhIGFu
ZCBjcmVhdGUgYWxsIHF1YWRzCisgICAgICAgIHdoaWxlICgqY3VycmVudENoYXIgIT0gJ1xuJyAm
JiAqY3VycmVudENoYXIgIT0gJ1wwJykgeworICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhciA9
PSAncycpIHsKKyAgICAgICAgICAgICAgICAvLyBTb2xpZCBjb2xvciBkcmF3IHF1YWQKKyAgICAg
ICAgICAgICAgICBPd25QdHI8Q0NEcmF3UXVhZD4gcXVhZCA9IENDU29saWRDb2xvckRyYXdRdWFk
OjpjcmVhdGUodGVzdERhdGEuc2hhcmVkUXVhZFN0YXRlLmdldCgpLCBJbnRSZWN0KDAsIDAsIDEw
LCAxMCksIENvbG9yOjp3aGl0ZSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAg
c3RhdGljX2Nhc3Q8Q0NUZXN0UmVuZGVyUGFzcyo+KHJlbmRlclBhc3MuZ2V0KCkpLT5hcHBlbmRR
dWFkKHF1YWQucmVsZWFzZSgpKTsKKyAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcisrOworICAg
ICAgICAgICAgfSBlbHNlIGlmICgoKmN1cnJlbnRDaGFyID49ICdBJykgJiYgKCpjdXJyZW50Q2hh
ciA8PSAnWicpKSB7CisgICAgICAgICAgICAgICAgLy8gUmVuZGVyUGFzcyBkcmF3IHF1YWQKKyAg
ICAgICAgICAgICAgICBjaGFyIG5ld1JlbmRlclBhc3NJZCA9ICpjdXJyZW50Q2hhcjsKKyAgICAg
ICAgICAgICAgICBjdXJyZW50Q2hhcisrOworICAgICAgICAgICAgICAgIGJvb2wgaGFzVGV4dHVy
ZSA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJvb2wgY29udGVudHNDaGFuZ2VkID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoKmN1cnJlbnRDaGFyID09ICdb
JykgeworICAgICAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcisrOworICAgICAgICAgICAgICAg
ICAgICB3aGlsZSAoKCpjdXJyZW50Q2hhciAhPSAnXScpICYmICgqY3VycmVudENoYXIgIT0gJ1ww
JykpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoKmN1cnJlbnRDaGFyKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdjJzoKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb250ZW50c0NoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3QnOgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhhc1RleHR1cmUgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
ICAgICAgICAgY3VycmVudENoYXIrKzsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgICAgICBpZiAoKmN1cnJlbnRDaGFyID09ICddJykKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGN1cnJlbnRDaGFyKys7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAg
Q0NSZW5kZXJQYXNzKiByZWZSZW5kZXJQYXNzUHRyOworCisgICAgICAgICAgICAgICAgaWYgKHRl
c3REYXRhLnJlbmRlclBhc3NDYWNoZS5maW5kKG5ld1JlbmRlclBhc3NJZCkgPT0gdGVzdERhdGEu
cmVuZGVyUGFzc0NhY2hlLmVuZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIE93blB0cjxDQ1Jl
bmRlclBhc3M+IHJlZlJlbmRlclBhc3MgPSBjcmVhdGVEdW1teVJlbmRlclBhc3ModGVzdERhdGEp
OworICAgICAgICAgICAgICAgICAgICByZWZSZW5kZXJQYXNzUHRyID0gcmVmUmVuZGVyUGFzcy5n
ZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgRmFrZVJlbmRlclN1cmZhY2UqIHJlZlJlbmRlclN1
cmZhY2UgPSBzdGF0aWNfY2FzdDxGYWtlUmVuZGVyU3VyZmFjZSo+KHJlZlJlbmRlclBhc3MtPnRh
cmdldFN1cmZhY2UoKSk7CisgICAgICAgICAgICAgICAgICAgIHJlZlJlbmRlclN1cmZhY2UtPnNl
dEhhc0NhY2hlZFRleHR1cmUoaGFzVGV4dHVyZSk7CisgICAgICAgICAgICAgICAgICAgIHJlZlJl
bmRlclN1cmZhY2UtPnNldENvbnRlbnRzQ2hhbmdlZChjb250ZW50c0NoYW5nZWQpOworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RGF0YS5yZW5kZXJQYXNzSWQuaW5zZXJ0KHN0ZDo6cGFpcjxDQ1Jl
bmRlclBhc3MqLCBjaGFyPihyZWZSZW5kZXJQYXNzLmdldCgpLCBuZXdSZW5kZXJQYXNzSWQpKTsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdERhdGEucmVuZGVyUGFzc0NhY2hlLmluc2VydChzdGQ6
OnBhaXI8Y2hhciwgUmVuZGVyUGFzc0NhY2hlRW50cnk+KG5ld1JlbmRlclBhc3NJZCwgUmVuZGVy
UGFzc0NhY2hlRW50cnkocmVmUmVuZGVyUGFzcy5yZWxlYXNlKCkpKSk7CisgICAgICAgICAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIHJlZlJlbmRlclBhc3NQdHIgPSB0ZXN0RGF0
YS5yZW5kZXJQYXNzQ2FjaGVbbmV3UmVuZGVyUGFzc0lkXS5yZW5kZXJQYXNzOworCisgICAgICAg
ICAgICAgICAgT3duUHRyPENDUmVuZGVyUGFzc0RyYXdRdWFkPiBxdWFkID0gQ0NSZW5kZXJQYXNz
RHJhd1F1YWQ6OmNyZWF0ZSh0ZXN0RGF0YS5zaGFyZWRRdWFkU3RhdGUuZ2V0KCksIEludFJlY3Qo
KSwgcmVmUmVuZGVyUGFzc1B0ciwgaXNSZXBsaWNhLCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlv
bnMoKSwgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zKCksIDEpOworICAgICAgICAgICAgICAg
IHN0YXRpY19jYXN0PENDVGVzdFJlbmRlclBhc3MqPihyZW5kZXJQYXNzLmdldCgpKS0+YXBwZW5k
UXVhZChxdWFkLnJlbGVhc2UoKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAg
dGVzdERhdGEucmVuZGVyUGFzc0xpc3QuaW5zZXJ0KDAsIHJlbmRlclBhc3MucmVsZWFzZSgpKTsK
KyAgICAgICAgaWYgKCpjdXJyZW50Q2hhciAhPSAnXDAnKQorICAgICAgICAgICAgY3VycmVudENo
YXIrKzsKKyAgICB9Cit9CisKK3ZvaWQgZHVtcFJlbmRlclBhc3NUZXN0RGF0YShjb25zdCBSZW5k
ZXJQYXNzUmVtb3ZhbFRlc3REYXRhJiB0ZXN0RGF0YSwgY2hhciogYnVmZmVyKQoreworICAgIGNo
YXIqIHBvcyA9IGJ1ZmZlcjsKKyAgICBDQ1JlbmRlclBhc3NMaXN0Ojpjb25zdF9yZXZlcnNlX2l0
ZXJhdG9yIGl0ID0gdGVzdERhdGEucmVuZGVyUGFzc0xpc3QucmJlZ2luKCk7CisgICAgd2hpbGUg
KGl0ICE9IHRlc3REYXRhLnJlbmRlclBhc3NMaXN0LnJlbmQoKSkgeworICAgICAgICBDQ1JlbmRl
clBhc3MqIGN1cnJlbnRQYXNzID0gaXQtPmdldCgpOworICAgICAgICBjaGFyIHBhc3NJZCA9IHRl
c3REYXRhLnJlbmRlclBhc3NJZC5maW5kKGN1cnJlbnRQYXNzKS0+c2Vjb25kOworICAgICAgICAq
cG9zID0gcGFzc0lkOworICAgICAgICBwb3MrKzsKKworICAgICAgICBDQ1F1YWRMaXN0Ojpjb25z
dF9pdGVyYXRvciBxdWFkTGlzdEl0ZXJhdG9yID0gY3VycmVudFBhc3MtPnF1YWRMaXN0KCkuYmVn
aW4oKTsKKyAgICAgICAgd2hpbGUgKHF1YWRMaXN0SXRlcmF0b3IgIT0gY3VycmVudFBhc3MtPnF1
YWRMaXN0KCkuZW5kKCkpIHsKKyAgICAgICAgICAgIENDRHJhd1F1YWQqIGN1cnJlbnRRdWFkID0g
KCpxdWFkTGlzdEl0ZXJhdG9yKS5nZXQoKTsKKyAgICAgICAgICAgIHN3aXRjaCAoY3VycmVudFF1
YWQtPm1hdGVyaWFsKCkpIHsKKyAgICAgICAgICAgIGNhc2UgQ0NEcmF3UXVhZDo6U29saWRDb2xv
cjoKKyAgICAgICAgICAgICAgICAqcG9zID0gJ3MnOworICAgICAgICAgICAgICAgIHBvcysrOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDQ0RyYXdRdWFkOjpSZW5k
ZXJQYXNzOgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgQ0NSZW5kZXJQ
YXNzRHJhd1F1YWQqIHJlbmRlclBhc3NEcmF3UXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFz
c0RyYXdRdWFkKj4oY3VycmVudFF1YWQpOworICAgICAgICAgICAgICAgICAgICBjb25zdCBDQ1Jl
bmRlclBhc3MqIHJlZlBhc3MgPSByZW5kZXJQYXNzRHJhd1F1YWQtPnJlbmRlclBhc3MoKTsKKyAg
ICAgICAgICAgICAgICAgICAgY2hhciByZWZQYXNzSWQgPSB0ZXN0RGF0YS5yZW5kZXJQYXNzSWQu
ZmluZChyZWZQYXNzKS0+c2Vjb25kOworICAgICAgICAgICAgICAgICAgICAqcG9zID0gcmVmUGFz
c0lkOworICAgICAgICAgICAgICAgICAgICBwb3MrKzsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAg
ICpwb3MgPSAneCc7CisgICAgICAgICAgICAgICAgcG9zKys7CisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHF1YWRMaXN0SXRl
cmF0b3IrKzsKKyAgICAgICAgfQorICAgICAgICAqcG9zID0gJ1xuJzsKKyAgICAgICAgcG9zKys7
CisgICAgICAgIGl0Kys7CisgICAgfQorICAgICpwb3MgPSAnXDAnOworfQorCisvLyBFYWNoIEND
UmVuZGVyUGFzc0xpc3QgaXMgcmVwcmVzZW50ZWQgYnkgYSBzdHJpbmcgd2hpY2ggZGVzY3JpYmVz
IHRoZSBjb25maWd1cmF0aW9uLgorLy8gVGhlIHN5bnRheCBvZiB0aGUgc3RyaW5nIGlzIGFzIGZv
bGxvd3M6CisvLworLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBSc3Nzc3NYW2Ndc3NZc3NzWlt0XXNzV1tjdF0KKy8vIElkZW50aWZpZXMgdGhl
IHJlbmRlciBwYXNzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXiBeXl4gXiBeICAgXiAgICAg
XiAgICAgXgorLy8gVGhlc2UgYXJlIHNvbGlkIGNvbG9yIHF1YWRzLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rICB8IHwgICB8ICAgICB8ICAgICB8CisvLyBJZGVudGlmaWVzIFJlbmRlclBh
c3NEcmF3UXVhZCdzIFJlbmRlclBhc3MtLS0tLS0tLS0tLS0tLS0tLSsgfCAgIHwgICAgIHwgICAg
IHwKKy8vIFRoaXMgcXVhZCdzIGNvbnRlbnRzIGRpZG4ndCBjaGFuZ2UtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rICAgfCAgICAgfCAgICAgfAorLy8gVGhpcyBxdWFkJ3MgY29udGVudHMgY2hh
bmdlZCBhbmQgaXQgaGFzIG5vIHRleHR1cmUtLS0tLS0tLS0tLS0tLS0rICAgICB8ICAgICB8Cisv
LyBUaGlzIHF1YWQgaGFzIHRleHR1cmUgYnV0IGl0cyBjb250ZW50cyBjaGFuZ2VkLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSsgICAgIHwKKy8vIFRoaXMgcXVhZCdzIGNvbnRlbnRzIGRpZG4ndCBj
aGFuZ2UgYW5kIGl0IGhhcyB0ZXh0dXJlIC0gd2lsbCBiZSByZW1vdmVkLS0tLS0tKworLy8KKy8v
IEV4cGVjdGVkIHJlc3VsdHMgaGF2ZSBleGFjdGx5IHRoZSBzYW1lIHN5bnRheCwgZXhjZXB0IHRo
ZXkgZG8gbm90IHVzZSBzcXVhcmUgYnJhY2tldHMsCisvLyBzaW5jZSB3ZSBvbmx5IGNoZWNrIHRo
ZSBzdHJ1Y3R1cmUsIG5vdCBhdHRyaWJ1dGVzLgorLy8KKy8vIFRlc3QgY2FzZSBjb25maWd1cmF0
aW9uIGNvbnNpc3RzIG9mIGluaXRpYWxpemF0aW9uIHNjcmlwdCBhbmQgZXhwZWN0ZWQgcmVzdWx0
cywKKy8vIGFsbCBpbiB0aGUgc2FtZSBmb3JtYXQuCitzdHJ1Y3QgVGVzdENhc2UgeworICAgIGNv
bnN0IGNoYXIqIG5hbWU7CisgICAgY29uc3QgY2hhciogaW5pdFNjcmlwdDsKKyAgICBjb25zdCBj
aGFyKiBleHBlY3RlZFJlc3VsdDsKK307CisKK1Rlc3RDYXNlIHJlbW92ZVJlbmRlclBhc3Nlc0Nh
c2VzW10gPQorICAgIHsKKyAgICAgICAgeworICAgICAgICAgICAgIlNpbmdsZSByb290IHBhc3Mi
LAorICAgICAgICAgICAgIlJzc3NzXG4iLAorICAgICAgICAgICAgIlJzc3NzXG4iCisgICAgICAg
IH0sIHsKKyAgICAgICAgICAgICJTaW5nbGUgcGFzcyAtIG5vIHF1YWRzIiwKKyAgICAgICAgICAg
ICJSXG4iLAorICAgICAgICAgICAgIlJcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIlR3
byBwYXNzZXMsIG5vIHJlbW92YWwiLAorICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAg
ICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAgICAgICAg
IkFzc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJUd28gcGFzc2VzLCByZW1vdmUg
bGFzdCIsCisgICAgICAgICAgICAiUnNzc3NBW2N0XXNzc1xuIgorICAgICAgICAgICAgIkFzc3Nz
XG4iLAorICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAg
ICAiSGF2ZSB0ZXh0dXJlIGJ1dCBjb250ZW50cyBjaGFuZ2VkIC0gbGVhdmUgcGFzcyIsCisgICAg
ICAgICAgICAiUnNzc3NBW3Rdc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIsCisgICAgICAg
ICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIKKyAgICAgICAgfSwgewor
ICAgICAgICAgICAgIkNvbnRlbnRzIGRpZG4ndCBjaGFuZ2UgYnV0IG5vIHRleHR1cmUgLSBsZWF2
ZSBwYXNzIiwKKyAgICAgICAgICAgICJSc3Nzc0FbY11zc3NcbiIKKyAgICAgICAgICAgICJBc3Nz
c1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIgor
ICAgICAgICB9LCB7CisgICAgICAgICAgICAiUmVwbGljYTogdHdvIHF1YWRzIHJlZmVyZW5jZSB0
aGUgc2FtZSBwYXNzOyByZW1vdmUiLAorICAgICAgICAgICAgIlJzc3NzQVtjdF1BW2N0XXNzc1xu
IgorICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAgICAgIlJzc3NzQUFzc3NcbiIKKyAg
ICAgICAgfSwgeworICAgICAgICAgICAgIlJlcGxpY2E6IHR3byBxdWFkcyByZWZlcmVuY2UgdGhl
IHNhbWUgcGFzczsgbGVhdmUiLAorICAgICAgICAgICAgIlJzc3NzQVtjXUFbY11zc3NcbiIKKyAg
ICAgICAgICAgICJBc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0FBc3NzXG4iCisgICAgICAg
ICAgICAiQXNzc3NcbiIsCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJNYW55IHBhc3Nlcywg
cmVtb3ZlIGFsbCIsCisgICAgICAgICAgICAiUnNzc3NBW2N0XXNzc1xuIgorICAgICAgICAgICAg
IkFzc3NCW2N0XUNbY3Rdc1xuIgorICAgICAgICAgICAgIkJzc3NEW2N0XXNzRVtjdF1GW2N0XVxu
IgorICAgICAgICAgICAgIkVzc3Nzc3NcbiIKKyAgICAgICAgICAgICJDR1tjdF1cbiIKKyAgICAg
ICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAgICAgICAgIkZzc3Nzc3NzXG4iCisgICAgICAgICAg
ICAiR3Nzc1xuIiwKKworICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAgICB9LCB7Cisg
ICAgICAgICAgICAiRGVlcCByZWN1cnNpb24sIHJlbW92ZSBhbGwiLAorCisgICAgICAgICAgICAi
UnNzc3NzQVtjdF1zc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NCc3NzXG4iCisgICAgICAgICAg
ICAiQkNcbiIKKyAgICAgICAgICAgICJDRFxuIgorICAgICAgICAgICAgIkRFXG4iCisgICAgICAg
ICAgICAiRUZcbiIKKyAgICAgICAgICAgICJGR1xuIgorICAgICAgICAgICAgIkdIXG4iCisgICAg
ICAgICAgICAiSHNzc0lzc3NcbiIKKyAgICAgICAgICAgICJJSlxuIgorICAgICAgICAgICAgIkpz
c3NzXG4iLAorICAgICAgICAgICAgCisgICAgICAgICAgICAiUnNzc3NzQXNzc3NcbiIKKyAgICAg
ICAgfSwgeworICAgICAgICAgICAgIldpZGUgcmVjdXJzaW9uLCByZW1vdmUgYWxsIiwKKyAgICAg
ICAgICAgICJSQVtjdF1CW2N0XUNbY3RdRFtjdF1FW2N0XUZbY3RdR1tjdF1IW2N0XUlbY3RdSltj
dF1cbiIKKyAgICAgICAgICAgICJBc1xuIgorICAgICAgICAgICAgIkJzXG4iCisgICAgICAgICAg
ICAiQ3Nzc3NcbiIKKyAgICAgICAgICAgICJEc3Nzc1xuIgorICAgICAgICAgICAgIkVzXG4iCisg
ICAgICAgICAgICAiRlxuIgorICAgICAgICAgICAgIkdzXG4iCisgICAgICAgICAgICAiSHNcbiIK
KyAgICAgICAgICAgICJJc1xuIgorICAgICAgICAgICAgIkpzc3NzXG4iLAorICAgICAgICAgICAg
CisgICAgICAgICAgICAiUkFCQ0RFRkdISUpcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAg
IlJlbW92ZSBwYXNzZXMgcmVnYXJkbGVzcyBvZiBjYWNoZSBzdGF0ZSIsCisgICAgICAgICAgICAi
UnNzc3NBW2N0XXNzc1xuIgorICAgICAgICAgICAgIkFzc3NCQ3NcbiIKKyAgICAgICAgICAgICJC
c3NzRFtjXXNzRVt0XUZcbiIKKyAgICAgICAgICAgICJFc3Nzc3NzXG4iCisgICAgICAgICAgICAi
Q0dcbiIKKyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAgICAgICAgIkZzc3Nzc3NzXG4i
CisgICAgICAgICAgICAiR3Nzc1xuIiwKKworICAgICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAg
ICAgICB9LCB7CisgICAgICAgICAgICAiTGVhdmUgc29tZSBwYXNzZXMsIHJlbW92ZSBvdGhlcnMi
LAorCisgICAgICAgICAgICAiUnNzc3NBW2Ndc3NzXG4iCisgICAgICAgICAgICAiQXNzc0JbdF1D
W2N0XXNcbiIKKyAgICAgICAgICAgICJCc3NzRFtjXXNzXG4iCisgICAgICAgICAgICAiQ0dcbiIK
KyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAgICAgICAgIkdzc3NcbiIsCisKKyAgICAg
ICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3NzQkNzXG4iCisgICAgICAgICAg
ICAiQnNzc0Rzc1xuIgorICAgICAgICAgICAgIkRzc3Nzc3NzXG4iCisgICAgICAgIH0sIHsKKyAg
ICAgICAgICAgIDAsIDAsIDAKKyAgICAgICAgfQorICAgIH07CisKK3N0YXRpYyB2b2lkIHZlcmlm
eVJlbmRlclBhc3NUZXN0RGF0YShUZXN0Q2FzZSYgdGVzdENhc2UsIFJlbmRlclBhc3NSZW1vdmFs
VGVzdERhdGEmIHRlc3REYXRhKQoreworICAgIGNoYXIgYWN0dWFsUmVzdWx0WzEwMjRdOworICAg
IGR1bXBSZW5kZXJQYXNzVGVzdERhdGEodGVzdERhdGEsIGFjdHVhbFJlc3VsdCk7CisgICAgRVhQ
RUNUX1NUUkVRKHRlc3RDYXNlLmV4cGVjdGVkUmVzdWx0LCBhY3R1YWxSZXN1bHQpIDw8ICJJbiB0
ZXN0IGNhc2U6ICIgPDwgdGVzdENhc2UubmFtZTsKK30KKworVEVTVChSZW5kZXJQYXNzUmVtb3Zh
bFRlc3QsIHRlc3RSZW1vdmVSZW5kZXJQYXNzZXMpCit7CisgICAgaW50IHRlc3RDYXNlSW5kZXgg
PSAwOworICAgIHdoaWxlIChyZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2FzZUluZGV4XS5u
YW1lKSB7CisgICAgICAgIERlYnVnU2NvcGVkU2V0SW1wbFRocmVhZCBpbXBsVGhyZWFkOworICAg
ICAgICBSZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhIHRlc3REYXRhOworICAgICAgICBDQ1JlbmRl
clBhc3NMaXN0IHNraXBwZWRQYXNzZXM7CisgICAgICAgIGNvbmZpZ3VyZVJlbmRlclBhc3NUZXN0
RGF0YShyZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1t0ZXN0Q2FzZUluZGV4XS5pbml0U2NyaXB0LCB0
ZXN0RGF0YSk7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OnJlbW92ZVBhc3Nlc1dpdGhD
YWNoZWRUZXh0dXJlcyh0ZXN0RGF0YS5yZW5kZXJQYXNzTGlzdCwgc2tpcHBlZFBhc3Nlcyk7Cisg
ICAgICAgIHZlcmlmeVJlbmRlclBhc3NUZXN0RGF0YShyZW1vdmVSZW5kZXJQYXNzZXNDYXNlc1t0
ZXN0Q2FzZUluZGV4XSwgdGVzdERhdGEpOworICAgICAgICB0ZXN0Q2FzZUluZGV4Kys7CisgICAg
fQorfQorCiB9IC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147999</attachid>
            <date>2012-06-16 18:37:09 -0700</date>
            <delta_ts>2012-06-17 14:19:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88482-20120616213708.patch</filename>
            <type>text/plain</type>
            <size>54100</size>
            <attacher>zlieber</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDQzZjRhNzI0Mzk1ZWEw
ZTcxYzdkZDRmZTQ0ODhkZmViYThmM2E4My4uNzgzYjM2NjYyNmJiZTEwZjI5ZjBkYjY0OTdiMTVl
NDc3MmRhNzRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTA2LTE2ICBaZWV2
IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ29t
cG9zaXRvciBzaG91bGQgYXZvaWQgZHJhd2luZyBxdWFkcyB3aGVuIGNhY2hlZCB0ZXh0dXJlcyBh
cmUgYXZhaWxhYmxlIGFuZCBjb250ZW50cyB1bmNoYW5nZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWRyaWVubmUgV2Fsa2VyLgorCisgICAgICAgIFBvc3QtcHJvY2Vzc2luZyBDQ1JlbmRlclBhc3NM
aXN0IGFmdGVyIGl0J3MgYmVlbiBnZW5lcmF0ZWQgYW5kCisgICAgICAgIHJlbW92aW5nIGFsbCBy
ZW5kZXIgc3VyZmFjZSBxdWFkcyBmb3Igd2hpY2ggdGhlcmUgYXJlCisgICAgICAgIGNhY2hlZCB0
ZXh0dXJlcywgYW5kIHdob3NlIGNvbnRlbnQgZGlkbid0IGNoYW5nZS4gQWRkZWQgYSBuZXcKKyAg
ICAgICAgZmxhZyB0byBDQ0xheWVySW1wbCB0byBkaWZmZXJlbnRpYXRlIHN1cmZhY2UgcHJvcGVy
dHkgY2hhbmdlIGFuZAorICAgICAgICBsYXllciBwcm9wZXJ0eSBjaGFuZ2UuCisKKyAgICAgICAg
VGhlIGNoYW5nZXMgYXJlIGNvdmVyZWQgYnkgbmV3IHVuaXQgdGVzdHMgdGhhdCBjaGVjayB0aGF0
CisgICAgICAgIHRoZSByZW1vdmFsIGFsZ29yaXRobSBmdW5jdGlvbnMgcHJvcGVydGx5LiBObyBy
ZW5kZXJpbmcKKyAgICAgICAgYmVoYXZpb3VyIGNoYW5nZSwgc28gbm8gbmV3IGxheW91dCB0ZXN0
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdlVHJh
Y2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsYXllck5lZWRzVG9SZWRyYXdPbnRvSXRzVGFy
Z2V0U3VyZmFjZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDRGFt
YWdlVHJhY2tlcjo6ZXh0ZW5kRGFtYWdlRm9yTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q0NE
YW1hZ2VUcmFja2VyOjpleHRlbmREYW1hZ2VGb3JSZW5kZXJTdXJmYWNlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDQ0xheWVySW1wbDo6Q0NMYXllckltcGwpOgorICAgICAgICAoV2ViQ29yZTo6Q0NM
YXllckltcGw6OmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpyZXNldEFsbENoYW5nZVRyYWNraW5n
Rm9yU3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0T3BhY2l0eSk6
CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0VHJhbnNmb3JtKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oOgorICAgICAgICAo
Q0NMYXllckltcGwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0
SW1wbDo6Y2FsY3VsYXRlUmVuZGVyUGFzc2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJU
cmVlSG9zdEltcGw6OnJlbW92ZVJlbmRlclBhc3Nlc1JlY3Vyc2l2ZSk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OnJlbW92ZVBhc3Nl
c1dpdGhDYWNoZWRUZXh0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJ
bXBsOjpwcmVwYXJlVG9EcmF3KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmg6CisgICAgICAgIChGcmFtZURhdGEpOgorICAgICAg
ICAoQ0NMYXllclRyZWVIb3N0SW1wbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NSZW5kZXJQYXNzLmg6CisgICAgICAgIChDQ1JlbmRlclBhc3MpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnByZXBhcmVDb250ZW50c1RleHR1cmUp
OgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpoYXNDYWNoZWRDb250ZW50c1Rl
eHR1cmUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1
cmZhY2U6OmNvbnRlbnRzQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmg6CisgICAgICAgIChDQ1JlbmRlclN1cmZhY2UpOgor
CiAyMDEyLTA2LTE2ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTIwNTM2LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwppbmRleCA3NTBiMTEyN2ZlNGYzMmQzNTMwZTY0Zjc5YjVlZDM4MGViNTlkMjY0
Li4yNzEzOGYzZWYwZjA1MjJhNThmYjEzZDA0OTQ0NWVmZDIzZDI0MmM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA2LTE2ICBaZWV2IExpZWJlciAg
PHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ29tcG9zaXRvciBz
aG91bGQgYXZvaWQgZHJhd2luZyBxdWFkcyB3aGVuIGNhY2hlZCB0ZXh0dXJlcyBhcmUgYXZhaWxh
YmxlIGFuZCBjb250ZW50cyB1bmNoYW5nZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg4NDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRyaWVubmUg
V2Fsa2VyLgorCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIHZlcmlmeSBxdWFkIHJlbW92YWwgYWxn
b3JpdGhtLiBBZGRlZCBpbmZyYXN0cnVjdHVyZQorICAgICAgICBjb2RlIHRvIGdlbmVyYXRlIGN1
c3RvbSByZW5kZXIgcGFzc2VzIG91dCBvZiBhIHNjcmlwdCBlbmNvZGVkIGFzIEMKKyAgICAgICAg
c3RyaW5nLgorCisgICAgICAgICogdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHA6CisgICAg
ICAgIChXZWJLaXRUZXN0czo6VEVTVF9GKToKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVySW1wbFRl
c3QuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpURVNUKToKKyAg
ICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHA6CisKIDIwMTItMDYtMTYg
IFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjA1MzYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFja2Vy
LmNwcAppbmRleCBhNmZkYmI4ZmZmYWNjYTM5ZjkxZjBjMDNhYjcyZmFlODRhZTY2NmYwLi4xZGJi
NTk0MDhlZDkxN2Q3N2Y1ODc3ODJiMWQxODZhNzg3NmMwMmNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFt
YWdlVHJhY2tlci5jcHAKQEAgLTIzOSw2ICsyMzksMTggQEAgRmxvYXRSZWN0IENDRGFtYWdlVHJh
Y2tlcjo6dHJhY2tEYW1hZ2VGcm9tTGVmdG92ZXJSZWN0cygpCiAgICAgcmV0dXJuIGRhbWFnZVJl
Y3Q7CiB9CiAKK3N0YXRpYyBib29sIGxheWVyTmVlZHNUb1JlZHJhd09udG9JdHNUYXJnZXRTdXJm
YWNlKENDTGF5ZXJJbXBsKiBsYXllcikKK3sKKyAgICAvLyBJZiB0aGUgbGF5ZXIgZG9lcyBOT1Qg
b3duIGEgc3VyZmFjZSBidXQgaGFzIFN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQsCisgICAgLy8gdGhp
cyBtZWFucyB0aGF0IGl0cyB0YXJnZXQgc3VyZmFjZSBpcyBhZmZlY3RlZCBhbmQgbmVlZHMgdG8g
YmUgcmVkcmF3bi4KKyAgICAvLyBIb3dldmVyLCBpZiB0aGUgbGF5ZXIgRE9FUyBvd24gYSBzdXJm
YWNlLCB0aGVuIHRoZSBTdXJmYWNlUHJvcGVydHlDaGFuZ2VkIAorICAgIC8vIGZsYWcgc2hvdWxk
IG5vdCBiZSB1c2VkIGhlcmUsIGJlY2F1c2UgdGhhdCBmbGFnIHJlcHJlc2VudHMgd2hldGhlciB0
aGUKKyAgICAvLyBsYXllcidzIHN1cmZhY2UgaGFzIGNoYW5nZWQuCisgICAgaWYgKGxheWVyLT5y
ZW5kZXJTdXJmYWNlKCkpCisgICAgICAgIHJldHVybiBsYXllci0+bGF5ZXJQcm9wZXJ0eUNoYW5n
ZWQoKTsKKyAgICByZXR1cm4gbGF5ZXItPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkgfHwgbGF5ZXIt
PmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpOworfQorCiB2b2lkIENDRGFtYWdlVHJhY2tl
cjo6ZXh0ZW5kRGFtYWdlRm9yTGF5ZXIoQ0NMYXllckltcGwqIGxheWVyLCBGbG9hdFJlY3QmIHRh
cmdldERhbWFnZVJlY3QpCiB7CiAgICAgLy8gVGhlcmUgYXJlIHR3byB3YXlzIHRoYXQgYSBsYXll
ciBjYW4gZGFtYWdlIGEgcmVnaW9uIG9mIHRoZSB0YXJnZXQgc3VyZmFjZToKQEAgLTI1MSw2ICsy
NjMsMTEgQEAgdm9pZCBDQ0RhbWFnZVRyYWNrZXI6OmV4dGVuZERhbWFnZUZvckxheWVyKENDTGF5
ZXJJbXBsKiBsYXllciwgRmxvYXRSZWN0JiB0YXJnZXQKICAgICAvLyAgICAgIHJlZ2lvbiBkYW1h
Z2VzIHRoZSBzdXJmYWNlLgogICAgIC8vCiAgICAgLy8gUHJvcGVydHkgY2hhbmdlcyB0YWtlIHBy
aW9yaXR5IG92ZXIgdXBkYXRlIHJlY3RzLgorICAgIC8vCisgICAgLy8gVGhpcyBtZXRob2QgaXMg
Y2FsbGVkIHdoZW4gd2Ugd2FudCB0byBjb25zaWRlciBob3cgYSBsYXllciBjb250cmlidXRlcyB0
byBpdHMKKyAgICAvLyB0YXJnZXRSZW5kZXJTdXJmYWNlLCBldmVuIGlmIHRoYXQgbGF5ZXIgb3du
cyB0aGUgdGFyZ2V0UmVuZGVyU3VyZmFjZSBpdHNlbGYuCisgICAgLy8gVG8gY29uc2lkZXIgaG93
IGEgbGF5ZXIncyB0YXJnZXRTdXJmYWNlIGNvbnRyaWJ1dGVzIHRvIHRoZSBhbmNlc3RvclN1cmZh
Y2UsCisgICAgLy8gZXh0ZW5kRGFtYWdlRm9yUmVuZGVyU3VyZmFjZSgpIG11c3QgYmUgY2FsbGVk
IGluc3RlYWQuCiAKICAgICAvLyBDb21wdXRlIHRoZSBsYXllcidzICJvcmlnaW5UcmFuc2Zvcm0i
IGJ5IHRyYW5zbGF0aW5nIHRoZSBkcmF3VHJhbnNmb3JtLgogICAgIFdlYlRyYW5zZm9ybWF0aW9u
TWF0cml4IG9yaWdpblRyYW5zZm9ybSA9IGxheWVyLT5kcmF3VHJhbnNmb3JtKCk7CkBAIC0yNjIs
NyArMjc5LDcgQEAgdm9pZCBDQ0RhbWFnZVRyYWNrZXI6OmV4dGVuZERhbWFnZUZvckxheWVyKEND
TGF5ZXJJbXBsKiBsYXllciwgRmxvYXRSZWN0JiB0YXJnZXQKICAgICBGbG9hdFJlY3QgbGF5ZXJS
ZWN0SW5UYXJnZXRTcGFjZSA9IENDTWF0aFV0aWw6Om1hcENsaXBwZWRSZWN0KG9yaWdpblRyYW5z
Zm9ybSwgRmxvYXRSZWN0KEZsb2F0UG9pbnQ6Onplcm8oKSwgbGF5ZXItPmJvdW5kcygpKSk7CiAg
ICAgc2F2ZVJlY3RGb3JOZXh0RnJhbWUobGF5ZXItPmlkKCksIGxheWVyUmVjdEluVGFyZ2V0U3Bh
Y2UpOwogCi0gICAgaWYgKGxheWVySXNOZXcgfHwgbGF5ZXItPmxheWVyUHJvcGVydHlDaGFuZ2Vk
KCkpIHsKKyAgICBpZiAobGF5ZXJJc05ldyB8fCBsYXllck5lZWRzVG9SZWRyYXdPbnRvSXRzVGFy
Z2V0U3VyZmFjZShsYXllcikpIHsKICAgICAgICAgLy8gSWYgYSBsYXllciBpcyBuZXcgb3IgaGFz
IGNoYW5nZWQsIHRoZW4gaXRzIGVudGlyZSBsYXllciByZWN0IGFmZmVjdHMgdGhlIHRhcmdldCBz
dXJmYWNlLgogICAgICAgICB0YXJnZXREYW1hZ2VSZWN0LnVuaXRlSWZOb25aZXJvKGxheWVyUmVj
dEluVGFyZ2V0U3BhY2UpOwogCkBAIC0zMDAsNyArMzE3LDcgQEAgdm9pZCBDQ0RhbWFnZVRyYWNr
ZXI6OmV4dGVuZERhbWFnZUZvclJlbmRlclN1cmZhY2UoQ0NMYXllckltcGwqIGxheWVyLCBGbG9h
dFJlY3QKICAgICBzYXZlUmVjdEZvck5leHRGcmFtZShsYXllci0+aWQoKSwgc3VyZmFjZVJlY3RJ
blRhcmdldFNwYWNlKTsKIAogICAgIEZsb2F0UmVjdCBkYW1hZ2VSZWN0SW5Mb2NhbFNwYWNlOwot
ICAgIGlmIChzdXJmYWNlSXNOZXcgfHwgcmVuZGVyU3VyZmFjZS0+c3VyZmFjZVByb3BlcnR5Q2hh
bmdlZCgpKSB7CisgICAgaWYgKHN1cmZhY2VJc05ldyB8fCByZW5kZXJTdXJmYWNlLT5zdXJmYWNl
UHJvcGVydHlDaGFuZ2VkKCkgfHwgbGF5ZXItPmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgp
KSB7CiAgICAgICAgIC8vIFRoZSBlbnRpcmUgc3VyZmFjZSBjb250cmlidXRlcyBkYW1hZ2UuCiAg
ICAgICAgIGRhbWFnZVJlY3RJbkxvY2FsU3BhY2UgPSByZW5kZXJTdXJmYWNlLT5jb250ZW50UmVj
dCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAKaW5kZXggZTYxYmY5MWQwNmM1Y2EyNWM1YzNi
YTZiNGYzYmU0NjlhMWI5Y2QwOS4uMDdmMDIyZDljYzVkNzFiNzQyNGRmNzRkMjQwZmE5ZmU2MzA1
YjZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NMYXllckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcApAQCAtNTUsNiArNTUsNyBAQCBDQ0xheWVy
SW1wbDo6Q0NMYXllckltcGwoaW50IGlkKQogICAgICwgbV9oYXZlV2hlZWxFdmVudEhhbmRsZXJz
KGZhbHNlKQogICAgICwgbV9kb3VibGVTaWRlZCh0cnVlKQogICAgICwgbV9sYXllclByb3BlcnR5
Q2hhbmdlZChmYWxzZSkKKyAgICAsIG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKGZhbHNl
KQogICAgICwgbV9tYXNrc1RvQm91bmRzKGZhbHNlKQogICAgICwgbV9vcGFxdWUoZmFsc2UpCiAg
ICAgLCBtX29wYWNpdHkoMS4wKQpAQCAtMzEwLDYgKzMxMSwyNiBAQCB2b2lkIENDTGF5ZXJJbXBs
OjpzZXRTdGFja2luZ09yZGVyQ2hhbmdlZChib29sIHN0YWNraW5nT3JkZXJDaGFuZ2VkKQogICAg
ICAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JTdWJ0cmVlKCk7CiB9CiAKK2Jvb2wgQ0NM
YXllckltcGw6OmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpIGNvbnN0Cit7CisgICAgaWYg
KG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIC8vIElmIHRoaXMgbGF5ZXIncyBzdXJmYWNlIHByb3BlcnR5IGhhc24ndCBjaGFuZ2VkLCB3
ZSB3YW50IHRvIHNlZSBpZgorICAgIC8vIHNvbWUgbGF5ZXIgYWJvdmUgdXMgaGFzIGNoYW5nZWQg
dGhpcyBwcm9wZXJ0eS4gVGhpcyBpcyBkb25lIGZvciB0aGUKKyAgICAvLyBjYXNlIHdoZW4gc3Vj
aCBwYXJlbnQgbGF5ZXIgZG9lcyBub3QgZHJhdyBjb250ZW50LCBhbmQgdGhlcmVmb3JlIHdpbGwK
KyAgICAvLyBub3QgYmUgdHJhdmVyc2VkIGJ5IHRoZSBkYW1hZ2UgdHJhY2tlci4gV2UgbmVlZCB0
byBtYWtlIHN1cmUgdGhhdAorICAgIC8vIHByb3BlcnR5IGNoYW5nZSBvbiBzdWNoIGxheWVyIHdp
bGwgYmUgY2F1Z2h0IGJ5IGl0cyBkZXNjZW5kYW50cy4KKyAgICBDQ0xheWVySW1wbCogY3VycmVu
dCA9IHRoaXMtPm1fcGFyZW50OworICAgIHdoaWxlIChjdXJyZW50ICYmICFjdXJyZW50LT5tX3Jl
bmRlclN1cmZhY2UpIHsKKyAgICAgICAgaWYgKGN1cnJlbnQtPm1fbGF5ZXJTdXJmYWNlUHJvcGVy
dHlDaGFuZ2VkKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIGN1cnJlbnQgPSBj
dXJyZW50LT5tX3BhcmVudDsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQg
Q0NMYXllckltcGw6Om5vdGVMYXllclByb3BlcnR5Q2hhbmdlZEZvclN1YnRyZWUoKQogewogICAg
IG1fbGF5ZXJQcm9wZXJ0eUNoYW5nZWQgPSB0cnVlOwpAQCAtMzI1LDYgKzM0Niw4IEBAIHZvaWQg
Q0NMYXllckltcGw6Om5vdGVMYXllclByb3BlcnR5Q2hhbmdlZEZvckRlc2NlbmRhbnRzKCkKIHZv
aWQgQ0NMYXllckltcGw6OnJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdGb3JTdWJ0cmVlKCkKIHsKICAg
ICBtX2xheWVyUHJvcGVydHlDaGFuZ2VkID0gZmFsc2U7CisgICAgbV9sYXllclN1cmZhY2VQcm9w
ZXJ0eUNoYW5nZWQgPSBmYWxzZTsKKwogICAgIG1fdXBkYXRlUmVjdCA9IEZsb2F0UmVjdCgpOwog
CiAgICAgaWYgKG1fcmVuZGVyU3VyZmFjZSkKQEAgLTQ2NSw3ICs0ODgsNyBAQCB2b2lkIENDTGF5
ZXJJbXBsOjpzZXRPcGFjaXR5KGZsb2F0IG9wYWNpdHkpCiAgICAgICAgIHJldHVybjsKIAogICAg
IG1fb3BhY2l0eSA9IG9wYWNpdHk7Ci0gICAgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yU3Vi
dHJlZSgpOworICAgIG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkID0gdHJ1ZTsKIH0KIAog
Ym9vbCBDQ0xheWVySW1wbDo6b3BhY2l0eUlzQW5pbWF0aW5nKCkgY29uc3QKQEAgLTUwNyw3ICs1
MzAsNyBAQCB2b2lkIENDTGF5ZXJJbXBsOjpzZXRUcmFuc2Zvcm0oY29uc3QgV2ViVHJhbnNmb3Jt
YXRpb25NYXRyaXgmIHRyYW5zZm9ybSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV90cmFuc2Zv
cm0gPSB0cmFuc2Zvcm07Ci0gICAgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yU3VidHJlZSgp
OworICAgIG1fbGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkID0gdHJ1ZTsKIH0KIAogYm9vbCBD
Q0xheWVySW1wbDo6dHJhbnNmb3JtSXNBbmltYXRpbmcoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBs
LmgKaW5kZXggNDkyOTA2MDY2OGQzMDUzYmE3OGU1NjNiODU5ZWU5Mjg2ODg2MzQ3OC4uMjRhYmEz
YTkzNDEyZjYyOWEzNjIzNTE1ZWNkMTQ2ZTcxOWE1MzhhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5o
CkBAIC0yNTMsNiArMjUzLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3RhY2tpbmdPcmRlckNo
YW5nZWQoYm9vbCk7CiAKICAgICBib29sIGxheWVyUHJvcGVydHlDaGFuZ2VkKCkgY29uc3QgeyBy
ZXR1cm4gbV9sYXllclByb3BlcnR5Q2hhbmdlZDsgfQorICAgIGJvb2wgbGF5ZXJTdXJmYWNlUHJv
cGVydHlDaGFuZ2VkKCkgY29uc3Q7CisKICAgICB2b2lkIHJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdG
b3JTdWJ0cmVlKCk7CiAKICAgICBDQ0xheWVyQW5pbWF0aW9uQ29udHJvbGxlciogbGF5ZXJBbmlt
YXRpb25Db250cm9sbGVyKCkgeyByZXR1cm4gbV9sYXllckFuaW1hdGlvbkNvbnRyb2xsZXIuZ2V0
KCk7IH0KQEAgLTMxNiw2ICszMTgsMTIgQEAgcHJpdmF0ZToKICAgICAvLyBUcmFja3MgaWYgZHJh
d2luZy1yZWxhdGVkIHByb3BlcnRpZXMgaGF2ZSBjaGFuZ2VkIHNpbmNlIGxhc3QgcmVkcmF3Lgog
ICAgIGJvb2wgbV9sYXllclByb3BlcnR5Q2hhbmdlZDsKIAorICAgIC8vIEluZGljYXRlcyB0aGF0
IGEgcHJvcGVydHkgaGFzIGNoYW5nZWQgb24gdGhpcyBsYXllciB0aGF0IHdvdWxkIG5vdAorICAg
IC8vIGFmZmVjdCB0aGUgcGl4ZWxzIG9uIGl0cyB0YXJnZXQgc3VyZmFjZSwgYnV0IHdvdWxkIHJl
cXVpcmUgcmVkcmF3aW5nCisgICAgLy8gYnV0IHdvdWxkIHJlcXVpcmUgcmVkcmF3aW5nIHRoZSB0
YXJnZXRTdXJmYWNlIG9udG8gaXRzIGFuY2VzdG9yIHRhcmdldFN1cmZhY2UuCisgICAgLy8gRm9y
IGxheWVycyB0aGF0IGRvIG5vdCBvd24gYSBzdXJmYWNlIHRoaXMgZmxhZyBhY3RzIGFzIG1fbGF5
ZXJQcm9wZXJ0eUNoYW5nZWQuCisgICAgYm9vbCBtX2xheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdl
ZDsKKwogICAgIC8vIFVzZXMgbGF5ZXIncyBjb250ZW50IHNwYWNlLgogICAgIEludFJlY3QgbV92
aXNpYmxlTGF5ZXJSZWN0OwogICAgIGJvb2wgbV9tYXNrc1RvQm91bmRzOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAppbmRleCA3MjI2MTE2YWViYzJlYjI5NWQ3NDY5M2Y0
ODBiNmMyYzlhYjYzNGE2Li5jMTBhZmRkZGViZTI4ZDI2MjNmNmNkNzI3YTk1MWJiOTA4NzYxOTFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcApAQCAtNDIsNiArNDIs
NyBAQAogI2luY2x1ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdENvbW1vbi5oIgogI2luY2x1ZGUgImNj
L0NDTWF0aFV0aWwuaCIKICNpbmNsdWRlICJjYy9DQ1BhZ2VTY2FsZUFuaW1hdGlvbi5oIgorI2lu
Y2x1ZGUgImNjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmgiCiAjaW5jbHVkZSAiY2MvQ0NTZXR0aW5n
cy5oIgogI2luY2x1ZGUgImNjL0NDU2luZ2xlVGhyZWFkUHJveHkuaCIKICNpbmNsdWRlICJjYy9D
Q1RocmVhZFRhc2suaCIKQEAgLTI2NiwyNSArMjY3LDI1IEBAIHZvaWQgQ0NMYXllclRyZWVIb3N0
SW1wbDo6Y2FsY3VsYXRlUmVuZGVyU3VyZmFjZUxheWVyTGlzdChDQ0xheWVyTGlzdCYgcmVuZGVy
U3VyCiAgICAgfQogfQogCi1ib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRl
clBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIENDTGF5ZXJMaXN0JiByZW5kZXJTdXJm
YWNlTGF5ZXJMaXN0LCBDQ0xheWVyTGlzdCYgd2lsbERyYXdMYXllcnMpCitib29sIENDTGF5ZXJU
cmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRlclBhc3NlcyhGcmFtZURhdGEmIGZyYW1lKQogewot
ICAgIEFTU0VSVChwYXNzZXMuaXNFbXB0eSgpKTsKKyAgICBBU1NFUlQoZnJhbWUucmVuZGVyUGFz
c2VzLmlzRW1wdHkoKSk7CiAKLSAgICBjYWxjdWxhdGVSZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KHJl
bmRlclN1cmZhY2VMYXllckxpc3QpOworICAgIGNhbGN1bGF0ZVJlbmRlclN1cmZhY2VMYXllckxp
c3QoKmZyYW1lLnJlbmRlclN1cmZhY2VMYXllckxpc3QpOwogCi0gICAgVFJBQ0VfRVZFTlQxKCJj
YyIsICJDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxhdGVSZW5kZXJQYXNzZXMiLCAicmVuZGVy
U3VyZmFjZUxheWVyTGlzdC5zaXplKCkiLCBzdGF0aWNfY2FzdDxsb25nIGxvbmcgdW5zaWduZWQ+
KHJlbmRlclN1cmZhY2VMYXllckxpc3Quc2l6ZSgpKSk7CisgICAgVFJBQ0VfRVZFTlQxKCJjYyIs
ICJDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxhdGVSZW5kZXJQYXNzZXMiLCAicmVuZGVyU3Vy
ZmFjZUxheWVyTGlzdC5zaXplKCkiLCBzdGF0aWNfY2FzdDxsb25nIGxvbmcgdW5zaWduZWQ+KGZy
YW1lLnJlbmRlclN1cmZhY2VMYXllckxpc3QtPnNpemUoKSkpOwogCiAgICAgbV9yb290TGF5ZXJJ
bXBsLT5zZXRTY2lzc29yUmVjdChlbmNsb3NpbmdJbnRSZWN0KG1fcm9vdFNjaXNzb3JSZWN0KSk7
CiAKICAgICAvLyBDcmVhdGUgdGhlIHJlbmRlciBwYXNzZXMgaW4gZGVwZW5kZW5jeSBvcmRlci4K
ICAgICBIYXNoTWFwPENDUmVuZGVyU3VyZmFjZSosIENDUmVuZGVyUGFzcyo+IHN1cmZhY2VQYXNz
TWFwOwotICAgIGZvciAoaW50IHN1cmZhY2VJbmRleCA9IHJlbmRlclN1cmZhY2VMYXllckxpc3Qu
c2l6ZSgpIC0gMTsgc3VyZmFjZUluZGV4ID49IDAgOyAtLXN1cmZhY2VJbmRleCkgewotICAgICAg
ICBDQ0xheWVySW1wbCogcmVuZGVyU3VyZmFjZUxheWVyID0gcmVuZGVyU3VyZmFjZUxheWVyTGlz
dFtzdXJmYWNlSW5kZXhdOworICAgIGZvciAoaW50IHN1cmZhY2VJbmRleCA9IGZyYW1lLnJlbmRl
clN1cmZhY2VMYXllckxpc3QtPnNpemUoKSAtIDE7IHN1cmZhY2VJbmRleCA+PSAwIDsgLS1zdXJm
YWNlSW5kZXgpIHsKKyAgICAgICAgQ0NMYXllckltcGwqIHJlbmRlclN1cmZhY2VMYXllciA9ICgq
ZnJhbWUucmVuZGVyU3VyZmFjZUxheWVyTGlzdClbc3VyZmFjZUluZGV4XTsKICAgICAgICAgQ0NS
ZW5kZXJTdXJmYWNlKiByZW5kZXJTdXJmYWNlID0gcmVuZGVyU3VyZmFjZUxheWVyLT5yZW5kZXJT
dXJmYWNlKCk7CiAKICAgICAgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcGFzcyA9IENDUmVuZGVy
UGFzczo6Y3JlYXRlKHJlbmRlclN1cmZhY2UpOwogICAgICAgICBzdXJmYWNlUGFzc01hcC5hZGQo
cmVuZGVyU3VyZmFjZSwgcGFzcy5nZXQoKSk7Ci0gICAgICAgIHBhc3Nlcy5hcHBlbmQocGFzcy5y
ZWxlYXNlKCkpOworICAgICAgICBmcmFtZS5yZW5kZXJQYXNzZXMuYXBwZW5kKHBhc3MucmVsZWFz
ZSgpKTsKICAgICB9CiAKICAgICBib29sIHJlY29yZE1ldHJpY3NGb3JGcmFtZSA9IHRydWU7IC8v
IEZJWE1FOiBJbiB0aGUgZnV0dXJlLCBkaXNhYmxlIHRoaXMgd2hlbiBhYm91dDp0cmFjaW5nIGlz
IG9mZi4KQEAgLTI5OSw4ICszMDAsOCBAQCBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1
bGF0ZVJlbmRlclBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIENDTGF5ZQogICAgIC8v
IGluIHRoZSBmdXR1cmUuCiAgICAgYm9vbCBkcmF3RnJhbWUgPSB0cnVlOwogCi0gICAgQ0NMYXll
ckl0ZXJhdG9yVHlwZSBlbmQgPSBDQ0xheWVySXRlcmF0b3JUeXBlOjplbmQoJnJlbmRlclN1cmZh
Y2VMYXllckxpc3QpOwotICAgIGZvciAoQ0NMYXllckl0ZXJhdG9yVHlwZSBpdCA9IENDTGF5ZXJJ
dGVyYXRvclR5cGU6OmJlZ2luKCZyZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KTsgaXQgIT0gZW5kOyAr
K2l0KSB7CisgICAgQ0NMYXllckl0ZXJhdG9yVHlwZSBlbmQgPSBDQ0xheWVySXRlcmF0b3JUeXBl
OjplbmQoZnJhbWUucmVuZGVyU3VyZmFjZUxheWVyTGlzdCk7CisgICAgZm9yIChDQ0xheWVySXRl
cmF0b3JUeXBlIGl0ID0gQ0NMYXllckl0ZXJhdG9yVHlwZTo6YmVnaW4oZnJhbWUucmVuZGVyU3Vy
ZmFjZUxheWVyTGlzdCk7IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICBDQ1JlbmRlclN1cmZh
Y2UqIHJlbmRlclN1cmZhY2UgPSBpdC50YXJnZXRSZW5kZXJTdXJmYWNlTGF5ZXIoKS0+cmVuZGVy
U3VyZmFjZSgpOwogICAgICAgICBDQ1JlbmRlclBhc3MqIHBhc3MgPSBzdXJmYWNlUGFzc01hcC5n
ZXQocmVuZGVyU3VyZmFjZSk7CiAgICAgICAgIGJvb2wgaGFkTWlzc2luZ1RpbGVzID0gZmFsc2U7
CkBAIC0zMTIsNyArMzEzLDcgQEAgYm9vbCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxhdGVS
ZW5kZXJQYXNzZXMoQ0NSZW5kZXJQYXNzTGlzdCYgcGFzc2VzLCBDQ0xheWUKICAgICAgICAgICAg
IHBhc3MtPmFwcGVuZFF1YWRzRm9yUmVuZGVyU3VyZmFjZUxheWVyKCppdCwgY29udHJpYnV0aW5n
UmVuZGVyUGFzcywgJm9jY2x1c2lvblRyYWNrZXIpOwogICAgICAgICB9IGVsc2UgaWYgKGl0LnJl
cHJlc2VudHNJdHNlbGYoKSAmJiAhb2NjbHVzaW9uVHJhY2tlci5vY2NsdWRlZCgqaXQsIGl0LT52
aXNpYmxlTGF5ZXJSZWN0KCkpICYmICFpdC0+dmlzaWJsZUxheWVyUmVjdCgpLmlzRW1wdHkoKSAm
JiAhaXQtPnNjaXNzb3JSZWN0KCkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBpdC0+d2lsbERy
YXcobV9sYXllclJlbmRlcmVyLmdldCgpLCBjb250ZXh0KCkpOwotICAgICAgICAgICAgd2lsbERy
YXdMYXllcnMuYXBwZW5kKCppdCk7CisgICAgICAgICAgICBmcmFtZS53aWxsRHJhd0xheWVycy5h
cHBlbmQoKml0KTsKIAogICAgICAgICAgICAgcGFzcy0+YXBwZW5kUXVhZHNGb3JMYXllcigqaXQs
ICZvY2NsdXNpb25UcmFja2VyLCBoYWRNaXNzaW5nVGlsZXMpOwogICAgICAgICB9CkBAIC0zMjcs
MTIgKzMyOCwxNSBAQCBib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJlbmRlclBh
c3NlcyhDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIENDTGF5ZQogICAgIH0KIAogICAgIGlmICgh
bV9oYXNUcmFuc3BhcmVudEJhY2tncm91bmQpIHsKLSAgICAgICAgcGFzc2VzLmxhc3QoKS0+c2V0
SGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKGZhbHNlKTsKLSAgICAgICAgcGFzc2VzLmxhc3QoKS0+
YXBwZW5kUXVhZHNUb0ZpbGxTY3JlZW4obV9yb290TGF5ZXJJbXBsLmdldCgpLCBtX2JhY2tncm91
bmRDb2xvciwgb2NjbHVzaW9uVHJhY2tlcik7CisgICAgICAgIGZyYW1lLnJlbmRlclBhc3Nlcy5s
YXN0KCktPnNldEhhc1RyYW5zcGFyZW50QmFja2dyb3VuZChmYWxzZSk7CisgICAgICAgIGZyYW1l
LnJlbmRlclBhc3Nlcy5sYXN0KCktPmFwcGVuZFF1YWRzVG9GaWxsU2NyZWVuKG1fcm9vdExheWVy
SW1wbC5nZXQoKSwgbV9iYWNrZ3JvdW5kQ29sb3IsIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIH0K
IAogICAgIGlmIChkcmF3RnJhbWUpCiAgICAgICAgIG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdN
ZXRyaWNzKCkucmVjb3JkTWV0cmljcyh0aGlzKTsKKworICAgIHJlbW92ZVBhc3Nlc1dpdGhDYWNo
ZWRUZXh0dXJlcyhmcmFtZS5yZW5kZXJQYXNzZXMsIGZyYW1lLnNraXBwZWRQYXNzZXMpOworCiAg
ICAgcmV0dXJuIGRyYXdGcmFtZTsKIH0KIApAQCAtMzgyLDYgKzM4Niw3MCBAQCBJbnRTaXplIEND
TGF5ZXJUcmVlSG9zdEltcGw6OmNvbnRlbnRTaXplKCkgY29uc3QKICAgICByZXR1cm4gbV9yb290
U2Nyb2xsTGF5ZXJJbXBsLT5jaGlsZHJlbigpWzBdLT5jb250ZW50Qm91bmRzKCk7CiB9CiAKK3Zv
aWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKENDUmVu
ZGVyUGFzc0xpc3QmIHBhc3Nlcywgc2l6ZV90IGJvdHRvbVBhc3MsIGNvbnN0IENDUmVuZGVyUGFz
cyogZmlyc3RUb1JlbW92ZSwgQ0NSZW5kZXJQYXNzTGlzdCYgc2tpcHBlZFBhc3NlcykKK3sKKyAg
ICBzaXplX3QgcmVtb3ZlSW5kZXggPSBwYXNzZXMuZmluZChmaXJzdFRvUmVtb3ZlKTsKKworICAg
IC8vIFRoZSBwYXNzIHdhcyBhbHJlYWR5IHJlbW92ZWQgYnkgYW5vdGhlciBxdWFkIC0gcHJvYmFi
bHkgdGhlIG9yaWdpbmFsLCBhbmQgd2UgYXJlIHRoZSByZXBsaWNhLgorICAgIGlmIChyZW1vdmVJ
bmRleCA9PSBub3RGb3VuZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgT3duUHRyPENDUmVuZGVy
UGFzcz4gcmVtb3ZlZFBhc3MgPSBwYXNzZXNbcmVtb3ZlSW5kZXhdLnJlbGVhc2UoKTsKKyAgICBw
YXNzZXMucmVtb3ZlKHJlbW92ZUluZGV4KTsKKworICAgIC8vIE5vdyBmb2xsb3cgdXAgZm9yIGFs
bCBSZW5kZXJQYXNzIHF1YWRzIGFuZCByZW1vdmUgdGhlaXIgcmVuZGVyIHBhc3NlcyByZWN1cnNp
dmVseS4KKyAgICBjb25zdCBDQ1F1YWRMaXN0JiBxdWFkTGlzdCA9IHJlbW92ZWRQYXNzLT5xdWFk
TGlzdCgpOworICAgIENDUXVhZExpc3Q6OmNvbnN0QmFja1RvRnJvbnRJdGVyYXRvciBxdWFkTGlz
dEl0ZXJhdG9yID0gcXVhZExpc3QuYmFja1RvRnJvbnRCZWdpbigpOworICAgIGZvciAoOyBxdWFk
TGlzdEl0ZXJhdG9yICE9IHF1YWRMaXN0LmJhY2tUb0Zyb250RW5kKCk7ICsrcXVhZExpc3RJdGVy
YXRvcikgeworICAgICAgICBDQ0RyYXdRdWFkKiBjdXJyZW50UXVhZCA9ICgqcXVhZExpc3RJdGVy
YXRvcikuZ2V0KCk7CisgICAgICAgIGlmIChjdXJyZW50UXVhZC0+bWF0ZXJpYWwoKSAhPSBDQ0Ry
YXdRdWFkOjpSZW5kZXJQYXNzKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgQ0NS
ZW5kZXJQYXNzRHJhd1F1YWQqIHJlbmRlclBhc3NRdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQ
YXNzRHJhd1F1YWQqPihjdXJyZW50UXVhZCk7CisgICAgICAgIGNvbnN0IENDUmVuZGVyUGFzcyog
bmV4dFJlbmRlclBhc3MgPSByZW5kZXJQYXNzUXVhZC0+cmVuZGVyUGFzcygpOworCisgICAgICAg
IC8vIE91ciBzZWFyY2ggaXMgbm93IGxpbWl0ZWQgdXAgdG8gdGhlIHBhc3MgdGhhdCB3ZSBqdXN0
IHJlbW92ZWQuCisgICAgICAgIC8vIFN1YnN0aXR1dGUgcmVtb3ZlSW5kZXggZm9yIGJvdHRvbVBh
c3Mgbm93LgorICAgICAgICByZW1vdmVSZW5kZXJQYXNzZXNSZWN1cnNpdmUocGFzc2VzLCByZW1v
dmVJbmRleCwgbmV4dFJlbmRlclBhc3MsIHNraXBwZWRQYXNzZXMpOworICAgIH0KKyAgICBza2lw
cGVkUGFzc2VzLmFwcGVuZChyZW1vdmVkUGFzcy5yZWxlYXNlKCkpOworfQorCit2b2lkIENDTGF5
ZXJUcmVlSG9zdEltcGw6OnJlbW92ZVBhc3Nlc1dpdGhDYWNoZWRUZXh0dXJlcyhDQ1JlbmRlclBh
c3NMaXN0JiBwYXNzZXMsIENDUmVuZGVyUGFzc0xpc3QmIHNraXBwZWRQYXNzZXMpCit7CisgICAg
Zm9yIChzc2l6ZV90IHBhc3NJbmRleCA9IHBhc3Nlcy5zaXplKCkgLSAxOyBwYXNzSW5kZXggPj0g
MDsgLS1wYXNzSW5kZXgpIHsKKyAgICAgICAgQ0NSZW5kZXJQYXNzKiBjdXJyZW50UGFzcyA9IHBh
c3Nlc1twYXNzSW5kZXhdLmdldCgpOworICAgICAgICBjb25zdCBDQ1F1YWRMaXN0JiBxdWFkTGlz
dCA9IGN1cnJlbnRQYXNzLT5xdWFkTGlzdCgpOworICAgICAgICBDQ1F1YWRMaXN0Ojpjb25zdEJh
Y2tUb0Zyb250SXRlcmF0b3IgcXVhZExpc3RJdGVyYXRvciA9IHF1YWRMaXN0LmJhY2tUb0Zyb250
QmVnaW4oKTsKKworICAgICAgICBmb3IgKDsgcXVhZExpc3RJdGVyYXRvciAhPSBxdWFkTGlzdC5i
YWNrVG9Gcm9udEVuZCgpOyArK3F1YWRMaXN0SXRlcmF0b3IpIHsKKyAgICAgICAgICAgIENDRHJh
d1F1YWQqIGN1cnJlbnRRdWFkID0gcXVhZExpc3RJdGVyYXRvci0+Z2V0KCk7CisKKyAgICAgICAg
ICAgIGlmIChjdXJyZW50UXVhZC0+bWF0ZXJpYWwoKSAhPSBDQ0RyYXdRdWFkOjpSZW5kZXJQYXNz
KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBDQ1JlbmRlclBhc3NE
cmF3UXVhZCogcmVuZGVyUGFzc1F1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVh
ZCo+KGN1cnJlbnRRdWFkKTsKKyAgICAgICAgICAgIENDUmVuZGVyU3VyZmFjZSogdGFyZ2V0U3Vy
ZmFjZSA9IHJlbmRlclBhc3NRdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZhY2UoKTsKKwor
ICAgICAgICAgICAgaWYgKHRhcmdldFN1cmZhY2UtPmNvbnRlbnRzQ2hhbmdlZCgpIHx8ICF0YXJn
ZXRTdXJmYWNlLT5oYXNDYWNoZWRDb250ZW50c1RleHR1cmUoKSkKKyAgICAgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICAgICAgLy8gUmVzZXJ2ZSB0aGUgdGV4dHVyZSBpbW1lZGlhdGVs
eS4gV2UgZG8gbm90IG5lZWQgdG8gcGFzcyBpbiBsYXllciByZW5kZXJlcgorICAgICAgICAgICAg
Ly8gc2luY2UgdGhlIHRleHR1cmUgYWxyZWFkeSBleGlzdHMsIGp1c3QgbmVlZHMgdG8gYmUgcmVz
ZXJ2ZWQuCisgICAgICAgICAgICBpZiAoIXRhcmdldFN1cmZhY2UtPnByZXBhcmVDb250ZW50c1Rl
eHR1cmUoMCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIC8vIFdl
IGFyZSBjaGFuZ2luZyB0aGUgdmVjdG9yIGluIHRoZSBtaWRkbGUgb2YgcmV2ZXJzZSBpdGVyYXRp
b24uCisgICAgICAgICAgICAvLyBXZSBhcmUgZ3VhcmFudGVlZCB0aGF0IGFueSBkYXRhIGZyb20g
aXRlcmF0b3IgdG8gdGhlIGVuZCB3aWxsIG5vdCBjaGFuZ2UuCisgICAgICAgICAgICAvLyBDYXB0
dXJlIHRoZSBpdGVyYXRvciBwb3NpdGlvbiBmcm9tIHRoZSBlbmQsIGFuZCByZXN0b3JlIGl0IGFm
dGVyIHRoZSBjaGFuZ2UuCisgICAgICAgICAgICBpbnQgcG9zaXRpb25Gcm9tRW5kID0gcGFzc2Vz
LnNpemUoKSAtIHBhc3NJbmRleDsKKyAgICAgICAgICAgIHJlbW92ZVJlbmRlclBhc3Nlc1JlY3Vy
c2l2ZShwYXNzZXMsIHBhc3NJbmRleCwgcmVuZGVyUGFzc1F1YWQtPnJlbmRlclBhc3MoKSwgc2tp
cHBlZFBhc3Nlcyk7CisgICAgICAgICAgICBwYXNzSW5kZXggPSBwYXNzZXMuc2l6ZSgpIC0gcG9z
aXRpb25Gcm9tRW5kOworICAgICAgICAgICAgQVNTRVJUKHBhc3NJbmRleCA+PSAwKTsKKyAgICAg
ICAgfQorICAgIH0KK30KKwogYm9vbCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpwcmVwYXJlVG9EcmF3
KEZyYW1lRGF0YSYgZnJhbWUpCiB7CiAgICAgVFJBQ0VfRVZFTlQwKCJjYyIsICJDQ0xheWVyVHJl
ZUhvc3RJbXBsOjpwcmVwYXJlVG9EcmF3Iik7CkBAIC0zOTIsNyArNDYwLDcgQEAgYm9vbCBDQ0xh
eWVyVHJlZUhvc3RJbXBsOjpwcmVwYXJlVG9EcmF3KEZyYW1lRGF0YSYgZnJhbWUpCiAgICAgZnJh
bWUucmVuZGVyU3VyZmFjZUxheWVyTGlzdC0+Y2xlYXIoKTsKICAgICBmcmFtZS53aWxsRHJhd0xh
eWVycy5jbGVhcigpOwogCi0gICAgaWYgKCFjYWxjdWxhdGVSZW5kZXJQYXNzZXMoZnJhbWUucmVu
ZGVyUGFzc2VzLCAqZnJhbWUucmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgZnJhbWUud2lsbERyYXdM
YXllcnMpKQorICAgIGlmICghY2FsY3VsYXRlUmVuZGVyUGFzc2VzKGZyYW1lKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgLy8gSWYgd2UgcmV0dXJuIHRydWUsIHRoZW4gd2UgZXhwZWN0
IGRyYXdMYXllcnMoKSB0byBiZSBjYWxsZWQgYmVmb3JlIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVk
IGFnYWluLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCmluZGV4IDYzMGU3OThi
MDk4YjljMjk1ZWExOTEyZGU4YjUzNGIyM2I0YWM5YWEuLmM5ODhlMDExYWVjNzlmM2MzNmQwYTIx
YjhmYmQzMjdjNTQ4NDYzZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgK
QEAgLTg2LDYgKzg2LDcgQEAgcHVibGljOgogCiAgICAgc3RydWN0IEZyYW1lRGF0YSB7CiAgICAg
ICAgIENDUmVuZGVyUGFzc0xpc3QgcmVuZGVyUGFzc2VzOworICAgICAgICBDQ1JlbmRlclBhc3NM
aXN0IHNraXBwZWRQYXNzZXM7CiAgICAgICAgIENDTGF5ZXJMaXN0KiByZW5kZXJTdXJmYWNlTGF5
ZXJMaXN0OwogICAgICAgICBDQ0xheWVyTGlzdCB3aWxsRHJhd0xheWVyczsKICAgICB9OwpAQCAt
MTc0LDYgKzE3NSw5IEBAIHB1YmxpYzoKICAgICBDQ0ZyYW1lUmF0ZUNvdW50ZXIqIGZwc0NvdW50
ZXIoKSBjb25zdCB7IHJldHVybiBtX2Zwc0NvdW50ZXIuZ2V0KCk7IH0KICAgICBDQ0RlYnVnUmVj
dEhpc3RvcnkqIGRlYnVnUmVjdEhpc3RvcnkoKSBjb25zdCB7IHJldHVybiBtX2RlYnVnUmVjdEhp
c3RvcnkuZ2V0KCk7IH0KIAorICAgIC8vIFJlbW92ZXMgYWxsIHJlbmRlciBwYXNzZXMgZm9yIHdo
aWNoIHdlIGhhdmUgY2FjaGVkIHRleHR1cmVzLCBhbmQgd2hpY2ggZGlkIG5vdCBjaGFuZ2UgdGhl
aXIgY29udGVudC4KKyAgICBzdGF0aWMgdm9pZCByZW1vdmVQYXNzZXNXaXRoQ2FjaGVkVGV4dHVy
ZXMoQ0NSZW5kZXJQYXNzTGlzdCYgcGFzc2VzLCBDQ1JlbmRlclBhc3NMaXN0JiBza2lwcGVkUGFz
c2VzKTsKKwogcHJvdGVjdGVkOgogICAgIENDTGF5ZXJUcmVlSG9zdEltcGwoY29uc3QgQ0NMYXll
clRyZWVTZXR0aW5ncyYsIENDTGF5ZXJUcmVlSG9zdEltcGxDbGllbnQqKTsKIApAQCAtMjA1LDEw
ICsyMDksMTMgQEAgcHJpdmF0ZToKICAgICAvLyBSZXR1cm5zIGZhbHNlIGlmIHRoZSBmcmFtZSBz
aG91bGQgbm90IGJlIGRpc3BsYXllZC4gVGhpcyBmdW5jdGlvbiBzaG91bGQKICAgICAvLyBvbmx5
IGJlIGNhbGxlZCBmcm9tIHByZXBhcmVUb0RyYXcsIGFzIGRpZERyYXdBbGxMYXllcnMgbXVzdCBi
ZSBjYWxsZWQKICAgICAvLyBpZiB0aGlzIGhlbHBlciBmdW5jdGlvbiBpcyBjYWxsZWQuCi0gICAg
Ym9vbCBjYWxjdWxhdGVSZW5kZXJQYXNzZXMoQ0NSZW5kZXJQYXNzTGlzdCYsIENDTGF5ZXJMaXN0
JiByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBDQ0xheWVyTGlzdCYgd2lsbERyYXdMYXllcnMpOwor
ICAgIGJvb2wgY2FsY3VsYXRlUmVuZGVyUGFzc2VzKEZyYW1lRGF0YSYpOwogICAgIHZvaWQgYW5p
bWF0ZUxheWVyc1JlY3Vyc2l2ZShDQ0xheWVySW1wbCosIGRvdWJsZSBtb25vdG9uaWNUaW1lLCBk
b3VibGUgd2FsbENsb2NrVGltZSwgQ0NBbmltYXRpb25FdmVudHNWZWN0b3IqLCBib29sJiBkaWRB
bmltYXRlLCBib29sJiBuZWVkc0FuaW1hdGVMYXllcnMpOwogICAgIHZvaWQgc2V0QmFja2dyb3Vu
ZFRpY2tpbmdFbmFibGVkKGJvb2wpOwogICAgIEludFNpemUgY29udGVudFNpemUoKSBjb25zdDsK
KworICAgIHN0YXRpYyB2b2lkIHJlbW92ZVJlbmRlclBhc3Nlc1JlY3Vyc2l2ZShDQ1JlbmRlclBh
c3NMaXN0JiBwYXNzZXMsIHNpemVfdCBib3R0b21QYXNzLCBjb25zdCBDQ1JlbmRlclBhc3MqIGZp
cnN0VG9SZW1vdmUsIENDUmVuZGVyUGFzc0xpc3QmIHNraXBwZWRQYXNzZXMpOworCiAgICAgdm9p
ZCBzZW5kRGlkTG9zZUNvbnRleHRSZWN1cnNpdmUoQ0NMYXllckltcGwqKTsKICAgICB2b2lkIGNs
ZWFyUmVuZGVyU3VyZmFjZXMoKTsKICAgICBib29sIGVuc3VyZVJlbmRlclN1cmZhY2VMYXllckxp
c3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDUmVuZGVyUGFzcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKaW5kZXggYTQ1MTAwNmNlODhiMTJiMDcyMzcwZGZh
MjIzOWY4MzgzYmE3MWZjNi4uMmI4YmM3ZTViY2NlYzQ4ODg5NzYzY2JiN2I0OTQwYzM5OGNiZjIw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NSZW5kZXJQYXNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGljOgogICAg
IGJvb2wgaGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKCkgY29uc3QgeyByZXR1cm4gbV9oYXNUcmFu
c3BhcmVudEJhY2tncm91bmQ7IH0KICAgICB2b2lkIHNldEhhc1RyYW5zcGFyZW50QmFja2dyb3Vu
ZChib29sIHRyYW5zcGFyZW50KSB7IG1faGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kID0gdHJhbnNw
YXJlbnQ7IH0KIAotcHJpdmF0ZToKK3Byb3RlY3RlZDoKICAgICBleHBsaWNpdCBDQ1JlbmRlclBh
c3MoQ0NSZW5kZXJTdXJmYWNlKik7CiAKICAgICBDQ1JlbmRlclN1cmZhY2UqIG1fdGFyZ2V0U3Vy
ZmFjZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCmluZGV4IGRkYWJkNTI4YzhmZDFk
MGJjZDU2YjIwMzcwZGM1M2RkMDMwMjJlY2MuLjMwNmExYzA3NWNiNTc4YjU0YjU0OTI1NzUwODE2
YjA0ZmNlM2JjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcApAQCAtODgsMTAg
Kzg4LDE4IEBAIEZsb2F0UmVjdCBDQ1JlbmRlclN1cmZhY2U6OmRyYXdhYmxlQ29udGVudFJlY3Qo
KSBjb25zdAogCiBib29sIENDUmVuZGVyU3VyZmFjZTo6cHJlcGFyZUNvbnRlbnRzVGV4dHVyZShM
YXllclJlbmRlcmVyQ2hyb21pdW0qIGxheWVyUmVuZGVyZXIpCiB7Ci0gICAgVGV4dHVyZU1hbmFn
ZXIqIHRleHR1cmVNYW5hZ2VyID0gbGF5ZXJSZW5kZXJlci0+aW1wbFRleHR1cmVNYW5hZ2VyKCk7
CisgICAgLy8gRklYTUU6IFRoaXMgbWV0aG9kIHNob3VsZCBiZSBzZXBhcmF0ZWQgaW50byB0d286
IG9uZSB0byByZXNlcnZlIGFuCisgICAgLy8gZXhpc3Rpbmcgc3VyZmFjZSwgYW5kIG9uZSB0byBj
cmVhdGUgYSBuZXcgb25lLiBUaGF0IHdheSB3ZSB3aWxsIG5vdAorICAgIC8vIG5lZWQgdG8gcGFz
cyBudWxsIGxheWVyUmVuZGVyZXIuCisgICAgaWYgKGxheWVyUmVuZGVyZXIpIHsKKyAgICAgICAg
VGV4dHVyZU1hbmFnZXIqIHRleHR1cmVNYW5hZ2VyID0gbGF5ZXJSZW5kZXJlci0+aW1wbFRleHR1
cmVNYW5hZ2VyKCk7CisKKyAgICAgICAgaWYgKCFtX2NvbnRlbnRzVGV4dHVyZSkKKyAgICAgICAg
ICAgIG1fY29udGVudHNUZXh0dXJlID0gTWFuYWdlZFRleHR1cmU6OmNyZWF0ZSh0ZXh0dXJlTWFu
YWdlcik7CisgICAgfQogCiAgICAgaWYgKCFtX2NvbnRlbnRzVGV4dHVyZSkKLSAgICAgICAgbV9j
b250ZW50c1RleHR1cmUgPSBNYW5hZ2VkVGV4dHVyZTo6Y3JlYXRlKHRleHR1cmVNYW5hZ2VyKTsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKG1fY29udGVudHNUZXh0dXJlLT5pc1Jl
c2VydmVkKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTE0LDYgKzEyMiwxMSBAQCBib29s
IENDUmVuZGVyU3VyZmFjZTo6aGFzVmFsaWRDb250ZW50c1RleHR1cmUoKSBjb25zdAogICAgIHJl
dHVybiBtX2NvbnRlbnRzVGV4dHVyZSAmJiBtX2NvbnRlbnRzVGV4dHVyZS0+aXNSZXNlcnZlZCgp
ICYmIG1fY29udGVudHNUZXh0dXJlLT5pc1ZhbGlkKG1fY29udGVudFJlY3Quc2l6ZSgpLCBHcmFw
aGljc0NvbnRleHQzRDo6UkdCQSk7CiB9CiAKK2Jvb2wgQ0NSZW5kZXJTdXJmYWNlOjpoYXNDYWNo
ZWRDb250ZW50c1RleHR1cmUoKSBjb25zdAoreworICAgIHJldHVybiBtX2NvbnRlbnRzVGV4dHVy
ZSAmJiBtX2NvbnRlbnRzVGV4dHVyZS0+aXNWYWxpZChtX2NvbnRlbnRSZWN0LnNpemUoKSwgR3Jh
cGhpY3NDb250ZXh0M0Q6OlJHQkEpOworfQorCiBib29sIENDUmVuZGVyU3VyZmFjZTo6cHJlcGFy
ZUJhY2tncm91bmRUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJlcikK
IHsKICAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSBsYXllclJlbmRlcmVyLT5p
bXBsVGV4dHVyZU1hbmFnZXIoKTsKQEAgLTIxMCw2ICsyMjMsMTEgQEAgdm9pZCBDQ1JlbmRlclN1
cmZhY2U6OnNldENsaXBSZWN0KGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KQogICAgIG1fY2xpcFJl
Y3QgPSBjbGlwUmVjdDsKIH0KIAorYm9vbCBDQ1JlbmRlclN1cmZhY2U6OmNvbnRlbnRzQ2hhbmdl
ZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICFtX2RhbWFnZVRyYWNrZXItPmN1cnJlbnREYW1hZ2VS
ZWN0KCkuaXNFbXB0eSgpOworfQorCiB2b2lkIENDUmVuZGVyU3VyZmFjZTo6c2V0Q29udGVudFJl
Y3QoY29uc3QgSW50UmVjdCYgY29udGVudFJlY3QpCiB7CiAgICAgaWYgKG1fY29udGVudFJlY3Qg
PT0gY29udGVudFJlY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCmluZGV4IDYyNTIzYjgy
MTJiN2UzNmQ2NWQ4MmRjNmQxYzY5YjkxYzg3NGM2NDkuLjE0OTQxYjk1MjhmNmM0OGJkYTYyZjRh
YTg5ZWE0NmU3NTY0MjU2ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCkBAIC01MSwx
MSArNTEsMTIgQEAgY2xhc3MgQ0NSZW5kZXJTdXJmYWNlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDQ1JlbmRlclN1cmZhY2UpOwogcHVibGljOgogICAgIGV4cGxpY2l0IENDUmVuZGVyU3Vy
ZmFjZShDQ0xheWVySW1wbCopOwotICAgIH5DQ1JlbmRlclN1cmZhY2UoKTsKKyAgICB2aXJ0dWFs
IH5DQ1JlbmRlclN1cmZhY2UoKTsKIAotICAgIGJvb2wgcHJlcGFyZUNvbnRlbnRzVGV4dHVyZShM
YXllclJlbmRlcmVyQ2hyb21pdW0qKTsKKyAgICB2aXJ0dWFsIGJvb2wgcHJlcGFyZUNvbnRlbnRz
VGV4dHVyZShMYXllclJlbmRlcmVyQ2hyb21pdW0qKTsKICAgICB2b2lkIHJlbGVhc2VDb250ZW50
c1RleHR1cmUoKTsKICAgICBib29sIGhhc1ZhbGlkQ29udGVudHNUZXh0dXJlKCkgY29uc3Q7Cisg
ICAgdmlydHVhbCBib29sIGhhc0NhY2hlZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0OwogCiAgICAg
Ym9vbCBwcmVwYXJlQmFja2dyb3VuZFRleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CiAg
ICAgdm9pZCByZWxlYXNlQmFja2dyb3VuZFRleHR1cmUoKTsKQEAgLTExNCw2ICsxMTUsOCBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRTY2lzc29yUmVjdChjb25zdCBJbnRSZWN0JiBzY2lzc29yUmVj
dCkgeyBtX3NjaXNzb3JSZWN0ID0gc2Npc3NvclJlY3Q7IH0KICAgICBjb25zdCBJbnRSZWN0JiBz
Y2lzc29yUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Npc3NvclJlY3Q7IH0KIAorICAgIHZpcnR1
YWwgYm9vbCBjb250ZW50c0NoYW5nZWQoKSBjb25zdDsKKwogICAgIHZvaWQgc2V0Q29udGVudFJl
Y3QoY29uc3QgSW50UmVjdCYpOwogICAgIGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0KCkgY29u
c3QgeyByZXR1cm4gbV9jb250ZW50UmVjdDsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcAppbmRleCA4YzliNTQzYjJjZjRl
Yjk2MmI4ODYyN2ZlZjYzNDdjOGQwMDBmNTM4Li5mNDk4MDY5ZjBlZWE3OWYzMjg5ZmQ2NGI0MDVh
ZDk3NmE5MWE4NjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0ND
RGFtYWdlVHJhY2tlclRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
Q0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAKQEAgLTkzNCw3ICs5MzQsOCBAQCBURVNUX0YoQ0NEYW1h
Z2VUcmFja2VyVGVzdCwgdmVyaWZ5RGFtYWdlRm9yTWFzaykKIAogICAgIC8vIFRoZW4gdGVzdCB0
aGUgcHJvcGVydHkgY2hhbmdlLgogICAgIGNsZWFyRGFtYWdlRm9yQWxsU3VyZmFjZXMocm9vdC5n
ZXQoKSk7Ci0gICAgbWFza0xheWVyLT5zZXRPcGFjaXR5KDAuNSk7CisgICAgbWFza0xheWVyLT5z
ZXRTdGFja2luZ09yZGVyQ2hhbmdlZCh0cnVlKTsKKwogICAgIGVtdWxhdGVEcmF3aW5nT25lRnJh
bWUocm9vdC5nZXQoKSk7CiAgICAgY2hpbGREYW1hZ2VSZWN0ID0gY2hpbGQtPnJlbmRlclN1cmZh
Y2UoKS0+ZGFtYWdlVHJhY2tlcigpLT5jdXJyZW50RGFtYWdlUmVjdCgpOwogICAgIEVYUEVDVF9G
TE9BVF9SRUNUX0VRKEZsb2F0UmVjdCgwLCAwLCAzMCwgMzApLCBjaGlsZERhbWFnZVJlY3QpOwpA
QCAtMTAwMSw3ICsxMDAyLDcgQEAgVEVTVF9GKENDRGFtYWdlVHJhY2tlclRlc3QsIHZlcmlmeURh
bWFnZUZvclJlcGxpY2FNYXNrKQogCiAgICAgLy8gQ0FTRSAxOiBhIHByb3BlcnR5IGNoYW5nZSBv
biB0aGUgbWFzayBzaG91bGQgZGFtYWdlIG9ubHkgdGhlIHJlZmxlY3RlZCByZWdpb24gb24gdGhl
IHRhcmdldCBzdXJmYWNlLgogICAgIGNsZWFyRGFtYWdlRm9yQWxsU3VyZmFjZXMocm9vdC5nZXQo
KSk7Ci0gICAgcmVwbGljYU1hc2tMYXllci0+c2V0T3BhY2l0eSgwLjZmKTsKKyAgICByZXBsaWNh
TWFza0xheWVyLT5zZXRTdGFja2luZ09yZGVyQ2hhbmdlZCh0cnVlKTsKICAgICBlbXVsYXRlRHJh
d2luZ09uZUZyYW1lKHJvb3QuZ2V0KCkpOwogCiAgICAgRmxvYXRSZWN0IGdyYW5kQ2hpbGREYW1h
Z2VSZWN0ID0gZ3JhbmRDaGlsZDEtPnJlbmRlclN1cmZhY2UoKS0+ZGFtYWdlVHJhY2tlcigpLT5j
dXJyZW50RGFtYWdlUmVjdCgpOwpAQCAtMTA2NSw3ICsxMDY2LDggQEAgVEVTVF9GKENDRGFtYWdl
VHJhY2tlclRlc3QsIHZlcmlmeURhbWFnZUZvclJlcGxpY2FNYXNrV2l0aEFuY2hvcikKIAogICAg
IC8vIEEgcHJvcGVydHkgY2hhbmdlIG9uIHRoZSByZXBsaWNhTWFzayBzaG91bGQgZGFtYWdlIHRo
ZSByZWZsZWN0ZWQgcmVnaW9uIG9uIHRoZSB0YXJnZXQgc3VyZmFjZS4KICAgICBjbGVhckRhbWFn
ZUZvckFsbFN1cmZhY2VzKHJvb3QuZ2V0KCkpOwotICAgIHJlcGxpY2FNYXNrTGF5ZXItPnNldE9w
YWNpdHkoMC42Zik7CisgICAgcmVwbGljYU1hc2tMYXllci0+c2V0U3RhY2tpbmdPcmRlckNoYW5n
ZWQodHJ1ZSk7CisKICAgICBlbXVsYXRlRHJhd2luZ09uZUZyYW1lKHJvb3QuZ2V0KCkpOwogCiAg
ICAgRmxvYXRSZWN0IGNoaWxkRGFtYWdlUmVjdCA9IGNoaWxkMS0+cmVuZGVyU3VyZmFjZSgpLT5k
YW1hZ2VUcmFja2VyKCktPmN1cnJlbnREYW1hZ2VSZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHAKaW5kZXggODI3YzlhZGFhZTA3NDQ1
NmE5ZDBjMDJiODczODM3NDc5ZjYzNjVkMy4uMDFmOTQzYTY0MGU2YWU5YzU5ZjFiNDZkYzhkZDhi
ODFkNzEyOWI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xh
eWVySW1wbFRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXll
ckltcGxUZXN0LmNwcApAQCAtNDIsMjEgKzQyLDMzIEBAIG5hbWVzcGFjZSB7CiAgICAgY29kZVRv
VGVzdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCiAgICAgRVhQRUNUX1RSVUUocm9vdC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX1RSVUUoY2hpbGQtPmxheWVyUHJv
cGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRVhQRUNUX1RS
VUUoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSkKKyAgICBFWFBFQ1RfVFJVRShn
cmFuZENoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJTdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkpCisK
IAogI2RlZmluZSBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9ESURfTk9UX0NIQU5HRShjb2Rl
VG9UZXN0KSAgICAgICAgICAgXAogICAgIHJvb3QtPnJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdGb3JT
dWJ0cmVlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGNvZGVUb1Rlc3Q7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog
ICAgIEVYUEVDVF9GQUxTRShyb290LT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgXAogICAgIEVYUEVDVF9GQUxTRShjaGlsZC0+bGF5ZXJQcm9wZXJ0eUNo
YW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIEVYUEVDVF9GQUxTRShncmFu
ZENoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKQorICAgIEVYUEVDVF9GQUxTRShncmFuZENo
aWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgXAorICAgIEVY
UEVDVF9GQUxTRShyb290LT5sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSkKIAogI2RlZmlu
ZSBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9MQVlFUl9DSEFOR0VEKGNvZGVUb1Rlc3QpICAgICAg
ICAgICAgICAgXAogICAgIHJvb3QtPnJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdGb3JTdWJ0cmVlKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGNvZGVUb1Rlc3Q7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIEVYUEVD
VF9UUlVFKHJvb3QtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAogICAgIEVYUEVDVF9GQUxTRShjaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIEVYUEVDVF9GQUxTRShncmFuZENoaWxkLT5s
YXllclByb3BlcnR5Q2hhbmdlZCgpKQorICAgIEVYUEVDVF9GQUxTRShncmFuZENoaWxkLT5sYXll
clByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVDVF9GQUxT
RShyb290LT5sYXllclN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSkKKworI2RlZmluZSBFWEVDVVRF
X0FORF9WRVJJRllfT05MWV9TVVJGQUNFX0NIQU5HRUQoY29kZVRvVGVzdCkgICAgICAgICAgICAg
XAorICAgIHJvb3QtPnJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdGb3JTdWJ0cmVlKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIGNvZGVUb1Rlc3Q7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVDVF9GQUxTRShy
b290LT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIEVYUEVDVF9GQUxTRShjaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIEVYUEVDVF9GQUxTRShncmFuZENoaWxkLT5sYXllclByb3Bl
cnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVDVF9UUlVFKHJvb3Qt
PmxheWVyU3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpKQogCiBURVNUKENDTGF5ZXJJbXBsVGVzdCwg
dmVyaWZ5TGF5ZXJDaGFuZ2VzQXJlVHJhY2tlZFByb3Blcmx5KQogewpAQCAtOTgsMTEgKzExMCw5
IEBAIFRFU1QoQ0NMYXllckltcGxUZXN0LCB2ZXJpZnlMYXllckNoYW5nZXNBcmVUcmFja2VkUHJv
cGVybHkpCiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRN
YXNrTGF5ZXIoQ0NMYXllckltcGw6OmNyZWF0ZSg0KSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklG
WV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0TWFza3NUb0JvdW5kcyh0cnVlKSk7CiAgICAgRVhF
Q1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRPcGFxdWUodHJ1ZSkpOwot
ICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVUJUUkVFX0NIQU5HRUQocm9vdC0+c2V0T3BhY2l0eShh
cmJpdHJhcnlOdW1iZXIpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VE
KHJvb3QtPnNldFJlcGxpY2FMYXllcihDQ0xheWVySW1wbDo6Y3JlYXRlKDUpKSk7CiAgICAgRVhF
Q1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXRQb3NpdGlvbihhcmJpdHJh
cnlGbG9hdFBvaW50KSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChy
b290LT5zZXRQcmVzZXJ2ZXMzRCh0cnVlKSk7Ci0gICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRS
RUVfQ0hBTkdFRChyb290LT5zZXRUcmFuc2Zvcm0oYXJiaXRyYXJ5VHJhbnNmb3JtKSk7CiAgICAg
RVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zZXREb3VibGVTaWRlZChm
YWxzZSkpOyAvLyBjb25zdHJ1Y3RvciBpbml0aWFsaXplcyBpdCB0byAidHJ1ZSIuCiAgICAgRVhF
Q1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5zY3JvbGxCeShhcmJpdHJhcnlJ
bnRTaXplKSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChyb290LT5z
ZXRTY3JvbGxEZWx0YShhcmJpdHJhcnlJbnRTaXplKSk7CkBAIC0xMTcsNiArMTI3LDEwIEBAIFRF
U1QoQ0NMYXllckltcGxUZXN0LCB2ZXJpZnlMYXllckNoYW5nZXNBcmVUcmFja2VkUHJvcGVybHkp
CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX09OTFlfTEFZRVJfQ0hBTkdFRChyb290LT5zZXRCYWNr
Z3JvdW5kQ29sb3IoQ29sb3I6OmdyYXkpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9M
QVlFUl9DSEFOR0VEKHJvb3QtPnNldEJhY2tncm91bmRGaWx0ZXJzKGFyYml0cmFyeUZpbHRlcnMp
KTsKIAorICAgIC8vIENoYW5naW5nIHRoZXNlIHByb3BlcnRpZXMgb25seSBhZmZlY3RzIGhvdyBy
ZW5kZXIgc3VyZmFjZSBpcyBkcmF3bgorICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX1NVUkZB
Q0VfQ0hBTkdFRChyb290LT5zZXRPcGFjaXR5KGFyYml0cmFyeU51bWJlcikpOworICAgIEVYRUNV
VEVfQU5EX1ZFUklGWV9PTkxZX1NVUkZBQ0VfQ0hBTkdFRChyb290LT5zZXRUcmFuc2Zvcm0oYXJi
aXRyYXJ5VHJhbnNmb3JtKSk7CisKICAgICAvLyBTcGVjaWFsIGNhc2U6IGNoZWNrIHRoYXQgc3Vi
bGF5ZXIgdHJhbnNmb3JtIGNoYW5nZXMgYWxsIGxheWVyJ3MgZGVzY2VuZGFudHMsIGJ1dCBub3Qg
dGhlIGxheWVyIGl0c2VsZi4KICAgICByb290LT5yZXNldEFsbENoYW5nZVRyYWNraW5nRm9yU3Vi
dHJlZSgpOwogICAgIHJvb3QtPnNldFN1YmxheWVyVHJhbnNmb3JtKGFyYml0cmFyeVRyYW5zZm9y
bSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVl
SG9zdEltcGxUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRy
ZWVIb3N0SW1wbFRlc3QuY3BwCmluZGV4IDM1MDkzNzZhZjhjZWVlZThiZTM2MGY4ODYyYWMyZmFj
MTU1ZGEzNjUuLjUzODYzYjYxNTllMDIzZWM1NDA4YTBkNDY4NWExMDhiZjM1NWJlNGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRl
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0
SW1wbFRlc3QuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiY2MvQ0NMYXllckltcGwu
aCIKICNpbmNsdWRlICJjYy9DQ0xheWVyVGlsaW5nRGF0YS5oIgogI2luY2x1ZGUgImNjL0NDUXVh
ZEN1bGxlci5oIgorI2luY2x1ZGUgImNjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmgiCiAjaW5jbHVk
ZSAiY2MvQ0NTY3JvbGxiYXJMYXllckltcGwuaCIKICNpbmNsdWRlICJjYy9DQ1NldHRpbmdzLmgi
CiAjaW5jbHVkZSAiY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oIgpAQCAtMjQwNCw0ICsyNDA1LDU5
NyBAQCBURVNUX0YoQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QsIGhhc1RyYW5zcGFyZW50QmFja2dy
b3VuZCkKICAgICBNb2NrOjpWZXJpZnlBbmRDbGVhckV4cGVjdGF0aW9ucygmbW9ja0NvbnRleHQp
OwogfQogCitURVNUX0YoQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QsIHN1cmZhY2VUZXh0dXJlQ2Fj
aGluZykKK3sKKyAgICBDQ1NldHRpbmdzOjpzZXRQYXJ0aWFsU3dhcEVuYWJsZWQodHJ1ZSk7Cisg
ICAgCisgICAgQ0NMYXllclRyZWVTZXR0aW5ncyBzZXR0aW5nczsKKyAgICBPd25QdHI8Q0NMYXll
clRyZWVIb3N0SW1wbD4gbXlIb3N0SW1wbCA9IENDTGF5ZXJUcmVlSG9zdEltcGw6OmNyZWF0ZShz
ZXR0aW5ncywgdGhpcyk7CisgICAgCisgICAgUmVmUHRyPENDR3JhcGhpY3NDb250ZXh0PiBjb250
ZXh0ID0gQ0NHcmFwaGljc0NvbnRleHQ6OmNyZWF0ZTNEKEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0
ZTo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0RnJvbVdlYkNvbnRleHQoYWRvcHRQdHIobmV3IFBhcnRp
YWxTd2FwQ29udGV4dCgpKSwgR3JhcGhpY3NDb250ZXh0M0Q6OlJlbmRlckRpcmVjdGx5VG9Ib3N0
V2luZG93KSk7CisKKyAgICBteUhvc3RJbXBsLT5pbml0aWFsaXplTGF5ZXJSZW5kZXJlcihjb250
ZXh0LnJlbGVhc2UoKSwgVW50aHJvdHRsZWRVcGxvYWRlcik7CisgICAgbXlIb3N0SW1wbC0+c2V0
Vmlld3BvcnRTaXplKEludFNpemUoMTAwLCAxMDApKTsKKworICAgIE93blB0cjxDQ0xheWVySW1w
bD4gcm9vdCA9IENDTGF5ZXJJbXBsOjpjcmVhdGUoMSk7CisgICAgQ0NMYXllckltcGwqIHJvb3RQ
dHIgPSByb290LmdldCgpOworCisgICAgcm9vdC0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludCgw
LCAwKSk7CisgICAgcm9vdC0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCgwLCAwKSk7CisgICAgcm9v
dC0+c2V0Qm91bmRzKEludFNpemUoMTAwLCAxMDApKTsKKyAgICByb290LT5zZXRDb250ZW50Qm91
bmRzKEludFNpemUoMTAwLCAxMDApKTsKKyAgICByb290LT5zZXRWaXNpYmxlTGF5ZXJSZWN0KElu
dFJlY3QoMCwgMCwgMTAwLCAxMDApKTsKKyAgICByb290LT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7
CisgICAgbXlIb3N0SW1wbC0+c2V0Um9vdExheWVyKHJvb3QucmVsZWFzZSgpKTsKKworICAgIC8v
IEludGVybWVkaWF0ZSBsYXllciBkb2VzIG5vdCBvd24gYSBzdXJmYWNlLCBhbmQgZG9lcyBub3Qg
ZHJhdyBjb250ZW50LgorICAgIE93blB0cjxDQ0xheWVySW1wbD4gaW50ZXJtZWRpYXRlTGF5ZXIg
PSBDQ0xheWVySW1wbDo6Y3JlYXRlKDIpOworICAgIENDTGF5ZXJJbXBsKiBpbnRlcm1lZGlhdGVM
YXllclB0ciA9IGludGVybWVkaWF0ZUxheWVyLmdldCgpOworCisgICAgaW50ZXJtZWRpYXRlTGF5
ZXJQdHItPnNldEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIGludGVybWVkaWF0
ZUxheWVyUHRyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KDEwLCAxMCkpOworICAgIGludGVybWVk
aWF0ZUxheWVyUHRyLT5zZXRCb3VuZHMoSW50U2l6ZSgxMDAsIDEwMCkpOworICAgIGludGVybWVk
aWF0ZUxheWVyUHRyLT5zZXRDb250ZW50Qm91bmRzKEludFNpemUoMTAwLCAxMDApKTsKKyAgICBp
bnRlcm1lZGlhdGVMYXllclB0ci0+c2V0VmlzaWJsZUxheWVyUmVjdChJbnRSZWN0KDAsIDAsIDEw
MCwgMTAwKSk7CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNldERyYXdzQ29udGVudChmYWxz
ZSk7IC8vIG9ubHkgY2hpbGRyZW4gZHJhdyBjb250ZW50CisgICAgcm9vdFB0ci0+YWRkQ2hpbGQo
aW50ZXJtZWRpYXRlTGF5ZXIucmVsZWFzZSgpKTsKKworICAgIE93blB0cjxDQ0xheWVySW1wbD4g
c3VyZmFjZUxheWVyID0gQ0NMYXllckltcGw6OmNyZWF0ZSgzKTsKKyAgICBDQ0xheWVySW1wbCog
c3VyZmFjZUxheWVyUHRyID0gc3VyZmFjZUxheWVyLmdldCgpOworCisgICAgLy8gU3VyZmFjZSBs
YXllciBpcyB0aGUgbGF5ZXIgdGhhdCBjaGFuZ2VzIGl0cyBvcGFjaXR5CisgICAgLy8gSXQgd2ls
bCBjb250YWluIG90aGVyIGxheWVycyB0aGF0IGRyYXcgY29udGVudC4KKyAgICBzdXJmYWNlTGF5
ZXJQdHItPnNldEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIHN1cmZhY2VMYXll
clB0ci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCgxMCwgMTApKTsKKyAgICBzdXJmYWNlTGF5ZXJQ
dHItPnNldEJvdW5kcyhJbnRTaXplKDUwLCA1MCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0
Q29udGVudEJvdW5kcyhJbnRTaXplKDUwLCA1MCkpOworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0
VmlzaWJsZUxheWVyUmVjdChJbnRSZWN0KDAsIDAsIDUwLCA1MCkpOworICAgIHN1cmZhY2VMYXll
clB0ci0+c2V0RHJhd3NDb250ZW50KGZhbHNlKTsgLy8gb25seSBjaGlsZHJlbiBkcmF3IGNvbnRl
bnQKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldE9wYWNpdHkoMC41Zik7IC8vIFRoaXMgd2lsbCBj
YXVzZSBpdCB0byBoYXZlIGEgc3VyZmFjZQorICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5hZGRD
aGlsZChzdXJmYWNlTGF5ZXIucmVsZWFzZSgpKTsKKworICAgIC8vIENoaWxkIG9mIHRoZSBzdXJm
YWNlIGxheWVyIHdpbGwgcHJvZHVjZSBzb21lIHF1YWRzCisgICAgT3duUHRyPEZha2VMYXllcldp
dGhRdWFkcz4gY2hpbGQgPSBGYWtlTGF5ZXJXaXRoUXVhZHM6OmNyZWF0ZSg0KTsKKyAgICBGYWtl
TGF5ZXJXaXRoUXVhZHMqIGNoaWxkUHRyID0gY2hpbGQuZ2V0KCk7CisKKyAgICBjaGlsZFB0ci0+
c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludCgwLCAwKSk7CisgICAgY2hpbGRQdHItPnNldFBvc2l0
aW9uKEZsb2F0UG9pbnQoNSwgNSkpOworICAgIGNoaWxkUHRyLT5zZXRCb3VuZHMoSW50U2l6ZSgx
MCwgMTApKTsKKyAgICBjaGlsZFB0ci0+c2V0Q29udGVudEJvdW5kcyhJbnRTaXplKDEwLCAxMCkp
OworICAgIGNoaWxkUHRyLT5zZXRWaXNpYmxlTGF5ZXJSZWN0KEludFJlY3QoMCwgMCwgMTAsIDEw
KSk7CisgICAgY2hpbGRQdHItPnNldERyYXdzQ29udGVudCh0cnVlKTsKKworICAgIHN1cmZhY2VM
YXllclB0ci0+YWRkQ2hpbGQoY2hpbGQucmVsZWFzZSgpKTsKKworICAgIHsKKyAgICAgICAgQ0NM
YXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRSht
eUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNl
aXZlIHR3byByZW5kZXIgcGFzc2VzLCBlYWNoIHdpdGggb25lIHF1YWQKKyAgICAgICAgQVNTRVJU
X0VRKDJVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDFV
LCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQ
RUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKwor
ICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUucmVuZGVyUGFz
c2VzWzFdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgpKTsKKyAgICAgICAgQ0NSZW5kZXJQYXNz
RHJhd1F1YWQqIHF1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGZyYW1l
LnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9U
UlVFKHF1YWQtPnJlbmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgpLT5jb250ZW50c0NoYW5nZWQo
KSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15
SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworICAgIH0KKworICAgIC8vIERyYXcg
d2l0aG91dCBhbnkgY2hhbmdlCisgICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpG
cmFtZURhdGEgZnJhbWU7CisgICAgICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVU
b0RyYXcoZnJhbWUpKTsKKworICAgICAgICAvLyBNdXN0IHJlY2VpdmUgdHdvIEVNUFRZIHJlbmRl
ciBwYXNzZXMKKyAgICAgICAgQVNTRVJUX0VRKDJVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgp
KTsKKyAgICAgICAgRVhQRUNUX0VRKDBVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0
KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDBVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0t
PnF1YWRMaXN0KCkuc2l6ZSgpKTsKKworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZy
YW1lKTsKKyAgICAgICAgbXlIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisgICAg
fQorCisgICAgLy8gQ2hhbmdlIG9wYWNpdHkgYW5kIGRyYXcKKyAgICBzdXJmYWNlTGF5ZXJQdHIt
PnNldE9wYWNpdHkoMC42Zik7CisgICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpG
cmFtZURhdGEgZnJhbWU7CisgICAgICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVU
b0RyYXcoZnJhbWUpKTsKKworICAgICAgICAvLyBNdXN0IHJlY2VpdmUgb25lIHJlbmRlciBwYXNz
LCBhcyB0aGUgb3RoZXIgb25lIHNob3VsZCBiZSBjdWxsZWQKKyAgICAgICAgQVNTRVJUX0VRKDFV
LCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZy
YW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1Rf
RVEoQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlz
dCgpWzBdLT5tYXRlcmlhbCgpKTsKKyAgICAgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQg
PSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGZyYW1lLnJlbmRlclBhc3Nlc1sw
XS0+cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShxdWFkLT5yZW5k
ZXJQYXNzKCktPnRhcmdldFN1cmZhY2UoKS0+Y29udGVudHNDaGFuZ2VkKCkpOworCisgICAgICAg
IG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWRE
cmF3QWxsTGF5ZXJzKGZyYW1lKTsKKyAgICB9CisKKyAgICAvLyBDaGFuZ2UgbGVzcyBiZW5pZ24g
cHJvcGVydHkgYW5kIGRyYXcgLSBzaG91bGQgaGF2ZSBjb250ZW50cyBjaGFuZ2VkIGZsYWcKKyAg
ICBzdXJmYWNlTGF5ZXJQdHItPnNldFN0YWNraW5nT3JkZXJDaGFuZ2VkKHRydWUpOworICAgIHsK
KyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBF
WFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAg
Ly8gTXVzdCByZWNlaXZlIHR3byByZW5kZXIgcGFzc2VzLCBlYWNoIHdpdGggb25lIHF1YWQKKyAg
ICAgICAgQVNTRVJUX0VRKDJVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKworICAgICAg
ICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkp
OworICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6U29saWRDb2xvciwgZnJhbWUucmVuZGVy
UGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgpKTsKKworICAgICAgICBFWFBFQ1Rf
RVEoQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlz
dCgpWzBdLT5tYXRlcmlhbCgpKTsKKyAgICAgICAgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQg
PSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+KGZyYW1lLnJlbmRlclBhc3Nlc1sx
XS0+cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9UUlVFKHF1YWQtPnJlbmRl
clBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgpLT5jb250ZW50c0NoYW5nZWQoKSk7CisKKyAgICAgICAg
bXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERy
YXdBbGxMYXllcnMoZnJhbWUpOworICAgIH0KKworICAgIC8vIENoYW5nZSBvcGFjaXR5IGFnYWlu
LCBidXQgZXZpY3QgdGhlIGNhY2hlZCBzdXJmYWNlIHRleHR1cmUKKyAgICBzdXJmYWNlTGF5ZXJQ
dHItPnNldE9wYWNpdHkoMC41Zik7CisgICAgTWFuYWdlZFRleHR1cmUqIGNvbnRlbnRzVGV4dHVy
ZSA9IHN1cmZhY2VMYXllclB0ci0+cmVuZGVyU3VyZmFjZSgpLT5jb250ZW50c1RleHR1cmUoKTsK
KyAgICBBU1NFUlRfVFJVRShjb250ZW50c1RleHR1cmUtPmlzVmFsaWQoY29udGVudHNUZXh0dXJl
LT5zaXplKCksIGNvbnRlbnRzVGV4dHVyZS0+Zm9ybWF0KCkpKTsKKyAgICBDQ1JlbmRlcmVyKiBy
ZW5kZXJlciA9IG15SG9zdEltcGwtPmxheWVyUmVuZGVyZXIoKTsKKyAgICBUZXh0dXJlTWFuYWdl
ciogdGV4dHVyZU1hbmFnZXIgPSByZW5kZXJlci0+aW1wbFRleHR1cmVNYW5hZ2VyKCk7CisgICAg
c2l6ZV90IG1heE1lbW9yeUxpbWl0ID0gdGV4dHVyZU1hbmFnZXItPm1heE1lbW9yeUxpbWl0Qnl0
ZXMoKTsKKworICAgIC8vIFRoaXMgc2hvdWxkIGV2aWNlIGFsbCBjYWNoZWQgc3VyZmFjZXMKKyAg
ICB0ZXh0dXJlTWFuYWdlci0+c2V0TWF4TWVtb3J5TGltaXRCeXRlcygwKTsKKworICAgIC8vIFJl
c3RvcmUgb3JpZ2luYWwgbGltaXQKKyAgICB0ZXh0dXJlTWFuYWdlci0+c2V0TWF4TWVtb3J5TGlt
aXRCeXRlcyhtYXhNZW1vcnlMaW1pdCk7CisKKyAgICAvLyBXYXMgb3VyIHN1cmZhY2UgZXZpY3Rl
ZD8KKyAgICBBU1NFUlRfRkFMU0UoY29udGVudHNUZXh0dXJlLT5pc1ZhbGlkKGNvbnRlbnRzVGV4
dHVyZS0+c2l6ZSgpLCBjb250ZW50c1RleHR1cmUtPmZvcm1hdCgpKSk7CisKKyAgICAvLyBDaGFu
Z2Ugb3BhY2l0eSBhbmQgZHJhdworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0T3BhY2l0eSgwLjZm
KTsKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsK
KyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOwor
CisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gcmVuZGVyIHBhc3NlcworICAgICAgICBBU1NF
UlRfRVEoMlUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworCisgICAgICAgIC8vIEV2ZW4g
dGhvdWdoIG5vdCBlbm91Z2ggcHJvcGVydGllcyBjaGFuZ2VkLCB0aGUgZW50aXJlIHRoaW5nIG11
c3QgYmUKKyAgICAgICAgLy8gcmVkcmF3biBhcyB3ZSBkb24ndCBoYXZlIGNhY2hlZCB0ZXh0dXJl
cworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3Qo
KS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+
cXVhZExpc3QoKS5zaXplKCkpOworCisgICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5k
ZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkp
OworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVu
ZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpWzBdLmdl
dCgpKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHF1YWQtPnJlbmRlclBhc3MoKS0+dGFyZ2V0U3Vy
ZmFjZSgpLT5jb250ZW50c0NoYW5nZWQoKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xh
eWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUp
OworICAgIH0KKworICAgIC8vIERyYXcgd2l0aG91dCBhbnkgY2hhbmdlLCB0byBtYWtlIHN1cmUg
dGhlIHN0YXRlIGlzIGNsZWFyCisgICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpG
cmFtZURhdGEgZnJhbWU7CisgICAgICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVU
b0RyYXcoZnJhbWUpKTsKKworICAgICAgICAvLyBNdXN0IHJlY2VpdmUgdHdvIEVNUFRZIHJlbmRl
ciBwYXNzZXMKKyAgICAgICAgQVNTRVJUX0VRKDJVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgp
KTsKKyAgICAgICAgRVhQRUNUX0VRKDBVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0
KCkuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDBVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0t
PnF1YWRMaXN0KCkuc2l6ZSgpKTsKKworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZy
YW1lKTsKKyAgICAgICAgbXlIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisgICAg
fQorCisgICAgLy8gQ2hhbmdlIG9wYWNpdHkgb24gdGhlIGludGVybWVkaWF0ZSBsYXllcgorICAg
IFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zZm9ybSA9IGludGVybWVkaWF0ZUxheWVyUHRy
LT50cmFuc2Zvcm0oKTsKKyAgICB0cmFuc2Zvcm0uc2V0TTExKDEuMDAwMSk7CisgICAgaW50ZXJt
ZWRpYXRlTGF5ZXJQdHItPnNldFRyYW5zZm9ybSh0cmFuc2Zvcm0pOworICAgIHsKKyAgICAgICAg
Q0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJV
RShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCBy
ZWNlaXZlIG9uZSByZW5kZXIgcGFzcywgYXMgdGhlIG90aGVyIG9uZSBzaG91bGQgYmUgY3VsbGVk
LgorICAgICAgICBBU1NFUlRfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworICAg
ICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXpl
KCkpOworCisgICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5y
ZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1Jl
bmRlclBhc3NEcmF3UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFk
Kj4oZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAg
RVhQRUNUX0ZBTFNFKHF1YWQtPnJlbmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgpLT5jb250ZW50
c0NoYW5nZWQoKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7Cisg
ICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworICAgIH0KK30KKwor
c3RydWN0IFJlbmRlclBhc3NDYWNoZUVudHJ5IHsKKyAgICBtdXRhYmxlIE93blB0cjxDQ1JlbmRl
clBhc3M+IHJlbmRlclBhc3NQdHI7CisgICAgQ0NSZW5kZXJQYXNzKiByZW5kZXJQYXNzOworCisg
ICAgUmVuZGVyUGFzc0NhY2hlRW50cnkoUGFzc093blB0cjxDQ1JlbmRlclBhc3M+IHIpCisgICAg
ICAgIDogcmVuZGVyUGFzc1B0cihyKSwKKyAgICAgICAgICByZW5kZXJQYXNzKHJlbmRlclBhc3NQ
dHIuZ2V0KCkpCisgICAgeworICAgIH0KKworICAgIFJlbmRlclBhc3NDYWNoZUVudHJ5KCkKKyAg
ICB7CisgICAgfQorCisgICAgUmVuZGVyUGFzc0NhY2hlRW50cnkoY29uc3QgUmVuZGVyUGFzc0Nh
Y2hlRW50cnkmIGVudHJ5KQorICAgICAgICA6IHJlbmRlclBhc3NQdHIoZW50cnkucmVuZGVyUGFz
c1B0ci5yZWxlYXNlKCkpLAorICAgICAgICAgIHJlbmRlclBhc3MoZW50cnkucmVuZGVyUGFzcykK
KyAgICB7CisgICAgfQorCisgICAgUmVuZGVyUGFzc0NhY2hlRW50cnkmIG9wZXJhdG9yPShjb25z
dCBSZW5kZXJQYXNzQ2FjaGVFbnRyeSYgZW50cnkpCisgICAgeworICAgICAgICByZW5kZXJQYXNz
UHRyID0gZW50cnkucmVuZGVyUGFzc1B0ci5yZWxlYXNlKCk7CisgICAgICAgIHJlbmRlclBhc3Mg
PSBlbnRyeS5yZW5kZXJQYXNzOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorfTsKKwor
c3RydWN0IFJlbmRlclBhc3NSZW1vdmFsVGVzdERhdGEgeworICAgIENDUmVuZGVyUGFzc0xpc3Qg
cmVuZGVyUGFzc0xpc3Q7CisgICAgc3RkOjptYXA8Y2hhciwgUmVuZGVyUGFzc0NhY2hlRW50cnk+
IHJlbmRlclBhc3NDYWNoZTsKKyAgICBzdGQ6Om1hcDxjb25zdCBDQ1JlbmRlclBhc3MqLCBjaGFy
PiByZW5kZXJQYXNzSWQ7CisgICAgVmVjdG9yPE93blB0cjxDQ1JlbmRlclN1cmZhY2U+ID4gcmVu
ZGVyU3VyZmFjZVN0b3JlOworICAgIFZlY3RvcjxPd25QdHI8Q0NMYXllckltcGw+ID4gbGF5ZXJT
dG9yZTsKKyAgICBPd25QdHI8Q0NTaGFyZWRRdWFkU3RhdGU+IHNoYXJlZFF1YWRTdGF0ZTsKK307
CisKK2NsYXNzIEZha2VSZW5kZXJTdXJmYWNlIDogcHVibGljIENDUmVuZGVyU3VyZmFjZSB7Citw
cml2YXRlOgorICAgIGJvb2wgbV9oYXNDYWNoZWRUZXh0dXJlOworICAgIGJvb2wgbV9jb250ZW50
c0NoYW5nZWQ7CisKK3B1YmxpYzoKKyAgICBGYWtlUmVuZGVyU3VyZmFjZShDQ0xheWVySW1wbCog
bGF5ZXJJbXBsKQorICAgICAgICA6IENDUmVuZGVyU3VyZmFjZShsYXllckltcGwpLAorICAgICAg
ICAgIG1faGFzQ2FjaGVkVGV4dHVyZShmYWxzZSkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVh
bCBib29sIGhhc0NhY2hlZENvbnRlbnRzVGV4dHVyZSgpIGNvbnN0IE9WRVJSSURFCisgICAgewor
ICAgICAgICByZXR1cm4gbV9oYXNDYWNoZWRUZXh0dXJlOworICAgIH0KKworICAgIHZpcnR1YWwg
Ym9vbCBwcmVwYXJlQ29udGVudHNUZXh0dXJlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbHJjKSBP
VkVSUklERQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgdmlydHVh
bCBib29sIGNvbnRlbnRzQ2hhbmdlZCgpIGNvbnN0IE9WRVJSSURFCisgICAgeworICAgICAgICBy
ZXR1cm4gbV9jb250ZW50c0NoYW5nZWQ7CisgICAgfQorCisgICAgdm9pZCBzZXRIYXNDYWNoZWRU
ZXh0dXJlKGJvb2wgaGFzQ2FjaGVkVGV4dHVyZSkKKyAgICB7CisgICAgICAgIG1faGFzQ2FjaGVk
VGV4dHVyZSA9IGhhc0NhY2hlZFRleHR1cmU7CisgICAgfQorCisgICAgdm9pZCBzZXRDb250ZW50
c0NoYW5nZWQoYm9vbCBjb250ZW50c0NoYW5nZWQpCisgICAgeworICAgICAgICBtX2NvbnRlbnRz
Q2hhbmdlZCA9IGNvbnRlbnRzQ2hhbmdlZDsKKyAgICB9Cit9OworCitjbGFzcyBDQ1Rlc3RSZW5k
ZXJQYXNzOiBwdWJsaWMgQ0NSZW5kZXJQYXNzIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093
blB0cjxDQ1JlbmRlclBhc3M+IGNyZWF0ZShDQ1JlbmRlclN1cmZhY2UqIHRhcmdldFN1cmZhY2Up
CisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IENDVGVzdFJlbmRlclBhc3ModGFy
Z2V0U3VyZmFjZSkpOworICAgIH0KKworcHJvdGVjdGVkOgorICAgIENDVGVzdFJlbmRlclBhc3Mo
Q0NSZW5kZXJTdXJmYWNlKiBzdXJmYWNlKQorICAgICAgICA6IENDUmVuZGVyUGFzcyhzdXJmYWNl
KQorICAgIHsKKyAgICB9CisKK3B1YmxpYzoKKyAgICB2b2lkIGFwcGVuZFF1YWQoUGFzc093blB0
cjxDQ0RyYXdRdWFkPiBxdWFkKQorICAgIHsKKyAgICAgICAgbV9xdWFkTGlzdC5hcHBlbmQocXVh
ZCk7CisgICAgfQorfTsKKworc3RhdGljIFBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzPiBjcmVhdGVE
dW1teVJlbmRlclBhc3MoUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSYgdGVzdERhdGEpCit7Cisg
ICAgT3duUHRyPENDTGF5ZXJJbXBsPiBsYXllckltcGwgPSBDQ0xheWVySW1wbDo6Y3JlYXRlKDEp
OworICAgIENDUmVuZGVyU3VyZmFjZSogcmVuZGVyU3VyZmFjZSA9IG5ldyBGYWtlUmVuZGVyU3Vy
ZmFjZShsYXllckltcGwuZ2V0KCkpOworICAgIE93blB0cjxDQ1JlbmRlclBhc3M+IHJlbmRlclBh
c3NQdHIgPSBDQ1Rlc3RSZW5kZXJQYXNzOjpjcmVhdGUocmVuZGVyU3VyZmFjZSk7CisKKyAgICB0
ZXN0RGF0YS5yZW5kZXJTdXJmYWNlU3RvcmUuYXBwZW5kKGFkb3B0UHRyKHJlbmRlclN1cmZhY2Up
KTsKKyAgICB0ZXN0RGF0YS5sYXllclN0b3JlLmFwcGVuZChsYXllckltcGwucmVsZWFzZSgpKTsK
KyAgICByZXR1cm4gcmVuZGVyUGFzc1B0ci5yZWxlYXNlKCk7Cit9CisKK3N0YXRpYyB2b2lkIGNv
bmZpZ3VyZVJlbmRlclBhc3NUZXN0RGF0YShjb25zdCBjaGFyKiB0ZXN0U2NyaXB0LCBSZW5kZXJQ
YXNzUmVtb3ZhbFRlc3REYXRhJiB0ZXN0RGF0YSkKK3sKKyAgICAvLyBPbmUgc2hhcmVkIHN0YXRl
IGZvciBhbGwgcXVhZHMgLSB3ZSBkb24ndCBuZWVkIHRoZSBjb3JyZWN0IGRldGFpbHMKKyAgICB0
ZXN0RGF0YS5zaGFyZWRRdWFkU3RhdGUgPSBDQ1NoYXJlZFF1YWRTdGF0ZTo6Y3JlYXRlKFdlYlRy
YW5zZm9ybWF0aW9uTWF0cml4KCksIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4KCksIEludFJlY3Qo
KSwgSW50UmVjdCgpLCAxLjAsIHRydWUpOworCisgICAgY29uc3QgY2hhciogY3VycmVudENoYXIg
PSB0ZXN0U2NyaXB0OworCisgICAgLy8gUHJlLWNyZWF0ZSByb290IHBhc3MKKyAgICBPd25QdHI8
Q0NSZW5kZXJQYXNzPiByb290UmVuZGVyUGFzcyA9IGNyZWF0ZUR1bW15UmVuZGVyUGFzcyh0ZXN0
RGF0YSk7CisgICAgdGVzdERhdGEucmVuZGVyUGFzc0lkLmluc2VydChzdGQ6OnBhaXI8Q0NSZW5k
ZXJQYXNzKiwgY2hhcj4ocm9vdFJlbmRlclBhc3MuZ2V0KCksIHRlc3RTY3JpcHRbMF0pKTsKKyAg
ICB0ZXN0RGF0YS5yZW5kZXJQYXNzQ2FjaGUuaW5zZXJ0KHN0ZDo6cGFpcjxjaGFyLCBSZW5kZXJQ
YXNzQ2FjaGVFbnRyeT4odGVzdFNjcmlwdFswXSwgUmVuZGVyUGFzc0NhY2hlRW50cnkocm9vdFJl
bmRlclBhc3MucmVsZWFzZSgpKSkpOworICAgIHdoaWxlICgqY3VycmVudENoYXIgIT0gJ1wwJykg
eworICAgICAgICBjaGFyIHJlbmRlclBhc3NJZCA9IGN1cnJlbnRDaGFyWzBdOworICAgICAgICBj
dXJyZW50Q2hhcisrOworCisgICAgICAgIE93blB0cjxDQ1JlbmRlclBhc3M+IHJlbmRlclBhc3M7
CisKKyAgICAgICAgYm9vbCBpc1JlcGxpY2EgPSBmYWxzZTsKKyAgICAgICAgaWYgKCF0ZXN0RGF0
YS5yZW5kZXJQYXNzQ2FjaGVbcmVuZGVyUGFzc0lkXS5yZW5kZXJQYXNzUHRyLmdldCgpKQorICAg
ICAgICAgICAgaXNSZXBsaWNhID0gdHJ1ZTsKKworICAgICAgICByZW5kZXJQYXNzID0gdGVzdERh
dGEucmVuZGVyUGFzc0NhY2hlW3JlbmRlclBhc3NJZF0ucmVuZGVyUGFzc1B0ci5yZWxlYXNlKCk7
CisKKyAgICAgICAgLy8gQ3ljbGUgdGhyb3VnaCBxdWFkIGRhdGEgYW5kIGNyZWF0ZSBhbGwgcXVh
ZHMKKyAgICAgICAgd2hpbGUgKCpjdXJyZW50Q2hhciAhPSAnXG4nICYmICpjdXJyZW50Q2hhciAh
PSAnXDAnKSB7CisgICAgICAgICAgICBpZiAoKmN1cnJlbnRDaGFyID09ICdzJykgeworICAgICAg
ICAgICAgICAgIC8vIFNvbGlkIGNvbG9yIGRyYXcgcXVhZAorICAgICAgICAgICAgICAgIE93blB0
cjxDQ0RyYXdRdWFkPiBxdWFkID0gQ0NTb2xpZENvbG9yRHJhd1F1YWQ6OmNyZWF0ZSh0ZXN0RGF0
YS5zaGFyZWRRdWFkU3RhdGUuZ2V0KCksIEludFJlY3QoMCwgMCwgMTAsIDEwKSwgQ29sb3I6Ondo
aXRlKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxDQ1Rl
c3RSZW5kZXJQYXNzKj4ocmVuZGVyUGFzcy5nZXQoKSktPmFwcGVuZFF1YWQocXVhZC5yZWxlYXNl
KCkpOworICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyKys7CisgICAgICAgICAgICB9IGVsc2Ug
aWYgKCgqY3VycmVudENoYXIgPj0gJ0EnKSAmJiAoKmN1cnJlbnRDaGFyIDw9ICdaJykpIHsKKyAg
ICAgICAgICAgICAgICAvLyBSZW5kZXJQYXNzIGRyYXcgcXVhZAorICAgICAgICAgICAgICAgIGNo
YXIgbmV3UmVuZGVyUGFzc0lkID0gKmN1cnJlbnRDaGFyOworICAgICAgICAgICAgICAgIGN1cnJl
bnRDaGFyKys7CisgICAgICAgICAgICAgICAgYm9vbCBoYXNUZXh0dXJlID0gZmFsc2U7CisgICAg
ICAgICAgICAgICAgYm9vbCBjb250ZW50c0NoYW5nZWQgPSB0cnVlOworICAgICAgICAgICAgICAg
IAorICAgICAgICAgICAgICAgIGlmICgqY3VycmVudENoYXIgPT0gJ1snKSB7CisgICAgICAgICAg
ICAgICAgICAgIGN1cnJlbnRDaGFyKys7CisgICAgICAgICAgICAgICAgICAgIHdoaWxlICgoKmN1
cnJlbnRDaGFyICE9ICddJykgJiYgKCpjdXJyZW50Q2hhciAhPSAnXDAnKSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgc3dpdGNoICgqY3VycmVudENoYXIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNhc2UgJ2MnOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzQ2hh
bmdlZCA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgICAgICAgICAgICAgY2FzZSAndCc6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aGFzVGV4dHVyZSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50
Q2hhcisrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGlmICgq
Y3VycmVudENoYXIgPT0gJ10nKQorICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudENoYXIr
KzsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBDQ1JlbmRlclBhc3MqIHJl
ZlJlbmRlclBhc3NQdHI7CisKKyAgICAgICAgICAgICAgICBpZiAodGVzdERhdGEucmVuZGVyUGFz
c0NhY2hlLmZpbmQobmV3UmVuZGVyUGFzc0lkKSA9PSB0ZXN0RGF0YS5yZW5kZXJQYXNzQ2FjaGUu
ZW5kKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcmVmUmVu
ZGVyUGFzcyA9IGNyZWF0ZUR1bW15UmVuZGVyUGFzcyh0ZXN0RGF0YSk7CisgICAgICAgICAgICAg
ICAgICAgIHJlZlJlbmRlclBhc3NQdHIgPSByZWZSZW5kZXJQYXNzLmdldCgpOworICAgICAgICAg
ICAgICAgICAgICBGYWtlUmVuZGVyU3VyZmFjZSogcmVmUmVuZGVyU3VyZmFjZSA9IHN0YXRpY19j
YXN0PEZha2VSZW5kZXJTdXJmYWNlKj4ocmVmUmVuZGVyUGFzcy0+dGFyZ2V0U3VyZmFjZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgcmVmUmVuZGVyU3VyZmFjZS0+c2V0SGFzQ2FjaGVkVGV4dHVy
ZShoYXNUZXh0dXJlKTsKKyAgICAgICAgICAgICAgICAgICAgcmVmUmVuZGVyU3VyZmFjZS0+c2V0
Q29udGVudHNDaGFuZ2VkKGNvbnRlbnRzQ2hhbmdlZCk7CisgICAgICAgICAgICAgICAgICAgIHRl
c3REYXRhLnJlbmRlclBhc3NJZC5pbnNlcnQoc3RkOjpwYWlyPENDUmVuZGVyUGFzcyosIGNoYXI+
KHJlZlJlbmRlclBhc3MuZ2V0KCksIG5ld1JlbmRlclBhc3NJZCkpOworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RGF0YS5yZW5kZXJQYXNzQ2FjaGUuaW5zZXJ0KHN0ZDo6cGFpcjxjaGFyLCBSZW5k
ZXJQYXNzQ2FjaGVFbnRyeT4obmV3UmVuZGVyUGFzc0lkLCBSZW5kZXJQYXNzQ2FjaGVFbnRyeShy
ZWZSZW5kZXJQYXNzLnJlbGVhc2UoKSkpKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAg
ICAgICAgICAgICAgICAgcmVmUmVuZGVyUGFzc1B0ciA9IHRlc3REYXRhLnJlbmRlclBhc3NDYWNo
ZVtuZXdSZW5kZXJQYXNzSWRdLnJlbmRlclBhc3M7CisKKyAgICAgICAgICAgICAgICBPd25QdHI8
Q0NSZW5kZXJQYXNzRHJhd1F1YWQ+IHF1YWQgPSBDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Y3JlYXRl
KHRlc3REYXRhLnNoYXJlZFF1YWRTdGF0ZS5nZXQoKSwgSW50UmVjdCgpLCByZWZSZW5kZXJQYXNz
UHRyLCBpc1JlcGxpY2EsIFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucygpLCBXZWJLaXQ6Oldl
YkZpbHRlck9wZXJhdGlvbnMoKSwgMSk7CisgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8Q0NU
ZXN0UmVuZGVyUGFzcyo+KHJlbmRlclBhc3MuZ2V0KCkpLT5hcHBlbmRRdWFkKHF1YWQucmVsZWFz
ZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICB0ZXN0RGF0YS5yZW5kZXJQ
YXNzTGlzdC5pbnNlcnQoMCwgcmVuZGVyUGFzcy5yZWxlYXNlKCkpOworICAgICAgICBpZiAoKmN1
cnJlbnRDaGFyICE9ICdcMCcpCisgICAgICAgICAgICBjdXJyZW50Q2hhcisrOworICAgIH0KK30K
Kwordm9pZCBkdW1wUmVuZGVyUGFzc1Rlc3REYXRhKGNvbnN0IFJlbmRlclBhc3NSZW1vdmFsVGVz
dERhdGEmIHRlc3REYXRhLCBjaGFyKiBidWZmZXIpCit7CisgICAgY2hhciogcG9zID0gYnVmZmVy
OworICAgIENDUmVuZGVyUGFzc0xpc3Q6OmNvbnN0X3JldmVyc2VfaXRlcmF0b3IgaXQgPSB0ZXN0
RGF0YS5yZW5kZXJQYXNzTGlzdC5yYmVnaW4oKTsKKyAgICB3aGlsZSAoaXQgIT0gdGVzdERhdGEu
cmVuZGVyUGFzc0xpc3QucmVuZCgpKSB7CisgICAgICAgIENDUmVuZGVyUGFzcyogY3VycmVudFBh
c3MgPSBpdC0+Z2V0KCk7CisgICAgICAgIGNoYXIgcGFzc0lkID0gdGVzdERhdGEucmVuZGVyUGFz
c0lkLmZpbmQoY3VycmVudFBhc3MpLT5zZWNvbmQ7CisgICAgICAgICpwb3MgPSBwYXNzSWQ7Cisg
ICAgICAgIHBvcysrOworCisgICAgICAgIENDUXVhZExpc3Q6OmNvbnN0X2l0ZXJhdG9yIHF1YWRM
aXN0SXRlcmF0b3IgPSBjdXJyZW50UGFzcy0+cXVhZExpc3QoKS5iZWdpbigpOworICAgICAgICB3
aGlsZSAocXVhZExpc3RJdGVyYXRvciAhPSBjdXJyZW50UGFzcy0+cXVhZExpc3QoKS5lbmQoKSkg
eworICAgICAgICAgICAgQ0NEcmF3UXVhZCogY3VycmVudFF1YWQgPSAoKnF1YWRMaXN0SXRlcmF0
b3IpLmdldCgpOworICAgICAgICAgICAgc3dpdGNoIChjdXJyZW50UXVhZC0+bWF0ZXJpYWwoKSkg
eworICAgICAgICAgICAgY2FzZSBDQ0RyYXdRdWFkOjpTb2xpZENvbG9yOgorICAgICAgICAgICAg
ICAgICpwb3MgPSAncyc7CisgICAgICAgICAgICAgICAgcG9zKys7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICBjYXNlIENDRHJhd1F1YWQ6OlJlbmRlclBhc3M6CisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcmVu
ZGVyUGFzc0RyYXdRdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQYXNzRHJhd1F1YWQqPihjdXJy
ZW50UXVhZCk7CisgICAgICAgICAgICAgICAgICAgIGNvbnN0IENDUmVuZGVyUGFzcyogcmVmUGFz
cyA9IHJlbmRlclBhc3NEcmF3UXVhZC0+cmVuZGVyUGFzcygpOworICAgICAgICAgICAgICAgICAg
ICBjaGFyIHJlZlBhc3NJZCA9IHRlc3REYXRhLnJlbmRlclBhc3NJZC5maW5kKHJlZlBhc3MpLT5z
ZWNvbmQ7CisgICAgICAgICAgICAgICAgICAgICpwb3MgPSByZWZQYXNzSWQ7CisgICAgICAgICAg
ICAgICAgICAgIHBvcysrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgKnBvcyA9ICd4JzsKKyAg
ICAgICAgICAgICAgICBwb3MrKzsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgcXVhZExpc3RJdGVyYXRvcisrOworICAgICAg
ICB9CisgICAgICAgICpwb3MgPSAnXG4nOworICAgICAgICBwb3MrKzsKKyAgICAgICAgaXQrKzsK
KyAgICB9CisgICAgKnBvcyA9ICdcMCc7Cit9CisKKy8vIEVhY2ggQ0NSZW5kZXJQYXNzTGlzdCBp
cyByZXByZXNlbnRlZCBieSBhIHN0cmluZyB3aGljaCBkZXNjcmliZXMgdGhlIGNvbmZpZ3VyYXRp
b24uCisvLyBUaGUgc3ludGF4IG9mIHRoZSBzdHJpbmcgaXMgYXMgZm9sbG93czoKKy8vCisvLyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJzc3Nz
c1hbY11zc1lzc3NaW3Rdc3NXW2N0XQorLy8gSWRlbnRpZmllcyB0aGUgcmVuZGVyIHBhc3MtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1eIF5eXiBeIF4gICBeICAgICBeICAgICBeCisvLyBUaGVz
ZSBhcmUgc29saWQgY29sb3IgcXVhZHMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgIHwg
fCAgIHwgICAgIHwgICAgIHwKKy8vIElkZW50aWZpZXMgUmVuZGVyUGFzc0RyYXdRdWFkJ3MgUmVu
ZGVyUGFzcy0tLS0tLS0tLS0tLS0tLS0tKyB8ICAgfCAgICAgfCAgICAgfAorLy8gVGhpcyBxdWFk
J3MgY29udGVudHMgZGlkbid0IGNoYW5nZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICB8
ICAgICB8ICAgICB8CisvLyBUaGlzIHF1YWQncyBjb250ZW50cyBjaGFuZ2VkIGFuZCBpdCBoYXMg
bm8gdGV4dHVyZS0tLS0tLS0tLS0tLS0tLSsgICAgIHwgICAgIHwKKy8vIFRoaXMgcXVhZCBoYXMg
dGV4dHVyZSBidXQgaXRzIGNvbnRlbnRzIGNoYW5nZWQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
KyAgICAgfAorLy8gVGhpcyBxdWFkJ3MgY29udGVudHMgZGlkbid0IGNoYW5nZSBhbmQgaXQgaGFz
IHRleHR1cmUgLSB3aWxsIGJlIHJlbW92ZWQtLS0tLS0rCisvLworLy8gRXhwZWN0ZWQgcmVzdWx0
cyBoYXZlIGV4YWN0bHkgdGhlIHNhbWUgc3ludGF4LCBleGNlcHQgdGhleSBkbyBub3QgdXNlIHNx
dWFyZSBicmFja2V0cywKKy8vIHNpbmNlIHdlIG9ubHkgY2hlY2sgdGhlIHN0cnVjdHVyZSwgbm90
IGF0dHJpYnV0ZXMuCisvLworLy8gVGVzdCBjYXNlIGNvbmZpZ3VyYXRpb24gY29uc2lzdHMgb2Yg
aW5pdGlhbGl6YXRpb24gc2NyaXB0IGFuZCBleHBlY3RlZCByZXN1bHRzLAorLy8gYWxsIGluIHRo
ZSBzYW1lIGZvcm1hdC4KK3N0cnVjdCBUZXN0Q2FzZSB7CisgICAgY29uc3QgY2hhciogbmFtZTsK
KyAgICBjb25zdCBjaGFyKiBpbml0U2NyaXB0OworICAgIGNvbnN0IGNoYXIqIGV4cGVjdGVkUmVz
dWx0OworfTsKKworVGVzdENhc2UgcmVtb3ZlUmVuZGVyUGFzc2VzQ2FzZXNbXSA9CisgICAgewor
ICAgICAgICB7CisgICAgICAgICAgICAiU2luZ2xlIHJvb3QgcGFzcyIsCisgICAgICAgICAgICAi
UnNzc3NcbiIsCisgICAgICAgICAgICAiUnNzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAg
ICAgIlNpbmdsZSBwYXNzIC0gbm8gcXVhZHMiLAorICAgICAgICAgICAgIlJcbiIsCisgICAgICAg
ICAgICAiUlxuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiVHdvIHBhc3Nlcywgbm8gcmVt
b3ZhbCIsCisgICAgICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIs
CisgICAgICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIKKyAgICAg
ICAgfSwgeworICAgICAgICAgICAgIlR3byBwYXNzZXMsIHJlbW92ZSBsYXN0IiwKKyAgICAgICAg
ICAgICJSc3Nzc0FbY3Rdc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIsCisgICAgICAgICAg
ICAiUnNzc3NBc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJIYXZlIHRleHR1cmUg
YnV0IGNvbnRlbnRzIGNoYW5nZWQgLSBsZWF2ZSBwYXNzIiwKKyAgICAgICAgICAgICJSc3Nzc0Fb
dF1zc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3Nc
biIKKyAgICAgICAgICAgICJBc3Nzc1xuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiQ29u
dGVudHMgZGlkbid0IGNoYW5nZSBidXQgbm8gdGV4dHVyZSAtIGxlYXZlIHBhc3MiLAorICAgICAg
ICAgICAgIlJzc3NzQVtjXXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iLAorICAgICAgICAg
ICAgIlJzc3NzQXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iCisgICAgICAgIH0sIHsKKyAg
ICAgICAgICAgICJSZXBsaWNhOiB0d28gcXVhZHMgcmVmZXJlbmNlIHRoZSBzYW1lIHBhc3M7IHJl
bW92ZSIsCisgICAgICAgICAgICAiUnNzc3NBW2N0XUFbY3Rdc3NzXG4iCisgICAgICAgICAgICAi
QXNzc3NcbiIsCisgICAgICAgICAgICAiUnNzc3NBQXNzc1xuIgorICAgICAgICB9LCB7CisgICAg
ICAgICAgICAiUmVwbGljYTogdHdvIHF1YWRzIHJlZmVyZW5jZSB0aGUgc2FtZSBwYXNzOyBsZWF2
ZSIsCisgICAgICAgICAgICAiUnNzc3NBW2NdQVtjXXNzc1xuIgorICAgICAgICAgICAgIkFzc3Nz
XG4iLAorICAgICAgICAgICAgIlJzc3NzQUFzc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIiwK
KyAgICAgICAgfSwgeworICAgICAgICAgICAgIk1hbnkgcGFzc2VzLCByZW1vdmUgYWxsIiwKKyAg
ICAgICAgICAgICJSc3Nzc0FbY3Rdc3NzXG4iCisgICAgICAgICAgICAiQXNzc0JbY3RdQ1tjdF1z
XG4iCisgICAgICAgICAgICAiQnNzc0RbY3Rdc3NFW2N0XUZbY3RdXG4iCisgICAgICAgICAgICAi
RXNzc3Nzc1xuIgorICAgICAgICAgICAgIkNHW2N0XVxuIgorICAgICAgICAgICAgIkRzc3Nzc3Nz
XG4iCisgICAgICAgICAgICAiRnNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJHc3NzXG4iLAorCisg
ICAgICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJEZWVw
IHJlY3Vyc2lvbiwgcmVtb3ZlIGFsbCIsCisKKyAgICAgICAgICAgICJSc3Nzc3NBW2N0XXNzc3Nc
biIKKyAgICAgICAgICAgICJBc3Nzc0Jzc3NcbiIKKyAgICAgICAgICAgICJCQ1xuIgorICAgICAg
ICAgICAgIkNEXG4iCisgICAgICAgICAgICAiREVcbiIKKyAgICAgICAgICAgICJFRlxuIgorICAg
ICAgICAgICAgIkZHXG4iCisgICAgICAgICAgICAiR0hcbiIKKyAgICAgICAgICAgICJIc3NzSXNz
c1xuIgorICAgICAgICAgICAgIklKXG4iCisgICAgICAgICAgICAiSnNzc3NcbiIsCisgICAgICAg
ICAgICAKKyAgICAgICAgICAgICJSc3Nzc3NBc3Nzc1xuIgorICAgICAgICB9LCB7CisgICAgICAg
ICAgICAiV2lkZSByZWN1cnNpb24sIHJlbW92ZSBhbGwiLAorICAgICAgICAgICAgIlJBW2N0XUJb
Y3RdQ1tjdF1EW2N0XUVbY3RdRltjdF1HW2N0XUhbY3RdSVtjdF1KW2N0XVxuIgorICAgICAgICAg
ICAgIkFzXG4iCisgICAgICAgICAgICAiQnNcbiIKKyAgICAgICAgICAgICJDc3Nzc1xuIgorICAg
ICAgICAgICAgIkRzc3NzXG4iCisgICAgICAgICAgICAiRXNcbiIKKyAgICAgICAgICAgICJGXG4i
CisgICAgICAgICAgICAiR3NcbiIKKyAgICAgICAgICAgICJIc1xuIgorICAgICAgICAgICAgIklz
XG4iCisgICAgICAgICAgICAiSnNzc3NcbiIsCisgICAgICAgICAgICAKKyAgICAgICAgICAgICJS
QUJDREVGR0hJSlxuIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAiUmVtb3ZlIHBhc3NlcyBy
ZWdhcmRsZXNzIG9mIGNhY2hlIHN0YXRlIiwKKyAgICAgICAgICAgICJSc3Nzc0FbY3Rdc3NzXG4i
CisgICAgICAgICAgICAiQXNzc0JDc1xuIgorICAgICAgICAgICAgIkJzc3NEW2Ndc3NFW3RdRlxu
IgorICAgICAgICAgICAgIkVzc3Nzc3NcbiIKKyAgICAgICAgICAgICJDR1xuIgorICAgICAgICAg
ICAgIkRzc3Nzc3NzXG4iCisgICAgICAgICAgICAiRnNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJH
c3NzXG4iLAorCisgICAgICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgIH0sIHsKKyAgICAg
ICAgICAgICJMZWF2ZSBzb21lIHBhc3NlcywgcmVtb3ZlIG90aGVycyIsCisKKyAgICAgICAgICAg
ICJSc3Nzc0FbY11zc3NcbiIKKyAgICAgICAgICAgICJBc3NzQlt0XUNbY3Rdc1xuIgorICAgICAg
ICAgICAgIkJzc3NEW2Ndc3NcbiIKKyAgICAgICAgICAgICJDR1xuIgorICAgICAgICAgICAgIkRz
c3Nzc3NzXG4iCisgICAgICAgICAgICAiR3Nzc1xuIiwKKworICAgICAgICAgICAgIlJzc3NzQXNz
c1xuIgorICAgICAgICAgICAgIkFzc3NCQ3NcbiIKKyAgICAgICAgICAgICJCc3NzRHNzXG4iCisg
ICAgICAgICAgICAiRHNzc3Nzc3NcbiIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgMCwgMCwg
MAorICAgICAgICB9CisgICAgfTsKKworc3RhdGljIHZvaWQgdmVyaWZ5UmVuZGVyUGFzc1Rlc3RE
YXRhKFRlc3RDYXNlJiB0ZXN0Q2FzZSwgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSYgdGVzdERh
dGEpCit7CisgICAgY2hhciBhY3R1YWxSZXN1bHRbMTAyNF07CisgICAgZHVtcFJlbmRlclBhc3NU
ZXN0RGF0YSh0ZXN0RGF0YSwgYWN0dWFsUmVzdWx0KTsKKyAgICBFWFBFQ1RfU1RSRVEodGVzdENh
c2UuZXhwZWN0ZWRSZXN1bHQsIGFjdHVhbFJlc3VsdCkgPDwgIkluIHRlc3QgY2FzZTogIiA8PCB0
ZXN0Q2FzZS5uYW1lOworfQorCitURVNUKFJlbmRlclBhc3NSZW1vdmFsVGVzdCwgdGVzdFJlbW92
ZVJlbmRlclBhc3NlcykKK3sKKyAgICBpbnQgdGVzdENhc2VJbmRleCA9IDA7CisgICAgd2hpbGUg
KHJlbW92ZVJlbmRlclBhc3Nlc0Nhc2VzW3Rlc3RDYXNlSW5kZXhdLm5hbWUpIHsKKyAgICAgICAg
RGVidWdTY29wZWRTZXRJbXBsVGhyZWFkIGltcGxUaHJlYWQ7CisgICAgICAgIFJlbmRlclBhc3NS
ZW1vdmFsVGVzdERhdGEgdGVzdERhdGE7CisgICAgICAgIENDUmVuZGVyUGFzc0xpc3Qgc2tpcHBl
ZFBhc3NlczsKKyAgICAgICAgY29uZmlndXJlUmVuZGVyUGFzc1Rlc3REYXRhKHJlbW92ZVJlbmRl
clBhc3Nlc0Nhc2VzW3Rlc3RDYXNlSW5kZXhdLmluaXRTY3JpcHQsIHRlc3REYXRhKTsKKyAgICAg
ICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6cmVtb3ZlUGFzc2VzV2l0aENhY2hlZFRleHR1cmVzKHRl
c3REYXRhLnJlbmRlclBhc3NMaXN0LCBza2lwcGVkUGFzc2VzKTsKKyAgICAgICAgdmVyaWZ5UmVu
ZGVyUGFzc1Rlc3REYXRhKHJlbW92ZVJlbmRlclBhc3Nlc0Nhc2VzW3Rlc3RDYXNlSW5kZXhdLCB0
ZXN0RGF0YSk7CisgICAgICAgIHRlc3RDYXNlSW5kZXgrKzsKKyAgICB9Cit9CisKIH0gLy8gbmFt
ZXNwYWNlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>