<?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>104681</bug_id>
          
          <creation_ts>2012-12-11 09:50:30 -0800</creation_ts>
          <short_desc>AX: Make isActionSupported cross-platform.</short_desc>
          <delta_ts>2012-12-11 21:53:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dominic Mazzoni">dmazzoni</reporter>
          <assigned_to name="Dominic Mazzoni">dmazzoni</assigned_to>
          <cc>abarth</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>jdiggs</cc>
    
    <cc>jochen</cc>
    
    <cc>mifenton</cc>
    
    <cc>philn</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>788534</commentid>
    <comment_count>0</comment_count>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-12-11 09:50:30 -0800</bug_when>
    <thetext>The isActionSupported method in DRT/WKTR takes a string parameter, which is platform-specific. With a minor refactoring, we could replace this with a cross-platform method and enable a few tests to run on more platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788614</commentid>
    <comment_count>1</comment_count>
      <attachid>178838</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-12-11 11:07:18 -0800</bug_when>
    <thetext>Created attachment 178838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788617</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 11:11:30 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788620</commentid>
    <comment_count>3</comment_count>
      <attachid>178838</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-12-11 11:14:29 -0800</bug_when>
    <thetext>Comment on attachment 178838
Patch

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

&gt; Source/WebKit/chromium/src/WebAccessibilityObject.cpp:588
&gt; +    UserGestureIndicator gestureIndicator(DefinitelyProcessingUserGesture);

this seems like it should be on AccessibilityObject since all clients will benefit

&gt; Source/WebKit/chromium/src/WebAccessibilityObject.cpp:616
&gt; +    UserGestureIndicator gestureIndicator(DefinitelyProcessingUserGesture);

i believe this call is already in axObject-&gt;press()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788653</commentid>
    <comment_count>4</comment_count>
      <attachid>178838</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-12-11 12:08:49 -0800</bug_when>
    <thetext>Comment on attachment 178838
Patch

Attachment 178838 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15241955</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788662</commentid>
    <comment_count>5</comment_count>
      <attachid>178846</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-12-11 12:21:50 -0800</bug_when>
    <thetext>Created attachment 178846
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788663</commentid>
    <comment_count>6</comment_count>
      <attachid>178838</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-12-11 12:22:32 -0800</bug_when>
    <thetext>Comment on attachment 178838
Patch

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

&gt;&gt; Source/WebKit/chromium/src/WebAccessibilityObject.cpp:588
&gt;&gt; +    UserGestureIndicator gestureIndicator(DefinitelyProcessingUserGesture);
&gt; 
&gt; this seems like it should be on AccessibilityObject since all clients will benefit

Sure, done.

&gt;&gt; Source/WebKit/chromium/src/WebAccessibilityObject.cpp:616
&gt;&gt; +    UserGestureIndicator gestureIndicator(DefinitelyProcessingUserGesture);
&gt; 
&gt; i believe this call is already in axObject-&gt;press()

You&apos;re right. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788938</commentid>
    <comment_count>7</comment_count>
      <attachid>178846</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-12-11 16:21:02 -0800</bug_when>
    <thetext>Comment on attachment 178846
Patch

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

looks good. minor comments you can fix in commit

&gt; Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm:678
&gt; +    return [actions containsObject:@&quot;AXPress&quot;];

this should be NSAccessibilityPressAction

&gt; Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm:688
&gt; +    return [actions containsObject:@&quot;AXIncrement&quot;];

NSAccessibilityIncrementAction

&gt; Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm:698
&gt; +    return [actions containsObject:@&quot;AXDecrement&quot;];

NSAccessibilityDecrementAction

&gt; Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:686
&gt; +    return [actions containsObject:@&quot;AXPress&quot;];

ditto with the name used

&gt; Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:696
&gt; +    return [actions containsObject:@&quot;AXIncrement&quot;];

ditto with the name used

&gt; Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:706
&gt; +    return [actions containsObject:@&quot;AXDecrement&quot;];

ditto with the name used

&gt; LayoutTests/platform/mac/accessibility/slider-supports-actions.html:25
&gt; +          var succeeded = obj.isIncrementActionSupported() == true;

seems like we have remove these &quot;== true&quot; as they&apos;re redundant

&gt; LayoutTests/platform/mac/accessibility/slider-supports-actions.html:28
&gt; +          var succeeded = obj.isDecrementActionSupported() == true;

seems like we have remove these &quot;== true&quot; as they&apos;re redundant

&gt; LayoutTests/platform/mac/accessibility/slider-supports-actions.html:38
&gt; +          var succeeded = obj.isIncrementActionSupported() == true;

seems like we have remove these &quot;== true&quot; as they&apos;re redundant

&gt; LayoutTests/platform/mac/accessibility/slider-supports-actions.html:41
&gt; +          var succeeded = obj.isDecrementActionSupported() == true;

seems like we have remove these &quot;== true&quot; as they&apos;re redundant</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789138</commentid>
    <comment_count>8</comment_count>
      <attachid>178952</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-12-11 20:15:28 -0800</bug_when>
    <thetext>Created attachment 178952
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789184</commentid>
    <comment_count>9</comment_count>
      <attachid>178952</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 21:53:08 -0800</bug_when>
    <thetext>Comment on attachment 178952
Patch for landing

Clearing flags on attachment: 178952

Committed r137414: &lt;http://trac.webkit.org/changeset/137414&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789185</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 21:53:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178838</attachid>
            <date>2012-12-11 11:07:18 -0800</date>
            <delta_ts>2012-12-11 12:22:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104681-20121211110440.patch</filename>
            <type>text/plain</type>
            <size>34187</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3Mjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDk0YjFkMjYwMDQxNmI5NTZjN2ZkMTkwNzM5YTgzMGRkMjM0NzA1YzQuLjRhODk4YWViZmM3Yzk4
ZjBhM2QzNWEzYTMxNjA4MDVmYzhjNmZmMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTItMTItMTEgIERvbWluaWMgTWF6em9uaSAgPGRtYXp6b25pQGdv
b2dsZS5jb20+CisKKyAgICAgICAgQVg6IE1ha2UgaXNBY3Rpb25TdXBwb3J0ZWQgY3Jvc3MtcGxh
dGZvcm0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDQ2ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgcHJlc3MsIGluY3JlbWVudCwgYW5kIGRlY3JlbWVudCBhY3Rpb25zLAor
ICAgICAgICBpbmNsdWRpbmcgdGVzdHMgdG8gc2VlIHdoZXRoZXIgdGhleSdyZSBzdXBwb3J0ZWQg
b24gYSBnaXZlbgorICAgICAgICBvYmplY3QuIFRoaXMgYWxsb3dzIENocm9taXVtIHRvIHBhc3Mg
dGhyZWUgdGVzdHMgdGhhdCB3ZXJlCisgICAgICAgIHByZXZpb3VzbHkgc2tpcHBlZC4KKworICAg
ICAgICAqIHB1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgIChXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0KToKKyAgICAgICAgKiBzcmMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmNhbkRlY3JlbWVu
dCk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0OjpjYW5JbmNyZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0OjpjYW5QcmVzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmluY3JlbWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6
OmRlY3JlbWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OnBy
ZXNzKToKKwogMjAxMi0xMi0xMCAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbY2hyb21pdW1dIFJlbW92ZSBXZWJDb21wb3NpdG9yT3V0cHV0U3VyZmFjZSBp
bXBsZW1lbnRhdGlvbnMgZnJvbSBEUlQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCBjNDA0ZDNhZWVjNzQwMDg1
NGFmMzJmNGUyMDk3MmQzMGFhZmU3NzgxLi41YmI1NjU5NWQ0YTM1YTg4OGU1YjdhNDk4OThjNzNi
MTlkZDM1YWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC04NiwxMCArODYsNiBAQCBwdWJsaWM6CiAgICAg
V0VCS0lUX0VYUE9SVCBib29sIHVwZGF0ZUJhY2tpbmdTdG9yZUFuZENoZWNrVmFsaWRpdHkoKTsK
IAogICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigp
IGNvbnN0OwotICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIGFjdGlvblZlcmIoKSBjb25zdDsK
LSAgICBXRUJLSVRfRVhQT1JUIGJvb2wgY2FuU2V0Rm9jdXNBdHRyaWJ1dGUoKSBjb25zdDsKLSAg
ICBXRUJLSVRfRVhQT1JUIGJvb2wgY2FuU2V0VmFsdWVBdHRyaWJ1dGUoKSBjb25zdDsKLQogICAg
IFdFQktJVF9FWFBPUlQgdW5zaWduZWQgY2hpbGRDb3VudCgpIGNvbnN0OwogCiAgICAgV0VCS0lU
X0VYUE9SVCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0IGNoaWxkQXQodW5zaWduZWQpIGNvbnN0OwpA
QCAtMTAwLDggKzk2LDYgQEAgcHVibGljOgogICAgIFdFQktJVF9FWFBPUlQgV2ViQWNjZXNzaWJp
bGl0eU9iamVjdCBwYXJlbnRPYmplY3QoKSBjb25zdDsKICAgICBXRUJLSVRfRVhQT1JUIFdlYkFj
Y2Vzc2liaWxpdHlPYmplY3QgcHJldmlvdXNTaWJsaW5nKCkgY29uc3Q7CiAKLSAgICBXRUJLSVRf
RVhQT1JUIGJvb2wgY2FuU2V0U2VsZWN0ZWRBdHRyaWJ1dGUoKSBjb25zdDsKLQogICAgIFdFQktJ
VF9FWFBPUlQgYm9vbCBpc0FuY2hvcigpIGNvbnN0OwogICAgIFdFQktJVF9FWFBPUlQgYm9vbCBp
c0FyaWFSZWFkT25seSgpIGNvbnN0OwogICAgIFdFQktJVF9FWFBPUlQgYm9vbCBpc0J1dHRvblN0
YXRlTWl4ZWQoKSBjb25zdDsKQEAgLTE2NCw4ICsxNTgsMTggQEAgcHVibGljOgogICAgIFdFQktJ
VF9FWFBPUlQgYm9vbCBsaW5lQnJlYWtzKFdlYlZlY3RvcjxpbnQ+JikgY29uc3Q7CiAKICAgICAv
LyBBY3Rpb25zCi0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldEZvY3VzZWQoYm9vbCkgY29uc3Q7
CisgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgYWN0aW9uVmVyYigpIGNvbnN0OyAvLyBUaGUg
dmVyYiBjb3JyZXNwb25kaW5nIHRvIHBlcmZvcm1EZWZhdWx0QWN0aW9uLgorICAgIFdFQktJVF9F
WFBPUlQgYm9vbCBjYW5EZWNyZW1lbnQoKSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIGJvb2wg
Y2FuSW5jcmVtZW50KCkgY29uc3Q7CisgICAgV0VCS0lUX0VYUE9SVCBib29sIGNhblByZXNzKCkg
Y29uc3Q7CisgICAgV0VCS0lUX0VYUE9SVCBib29sIGNhblNldEZvY3VzQXR0cmlidXRlKCkgY29u
c3Q7CisgICAgV0VCS0lUX0VYUE9SVCBib29sIGNhblNldFNlbGVjdGVkQXR0cmlidXRlKCkgY29u
c3Q7CisgICAgV0VCS0lUX0VYUE9SVCBib29sIGNhblNldFZhbHVlQXR0cmlidXRlKCkgY29uc3Q7
CiAgICAgV0VCS0lUX0VYUE9SVCBib29sIHBlcmZvcm1EZWZhdWx0QWN0aW9uKCkgY29uc3Q7Cisg
ICAgV0VCS0lUX0VYUE9SVCBib29sIHByZXNzKCkgY29uc3Q7CisgICAgV0VCS0lUX0VYUE9SVCBi
b29sIGluY3JlbWVudCgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgYm9vbCBkZWNyZW1lbnQo
KSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0Rm9jdXNlZChib29sKSBjb25zdDsK
ICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0U2VsZWN0ZWRUZXh0UmFuZ2UoaW50IHNlbGVjdGlv
blN0YXJ0LCBpbnQgc2VsZWN0aW9uRW5kKSBjb25zdDsKIAogICAgIC8vIEZvciBhIHRhYmxlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwCmluZGV4IGViYzFkYmJiZWI2MDcyMGYyZDc3MDRjOTMxZTYyZWI5NDQwMmFjZmIuLmU5
YmQ0OWNlZWI5NjJkZWVlZGM2NjVmZjlkNDVlOTc4ZmViZDM5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC0x
MjIsNiArMTIyLDMwIEBAIFdlYlN0cmluZyBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY3Rpb25W
ZXJiKCkgY29uc3QKICAgICByZXR1cm4gbV9wcml2YXRlLT5hY3Rpb25WZXJiKCk7CiB9CiAKK2Jv
b2wgV2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6Y2FuRGVjcmVtZW50KCkgY29uc3QKK3sKKyAgICBp
ZiAoaXNEZXRhY2hlZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gbV9w
cml2YXRlLT5pc1NsaWRlcigpOworfQorCitib29sIFdlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmNh
bkluY3JlbWVudCgpIGNvbnN0Cit7CisgICAgaWYgKGlzRGV0YWNoZWQoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+aXNTbGlkZXIoKTsKK30KKworYm9v
bCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0OjpjYW5QcmVzcygpIGNvbnN0Cit7CisgICAgaWYgKGlz
RGV0YWNoZWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIG1fcHJpdmF0
ZS0+YWN0aW9uRWxlbWVudCgpIHx8IG1fcHJpdmF0ZS0+aXNCdXR0b24oKSB8fCBtX3ByaXZhdGUt
PmlzTWVudVJlbGF0ZWQoKTsKK30KKwogYm9vbCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0OjpjYW5T
ZXRGb2N1c0F0dHJpYnV0ZSgpIGNvbnN0CiB7CiAgICAgaWYgKGlzRGV0YWNoZWQoKSkKQEAgLTU1
Niw2ICs1ODAsNDQgQEAgYm9vbCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0OjpwZXJmb3JtRGVmYXVs
dEFjdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+cGVyZm9ybURlZmF1bHRBY3Rp
b24oKTsKIH0KIAorYm9vbCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0OjppbmNyZW1lbnQoKSBjb25z
dAoreworICAgIGlmIChpc0RldGFjaGVkKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3Np
bmdVc2VyR2VzdHVyZSk7CisKKyAgICBpZiAoY2FuSW5jcmVtZW50KCkpIHsKKyAgICAgICAgbV9w
cml2YXRlLT5pbmNyZW1lbnQoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJl
dHVybiBmYWxzZTsKK30KKworYm9vbCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0OjpkZWNyZW1lbnQo
KSBjb25zdAoreworICAgIGlmIChpc0RldGFjaGVkKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVBy
b2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisKKyAgICBpZiAoY2FuRGVjcmVtZW50KCkpIHsKKyAgICAg
ICAgbV9wcml2YXRlLT5kZWNyZW1lbnQoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
ICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0OjpwcmVz
cygpIGNvbnN0Cit7CisgICAgaWYgKGlzRGV0YWNoZWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5
UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKKworICAgIHJldHVybiBtX3ByaXZhdGUtPnByZXNzKCk7
Cit9CisKIFdlYkFjY2Vzc2liaWxpdHlSb2xlIFdlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OnJvbGVW
YWx1ZSgpIGNvbnN0CiB7CiAgICAgaWYgKGlzRGV0YWNoZWQoKSkKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1OWIzM2U0Y2NjODY0NGM1M2I3MTQx
YTIzNGM4YjA1MjgxN2E3ZjYzLi5jYjI3NzYyMTRkMjU4N2JjYTcwYTU2MjZiNTI4N2NkODI1OGIw
ODUwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNjAgQEAKKzIwMTItMTItMTEgIERvbWluaWMgTWF6em9uaSAgPGRtYXp6b25pQGdv
b2dsZS5jb20+CisKKyAgICAgICAgQVg6IE1ha2UgaXNBY3Rpb25TdXBwb3J0ZWQgY3Jvc3MtcGxh
dGZvcm0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDQ2ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZXBsYWNlIGlzQWN0aW9uU3VwcG9ydGVkLCB3aGljaCB0YWtlcyBhIHBsYXRmb3JtLXNwZWNpZmlj
CisgICAgICAgIGFyZ3VtZW50LCB3aXRoIHRocmVlIGNyb3NzLXBsYXRmb3JtIG1ldGhvZHMuCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcDoKKyAg
ICAgICAgKGlzUHJlc3NBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayk6CisgICAgICAgIChpc0luY3Jl
bWVudEFjdGlvblN1cHBvcnRlZENhbGxiYWNrKToKKyAgICAgICAgKGlzRGVjcmVtZW50QWN0aW9u
U3VwcG9ydGVkQ2FsbGJhY2spOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0
SlNDbGFzcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dC5oOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudCk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvYmxhY2tiZXJyeS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QmxhY2tCZXJyeS5jcHA6
CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVk
KToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzSW5jcmVtZW50QWN0aW9uU3Vw
cG9ydGVkKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0
aW9uU3VwcG9ydGVkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVu
bmVyL3NyYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uY3BwOgorICAgICAgICAoV2Vi
VGVzdFJ1bm5lcjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dCk6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1By
ZXNzQWN0aW9uU3VwcG9ydGVkQ2FsbGJhY2spOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcik6Cisg
ICAgICAgIChXZWJUZXN0UnVubmVyOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVu
dEFjdGlvblN1cHBvcnRlZENhbGxiYWNrKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkQ2FsbGJhY2spOgor
ICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5jcmVtZW50
Q2FsbGJhY2spOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6ZGVjcmVtZW50Q2FsbGJhY2spOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6cHJlc3NDYWxsYmFjayk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENocm9taXVtLmg6
CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KToKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHA6CisgICAgICAgIChBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKToKKyAgICAgICAgKEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKToKKyAgICAgICAg
KEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToK
KyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQp
OgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBw
b3J0ZWQpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRBY3Rp
b25TdXBwb3J0ZWQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50V2luLmNwcDoKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJl
c3NBY3Rpb25TdXBwb3J0ZWQpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJ
bmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlvblN1cHBv
cnRlZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50
QWN0aW9uU3VwcG9ydGVkKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaDoKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGlu
Z3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNQcmVzc0FjdGlvblN1cHBvcnRlZCk6
CisgICAgICAgIChXVFIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c0luY3JlbWVudEFjdGlvblN1cHBvcnRlZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKToKKwogMjAxMi0xMi0xMSAgSmlu
d29vIFNvbmcgIDxqaW53b283LnNvbmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1bV0sy
XSBNaW5pQnJvd3NlciBpcyBub3QgYnVpbHQKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKaW5kZXggYjA3OWQ5YTg1MjQyMTBjMTVhZGQxZTFiYjcz
ZTc0NTc2Njk1MGQyOS4uYWY4OWM5Yjg4NTY1ZjJhMzJhZTc0ZDExYTNkYzY5OTAwNmZkM2FlNyAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAK
QEAgLTM2MSwxNiArMzYxLDE5IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIGlzQXR0cmlidXRlU2V0dGFi
bGVDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYKICAgICByZXR1cm4g
cmVzdWx0OwogfQogCitzdGF0aWMgSlNWYWx1ZVJlZiBpc1ByZXNzQWN0aW9uU3VwcG9ydGVkQ2Fs
bGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVj
dFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBh
cmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIHJldHVybiBKU1ZhbHVl
TWFrZUJvb2xlYW4oY29udGV4dCwgdG9BWEVsZW1lbnQodGhpc09iamVjdCktPmlzUHJlc3NBY3Rp
b25TdXBwb3J0ZWQoKSk7Cit9CiAKLXN0YXRpYyBKU1ZhbHVlUmVmIGlzQWN0aW9uU3VwcG9ydGVk
Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09i
amVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJl
ZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQorc3RhdGljIEpTVmFsdWVSZWYg
aXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwg
SlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1
bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNl
cHRpb24pCiB7Ci0gICAgSlNTdHJpbmdSZWYgYWN0aW9uID0gMDsKLSAgICBpZiAoYXJndW1lbnRD
b3VudCA9PSAxKQotICAgICAgICBhY3Rpb24gPSBKU1ZhbHVlVG9TdHJpbmdDb3B5KGNvbnRleHQs
IGFyZ3VtZW50c1swXSwgZXhjZXB0aW9uKTsgICAgCi0gICAgSlNWYWx1ZVJlZiByZXN1bHQgPSBK
U1ZhbHVlTWFrZUJvb2xlYW4oY29udGV4dCwgdG9BWEVsZW1lbnQodGhpc09iamVjdCktPmlzQWN0
aW9uU3VwcG9ydGVkKGFjdGlvbikpOwotICAgIGlmIChhY3Rpb24pCi0gICAgICAgIEpTU3RyaW5n
UmVsZWFzZShhY3Rpb24pOwotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIEpTVmFsdWVN
YWtlQm9vbGVhbihjb250ZXh0LCB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+aXNJbmNyZW1lbnRB
Y3Rpb25TdXBwb3J0ZWQoKSk7Cit9CisKK3N0YXRpYyBKU1ZhbHVlUmVmIGlzRGVjcmVtZW50QWN0
aW9uU3VwcG9ydGVkQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1
bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29u
c3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAg
IHJldHVybiBKU1ZhbHVlTWFrZUJvb2xlYW4oY29udGV4dCwgdG9BWEVsZW1lbnQodGhpc09iamVj
dCktPmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkpOwogfQogCiBzdGF0aWMgSlNWYWx1ZVJl
ZiBib29sQXR0cmlidXRlVmFsdWVDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmpl
Y3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENv
dW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24p
CkBAIC0xMTQzLDcgKzExNDYsOSBAQCBKU0NsYXNzUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmdldEpTQ2xhc3MoKQogICAgICAgICB7ICJib29sQXR0cmlidXRlVmFsdWUiLCBib29sQXR0cmli
dXRlVmFsdWVDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3Bl
cnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJpc0F0dHJpYnV0ZVN1cHBvcnRl
ZCIsIGlzQXR0cmlidXRlU3VwcG9ydGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVh
ZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiaXNB
dHRyaWJ1dGVTZXR0YWJsZSIsIGlzQXR0cmlidXRlU2V0dGFibGVDYWxsYmFjaywga0pTUHJvcGVy
dHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAot
ICAgICAgICB7ICJpc0FjdGlvblN1cHBvcnRlZCIsIGlzQWN0aW9uU3VwcG9ydGVkQ2FsbGJhY2ss
IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnRE
ZWxldGUgfSwKKyAgICAgICAgeyAiaXNQcmVzc0FjdGlvblN1cHBvcnRlZCIsIGlzUHJlc3NBY3Rp
b25TdXBwb3J0ZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJpc0luY3JlbWVudEFjdGlv
blN1cHBvcnRlZCIsIGlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkQ2FsbGJhY2ssIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
KyAgICAgICAgeyAiaXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQiLCBpc0RlY3JlbWVudEFjdGlv
blN1cHBvcnRlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInBhcmVudEVsZW1lbnQiLCBw
YXJlbnRFbGVtZW50Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiZGlzY2xvc2VkQnlSb3ci
LCBkaXNjbG9zZWRCeVJvd0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImluY3JlbWVudCIs
IGluY3JlbWVudENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50LmgKaW5kZXggYjViMjNkOGJkZTUxYjQyM2ViZTJlYWU2MDcyODhj
N2Q0OTkyM2UxNy4uZDQxY2VmNWFhNzlmMjQ5NjBiMDdkMDgzYjdiOWE2MTA5MmUxMmE2ZCAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtMTA5
LDcgKzEwOSw5IEBAIHB1YmxpYzoKICAgICBib29sIGJvb2xBdHRyaWJ1dGVWYWx1ZShKU1N0cmlu
Z1JlZiBhdHRyaWJ1dGUpOwogICAgIGJvb2wgaXNBdHRyaWJ1dGVTdXBwb3J0ZWQoSlNTdHJpbmdS
ZWYgYXR0cmlidXRlKTsKICAgICBib29sIGlzQXR0cmlidXRlU2V0dGFibGUoSlNTdHJpbmdSZWYg
YXR0cmlidXRlKTsKLSAgICBib29sIGlzQWN0aW9uU3VwcG9ydGVkKEpTU3RyaW5nUmVmIGFjdGlv
bik7CisgICAgYm9vbCBpc1ByZXNzQWN0aW9uU3VwcG9ydGVkKCk7CisgICAgYm9vbCBpc0luY3Jl
bWVudEFjdGlvblN1cHBvcnRlZCgpOworICAgIGJvb2wgaXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0
ZWQoKTsKICAgICBKU1N0cmluZ1JlZiByb2xlKCk7CiAgICAgSlNTdHJpbmdSZWYgc3Vicm9sZSgp
OwogICAgIEpTU3RyaW5nUmVmIHJvbGVEZXNjcmlwdGlvbigpOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QmxhY2tCZXJy
eS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRCbGFja0JlcnJ5LmNwcAppbmRleCA2M2ZiZDM2YzkyZmVjMGIyMmFiODk0ZjZmOTA3MzRm
NDFiZTc3OTY0Li5mNTQwZjY4ZmRjNzc1YmQ0OTg2YTM3MTU3NTg5NDU3Yzc0MzE5YjIwIDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRCbGFja0JlcnJ5LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRCbGFja0JlcnJ5LmNwcApAQCAtMjM1LDcgKzIzNSwxOSBA
QCBpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCkK
ICAgICByZXR1cm4gMDsKIH0KIAotYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0FjdGlv
blN1cHBvcnRlZChKU1N0cmluZ1JlZikKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNQ
cmVzc0FjdGlvblN1cHBvcnRlZCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1
cm4gMDsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlv
blN1cHBvcnRlZCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30K
KworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRl
ZCgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnRDaHJvbWl1bS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0UnVubmVyL3NyYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uY3BwCmluZGV4IDdi
OGY2ZmJkMWVkNGY0MWI4NzlmYTU3ZGQwODYzOWEyMjM0NDg0NjEuLjE3MDY0ODEyYzM2YTVlZDkx
MDEwM2ZkNDMwMGYyNTg0ZGZmMWFmOTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudENocm9taXVtLmNwcApAQCAtNDI1LDcgKzQyNSw5IEBAIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoY29uc3QgV2ViQWNjZXNz
aWJpbGl0eU9iamVjdCYgb2JqCiAgICAgYmluZE1ldGhvZCgic2V0U2VsZWN0ZWRUZXh0UmFuZ2Ui
LCAmQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0UmFuZ2VDYWxsYmFjayk7
CiAgICAgYmluZE1ldGhvZCgiYXR0cmlidXRlVmFsdWUiLCAmQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YXR0cmlidXRlVmFsdWVDYWxsYmFjayk7CiAgICAgYmluZE1ldGhvZCgiaXNBdHRyaWJ1dGVT
ZXR0YWJsZSIsICZBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVNldHRhYmxlQ2Fs
bGJhY2spOwotICAgIGJpbmRNZXRob2QoImlzQWN0aW9uU3VwcG9ydGVkIiwgJkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzQWN0aW9uU3VwcG9ydGVkQ2FsbGJhY2spOworICAgIGJpbmRNZXRob2Qo
ImlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQiLCAmQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNQcmVz
c0FjdGlvblN1cHBvcnRlZENhbGxiYWNrKTsKKyAgICBiaW5kTWV0aG9kKCJpc0luY3JlbWVudEFj
dGlvblN1cHBvcnRlZCIsICZBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlv
blN1cHBvcnRlZENhbGxiYWNrKTsKKyAgICBiaW5kTWV0aG9kKCJpc0RlY3JlbWVudEFjdGlvblN1
cHBvcnRlZCIsICZBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBv
cnRlZENhbGxiYWNrKTsKICAgICBiaW5kTWV0aG9kKCJwYXJlbnRFbGVtZW50IiwgJkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnBhcmVudEVsZW1lbnRDYWxsYmFjayk7CiAgICAgYmluZE1ldGhvZCgi
aW5jcmVtZW50IiwgJkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluY3JlbWVudENhbGxiYWNrKTsK
ICAgICBiaW5kTWV0aG9kKCJkZWNyZW1lbnQiLCAmQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGVj
cmVtZW50Q2FsbGJhY2spOwpAQCAtODE5LDExICs4MjEsMTkgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVNldHRhYmxlQ2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRM
aXN0JgogICAgIHJlc3VsdC0+c2V0KHNldHRhYmxlKTsKIH0KIAotdm9pZCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojppc0FjdGlvblN1cHBvcnRlZENhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50TGlz
dCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNQ
cmVzc0FjdGlvblN1cHBvcnRlZENhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZh
cmlhbnQqIHJlc3VsdCkKIHsKLSAgICAvLyBUaGlzIG9uZSBtYXkgYmUgcmVhbGx5IGhhcmQgdG8g
aW1wbGVtZW50LgotICAgIC8vIE5vdCBleHBvc2VkIGJ5IEFjY2Vzc2liaWxpdHlPYmplY3QuCi0g
ICAgcmVzdWx0LT5zZXROdWxsKCk7CisgICAgcmVzdWx0LT5zZXQoYWNjZXNzaWJpbGl0eU9iamVj
dCgpLmNhblByZXNzKCkpOworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzSW5j
cmVtZW50QWN0aW9uU3VwcG9ydGVkQ2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3Bw
VmFyaWFudCogcmVzdWx0KQoreworICAgIHJlc3VsdC0+c2V0KGFjY2Vzc2liaWxpdHlPYmplY3Qo
KS5jYW5JbmNyZW1lbnQoKSk7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNE
ZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBD
cHBWYXJpYW50KiByZXN1bHQpCit7CisgICAgcmVzdWx0LT5zZXQoYWNjZXNzaWJpbGl0eU9iamVj
dCgpLmNhbkRlY3JlbWVudCgpKTsKIH0KIAogdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpw
YXJlbnRFbGVtZW50Q2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCog
cmVzdWx0KQpAQCAtODMzLDExICs4NDMsMTMgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpwYXJlbnRFbGVtZW50Q2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmEKIAog
dm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmNyZW1lbnRDYWxsYmFjayhjb25zdCBDcHBB
cmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CisgICAgYWNjZXNzaWJpbGl0eU9i
amVjdCgpLmluY3JlbWVudCgpOwogICAgIHJlc3VsdC0+c2V0TnVsbCgpOwogfQogCiB2b2lkIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRlY3JlbWVudENhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50
TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKIHsKKyAgICBhY2Nlc3NpYmlsaXR5T2JqZWN0KCku
ZGVjcmVtZW50KCk7CiAgICAgcmVzdWx0LT5zZXROdWxsKCk7CiB9CiAKQEAgLTg0OCw3ICs4NjAs
NyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNob3dNZW51Q2FsbGJhY2soY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudAogCiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnByZXNzQ2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVz
dWx0KQogewotICAgIGFjY2Vzc2liaWxpdHlPYmplY3QoKS5wZXJmb3JtRGVmYXVsdEFjdGlvbigp
OworICAgIGFjY2Vzc2liaWxpdHlPYmplY3QoKS5wcmVzcygpOwogICAgIHJlc3VsdC0+c2V0TnVs
bCgpOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
UnVubmVyL3NyYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uaCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRD
aHJvbWl1bS5oCmluZGV4IDRkYzQ3OWU5MzBkMGRjOWQwY2I1NDk3MzQxMTJkMmVhZDUzMGQ1NmUu
LjQxNTg2ZGI4NmJmZTRhMzI3YWYzZDM0OWM5OGMyMzY4NDZkZTUxMWYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRDaHJvbWl1bS5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RSdW5uZXIvc3JjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5oCkBAIC0xMjAsNyAr
MTIwLDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldFNlbGVjdGVkVGV4dFJhbmdlQ2FsbGJhY2so
Y29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgYXR0cmlidXRl
VmFsdWVDYWxsYmFjayhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAg
dm9pZCBpc0F0dHJpYnV0ZVNldHRhYmxlQ2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCopOwotICAgIHZvaWQgaXNBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayhjb25zdCBD
cHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CisgICAgdm9pZCBpc1ByZXNzQWN0aW9uU3Vw
cG9ydGVkQ2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworICAg
IHZvaWQgaXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayhjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50Kik7CisgICAgdm9pZCBpc0RlY3JlbWVudEFjdGlvblN1cHBvcnRl
ZENhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lk
IHBhcmVudEVsZW1lbnRDYWxsYmFjayhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50
Kik7CiAgICAgdm9pZCBpbmNyZW1lbnRDYWxsYmFjayhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBD
cHBWYXJpYW50Kik7CiAgICAgdm9pZCBkZWNyZW1lbnRDYWxsYmFjayhjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50Kik7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAKaW5kZXggMDdkZWYwNmU3OTc0NGQ1YzJi
YjQwZDBlODViZGNhZWQ0N2NlN2RmNC4uNWMxODgzMmZjZjcxMDE1ZThiMGEyZDRjNWRlMWY1Njhk
NDUzMDM3MiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnRHdGsuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50R3RrLmNwcApAQCAtNTc0LDcgKzU3NCwxOSBAQCBpbnQgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCkKICAgICByZXR1cm4gMDsK
IH0KIAotYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0FjdGlvblN1cHBvcnRlZChKU1N0
cmluZ1JlZiBhY3Rpb24pCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rp
b25TdXBwb3J0ZWQoKQoreworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRBY3Rpb25T
dXBwb3J0ZWQoKQoreworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBw
b3J0ZWQoKQogewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKICAgICByZXR1cm4gZmFsc2U7CmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dE1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
TWFjLm1tCmluZGV4IGNkMWM5MmQxMjRmNzMxNjRiMDNkODBmMjM2ZThlMDE5NmM3OGIyMmEuLjE2
NTY0M2M4MDlhNTdhNzEzZDcxMTVmNmM1YTU3OWI4ZmU5NWU0YjggMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCkBAIC02
NzEsMTEgKzY3MSwzMSBAQCBpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5zZXJ0aW9uUG9p
bnRMaW5lTnVtYmVyKCkKICAgICByZXR1cm4gLTE7CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aXNBY3Rpb25TdXBwb3J0ZWQoSlNTdHJpbmdSZWYgYWN0aW9uKQorYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKCkKIHsKICAgICBCRUdJ
Tl9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICBOU0FycmF5KiBhY3Rpb25zID0gW21fZWxlbWVudCBh
Y2Nlc3NpYmlsaXR5QWN0aW9uTmFtZXNdOwotICAgIHJldHVybiBbYWN0aW9ucyBjb250YWluc09i
amVjdDpbTlNTdHJpbmcgc3RyaW5nV2l0aEpTU3RyaW5nUmVmOmFjdGlvbl1dOworICAgIHJldHVy
biBbYWN0aW9ucyBjb250YWluc09iamVjdDpAIkFYUHJlc3MiXTsKKyAgICBFTkRfQVhfT0JKQ19F
WENFUFRJT05TCisgICAgCisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKK3sKKyAgICBCRUdJTl9B
WF9PQkpDX0VYQ0VQVElPTlMKKyAgICBOU0FycmF5KiBhY3Rpb25zID0gW21fZWxlbWVudCBhY2Nl
c3NpYmlsaXR5QWN0aW9uTmFtZXNdOworICAgIHJldHVybiBbYWN0aW9ucyBjb250YWluc09iamVj
dDpAIkFYSW5jcmVtZW50Il07CisgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUworICAgIAorICAg
IHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3Jl
bWVudEFjdGlvblN1cHBvcnRlZCgpCit7CisgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCisg
ICAgTlNBcnJheSogYWN0aW9ucyA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVz
XTsKKyAgICByZXR1cm4gW2FjdGlvbnMgY29udGFpbnNPYmplY3Q6QCJBWERlY3JlbWVudCJdOwog
ICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKICAgICByZXR1cm4gZmFsc2U7CmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdp
bi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdp
bi5jcHAKaW5kZXggMDdjMjhhYzdmNjVjZmI3ZGZlNzk3ZDg1NjViODdkMWY3Y2U1N2MzNy4uOTcz
YmE4OTBmNTJhNDRkYWU4ZjNjNzZhZWE0NDczZTg3MmEzNjNkYiAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcApAQCAt
Mzk2LDcgKzM5NiwxNyBAQCBkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF4VmFsdWUo
KQogICAgIHJldHVybiAwOwogfQogCi1ib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQWN0
aW9uU3VwcG9ydGVkKEpTU3RyaW5nUmVmIGFjdGlvbikKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aXNQcmVzc0FjdGlvblN1cHBvcnRlZCgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQor
Citib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVk
KCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQogewogICAgIHJldHVybiBmYWxzZTsKIH0K
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCmluZGV4IGVkZWM3MzJhMmQwM2YwZjk4MTUy
OWIyOTUzMGE2YzI0YWUzZjFkNmQuLjA1MTgyYmU2ZDgzNDNlYWQ1MDljNGUxZTc3MDdjYWEwODk4
NzczODcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcApAQCAtODUsNyArODUsOSBA
QCBkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bnVtYmVyQXR0cmlidXRlVmFsdWUoSlNT
dHJpbmdSZWYpIHsgcmV0dXJuIDA7IH0KIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Ym9v
bEF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmKSB7IHJldHVybiBmYWxzZTsgfQogYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVN1cHBvcnRlZChKU1N0cmluZ1JlZikgeyBy
ZXR1cm4gZmFsc2U7IH0KIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVT
ZXR0YWJsZShKU1N0cmluZ1JlZikgeyByZXR1cm4gZmFsc2U7IH0KLWJvb2wgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6aXNBY3Rpb25TdXBwb3J0ZWQoSlNTdHJpbmdSZWYpIHsgcmV0dXJuIGZhbHNl
OyB9Citib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQo
KSB7IHJldHVybiBmYWxzZTsgfQorYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3Jl
bWVudEFjdGlvblN1cHBvcnRlZCgpIHsgcmV0dXJuIGZhbHNlOyB9Citib29sIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkgeyByZXR1cm4gZmFsc2U7
IH0KIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xl
KCkgeyByZXR1cm4gMDsgfQogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnN1YnJvbGUoKSB7IHJldHVybiAwOyB9CiBKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm9sZURlc2NyaXB0aW9uKCkgeyByZXR1cm4gMDsg
fQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50LmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAppbmRleCAyZGE1NmMzZDhkNDEwMzMwNjYyMTdk
NTkwYWRkYzY0OGUwNGU5NjU3Li4xNTFkMTU2N2NmNWE2ZTBmNzYxZWUzMGNkNzU5OWUzNDYxOTdk
OTg0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtMTEyLDcgKzExMiw5IEBAIHB1
YmxpYzoKICAgICBib29sIGJvb2xBdHRyaWJ1dGVWYWx1ZShKU1N0cmluZ1JlZiBhdHRyaWJ1dGUp
OwogICAgIGJvb2wgaXNBdHRyaWJ1dGVTdXBwb3J0ZWQoSlNTdHJpbmdSZWYgYXR0cmlidXRlKTsK
ICAgICBib29sIGlzQXR0cmlidXRlU2V0dGFibGUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKTsKLSAg
ICBib29sIGlzQWN0aW9uU3VwcG9ydGVkKEpTU3RyaW5nUmVmIGFjdGlvbik7CisgICAgYm9vbCBp
c1ByZXNzQWN0aW9uU3VwcG9ydGVkKCk7CisgICAgYm9vbCBpc0luY3JlbWVudEFjdGlvblN1cHBv
cnRlZCgpOworICAgIGJvb2wgaXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKTsKICAgICBKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gcm9sZSgpOwogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBzdWJyb2xlKCk7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHJvbGVEZXNjcmlwdGlv
bigpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwKaW5k
ZXggOTZkOGM2MjY5YzdkYzI3Y2JhYzQxYzA1MDNiYjFmMWUzYTBkY2U4Ny4uZTJmZjNiNjM0ZmU5
ODFiM2NhMDliNTg1YzY1MTA5ZTAzY2IzNGYyNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmlk
bAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCkBAIC02MCw3ICs2MCw5IEBAIGludGVyZmFjZSBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50IHsKICAgICBib29sZWFuIGJvb2xBdHRyaWJ1dGVWYWx1ZShpbiBE
T01TdHJpbmcgYXR0cik7CiAgICAgYm9vbGVhbiBpc0F0dHJpYnV0ZVN1cHBvcnRlZChpbiBET01T
dHJpbmcgYXR0cik7CiAgICAgYm9vbGVhbiBpc0F0dHJpYnV0ZVNldHRhYmxlKGluIERPTVN0cmlu
ZyBhdHRyKTsKLSAgICBib29sZWFuIGlzQWN0aW9uU3VwcG9ydGVkKGluIERPTVN0cmluZyBhdHRy
KTsKKyAgICBib29sZWFuIGlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQoKTsKKyAgICBib29sZWFuIGlz
SW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKCk7CisgICAgYm9vbGVhbiBpc0RlY3JlbWVudEFjdGlv
blN1cHBvcnRlZCgpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBzdHJpbmdW
YWx1ZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgaW50IGludFZhbHVlOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudE1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFj
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KaW5kZXggMjRlZWYwODM3ZmQyMzM1ZWU0NTg1
YWQ4YWJjYzYxYzYzZWQ2MjUwNS4uZmUzN2RiZTQ1Nzk3Y2UyODViYjgwMGNhZDg0ZDllMTE1NGI3
M2M0ZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9t
YWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCkBAIC02
NzksMTEgKzY3OSwzMSBAQCBpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5zZXJ0aW9uUG9p
bnRMaW5lTnVtYmVyKCkKICAgICByZXR1cm4gLTE7CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aXNBY3Rpb25TdXBwb3J0ZWQoSlNTdHJpbmdSZWYgYWN0aW9uKQorYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKCkKIHsKICAgICBCRUdJ
Tl9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICBOU0FycmF5KiBhY3Rpb25zID0gW21fZWxlbWVudCBh
Y2Nlc3NpYmlsaXR5QWN0aW9uTmFtZXNdOwotICAgIHJldHVybiBbYWN0aW9ucyBjb250YWluc09i
amVjdDpbTlNTdHJpbmcgc3RyaW5nV2l0aEpTU3RyaW5nUmVmOmFjdGlvbl1dOworICAgIHJldHVy
biBbYWN0aW9ucyBjb250YWluc09iamVjdDpAIkFYUHJlc3MiXTsKKyAgICBFTkRfQVhfT0JKQ19F
WENFUFRJT05TCisgICAgCisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKK3sKKyAgICBCRUdJTl9B
WF9PQkpDX0VYQ0VQVElPTlMKKyAgICBOU0FycmF5KiBhY3Rpb25zID0gW21fZWxlbWVudCBhY2Nl
c3NpYmlsaXR5QWN0aW9uTmFtZXNdOworICAgIHJldHVybiBbYWN0aW9ucyBjb250YWluc09iamVj
dDpAIkFYSW5jcmVtZW50Il07CisgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUworICAgIAorICAg
IHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3Jl
bWVudEFjdGlvblN1cHBvcnRlZCgpCit7CisgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCisg
ICAgTlNBcnJheSogYWN0aW9ucyA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVz
XTsKKyAgICByZXR1cm4gW2FjdGlvbnMgY29udGFpbnNPYmplY3Q6QCJBWERlY3JlbWVudCJdOwog
ICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKICAgICByZXR1cm4gZmFsc2U7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMjZmYzc0MDcwMDZmZTc1MDEzNmY5ZWE2ZjI1MjEwYjBjNjFlZDU5Mi4uNzU4MjdhMWM5Zjc0
MzdlMDdjZmFhYjc0MTk4Njg1M2U4MmJmMmI3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEy
LTEyLTExICBEb21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAg
IEFYOiBNYWtlIGlzQWN0aW9uU3VwcG9ydGVkIGNyb3NzLXBsYXRmb3JtLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3IgdGVzdHMgdGhhdCBj
YWxsZWQgaXNBY3Rpb25TdXBwb3J0ZWQgdG8gY2FsbCBuZXcKKyAgICAgICAgY3Jvc3MtcGxhdGZv
cm0gdmFyaWFudHMsIGFuZCB1bnNraXAgdGhyZWUgdGVzdCBmb3IgQ2hyb21pdW0KKyAgICAgICAg
YXMgYSByZXN1bHQuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2FyaWEtbGluay1zdXBwb3J0
cy1wcmVzcy5odG1sOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYnV0dG9uLXByZXNzLWFjdGlv
bi5odG1sOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvb25jbGljay1oYW5kbGVycy5odG1sOgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9hcmlhLXBvcHVwLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlhLXBvcHVw
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlh
LXBvcHVwLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvc2xpZGVy
LXN1cHBvcnRzLWFjdGlvbnMuaHRtbDoKKwogMjAxMi0xMi0xMSAgQW5kcmV5IEtvc3lha292ICA8
Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIx
MzcyNjYuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtbGluay1z
dXBwb3J0cy1wcmVzcy5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWxpbmst
c3VwcG9ydHMtcHJlc3MuaHRtbAppbmRleCA1MTJhNTA3NWFhMjlmMjhjNWQyOTk3NzM4ZGI4ZDM3
MGJhNTVjN2IzLi5hMjQ5MWVmMTBkYjNjYWExODlmMmMzNmQ0Yjc2MWYwMzRiYWViNDhhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtbGluay1zdXBwb3J0cy1wcmVz
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1saW5rLXN1cHBvcnRz
LXByZXNzLmh0bWwKQEAgLTE2LDcgKzE2LDcgQEAKICAgICAgICAgdmFyIHJlc3VsdCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKTsKICAgICAgICAgCiAgICAgICAgIGxpbmsuZm9j
dXMoKTsKLSAgICAgICAgdmFyIHN1cHBvcnRzQWN0aW9uID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQuaXNBY3Rpb25TdXBwb3J0ZWQoIkFYUHJlc3MiKTsKKyAgICAgICAg
dmFyIHN1cHBvcnRzQWN0aW9uID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1l
bnQuaXNQcmVzc0FjdGlvblN1cHBvcnRlZCgpOwogICAgICAgICBpZiAoc3VwcG9ydHNBY3Rpb24p
CiAgICAgICAgICAgICByZXN1bHQuaW5uZXJIVE1MID0gIlNVQ0NFU1MhIFRoaXMgdGVzdCBwYXNz
ZXMgYmVjYXVzZSB0aGUgQVJJQSBsaW5rIGFib3ZlIHN1cHBvcnRzIHRoZSBwcmVzcyBhY3Rpb24u
IjsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9i
dXR0b24tcHJlc3MtYWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2J1dHRv
bi1wcmVzcy1hY3Rpb24uaHRtbAppbmRleCA1NmZjYjc0YTg2YzQ2NTllZGFhZGEzNzNkY2JmNjU3
MzAzNjJkZDA5Li5iMDZkOWZkMzA1ZjQ3YjAwNDFkMTMwMzVhYmVkMmMyNGM2MjJmYWE4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2J1dHRvbi1wcmVzcy1hY3Rpb24uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2J1dHRvbi1wcmVzcy1hY3Rpb24uaHRt
bApAQCAtMTksNyArMTksNyBAQAogICAgICAgICAgICAgYnV0dG9uLmZvY3VzKCk7CiAgICAgICAg
ICAgICBidXR0b24gPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKIAot
ICAgICAgICAgICAgaWYgKGJ1dHRvbi5pc0FjdGlvblN1cHBvcnRlZCgiQVhQcmVzcyIpKSB7Cisg
ICAgICAgICAgICBpZiAoYnV0dG9uLmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQoKSkgewogICAgICAg
ICAgICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0gIlRlc3QgcGFzc2VkXG4iOwogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgZWxzZSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L29uY2xpY2staGFuZGxlcnMuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
b25jbGljay1oYW5kbGVycy5odG1sCmluZGV4IDI2OTUxOTQ5OTAyYjdhZjdmMTQyNzczYzEzYjRi
YjIwNTUxYWM5MzguLjY3ZjI5YTc0NDllN2MxMWYzYmU3YzUxMDRhZjI4MmY5MTQ1ODkzMzMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvb25jbGljay1oYW5kbGVycy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvb25jbGljay1oYW5kbGVycy5odG1sCkBA
IC0xOSw3ICsxOSw3IEBACiAgICAgICAgICAgICB2YXIgZm9jdXNlZEVsZW1lbnQgPSBhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKICAgICAgICAgICAgIHZhciB0ZXh0RWxl
bWVudCA9IGZvY3VzZWRFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7CiAK
LSAgICAgICAgICAgIGlmICh0ZXh0RWxlbWVudC5pc0FjdGlvblN1cHBvcnRlZCgiQVhQcmVzcyIp
KSB7CisgICAgICAgICAgICBpZiAodGV4dEVsZW1lbnQuaXNQcmVzc0FjdGlvblN1cHBvcnRlZCgp
KSB7CiAgICAgICAgICAgICAgICAgcmVzdWx0LmlubmVyVGV4dCArPSAiVGVzdCBwYXNzZWRcbiI7
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDNmMzFlZmU5ODE5MzIwM2I5NGRi
NzJkMWVjYWIyNGZkMmI3OGQ2MTguLjM0MTY2MDQxNzg0OTU3ZTBmMGIyNDJhOGUxZTI2ZTU3NTRj
ODNhMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMTM4MCwxMiArMTM4MCwxMCBAQCBjcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0
eS9hcmlhLWNvbWJvYm94Lmh0bWwgWyBTa2lwIF0KIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmls
aXR5L2FyaWEtY29udHJvbHMtd2l0aC10YWJzLmh0bWwgWyBTa2lwIF0KIGNyYnVnLmNvbS8xMDMy
MiBhY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC5odG1sIFsgU2tpcCBdCiBjcmJ1Zy5jb20vMTAz
MjIgYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktb3ZlcnJpZGVzLWxhYmVsLmh0bWwgWyBT
a2lwIF0KLWNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L2FyaWEtbGluay1zdXBwb3J0cy1w
cmVzcy5odG1sIFsgU2tpcCBdCiBjcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9hcmlhLW1l
bnViYXItbWVudWl0ZW1zLmh0bWwgWyBTa2lwIF0KIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmls
aXR5L2FyaWEtdGFibGVzLmh0bWwgWyBTa2lwIF0KIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmls
aXR5L2FyaWEtdGV4dC1yb2xlLmh0bWwgWyBTa2lwIF0KIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3Np
YmlsaXR5L2FyaWEtdXNlZC1vbi1pbWFnZS1tYXBzLmh0bWwgWyBTa2lwIF0KLWNyYnVnLmNvbS8x
MDMyMiBhY2Nlc3NpYmlsaXR5L2J1dHRvbi1wcmVzcy1hY3Rpb24uaHRtbCBbIFNraXAgXQogY3Ji
dWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkvZGVsZXRpbmctaWZyYW1lLWRlc3Ryb3lzLWF4Y2Fj
aGUuaHRtbCBbIFNraXAgXQogY3JidWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkvZG9jdW1lbnQt
YXR0cmlidXRlcy5odG1sIFsgU2tpcCBdCiBjcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9p
ZnJhbWUtYmFzdGFyZGl6YXRpb24uaHRtbCBbIFNraXAgXQpAQCAtMTM5OCw3ICsxMzk2LDYgQEAg
Y3JidWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkvbGFuZ3VhZ2UtYXR0cmlidXRlLmh0bWwgWyBT
a2lwIF0KIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L2xlZ2VuZC5odG1sIFsgU2tpcCBd
CiBjcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9saXN0cy5odG1sIFsgU2tpcCBdCiBjcmJ1
Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9tZWRpYS1lbGVtZW50Lmh0bWwgWyBTa2lwIF0KLWNy
YnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L29uY2xpY2staGFuZGxlcnMuaHRtbCBbIFNraXAg
XQogY3JidWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkvcGxhY2Vob2xkZXIuaHRtbCBbIFNraXAg
XQogY3JidWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkvcGx1Z2luLmh0bWwgWyBTa2lwIF0KIGNy
YnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L3JhZGlvLWJ1dHRvbi1jaGVja2JveC1zaXplLmh0
bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvYXJpYS1wb3B1cC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2FyaWEtcG9wdXAtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNDRmZmQ4MmUxNzZhZmFlNjU3OGI4ZWQwYTJhMDE0ODlh
NzZlZGIxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvYXJpYS1wb3B1cC1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1FeGFtcGxlCi1UaGlzIHRl
c3RzIHRoYXQgd2hlbiBhbiBBUklBIGJ1dHRvbiBoYXMgYXJpYS1oYXNwb3B1cD10cnVlLCBpdCB3
aWxsIGJlIGEgcG9wdXAgYnV0dG9uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Q
QVNTIGJ1dHRvbi5yb2xlIGlzICdBWFJvbGU6IEFYUG9wVXBCdXR0b24nCi1QQVNTIGJ1dHRvbi5p
c0FjdGlvblN1cHBvcnRlZCgnQVhQcmVzcycpIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlhLXBvcHVwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtcG9wdXAtZXhwZWN0ZWQudHh0
CmluZGV4IGY0NGZmZDgyZTE3NmFmYWU2NTc4YjhlZDBhMmEwMTQ4OWE3NmVkYjEuLmVjMWUyOTIw
YzY4YTgwN2RhYjQ2ZDBjNjI5NGZiZjdiNjc1NzRlZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtcG9wdXAtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtcG9wdXAtZXhwZWN0
ZWQudHh0CkBAIC01LDcgKzUsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFBBU1Mg
YnV0dG9uLnJvbGUgaXMgJ0FYUm9sZTogQVhQb3BVcEJ1dHRvbicKLVBBU1MgYnV0dG9uLmlzQWN0
aW9uU3VwcG9ydGVkKCdBWFByZXNzJykgaXMgdHJ1ZQorUEFTUyBidXR0b24uaXNQcmVzc0FjdGlv
blN1cHBvcnRlZCgpIGlzIHRydWUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vz
c2liaWxpdHkvYXJpYS1wb3B1cC5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vz
c2liaWxpdHkvYXJpYS1wb3B1cC5odG1sCmluZGV4IGE4NmQwZTllMDMxZDgwOTU3MjBlMDFjYTJh
MzhlMjRlZDMzNDdhZTUuLjZlMDMwMjk3Y2I0MGViOTljZWUwODVjMDc3MjI4N2RjZTllYTA1Njcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEt
cG9wdXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9h
cmlhLXBvcHVwLmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAKICAgICAgICAgICB2YXIgYnV0dG9uID0g
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CiAKICAgICAgICAgICBzaG91
bGRCZSgiYnV0dG9uLnJvbGUiLCAiJ0FYUm9sZTogQVhQb3BVcEJ1dHRvbiciKTsKLSAgICAgICAg
ICBzaG91bGRCZSgiYnV0dG9uLmlzQWN0aW9uU3VwcG9ydGVkKCdBWFByZXNzJykiLCAidHJ1ZSIp
OworICAgICAgICAgIHNob3VsZEJlKCJidXR0b24uaXNQcmVzc0FjdGlvblN1cHBvcnRlZCgpIiwg
InRydWUiKTsKICAgICB9CiAKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvc2xpZGVyLXN1cHBvcnRzLWFjdGlvbnMuaHRtbCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3NsaWRlci1zdXBwb3J0cy1hY3Rp
b25zLmh0bWwKaW5kZXggYTY3OWViMGZiNTQ0ODNlOTI3MmYwOTQ1ZTBhNGMxMWFlZDg2ZDQ0Yi4u
OTY2NDBmZjczNjVkOTUzODEzODdkYzJhY2IxM2U4YjRlZWEzNzA0NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvc2xpZGVyLXN1cHBvcnRzLWFjdGlv
bnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9zbGlk
ZXItc3VwcG9ydHMtYWN0aW9ucy5odG1sCkBAIC0yMiwxMCArMjIsMTAgQEAKICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2xpZGVyMSIpLmZvY3VzKCk7CiAgICAgICAgICAgdmFy
IG9iaiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwogCi0gICAgICAg
ICAgdmFyIHN1Y2NlZWRlZCA9IG9iai5pc0FjdGlvblN1cHBvcnRlZCgiQVhJbmNyZW1lbnQiKSA9
PSB0cnVlOworICAgICAgICAgIHZhciBzdWNjZWVkZWQgPSBvYmouaXNJbmNyZW1lbnRBY3Rpb25T
dXBwb3J0ZWQoKSA9PSB0cnVlOwogICAgICAgICAgIHNob3VsZEJlKCJzdWNjZWVkZWQiLCAidHJ1
ZSIpOwogCi0gICAgICAgICAgdmFyIHN1Y2NlZWRlZCA9IG9iai5pc0FjdGlvblN1cHBvcnRlZCgi
QVhEZWNyZW1lbnQiKSA9PSB0cnVlOworICAgICAgICAgIHZhciBzdWNjZWVkZWQgPSBvYmouaXNE
ZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKSA9PSB0cnVlOwogICAgICAgICAgIHNob3VsZEJlKCJz
dWNjZWVkZWQiLCAidHJ1ZSIpOwogCiAgICAgICAgICAgdmFyIHN1Y2NlZWRlZCA9IG9iai5zdHJp
bmdBdHRyaWJ1dGVWYWx1ZSgiQVhPcmllbnRhdGlvbiIpID09ICJBWFZlcnRpY2FsT3JpZW50YXRp
b24iOwpAQCAtMzUsMTAgKzM1LDEwIEBACiAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInNsaWRlcjIiKS5mb2N1cygpOwogICAgICAgICAgIHZhciBvYmogPSBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKIAotICAgICAgICAgIHZhciBzdWNjZWVkZWQgPSBv
YmouaXNBY3Rpb25TdXBwb3J0ZWQoIkFYSW5jcmVtZW50IikgPT0gdHJ1ZTsKKyAgICAgICAgICB2
YXIgc3VjY2VlZGVkID0gb2JqLmlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkgPT0gdHJ1ZTsK
ICAgICAgICAgICBzaG91bGRCZSgic3VjY2VlZGVkIiwgInRydWUiKTsKIAotICAgICAgICAgIHZh
ciBzdWNjZWVkZWQgPSBvYmouaXNBY3Rpb25TdXBwb3J0ZWQoIkFYRGVjcmVtZW50IikgPT0gdHJ1
ZTsKKyAgICAgICAgICB2YXIgc3VjY2VlZGVkID0gb2JqLmlzRGVjcmVtZW50QWN0aW9uU3VwcG9y
dGVkKCkgPT0gdHJ1ZTsKICAgICAgICAgICBzaG91bGRCZSgic3VjY2VlZGVkIiwgInRydWUiKTsK
IAogICAgICAgICAgIHZhciBzdWNjZWVkZWQgPSBvYmouc3RyaW5nQXR0cmlidXRlVmFsdWUoIkFY
T3JpZW50YXRpb24iKSA9PSAiQVhIb3Jpem9udGFsT3JpZW50YXRpb24iOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178846</attachid>
            <date>2012-12-11 12:21:50 -0800</date>
            <delta_ts>2012-12-11 20:15:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104681-20121211121911.patch</filename>
            <type>text/plain</type>
            <size>37062</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3Mjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg1Y2ExODliMzBhZGNk
NjJlMjNkNWIwZTNhNTBiOGFkMDE2ZDRkYS4uYTNmN2MxZGMwNTM0YWUwMzMxYzY1OTZkOGQ5NmRh
ZmIxYWVhMTFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEyLTExICBEb21p
bmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBNYWtlIGlz
QWN0aW9uU3VwcG9ydGVkIGNyb3NzLXBsYXRmb3JtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFVzZXJHZXN0dXJlSW5kaWNhdG9yIHRvIGluY3Jl
bWVudCgpIGFuZCBkZWNyZW1lbnQoKQorICAgICAgICBzbyB0aGF0IGFsbCBhY2Nlc3NpYmlsaXR5
IGFjdGlvbnMgYXJlIHRyZWF0ZWQgYXMKKyAgICAgICAgdXNlciBhY3Rpb25zLCBub3Qgc2NyaXB0
ZWQgYWN0aW9ucy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6Omlu
Y3JlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6ZGVj
cmVtZW50KToKKwogMjAxMi0xMi0xMSAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGdvb2dsZS5j
b20+CiAKICAgICAgICAgSXNBY3RpdmVGbGFnLCBJc0hvdmVyRmxhZywgSW5BY3RpdmVDaGFpbkZs
YWcgY2FuIGJlIHVuaWZpZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDk0YjFkMjYw
MDQxNmI5NTZjN2ZkMTkwNzM5YTgzMGRkMjM0NzA1YzQuLjRhODk4YWViZmM3Yzk4ZjBhM2QzNWEz
YTMxNjA4MDVmYzhjNmZmMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjYgQEAKKzIwMTItMTItMTEgIERvbWluaWMgTWF6em9uaSAgPGRtYXp6b25pQGdvb2dsZS5jb20+
CisKKyAgICAgICAgQVg6IE1ha2UgaXNBY3Rpb25TdXBwb3J0ZWQgY3Jvc3MtcGxhdGZvcm0uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgcHJlc3MsIGluY3JlbWVudCwgYW5kIGRlY3JlbWVudCBhY3Rpb25zLAorICAgICAgICBp
bmNsdWRpbmcgdGVzdHMgdG8gc2VlIHdoZXRoZXIgdGhleSdyZSBzdXBwb3J0ZWQgb24gYSBnaXZl
bgorICAgICAgICBvYmplY3QuIFRoaXMgYWxsb3dzIENocm9taXVtIHRvIHBhc3MgdGhyZWUgdGVz
dHMgdGhhdCB3ZXJlCisgICAgICAgIHByZXZpb3VzbHkgc2tpcHBlZC4KKworICAgICAgICAqIHB1
YmxpYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgIChXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0KToKKyAgICAgICAgKiBzcmMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmNhbkRlY3JlbWVudCk6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpj
YW5JbmNyZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpj
YW5QcmVzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmluY3Jl
bWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmRlY3JlbWVu
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OnByZXNzKToKKwog
MjAxMi0xMi0xMCAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbY2hyb21pdW1dIFJlbW92ZSBXZWJDb21wb3NpdG9yT3V0cHV0U3VyZmFjZSBpbXBsZW1lbnRh
dGlvbnMgZnJvbSBEUlQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKaW5kZXggMjJhOGZhYmYwMjk3NjJhMmZkMDRk
YWRiNDI1MzM5YmE5MDg4NTI4Mi4uZDU4MjUzOTMwMzQxMzliYzFlZWE1MzA3MDdjNDUxYzU5Mzgx
NDIwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAgLTY5LDYgKzY5LDcgQEAKICNpbmNsdWRlICJUZXh0
LmgiCiAjaW5jbHVkZSAiVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgiCiAjaW5jbHVkZSAiVGV4
dEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiVXNlckdlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNsdWRl
ICJXaWRnZXQuaCIKICNpbmNsdWRlICJodG1sZWRpdGluZy5oIgogI2luY2x1ZGUgInZpc2libGVf
dW5pdHMuaCIKQEAgLTk3NSwxMSArOTc2LDEzIEBAIHZvaWQgQWNjZXNzaWJpbGl0eU5vZGVPYmpl
Y3Q6OmFsdGVyU2xpZGVyVmFsdWUoYm9vbCBpbmNyZWFzZSkKICAgICAKIHZvaWQgQWNjZXNzaWJp
bGl0eU5vZGVPYmplY3Q6OmluY3JlbWVudCgpCiB7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3Ig
Z2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKICAgICBh
bHRlclNsaWRlclZhbHVlKHRydWUpOwogfQogCiB2b2lkIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0
OjpkZWNyZW1lbnQoKQogeworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0
b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CiAgICAgYWx0ZXJTbGlkZXJWYWx1
ZShmYWxzZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCBjNDA0ZDNhZWVjNzQwMDg1NGFmMzJmNGUy
MDk3MmQzMGFhZmU3NzgxLi41YmI1NjU5NWQ0YTM1YTg4OGU1YjdhNDk4OThjNzNiMTlkZDM1YWE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmls
aXR5T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNz
aWJpbGl0eU9iamVjdC5oCkBAIC04NiwxMCArODYsNiBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0VY
UE9SVCBib29sIHVwZGF0ZUJhY2tpbmdTdG9yZUFuZENoZWNrVmFsaWRpdHkoKTsKIAogICAgIFdF
QktJVF9FWFBPUlQgV2ViU3RyaW5nIGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0Owot
ICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIGFjdGlvblZlcmIoKSBjb25zdDsKLSAgICBXRUJL
SVRfRVhQT1JUIGJvb2wgY2FuU2V0Rm9jdXNBdHRyaWJ1dGUoKSBjb25zdDsKLSAgICBXRUJLSVRf
RVhQT1JUIGJvb2wgY2FuU2V0VmFsdWVBdHRyaWJ1dGUoKSBjb25zdDsKLQogICAgIFdFQktJVF9F
WFBPUlQgdW5zaWduZWQgY2hpbGRDb3VudCgpIGNvbnN0OwogCiAgICAgV0VCS0lUX0VYUE9SVCBX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0IGNoaWxkQXQodW5zaWduZWQpIGNvbnN0OwpAQCAtMTAwLDgg
Kzk2LDYgQEAgcHVibGljOgogICAgIFdFQktJVF9FWFBPUlQgV2ViQWNjZXNzaWJpbGl0eU9iamVj
dCBwYXJlbnRPYmplY3QoKSBjb25zdDsKICAgICBXRUJLSVRfRVhQT1JUIFdlYkFjY2Vzc2liaWxp
dHlPYmplY3QgcHJldmlvdXNTaWJsaW5nKCkgY29uc3Q7CiAKLSAgICBXRUJLSVRfRVhQT1JUIGJv
b2wgY2FuU2V0U2VsZWN0ZWRBdHRyaWJ1dGUoKSBjb25zdDsKLQogICAgIFdFQktJVF9FWFBPUlQg
Ym9vbCBpc0FuY2hvcigpIGNvbnN0OwogICAgIFdFQktJVF9FWFBPUlQgYm9vbCBpc0FyaWFSZWFk
T25seSgpIGNvbnN0OwogICAgIFdFQktJVF9FWFBPUlQgYm9vbCBpc0J1dHRvblN0YXRlTWl4ZWQo
KSBjb25zdDsKQEAgLTE2NCw4ICsxNTgsMTggQEAgcHVibGljOgogICAgIFdFQktJVF9FWFBPUlQg
Ym9vbCBsaW5lQnJlYWtzKFdlYlZlY3RvcjxpbnQ+JikgY29uc3Q7CiAKICAgICAvLyBBY3Rpb25z
Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldEZvY3VzZWQoYm9vbCkgY29uc3Q7CisgICAgV0VC
S0lUX0VYUE9SVCBXZWJTdHJpbmcgYWN0aW9uVmVyYigpIGNvbnN0OyAvLyBUaGUgdmVyYiBjb3Jy
ZXNwb25kaW5nIHRvIHBlcmZvcm1EZWZhdWx0QWN0aW9uLgorICAgIFdFQktJVF9FWFBPUlQgYm9v
bCBjYW5EZWNyZW1lbnQoKSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIGJvb2wgY2FuSW5jcmVt
ZW50KCkgY29uc3Q7CisgICAgV0VCS0lUX0VYUE9SVCBib29sIGNhblByZXNzKCkgY29uc3Q7Cisg
ICAgV0VCS0lUX0VYUE9SVCBib29sIGNhblNldEZvY3VzQXR0cmlidXRlKCkgY29uc3Q7CisgICAg
V0VCS0lUX0VYUE9SVCBib29sIGNhblNldFNlbGVjdGVkQXR0cmlidXRlKCkgY29uc3Q7CisgICAg
V0VCS0lUX0VYUE9SVCBib29sIGNhblNldFZhbHVlQXR0cmlidXRlKCkgY29uc3Q7CiAgICAgV0VC
S0lUX0VYUE9SVCBib29sIHBlcmZvcm1EZWZhdWx0QWN0aW9uKCkgY29uc3Q7CisgICAgV0VCS0lU
X0VYUE9SVCBib29sIHByZXNzKCkgY29uc3Q7CisgICAgV0VCS0lUX0VYUE9SVCBib29sIGluY3Jl
bWVudCgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgYm9vbCBkZWNyZW1lbnQoKSBjb25zdDsK
KyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0Rm9jdXNlZChib29sKSBjb25zdDsKICAgICBXRUJL
SVRfRVhQT1JUIHZvaWQgc2V0U2VsZWN0ZWRUZXh0UmFuZ2UoaW50IHNlbGVjdGlvblN0YXJ0LCBp
bnQgc2VsZWN0aW9uRW5kKSBjb25zdDsKIAogICAgIC8vIEZvciBhIHRhYmxlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmlu
ZGV4IGViYzFkYmJiZWI2MDcyMGYyZDc3MDRjOTMxZTYyZWI5NDQwMmFjZmIuLmU1YjEwMjMxZDAx
OTBhZThmYjRiNWI0YTQ3NzFiYWE2Mzk4YjVhYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC00Myw3ICs0Myw2
IEBACiAjaW5jbHVkZSAiTm9kZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtS2V5Ym9hcmRFdmVudC5o
IgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiVXNlckdlc3R1cmVJbmRpY2F0
b3IuaCIKICNpbmNsdWRlICJXZWJEb2N1bWVudC5oIgogI2luY2x1ZGUgIldlYk5vZGUuaCIKICNp
bmNsdWRlIDxwdWJsaWMvV2ViUG9pbnQuaD4KQEAgLTEyMiw2ICsxMjEsMzAgQEAgV2ViU3RyaW5n
IFdlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjdGlvblZlcmIoKSBjb25zdAogICAgIHJldHVybiBt
X3ByaXZhdGUtPmFjdGlvblZlcmIoKTsKIH0KIAorYm9vbCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
OjpjYW5EZWNyZW1lbnQoKSBjb25zdAoreworICAgIGlmIChpc0RldGFjaGVkKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBtX3ByaXZhdGUtPmlzU2xpZGVyKCk7Cit9CisK
K2Jvb2wgV2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6Y2FuSW5jcmVtZW50KCkgY29uc3QKK3sKKyAg
ICBpZiAoaXNEZXRhY2hlZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4g
bV9wcml2YXRlLT5pc1NsaWRlcigpOworfQorCitib29sIFdlYkFjY2Vzc2liaWxpdHlPYmplY3Q6
OmNhblByZXNzKCkgY29uc3QKK3sKKyAgICBpZiAoaXNEZXRhY2hlZCgpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICByZXR1cm4gbV9wcml2YXRlLT5hY3Rpb25FbGVtZW50KCkgfHwgbV9w
cml2YXRlLT5pc0J1dHRvbigpIHx8IG1fcHJpdmF0ZS0+aXNNZW51UmVsYXRlZCgpOworfQorCiBi
b29sIFdlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmNhblNldEZvY3VzQXR0cmlidXRlKCkgY29uc3QK
IHsKICAgICBpZiAoaXNEZXRhY2hlZCgpKQpAQCAtNTUxLDExICs1NzQsNDEgQEAgYm9vbCBXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0OjpwZXJmb3JtRGVmYXVsdEFjdGlvbigpIGNvbnN0CiAgICAgaWYg
KGlzRGV0YWNoZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgVXNlckdlc3R1cmVJ
bmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJl
KTsKLQogICAgIHJldHVybiBtX3ByaXZhdGUtPnBlcmZvcm1EZWZhdWx0QWN0aW9uKCk7CiB9CiAK
K2Jvb2wgV2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6aW5jcmVtZW50KCkgY29uc3QKK3sKKyAgICBp
ZiAoaXNEZXRhY2hlZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoY2FuSW5j
cmVtZW50KCkpIHsKKyAgICAgICAgbV9wcml2YXRlLT5pbmNyZW1lbnQoKTsKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0OjpkZWNyZW1lbnQoKSBjb25zdAoreworICAgIGlmIChpc0RldGFjaGVkKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChjYW5EZWNyZW1lbnQoKSkgeworICAg
ICAgICBtX3ByaXZhdGUtPmRlY3JlbWVudCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIFdlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OnBy
ZXNzKCkgY29uc3QKK3sKKyAgICBpZiAoaXNEZXRhY2hlZCgpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICByZXR1cm4gbV9wcml2YXRlLT5wcmVzcygpOworfQorCiBXZWJBY2Nlc3NpYmls
aXR5Um9sZSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpyb2xlVmFsdWUoKSBjb25zdAogewogICAg
IGlmIChpc0RldGFjaGVkKCkpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggNTliMzNlNGNjYzg2NDRjNTNiNzE0MWEyMzRjOGIwNTI4MTdhN2Y2My4u
Y2IyNzc2MjE0ZDI1ODdiY2E3MGE1NjI2YjUyODdjZDgyNThiMDg1MCAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDEy
LTEyLTExICBEb21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAg
IEFYOiBNYWtlIGlzQWN0aW9uU3VwcG9ydGVkIGNyb3NzLXBsYXRmb3JtLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVwbGFjZSBpc0FjdGlvblN1cHBv
cnRlZCwgd2hpY2ggdGFrZXMgYSBwbGF0Zm9ybS1zcGVjaWZpYworICAgICAgICBhcmd1bWVudCwg
d2l0aCB0aHJlZSBjcm9zcy1wbGF0Zm9ybSBtZXRob2RzLgorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6CisgICAgICAgIChpc1ByZXNzQWN0aW9u
U3VwcG9ydGVkQ2FsbGJhY2spOgorICAgICAgICAoaXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWRD
YWxsYmFjayk6CisgICAgICAgIChpc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZENhbGxiYWNrKToK
KyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldEpTQ2xhc3MpOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaDoKKyAgICAgICAgKEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudEJsYWNrQmVycnkuY3BwOgorICAgICAgICAoQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aXNQcmVzc0FjdGlvblN1cHBvcnRlZCk6CisgICAgICAgIChBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlvblN1cHBvcnRlZCk6CisgICAgICAgIChB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQpOgorICAgICAgICAoV2ViVGVz
dFJ1bm5lcjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNQcmVzc0FjdGlvblN1cHBvcnRlZENh
bGxiYWNrKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXIpOgorICAgICAgICAoV2ViVGVzdFJ1bm5l
cjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWRDYWxs
YmFjayk6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZENhbGxiYWNrKToKKyAgICAgICAgKFdlYlRlc3RSdW5u
ZXI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluY3JlbWVudENhbGxiYWNrKToKKyAgICAgICAg
KFdlYlRlc3RSdW5uZXI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRlY3JlbWVudENhbGxiYWNr
KToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnByZXNz
Q2FsbGJhY2spOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIv
c3JjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5oOgorICAgICAgICAoQWNjZXNzaWJp
bGl0eVVJRWxlbWVudCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnRHdGsuY3BwOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNQ
cmVzc0FjdGlvblN1cHBvcnRlZCk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c0luY3JlbWVudEFjdGlvblN1cHBvcnRlZCk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCk6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW06CisgICAgICAgIChBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKToKKyAgICAgICAgKEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKToKKyAgICAgICAgKEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKToKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHA6Cisg
ICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKToK
KyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzSW5jcmVtZW50QWN0aW9uU3VwcG9y
dGVkKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9u
U3VwcG9ydGVkKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCk6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Lmg6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFj
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW06CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQpOgorICAgICAgICAoV1RSKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBw
b3J0ZWQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVu
dEFjdGlvblN1cHBvcnRlZCk6CisKIDIwMTItMTItMTEgIEppbndvbyBTb25nICA8amlud29vNy5z
b25nQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gTWluaUJyb3dzZXIgaXMgbm90
IGJ1aWx0CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQu
Y3BwCmluZGV4IGIwNzlkOWE4NTI0MjEwYzE1YWRkMWUxYmI3M2U3NDU3NjY5NTBkMjkuLmFmODlj
OWI4ODU2NWYyYTMyYWU3NGQxMWEzZGM2OTkwMDZmZDNhZTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCkBAIC0zNjEsMTYgKzM2MSwxOSBA
QCBzdGF0aWMgSlNWYWx1ZVJlZiBpc0F0dHJpYnV0ZVNldHRhYmxlQ2FsbGJhY2soSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorc3RhdGlj
IEpTVmFsdWVSZWYgaXNQcmVzc0FjdGlvblN1cHBvcnRlZENhbGxiYWNrKEpTQ29udGV4dFJlZiBj
b250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6
ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVS
ZWYqIGV4Y2VwdGlvbikKK3sKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQs
IHRvQVhFbGVtZW50KHRoaXNPYmplY3QpLT5pc1ByZXNzQWN0aW9uU3VwcG9ydGVkKCkpOworfQog
Ci1zdGF0aWMgSlNWYWx1ZVJlZiBpc0FjdGlvblN1cHBvcnRlZENhbGxiYWNrKEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwg
c2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFs
dWVSZWYqIGV4Y2VwdGlvbikKK3N0YXRpYyBKU1ZhbHVlUmVmIGlzSW5jcmVtZW50QWN0aW9uU3Vw
cG9ydGVkQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9u
LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNW
YWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQogewotICAgIEpTU3Ry
aW5nUmVmIGFjdGlvbiA9IDA7Ci0gICAgaWYgKGFyZ3VtZW50Q291bnQgPT0gMSkKLSAgICAgICAg
YWN0aW9uID0gSlNWYWx1ZVRvU3RyaW5nQ29weShjb250ZXh0LCBhcmd1bWVudHNbMF0sIGV4Y2Vw
dGlvbik7ICAgIAotICAgIEpTVmFsdWVSZWYgcmVzdWx0ID0gSlNWYWx1ZU1ha2VCb29sZWFuKGNv
bnRleHQsIHRvQVhFbGVtZW50KHRoaXNPYmplY3QpLT5pc0FjdGlvblN1cHBvcnRlZChhY3Rpb24p
KTsKLSAgICBpZiAoYWN0aW9uKQotICAgICAgICBKU1N0cmluZ1JlbGVhc2UoYWN0aW9uKTsKLSAg
ICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBKU1ZhbHVlTWFrZUJvb2xlYW4oY29udGV4dCwg
dG9BWEVsZW1lbnQodGhpc09iamVjdCktPmlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkpOwor
fQorCitzdGF0aWMgSlNWYWx1ZVJlZiBpc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZENhbGxiYWNr
KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYg
dGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1l
bnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VC
b29sZWFuKGNvbnRleHQsIHRvQVhFbGVtZW50KHRoaXNPYmplY3QpLT5pc0RlY3JlbWVudEFjdGlv
blN1cHBvcnRlZCgpKTsKIH0KIAogc3RhdGljIEpTVmFsdWVSZWYgYm9vbEF0dHJpYnV0ZVZhbHVl
Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09i
amVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJl
ZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQpAQCAtMTE0Myw3ICsxMTQ2LDkg
QEAgSlNDbGFzc1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRKU0NsYXNzKCkKICAgICAg
ICAgeyAiYm9vbEF0dHJpYnV0ZVZhbHVlIiwgYm9vbEF0dHJpYnV0ZVZhbHVlQ2FsbGJhY2ssIGtK
U1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxl
dGUgfSwKICAgICAgICAgeyAiaXNBdHRyaWJ1dGVTdXBwb3J0ZWQiLCBpc0F0dHJpYnV0ZVN1cHBv
cnRlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlB
dHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImlzQXR0cmlidXRlU2V0dGFibGUiLCBp
c0F0dHJpYnV0ZVNldHRhYmxlQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkg
fCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKLSAgICAgICAgeyAiaXNBY3Rpb25T
dXBwb3J0ZWQiLCBpc0FjdGlvblN1cHBvcnRlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsg
ImlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQiLCBpc1ByZXNzQWN0aW9uU3VwcG9ydGVkQ2FsbGJhY2ss
IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnRE
ZWxldGUgfSwKKyAgICAgICAgeyAiaXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQiLCBpc0luY3Jl
bWVudEFjdGlvblN1cHBvcnRlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5
IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgImlzRGVjcmVt
ZW50QWN0aW9uU3VwcG9ydGVkIiwgaXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LAogICAgICAgICB7ICJwYXJlbnRFbGVtZW50IiwgcGFyZW50RWxlbWVudENhbGxiYWNr
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250
RGVsZXRlIH0sCiAgICAgICAgIHsgImRpc2Nsb3NlZEJ5Um93IiwgZGlzY2xvc2VkQnlSb3dDYWxs
YmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRl
RG9udERlbGV0ZSB9LAogICAgICAgICB7ICJpbmNyZW1lbnQiLCBpbmNyZW1lbnRDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5o
CmluZGV4IGI1YjIzZDhiZGU1MWI0MjNlYmUyZWFlNjA3Mjg4YzdkNDk5MjNlMTcuLmQ0MWNlZjVh
YTc5ZjI0OTYwYjA3ZDA4M2I3YjlhNjEwOTJlMTJhNmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKQEAgLTEwOSw3ICsxMDksOSBAQCBwdWJsaWM6
CiAgICAgYm9vbCBib29sQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKTsKICAg
ICBib29sIGlzQXR0cmlidXRlU3VwcG9ydGVkKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSk7CiAgICAg
Ym9vbCBpc0F0dHJpYnV0ZVNldHRhYmxlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSk7Ci0gICAgYm9v
bCBpc0FjdGlvblN1cHBvcnRlZChKU1N0cmluZ1JlZiBhY3Rpb24pOworICAgIGJvb2wgaXNQcmVz
c0FjdGlvblN1cHBvcnRlZCgpOworICAgIGJvb2wgaXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQo
KTsKKyAgICBib29sIGlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCk7CiAgICAgSlNTdHJpbmdS
ZWYgcm9sZSgpOwogICAgIEpTU3RyaW5nUmVmIHN1YnJvbGUoKTsKICAgICBKU1N0cmluZ1JlZiBy
b2xlRGVzY3JpcHRpb24oKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNr
YmVycnkvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEJsYWNrQmVycnkuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvYmxhY2tiZXJyeS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QmxhY2tCZXJyeS5jcHAK
aW5kZXggNjNmYmQzNmM5MmZlYzBiMjJhYjg5NGY2ZjkwNzM0ZjQxYmU3Nzk2NC4uZjU0MGY2OGZk
Yzc3NWJkNDk4NmEzNzE1NzU4OTQ1N2M3NDMxOWIyMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvYmxhY2tiZXJyeS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QmxhY2tCZXJyeS5jcHAK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50QmxhY2tCZXJyeS5jcHAKQEAgLTIzNSw3ICsyMzUsMTkgQEAgaW50IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6Omluc2VydGlvblBvaW50TGluZU51bWJlcigpCiAgICAgcmV0dXJuIDA7CiB9CiAK
LWJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBY3Rpb25TdXBwb3J0ZWQoSlNTdHJpbmdS
ZWYpCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQo
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK2Jvb2wgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQoreworICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQogewogICAgIG5vdEltcGxl
bWVudGVkKCk7CiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0u
Y3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudENocm9taXVtLmNwcAppbmRleCA3YjhmNmZiZDFlZDRmNDFiODc5ZmE1
N2RkMDg2MzlhMjIzNDQ4NDYxLi4xNzA2NDgxMmMzNmE1ZWQ5MTAxMDNmZDQzMDBmMjU4NGRmZjFh
Zjk5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVy
L3NyYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uY3BwCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRD
aHJvbWl1bS5jcHAKQEAgLTQyNSw3ICs0MjUsOSBAQCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50KGNvbnN0IFdlYkFjY2Vzc2liaWxpdHlPYmplY3QmIG9iagog
ICAgIGJpbmRNZXRob2QoInNldFNlbGVjdGVkVGV4dFJhbmdlIiwgJkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnNldFNlbGVjdGVkVGV4dFJhbmdlQ2FsbGJhY2spOwogICAgIGJpbmRNZXRob2QoImF0
dHJpYnV0ZVZhbHVlIiwgJkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZVZhbHVlQ2Fs
bGJhY2spOwogICAgIGJpbmRNZXRob2QoImlzQXR0cmlidXRlU2V0dGFibGUiLCAmQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTZXR0YWJsZUNhbGxiYWNrKTsKLSAgICBiaW5kTWV0
aG9kKCJpc0FjdGlvblN1cHBvcnRlZCIsICZBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0FjdGlv
blN1cHBvcnRlZENhbGxiYWNrKTsKKyAgICBiaW5kTWV0aG9kKCJpc1ByZXNzQWN0aW9uU3VwcG9y
dGVkIiwgJkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWRDYWxs
YmFjayk7CisgICAgYmluZE1ldGhvZCgiaXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQiLCAmQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayk7
CisgICAgYmluZE1ldGhvZCgiaXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQiLCAmQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayk7CiAgICAg
YmluZE1ldGhvZCgicGFyZW50RWxlbWVudCIsICZBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwYXJl
bnRFbGVtZW50Q2FsbGJhY2spOwogICAgIGJpbmRNZXRob2QoImluY3JlbWVudCIsICZBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjppbmNyZW1lbnRDYWxsYmFjayk7CiAgICAgYmluZE1ldGhvZCgiZGVj
cmVtZW50IiwgJkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRlY3JlbWVudENhbGxiYWNrKTsKQEAg
LTgxOSwxMSArODIxLDE5IEBAIHZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1
dGVTZXR0YWJsZUNhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYKICAgICByZXN1bHQtPnNl
dChzZXR0YWJsZSk7CiB9CiAKLXZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBY3Rpb25T
dXBwb3J0ZWRDYWxsYmFjayhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1
bHQpCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWRD
YWxsYmFjayhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7Ci0g
ICAgLy8gVGhpcyBvbmUgbWF5IGJlIHJlYWxseSBoYXJkIHRvIGltcGxlbWVudC4KLSAgICAvLyBO
b3QgZXhwb3NlZCBieSBBY2Nlc3NpYmlsaXR5T2JqZWN0LgotICAgIHJlc3VsdC0+c2V0TnVsbCgp
OworICAgIHJlc3VsdC0+c2V0KGFjY2Vzc2liaWxpdHlPYmplY3QoKS5jYW5QcmVzcygpKTsKK30K
Kwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlvblN1cHBvcnRl
ZENhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sK
KyAgICByZXN1bHQtPnNldChhY2Nlc3NpYmlsaXR5T2JqZWN0KCkuY2FuSW5jcmVtZW50KCkpOwor
fQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9y
dGVkQ2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQor
eworICAgIHJlc3VsdC0+c2V0KGFjY2Vzc2liaWxpdHlPYmplY3QoKS5jYW5EZWNyZW1lbnQoKSk7
CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyZW50RWxlbWVudENhbGxiYWNr
KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKQEAgLTgzMywxMSAr
ODQzLDEzIEBAIHZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyZW50RWxlbWVudENhbGxi
YWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhCiAKIHZvaWQgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aW5jcmVtZW50Q2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFy
aWFudCogcmVzdWx0KQogeworICAgIGFjY2Vzc2liaWxpdHlPYmplY3QoKS5pbmNyZW1lbnQoKTsK
ICAgICByZXN1bHQtPnNldE51bGwoKTsKIH0KIAogdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpkZWNyZW1lbnRDYWxsYmFjayhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiBy
ZXN1bHQpCiB7CisgICAgYWNjZXNzaWJpbGl0eU9iamVjdCgpLmRlY3JlbWVudCgpOwogICAgIHJl
c3VsdC0+c2V0TnVsbCgpOwogfQogCkBAIC04NDgsNyArODYwLDcgQEAgdm9pZCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpzaG93TWVudUNhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENw
cFZhcmlhbnQKIAogdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwcmVzc0NhbGxiYWNrKGNv
bnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKIHsKLSAgICBhY2Nlc3Np
YmlsaXR5T2JqZWN0KCkucGVyZm9ybURlZmF1bHRBY3Rpb24oKTsKKyAgICBhY2Nlc3NpYmlsaXR5
T2JqZWN0KCkucHJlc3MoKTsKICAgICByZXN1bHQtPnNldE51bGwoKTsKIH0KIApkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudENocm9taXVtLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0UnVubmVyL3NyYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uaAppbmRleCA0ZGM0
NzllOTMwZDBkYzlkMGNiNTQ5NzM0MTEyZDJlYWQ1MzBkNTZlLi40MTU4NmRiODZiZmU0YTMyN2Fm
M2QzNDljOThjMjM2ODQ2ZGU1MTFmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0UnVubmVyL3NyYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uaAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uaApAQCAtMTIwLDcgKzEyMCw5IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBzZXRTZWxlY3RlZFRleHRSYW5nZUNhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50TGlz
dCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lkIGF0dHJpYnV0ZVZhbHVlQ2FsbGJhY2soY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgaXNBdHRyaWJ1dGVTZXR0
YWJsZUNhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKLSAgICB2
b2lkIGlzQWN0aW9uU3VwcG9ydGVkQ2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3Bw
VmFyaWFudCopOworICAgIHZvaWQgaXNQcmVzc0FjdGlvblN1cHBvcnRlZENhbGxiYWNrKGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKKyAgICB2b2lkIGlzSW5jcmVtZW50QWN0
aW9uU3VwcG9ydGVkQ2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCop
OworICAgIHZvaWQgaXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayhjb25zdCBDcHBB
cmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCBwYXJlbnRFbGVtZW50Q2FsbGJh
Y2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgaW5jcmVt
ZW50Q2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZv
aWQgZGVjcmVtZW50Q2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCop
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRHdGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRHdGsuY3BwCmluZGV4IDA3ZGVmMDZlNzk3NDRkNWMyYmI0MGQwZTg1YmRjYWVkNDdjZTdk
ZjQuLjVjMTg4MzJmY2Y3MTAxNWU4YjBhMmQ0YzVkZTFmNTY4ZDQ1MzAzNzIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5j
cHAKQEAgLTU3NCw3ICs1NzQsMTkgQEAgaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omluc2Vy
dGlvblBvaW50TGluZU51bWJlcigpCiAgICAgcmV0dXJuIDA7CiB9CiAKLWJvb2wgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aXNBY3Rpb25TdXBwb3J0ZWQoSlNTdHJpbmdSZWYgYWN0aW9uKQorYm9v
bCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKCkKK3sKKyAg
ICAvLyBGSVhNRTogaW1wbGVtZW50CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKK3sKKyAgICAv
LyBGSVhNRTogaW1wbGVtZW50CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKIHsKICAgICAvLyBG
SVhNRTogaW1wbGVtZW50CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQppbmRleCBjZDFjOTJk
MTI0ZjczMTY0YjAzZDgwZjIzNmU4ZTAxOTZjNzhiMjJhLi4xNjU2NDNjODA5YTU3YTcxM2Q3MTE1
ZjZjNWE1NzliOGZlOTVlNGI4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtNjcxLDExICs2NzEsMzEgQEAgaW50
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omluc2VydGlvblBvaW50TGluZU51bWJlcigpCiAgICAg
cmV0dXJuIC0xOwogfQogCi1ib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQWN0aW9uU3Vw
cG9ydGVkKEpTU3RyaW5nUmVmIGFjdGlvbikKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aXNQcmVzc0FjdGlvblN1cHBvcnRlZCgpCiB7CiAgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05T
CiAgICAgTlNBcnJheSogYWN0aW9ucyA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFjdGlvbk5h
bWVzXTsKLSAgICByZXR1cm4gW2FjdGlvbnMgY29udGFpbnNPYmplY3Q6W05TU3RyaW5nIHN0cmlu
Z1dpdGhKU1N0cmluZ1JlZjphY3Rpb25dXTsKKyAgICByZXR1cm4gW2FjdGlvbnMgY29udGFpbnNP
YmplY3Q6QCJBWFByZXNzIl07CisgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUworICAgIAorICAg
IHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3Jl
bWVudEFjdGlvblN1cHBvcnRlZCgpCit7CisgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCisg
ICAgTlNBcnJheSogYWN0aW9ucyA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVz
XTsKKyAgICByZXR1cm4gW2FjdGlvbnMgY29udGFpbnNPYmplY3Q6QCJBWEluY3JlbWVudCJdOwor
ICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKKyAgICAKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
K2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQo
KQoreworICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUworICAgIE5TQXJyYXkqIGFjdGlvbnMg
PSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBY3Rpb25OYW1lc107CisgICAgcmV0dXJuIFthY3Rp
b25zIGNvbnRhaW5zT2JqZWN0OkAiQVhEZWNyZW1lbnQiXTsKICAgICBFTkRfQVhfT0JKQ19FWENF
UFRJT05TCiAgICAgCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCmluZGV4IDA3YzI4YWM3
ZjY1Y2ZiN2RmZTc5N2Q4NTY1Yjg3ZDFmN2NlNTdjMzcuLjk3M2JhODkwZjUyYTQ0ZGFlOGYzYzc2
YWVhNDQ3M2U4NzJhMzYzZGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93
aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAKQEAgLTM5Niw3ICszOTYsMTcgQEAgZG91
YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZhbHVlKCkKICAgICByZXR1cm4gMDsKIH0K
IAotYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0FjdGlvblN1cHBvcnRlZChKU1N0cmlu
Z1JlZiBhY3Rpb24pCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25T
dXBwb3J0ZWQoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCit7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9u
U3VwcG9ydGVkKCkKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmNwcAppbmRleCBlZGVjNzMyYTJkMDNmMGY5ODE1MjliMjk1MzBhNmMyNGFlM2YxZDZk
Li4wNTE4MmJlNmQ4MzQzZWFkNTA5YzRlMWU3NzA3Y2FhMDg5ODc3Mzg3IDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5jcHAKQEAgLTg1LDcgKzg1LDkgQEAgZG91YmxlIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6Om51bWJlckF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmKSB7IHJldHVybiAw
OyB9CiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmJvb2xBdHRyaWJ1dGVWYWx1ZShKU1N0
cmluZ1JlZikgeyByZXR1cm4gZmFsc2U7IH0KIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aXNBdHRyaWJ1dGVTdXBwb3J0ZWQoSlNTdHJpbmdSZWYpIHsgcmV0dXJuIGZhbHNlOyB9CiBib29s
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQXR0cmlidXRlU2V0dGFibGUoSlNTdHJpbmdSZWYp
IHsgcmV0dXJuIGZhbHNlOyB9Ci1ib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQWN0aW9u
U3VwcG9ydGVkKEpTU3RyaW5nUmVmKSB7IHJldHVybiBmYWxzZTsgfQorYm9vbCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKCkgeyByZXR1cm4gZmFsc2U7IH0K
K2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQo
KSB7IHJldHVybiBmYWxzZTsgfQorYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3Jl
bWVudEFjdGlvblN1cHBvcnRlZCgpIHsgcmV0dXJuIGZhbHNlOyB9CiBKU1JldGFpblB0cjxKU1N0
cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm9sZSgpIHsgcmV0dXJuIDA7IH0KIEpT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdWJyb2xlKCkg
eyByZXR1cm4gMDsgfQogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnJvbGVEZXNjcmlwdGlvbigpIHsgcmV0dXJuIDA7IH0KZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5o
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmgKaW5kZXggMmRhNTZjM2Q4ZDQxMDMzMDY2MjE3ZDU5MGFkZGM2NDhlMDRlOTY1Ny4u
MTUxZDE1NjdjZjVhNmUwZjc2MWVlMzBjZDc1OTllMzQ2MTk3ZDk4NCAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
LmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50LmgKQEAgLTExMiw3ICsxMTIsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBib29s
QXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKTsKICAgICBib29sIGlzQXR0cmli
dXRlU3VwcG9ydGVkKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSk7CiAgICAgYm9vbCBpc0F0dHJpYnV0
ZVNldHRhYmxlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSk7Ci0gICAgYm9vbCBpc0FjdGlvblN1cHBv
cnRlZChKU1N0cmluZ1JlZiBhY3Rpb24pOworICAgIGJvb2wgaXNQcmVzc0FjdGlvblN1cHBvcnRl
ZCgpOworICAgIGJvb2wgaXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKTsKKyAgICBib29sIGlz
RGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCk7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IHJvbGUoKTsKICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gc3Vicm9sZSgpOwogICAgIEpT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiByb2xlRGVzY3JpcHRpb24oKTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudC5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCmluZGV4IDk2ZDhjNjI2OWM3ZGMyN2Ni
YWM0MWMwNTAzYmIxZjFlM2EwZGNlODcuLmUyZmYzYjYzNGZlOTgxYjNjYTA5YjU4NWM2NTEwOWUw
M2NiMzRmMjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
LmlkbApAQCAtNjAsNyArNjAsOSBAQCBpbnRlcmZhY2UgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCB7
CiAgICAgYm9vbGVhbiBib29sQXR0cmlidXRlVmFsdWUoaW4gRE9NU3RyaW5nIGF0dHIpOwogICAg
IGJvb2xlYW4gaXNBdHRyaWJ1dGVTdXBwb3J0ZWQoaW4gRE9NU3RyaW5nIGF0dHIpOwogICAgIGJv
b2xlYW4gaXNBdHRyaWJ1dGVTZXR0YWJsZShpbiBET01TdHJpbmcgYXR0cik7Ci0gICAgYm9vbGVh
biBpc0FjdGlvblN1cHBvcnRlZChpbiBET01TdHJpbmcgYXR0cik7CisgICAgYm9vbGVhbiBpc1By
ZXNzQWN0aW9uU3VwcG9ydGVkKCk7CisgICAgYm9vbGVhbiBpc0luY3JlbWVudEFjdGlvblN1cHBv
cnRlZCgpOworICAgIGJvb2xlYW4gaXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKTsKIAogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyaW5nVmFsdWU7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGludCBpbnRWYWx1ZTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEF0ay5jcHAKaW5kZXggOGQ5MjY5ODkwMmJhMTMyZWU2ZjBhMTBjNzk4NTgwNzI4MWUxNWY2
NC4uMWNlMDljZGVmNWE2NGRjZWQ2OGNkMGRiYzQ2NmU1NDg5OTk4M2E0NiAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudEF0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKQEAgLTY3NSw3ICs2NzUsMTkgQEAg
aW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omluc2VydGlvblBvaW50TGluZU51bWJlcigpCiAg
ICAgcmV0dXJuIC0xOwogfQogCi1ib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQWN0aW9u
U3VwcG9ydGVkKEpTU3RyaW5nUmVmIGFjdGlvbikKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aXNQcmVzc0FjdGlvblN1cHBvcnRlZCgpCit7CisgICAgLy8gRklYTUU6IGltcGxlbWVudAor
ICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0lu
Y3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCit7CisgICAgLy8gRklYTUU6IGltcGxlbWVudAorICAg
IHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3Jl
bWVudEFjdGlvblN1cHBvcnRlZCgpCiB7CiAgICAgLy8gRklYTUU6IGltcGxlbWVudAogICAgIHJl
dHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCmlu
ZGV4IDI0ZWVmMDgzN2ZkMjMzNWVlNDU4NWFkOGFiY2M2MWM2M2VkNjI1MDUuLmZlMzdkYmU0NTc5
N2NlMjg1YmI4MDBjYWQ4NGQ5ZTExNTRiNzNjNGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0K
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtNjc5LDExICs2NzksMzEgQEAgaW50IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6Omluc2VydGlvblBvaW50TGluZU51bWJlcigpCiAgICAgcmV0dXJuIC0xOwog
fQogCi1ib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQWN0aW9uU3VwcG9ydGVkKEpTU3Ry
aW5nUmVmIGFjdGlvbikKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNQcmVzc0FjdGlv
blN1cHBvcnRlZCgpCiB7CiAgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCiAgICAgTlNBcnJh
eSogYWN0aW9ucyA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVzXTsKLSAgICBy
ZXR1cm4gW2FjdGlvbnMgY29udGFpbnNPYmplY3Q6W05TU3RyaW5nIHN0cmluZ1dpdGhKU1N0cmlu
Z1JlZjphY3Rpb25dXTsKKyAgICByZXR1cm4gW2FjdGlvbnMgY29udGFpbnNPYmplY3Q6QCJBWFBy
ZXNzIl07CisgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUworICAgIAorICAgIHJldHVybiBmYWxz
ZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlvblN1
cHBvcnRlZCgpCit7CisgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCisgICAgTlNBcnJheSog
YWN0aW9ucyA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVzXTsKKyAgICByZXR1
cm4gW2FjdGlvbnMgY29udGFpbnNPYmplY3Q6QCJBWEluY3JlbWVudCJdOworICAgIEVORF9BWF9P
QkpDX0VYQ0VQVElPTlMKKyAgICAKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQoreworICAgIEJF
R0lOX0FYX09CSkNfRVhDRVBUSU9OUworICAgIE5TQXJyYXkqIGFjdGlvbnMgPSBbbV9lbGVtZW50
IGFjY2Vzc2liaWxpdHlBY3Rpb25OYW1lc107CisgICAgcmV0dXJuIFthY3Rpb25zIGNvbnRhaW5z
T2JqZWN0OkAiQVhEZWNyZW1lbnQiXTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAg
CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDI2ZmM3NDA3MDA2ZmU3NTAxMzZmOWVhNmYyNTIx
MGIwYzYxZWQ1OTIuLjc1ODI3YTFjOWY3NDM3ZTA3Y2ZhYWI3NDE5ODY4NTNlODJiZjJiNzggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0xMi0xMSAgRG9taW5pYyBNYXp6b25pICA8ZG1henpv
bmlAZ29vZ2xlLmNvbT4KKworICAgICAgICBBWDogTWFrZSBpc0FjdGlvblN1cHBvcnRlZCBjcm9z
cy1wbGF0Zm9ybS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwNDY4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlZmFjdG9yIHRlc3RzIHRoYXQgY2FsbGVkIGlzQWN0aW9uU3VwcG9ydGVkIHRvIGNhbGwg
bmV3CisgICAgICAgIGNyb3NzLXBsYXRmb3JtIHZhcmlhbnRzLCBhbmQgdW5za2lwIHRocmVlIHRl
c3QgZm9yIENocm9taXVtCisgICAgICAgIGFzIGEgcmVzdWx0LgorCisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9hcmlhLWxpbmstc3VwcG9ydHMtcHJlc3MuaHRtbDoKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L2J1dHRvbi1wcmVzcy1hY3Rpb24uaHRtbDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L29uY2xpY2staGFuZGxlcnMuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0
RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
YXJpYS1wb3B1cC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L2FjY2Vzc2liaWxpdHkvYXJpYS1wb3B1cC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvYXJpYS1wb3B1cC5odG1sOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9hY2Nlc3NpYmlsaXR5L3NsaWRlci1zdXBwb3J0cy1hY3Rpb25zLmh0bWw6CisKIDIwMTIt
MTItMTEgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTM3MjY2LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9hcmlhLWxpbmstc3VwcG9ydHMtcHJlc3MuaHRtbCBiL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvYXJpYS1saW5rLXN1cHBvcnRzLXByZXNzLmh0bWwKaW5kZXggNTEyYTUw
NzVhYTI5ZjI4YzVkMjk5NzczOGRiOGQzNzBiYTU1YzdiMy4uYTI0OTFlZjEwZGIzY2FhMTg5ZjJj
MzZkNGI3NjFmMDM0YmFlYjQ4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hcmlhLWxpbmstc3VwcG9ydHMtcHJlc3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L2FyaWEtbGluay1zdXBwb3J0cy1wcmVzcy5odG1sCkBAIC0xNiw3ICsxNiw3IEBACiAg
ICAgICAgIHZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iik7CiAg
ICAgICAgIAogICAgICAgICBsaW5rLmZvY3VzKCk7Ci0gICAgICAgIHZhciBzdXBwb3J0c0FjdGlv
biA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmlzQWN0aW9uU3VwcG9y
dGVkKCJBWFByZXNzIik7CisgICAgICAgIHZhciBzdXBwb3J0c0FjdGlvbiA9IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQoKTsKICAg
ICAgICAgaWYgKHN1cHBvcnRzQWN0aW9uKQogICAgICAgICAgICAgcmVzdWx0LmlubmVySFRNTCA9
ICJTVUNDRVNTISBUaGlzIHRlc3QgcGFzc2VzIGJlY2F1c2UgdGhlIEFSSUEgbGluayBhYm92ZSBz
dXBwb3J0cyB0aGUgcHJlc3MgYWN0aW9uLiI7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYnV0dG9uLXByZXNzLWFjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9idXR0b24tcHJlc3MtYWN0aW9uLmh0bWwKaW5kZXggNTZmY2I3
NGE4NmM0NjU5ZWRhYWRhMzczZGNiZjY1NzMwMzYyZGQwOS4uYjA2ZDlmZDMwNWY0N2IwMDQxZDEz
MDM1YWJlZDJjMjRjNjIyZmFhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9idXR0b24tcHJlc3MtYWN0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9idXR0b24tcHJlc3MtYWN0aW9uLmh0bWwKQEAgLTE5LDcgKzE5LDcgQEAKICAgICAgICAgICAg
IGJ1dHRvbi5mb2N1cygpOwogICAgICAgICAgICAgYnV0dG9uID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuZm9jdXNlZEVsZW1lbnQ7CiAKLSAgICAgICAgICAgIGlmIChidXR0b24uaXNBY3Rpb25T
dXBwb3J0ZWQoIkFYUHJlc3MiKSkgeworICAgICAgICAgICAgaWYgKGJ1dHRvbi5pc1ByZXNzQWN0
aW9uU3VwcG9ydGVkKCkpIHsKICAgICAgICAgICAgICAgICByZXN1bHQuaW5uZXJUZXh0ICs9ICJU
ZXN0IHBhc3NlZFxuIjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgewpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9vbmNsaWNrLWhhbmRsZXJzLmh0bWwgYi9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L29uY2xpY2staGFuZGxlcnMuaHRtbAppbmRleCAyNjk1
MTk0OTkwMmI3YWY3ZjE0Mjc3M2MxM2I0YmIyMDU1MWFjOTM4Li42N2YyOWE3NDQ5ZTdjMTFmM2Jl
N2M1MTA0YWYyODJmOTE0NTg5MzMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L29uY2xpY2staGFuZGxlcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L29uY2xpY2staGFuZGxlcnMuaHRtbApAQCAtMTksNyArMTksNyBAQAogICAgICAgICAgICAgdmFy
IGZvY3VzZWRFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7
CiAgICAgICAgICAgICB2YXIgdGV4dEVsZW1lbnQgPSBmb2N1c2VkRWxlbWVudC5jaGlsZEF0SW5k
ZXgoMCkuY2hpbGRBdEluZGV4KDApOwogCi0gICAgICAgICAgICBpZiAodGV4dEVsZW1lbnQuaXNB
Y3Rpb25TdXBwb3J0ZWQoIkFYUHJlc3MiKSkgeworICAgICAgICAgICAgaWYgKHRleHRFbGVtZW50
LmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQoKSkgewogICAgICAgICAgICAgICAgIHJlc3VsdC5pbm5l
clRleHQgKz0gIlRlc3QgcGFzc2VkXG4iOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxz
ZSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCAzZjMxZWZlOTgxOTMyMDNiOTRkYjcyZDFlY2FiMjRmZDJiNzhkNjE4Li4zNDE2NjA0MTc4
NDk1N2UwZjBiMjQyYThlMWUyNmU1NzU0YzgzYTEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzODAsMTIgKzEzODAsMTAgQEAgY3Ji
dWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkvYXJpYS1jb21ib2JveC5odG1sIFsgU2tpcCBdCiBj
cmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9hcmlhLWNvbnRyb2xzLXdpdGgtdGFicy5odG1s
IFsgU2tpcCBdCiBjcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQuaHRt
bCBbIFNraXAgXQogY3JidWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbGxlZGJ5
LW92ZXJyaWRlcy1sYWJlbC5odG1sIFsgU2tpcCBdCi1jcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJp
bGl0eS9hcmlhLWxpbmstc3VwcG9ydHMtcHJlc3MuaHRtbCBbIFNraXAgXQogY3JidWcuY29tLzEw
MzIyIGFjY2Vzc2liaWxpdHkvYXJpYS1tZW51YmFyLW1lbnVpdGVtcy5odG1sIFsgU2tpcCBdCiBj
cmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9hcmlhLXRhYmxlcy5odG1sIFsgU2tpcCBdCiBj
cmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9hcmlhLXRleHQtcm9sZS5odG1sIFsgU2tpcCBd
CiBjcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9hcmlhLXVzZWQtb24taW1hZ2UtbWFwcy5o
dG1sIFsgU2tpcCBdCi1jcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9idXR0b24tcHJlc3Mt
YWN0aW9uLmh0bWwgWyBTa2lwIF0KIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L2RlbGV0
aW5nLWlmcmFtZS1kZXN0cm95cy1heGNhY2hlLmh0bWwgWyBTa2lwIF0KIGNyYnVnLmNvbS8xMDMy
MiBhY2Nlc3NpYmlsaXR5L2RvY3VtZW50LWF0dHJpYnV0ZXMuaHRtbCBbIFNraXAgXQogY3JidWcu
Y29tLzEwMzIyIGFjY2Vzc2liaWxpdHkvaWZyYW1lLWJhc3RhcmRpemF0aW9uLmh0bWwgWyBTa2lw
IF0KQEAgLTEzOTgsNyArMTM5Niw2IEBAIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L2xh
bmd1YWdlLWF0dHJpYnV0ZS5odG1sIFsgU2tpcCBdCiBjcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJp
bGl0eS9sZWdlbmQuaHRtbCBbIFNraXAgXQogY3JidWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkv
bGlzdHMuaHRtbCBbIFNraXAgXQogY3JidWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkvbWVkaWEt
ZWxlbWVudC5odG1sIFsgU2tpcCBdCi1jcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9vbmNs
aWNrLWhhbmRsZXJzLmh0bWwgWyBTa2lwIF0KIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5
L3BsYWNlaG9sZGVyLmh0bWwgWyBTa2lwIF0KIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5
L3BsdWdpbi5odG1sIFsgU2tpcCBdCiBjcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9yYWRp
by1idXR0b24tY2hlY2tib3gtc2l6ZS5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2FyaWEtcG9wdXAtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9hcmlhLXBv
cHVwLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjQ0ZmZkODJl
MTc2YWZhZTY1NzhiOGVkMGEyYTAxNDg5YTc2ZWRiMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L2FyaWEtcG9wdXAtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIg
KzAsMCBAQAotRXhhbXBsZQotVGhpcyB0ZXN0cyB0aGF0IHdoZW4gYW4gQVJJQSBidXR0b24gaGFz
IGFyaWEtaGFzcG9wdXA9dHJ1ZSwgaXQgd2lsbCBiZSBhIHBvcHVwIGJ1dHRvbgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBidXR0b24ucm9sZSBpcyAnQVhSb2xlOiBBWFBv
cFVwQnV0dG9uJwotUEFTUyBidXR0b24uaXNBY3Rpb25TdXBwb3J0ZWQoJ0FYUHJlc3MnKSBpcyB0
cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvYXJpYS1w
b3B1cC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0
eS9hcmlhLXBvcHVwLWV4cGVjdGVkLnR4dAppbmRleCBmNDRmZmQ4MmUxNzZhZmFlNjU3OGI4ZWQw
YTJhMDE0ODlhNzZlZGIxLi5lYzFlMjkyMGM2OGE4MDdkYWI0NmQwYzYyOTRmYmY3YjY3NTc0ZWRk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlh
LXBvcHVwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNz
aWJpbGl0eS9hcmlhLXBvcHVwLWV4cGVjdGVkLnR4dApAQCAtNSw3ICs1LDcgQEAgT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUKIAogCiBQQVNTIGJ1dHRvbi5yb2xlIGlzICdBWFJvbGU6IEFYUG9wVXBC
dXR0b24nCi1QQVNTIGJ1dHRvbi5pc0FjdGlvblN1cHBvcnRlZCgnQVhQcmVzcycpIGlzIHRydWUK
K1BBU1MgYnV0dG9uLmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQoKSBpcyB0cnVlCiBQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtcG9wdXAuaHRtbCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtcG9wdXAuaHRtbAppbmRleCBh
ODZkMGU5ZTAzMWQ4MDk1NzIwZTAxY2EyYTM4ZTI0ZWQzMzQ3YWU1Li42ZTAzMDI5N2NiNDBlYjk5
Y2VlMDg1YzA3NzIyODdkY2U5ZWEwNTY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlhLXBvcHVwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvYXJpYS1wb3B1cC5odG1sCkBAIC0yMCw3ICsyMCw3IEBA
CiAgICAgICAgICAgdmFyIGJ1dHRvbiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRF
bGVtZW50OwogCiAgICAgICAgICAgc2hvdWxkQmUoImJ1dHRvbi5yb2xlIiwgIidBWFJvbGU6IEFY
UG9wVXBCdXR0b24nIik7Ci0gICAgICAgICAgc2hvdWxkQmUoImJ1dHRvbi5pc0FjdGlvblN1cHBv
cnRlZCgnQVhQcmVzcycpIiwgInRydWUiKTsKKyAgICAgICAgICBzaG91bGRCZSgiYnV0dG9uLmlz
UHJlc3NBY3Rpb25TdXBwb3J0ZWQoKSIsICJ0cnVlIik7CiAgICAgfQogCiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3NsaWRlci1z
dXBwb3J0cy1hY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJp
bGl0eS9zbGlkZXItc3VwcG9ydHMtYWN0aW9ucy5odG1sCmluZGV4IGE2NzllYjBmYjU0NDgzZTky
NzJmMDk0NWUwYTRjMTFhZWQ4NmQ0NGIuLjk2NjQwZmY3MzY1ZDk1MzgxMzg3ZGMyYWNiMTNlOGI0
ZWVhMzcwNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmls
aXR5L3NsaWRlci1zdXBwb3J0cy1hY3Rpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvc2xpZGVyLXN1cHBvcnRzLWFjdGlvbnMuaHRtbApAQCAtMjIs
MTAgKzIyLDEwIEBACiAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNsaWRlcjEi
KS5mb2N1cygpOwogICAgICAgICAgIHZhciBvYmogPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5m
b2N1c2VkRWxlbWVudDsKIAotICAgICAgICAgIHZhciBzdWNjZWVkZWQgPSBvYmouaXNBY3Rpb25T
dXBwb3J0ZWQoIkFYSW5jcmVtZW50IikgPT0gdHJ1ZTsKKyAgICAgICAgICB2YXIgc3VjY2VlZGVk
ID0gb2JqLmlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkgPT0gdHJ1ZTsKICAgICAgICAgICBz
aG91bGRCZSgic3VjY2VlZGVkIiwgInRydWUiKTsKIAotICAgICAgICAgIHZhciBzdWNjZWVkZWQg
PSBvYmouaXNBY3Rpb25TdXBwb3J0ZWQoIkFYRGVjcmVtZW50IikgPT0gdHJ1ZTsKKyAgICAgICAg
ICB2YXIgc3VjY2VlZGVkID0gb2JqLmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkgPT0gdHJ1
ZTsKICAgICAgICAgICBzaG91bGRCZSgic3VjY2VlZGVkIiwgInRydWUiKTsKIAogICAgICAgICAg
IHZhciBzdWNjZWVkZWQgPSBvYmouc3RyaW5nQXR0cmlidXRlVmFsdWUoIkFYT3JpZW50YXRpb24i
KSA9PSAiQVhWZXJ0aWNhbE9yaWVudGF0aW9uIjsKQEAgLTM1LDEwICszNSwxMCBAQAogICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzbGlkZXIyIikuZm9jdXMoKTsKICAgICAgICAg
ICB2YXIgb2JqID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CiAKLSAg
ICAgICAgICB2YXIgc3VjY2VlZGVkID0gb2JqLmlzQWN0aW9uU3VwcG9ydGVkKCJBWEluY3JlbWVu
dCIpID09IHRydWU7CisgICAgICAgICAgdmFyIHN1Y2NlZWRlZCA9IG9iai5pc0luY3JlbWVudEFj
dGlvblN1cHBvcnRlZCgpID09IHRydWU7CiAgICAgICAgICAgc2hvdWxkQmUoInN1Y2NlZWRlZCIs
ICJ0cnVlIik7CiAKLSAgICAgICAgICB2YXIgc3VjY2VlZGVkID0gb2JqLmlzQWN0aW9uU3VwcG9y
dGVkKCJBWERlY3JlbWVudCIpID09IHRydWU7CisgICAgICAgICAgdmFyIHN1Y2NlZWRlZCA9IG9i
ai5pc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpID09IHRydWU7CiAgICAgICAgICAgc2hvdWxk
QmUoInN1Y2NlZWRlZCIsICJ0cnVlIik7CiAKICAgICAgICAgICB2YXIgc3VjY2VlZGVkID0gb2Jq
LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCJBWE9yaWVudGF0aW9uIikgPT0gIkFYSG9yaXpvbnRhbE9y
aWVudGF0aW9uIjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178952</attachid>
            <date>2012-12-11 20:15:28 -0800</date>
            <delta_ts>2012-12-11 21:53:08 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-104681-20121211201249.patch</filename>
            <type>text/plain</type>
            <size>37257</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MzQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjZkNGFmYWJjMjNhYjQx
ZjU2NzgzMjQyYTM2YTcxMmU2YTdkMmMzYy4uNDA5ZjRlODUxNmQzZDE3Y2NiNGQ3NDQ5Mjc5NjZh
ZTkwNDQyZDlmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEyLTExICBEb21p
bmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBNYWtlIGlz
QWN0aW9uU3VwcG9ydGVkIGNyb3NzLXBsYXRmb3JtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hy
aXMgRmxlaXphY2guCisKKyAgICAgICAgQWRkIFVzZXJHZXN0dXJlSW5kaWNhdG9yIHRvIGluY3Jl
bWVudCgpIGFuZCBkZWNyZW1lbnQoKQorICAgICAgICBzbyB0aGF0IGFsbCBhY2Nlc3NpYmlsaXR5
IGFjdGlvbnMgYXJlIHRyZWF0ZWQgYXMKKyAgICAgICAgdXNlciBhY3Rpb25zLCBub3Qgc2NyaXB0
ZWQgYWN0aW9ucy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6Omlu
Y3JlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6ZGVj
cmVtZW50KToKKwogMjAxMi0xMi0xMSAgSm9uYXRob24gSm9uZ3NtYSAgPGpvbmF0aG9uLmpvbmdz
bWFAY29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFtHVEtdIFNvdXAgbmV0d29yayBsb2dzIGFy
ZSBmcmVxdWVudGx5IGludGVycnVwdGVkIGJ5IG90aGVyIGxvZ2dpbmcgbWVzc2FnZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMzY3NDE4OWIwMmQzYWE3YzdkNjk1YzExZTQxZTVkMmRk
ZTZkZGUyYy4uMDRjNGNlZDEyZTEzODhlMTk4NmZhYTc3OTM5YTk4MjE1MDFjMGFlMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMi0xMi0xMSAgRG9taW5p
YyBNYXp6b25pICA8ZG1henpvbmlAZ29vZ2xlLmNvbT4KKworICAgICAgICBBWDogTWFrZSBpc0Fj
dGlvblN1cHBvcnRlZCBjcm9zcy1wbGF0Zm9ybS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MQorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlz
IEZsZWl6YWNoLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBwcmVzcywgaW5jcmVtZW50LCBh
bmQgZGVjcmVtZW50IGFjdGlvbnMsCisgICAgICAgIGluY2x1ZGluZyB0ZXN0cyB0byBzZWUgd2hl
dGhlciB0aGV5J3JlIHN1cHBvcnRlZCBvbiBhIGdpdmVuCisgICAgICAgIG9iamVjdC4gVGhpcyBh
bGxvd3MgQ2hyb21pdW0gdG8gcGFzcyB0aHJlZSB0ZXN0cyB0aGF0IHdlcmUKKyAgICAgICAgcHJl
dmlvdXNseSBza2lwcGVkLgorCisgICAgICAgICogcHVibGljL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3QuaDoKKyAgICAgICAgKFdlYkFjY2Vzc2liaWxpdHlPYmplY3QpOgorICAgICAgICAqIHNyYy9X
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJp
bGl0eU9iamVjdDo6Y2FuRGVjcmVtZW50KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmNhbkluY3JlbWVudCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmNhblByZXNzKToKKyAgICAgICAgKFdlYktp
dDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6aW5jcmVtZW50KToKKyAgICAgICAgKFdlYktpdDo6
V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6ZGVjcmVtZW50KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
QWNjZXNzaWJpbGl0eU9iamVjdDo6cHJlc3MpOgorCiAyMDEyLTEyLTExICBKb3NodWEgQmVsbCAg
PGpzYmVsbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBJbmRleGVkREI6IE1l
bW9yeSBsZWFrIGluIElEQkNhbGxiYWNrc1Byb3h5OjpvblN1Y2Nlc3MoUGFzc1JlZlB0cjxJREJE
YXRhYmFzZUJhY2tlbmRJbnRlcmZhY2U+KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAppbmRleCAyMmE4ZmFiZjAy
OTc2MmEyZmQwNGRhZGI0MjUzMzliYTkwODg1MjgyLi5kNTgyNTM5MzAzNDEzOWJjMWVlYTUzMDcw
N2M0NTFjNTkzODE0MjBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcApAQCAtNjksNiArNjksNyBAQAogI2lu
Y2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlICJUZXh0Q29udHJvbElubmVyRWxlbWVudHMuaCIKICNp
bmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5o
IgogI2luY2x1ZGUgIldpZGdldC5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAjaW5jbHVk
ZSAidmlzaWJsZV91bml0cy5oIgpAQCAtOTc1LDExICs5NzYsMTMgQEAgdm9pZCBBY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdDo6YWx0ZXJTbGlkZXJWYWx1ZShib29sIGluY3JlYXNlKQogICAgIAogdm9p
ZCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aW5jcmVtZW50KCkKIHsKKyAgICBVc2VyR2VzdHVy
ZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1
cmUpOwogICAgIGFsdGVyU2xpZGVyVmFsdWUodHJ1ZSk7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0
eU5vZGVPYmplY3Q6OmRlY3JlbWVudCgpCiB7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2Vz
dHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKICAgICBhbHRl
clNsaWRlclZhbHVlKGZhbHNlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4IGM0MDRkM2FlZWM3NDAw
ODU0YWYzMmY0ZTIwOTcyZDMwYWFmZTc3ODEuLjViYjU2NTk1ZDRhMzVhODg4ZTViN2E0OTg5OGM3
M2IxOWRkMzVhYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkFjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTg2LDEwICs4Niw2IEBAIHB1YmxpYzoKICAg
ICBXRUJLSVRfRVhQT1JUIGJvb2wgdXBkYXRlQmFja2luZ1N0b3JlQW5kQ2hlY2tWYWxpZGl0eSgp
OwogCiAgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
KCkgY29uc3Q7Ci0gICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgYWN0aW9uVmVyYigpIGNvbnN0
OwotICAgIFdFQktJVF9FWFBPUlQgYm9vbCBjYW5TZXRGb2N1c0F0dHJpYnV0ZSgpIGNvbnN0Owot
ICAgIFdFQktJVF9FWFBPUlQgYm9vbCBjYW5TZXRWYWx1ZUF0dHJpYnV0ZSgpIGNvbnN0OwotCiAg
ICAgV0VCS0lUX0VYUE9SVCB1bnNpZ25lZCBjaGlsZENvdW50KCkgY29uc3Q7CiAKICAgICBXRUJL
SVRfRVhQT1JUIFdlYkFjY2Vzc2liaWxpdHlPYmplY3QgY2hpbGRBdCh1bnNpZ25lZCkgY29uc3Q7
CkBAIC0xMDAsOCArOTYsNiBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0VYUE9SVCBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0IHBhcmVudE9iamVjdCgpIGNvbnN0OwogICAgIFdFQktJVF9FWFBPUlQgV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdCBwcmV2aW91c1NpYmxpbmcoKSBjb25zdDsKIAotICAgIFdFQktJ
VF9FWFBPUlQgYm9vbCBjYW5TZXRTZWxlY3RlZEF0dHJpYnV0ZSgpIGNvbnN0OwotCiAgICAgV0VC
S0lUX0VYUE9SVCBib29sIGlzQW5jaG9yKCkgY29uc3Q7CiAgICAgV0VCS0lUX0VYUE9SVCBib29s
IGlzQXJpYVJlYWRPbmx5KCkgY29uc3Q7CiAgICAgV0VCS0lUX0VYUE9SVCBib29sIGlzQnV0dG9u
U3RhdGVNaXhlZCgpIGNvbnN0OwpAQCAtMTY0LDggKzE1OCwxOCBAQCBwdWJsaWM6CiAgICAgV0VC
S0lUX0VYUE9SVCBib29sIGxpbmVCcmVha3MoV2ViVmVjdG9yPGludD4mKSBjb25zdDsKIAogICAg
IC8vIEFjdGlvbnMKLSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0Rm9jdXNlZChib29sKSBjb25z
dDsKKyAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBhY3Rpb25WZXJiKCkgY29uc3Q7IC8vIFRo
ZSB2ZXJiIGNvcnJlc3BvbmRpbmcgdG8gcGVyZm9ybURlZmF1bHRBY3Rpb24uCisgICAgV0VCS0lU
X0VYUE9SVCBib29sIGNhbkRlY3JlbWVudCgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgYm9v
bCBjYW5JbmNyZW1lbnQoKSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIGJvb2wgY2FuUHJlc3Mo
KSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIGJvb2wgY2FuU2V0Rm9jdXNBdHRyaWJ1dGUoKSBj
b25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIGJvb2wgY2FuU2V0U2VsZWN0ZWRBdHRyaWJ1dGUoKSBj
b25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIGJvb2wgY2FuU2V0VmFsdWVBdHRyaWJ1dGUoKSBjb25z
dDsKICAgICBXRUJLSVRfRVhQT1JUIGJvb2wgcGVyZm9ybURlZmF1bHRBY3Rpb24oKSBjb25zdDsK
KyAgICBXRUJLSVRfRVhQT1JUIGJvb2wgcHJlc3MoKSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JU
IGJvb2wgaW5jcmVtZW50KCkgY29uc3Q7CisgICAgV0VCS0lUX0VYUE9SVCBib29sIGRlY3JlbWVu
dCgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRGb2N1c2VkKGJvb2wpIGNvbnN0
OwogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRTZWxlY3RlZFRleHRSYW5nZShpbnQgc2VsZWN0
aW9uU3RhcnQsIGludCBzZWxlY3Rpb25FbmQpIGNvbnN0OwogCiAgICAgLy8gRm9yIGEgdGFibGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdC5jcHAKaW5kZXggZWJjMWRiYmJlYjYwNzIwZjJkNzcwNGM5MzFlNjJlYjk0NDAyYWNmYi4u
ZTViMTAyMzFkMDE5MGFlOGZiNGI1YjRhNDc3MWJhYTYzOThiNWFjMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAg
LTQzLDcgKzQzLDYgQEAKICNpbmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1LZXli
b2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKLSNpbmNsdWRlICJVc2VyR2Vz
dHVyZUluZGljYXRvci5oIgogI2luY2x1ZGUgIldlYkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiV2Vi
Tm9kZS5oIgogI2luY2x1ZGUgPHB1YmxpYy9XZWJQb2ludC5oPgpAQCAtMTIyLDYgKzEyMSwzMCBA
QCBXZWJTdHJpbmcgV2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6YWN0aW9uVmVyYigpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fcHJpdmF0ZS0+YWN0aW9uVmVyYigpOwogfQogCitib29sIFdlYkFjY2Vzc2li
aWxpdHlPYmplY3Q6OmNhbkRlY3JlbWVudCgpIGNvbnN0Cit7CisgICAgaWYgKGlzRGV0YWNoZWQo
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+aXNTbGlk
ZXIoKTsKK30KKworYm9vbCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0OjpjYW5JbmNyZW1lbnQoKSBj
b25zdAoreworICAgIGlmIChpc0RldGFjaGVkKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIHJldHVybiBtX3ByaXZhdGUtPmlzU2xpZGVyKCk7Cit9CisKK2Jvb2wgV2ViQWNjZXNzaWJp
bGl0eU9iamVjdDo6Y2FuUHJlc3MoKSBjb25zdAoreworICAgIGlmIChpc0RldGFjaGVkKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBtX3ByaXZhdGUtPmFjdGlvbkVsZW1l
bnQoKSB8fCBtX3ByaXZhdGUtPmlzQnV0dG9uKCkgfHwgbV9wcml2YXRlLT5pc01lbnVSZWxhdGVk
KCk7Cit9CisKIGJvb2wgV2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6Y2FuU2V0Rm9jdXNBdHRyaWJ1
dGUoKSBjb25zdAogewogICAgIGlmIChpc0RldGFjaGVkKCkpCkBAIC01NTEsMTEgKzU3NCw0MSBA
QCBib29sIFdlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OnBlcmZvcm1EZWZhdWx0QWN0aW9uKCkgY29u
c3QKICAgICBpZiAoaXNEZXRhY2hlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBV
c2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5n
VXNlckdlc3R1cmUpOwotCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+cGVyZm9ybURlZmF1bHRBY3Rp
b24oKTsKIH0KIAorYm9vbCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0OjppbmNyZW1lbnQoKSBjb25z
dAoreworICAgIGlmIChpc0RldGFjaGVkKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IGlmIChjYW5JbmNyZW1lbnQoKSkgeworICAgICAgICBtX3ByaXZhdGUtPmluY3JlbWVudCgpOwor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29s
IFdlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmRlY3JlbWVudCgpIGNvbnN0Cit7CisgICAgaWYgKGlz
RGV0YWNoZWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGNhbkRlY3JlbWVu
dCgpKSB7CisgICAgICAgIG1fcHJpdmF0ZS0+ZGVjcmVtZW50KCk7CisgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgV2ViQWNjZXNzaWJpbGl0
eU9iamVjdDo6cHJlc3MoKSBjb25zdAoreworICAgIGlmIChpc0RldGFjaGVkKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBtX3ByaXZhdGUtPnByZXNzKCk7Cit9CisKIFdl
YkFjY2Vzc2liaWxpdHlSb2xlIFdlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OnJvbGVWYWx1ZSgpIGNv
bnN0CiB7CiAgICAgaWYgKGlzRGV0YWNoZWQoKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3NWMxOWJjOGQxN2NiNzY0NWZkMjU4NTM4MmUzYzI3
YTRiODYwNTVkLi4yYWQwYjlkNGIyMjY5NTM2M2U4NjQ3MzllZTI2MjBmNDRiNWZmYzJmIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NjAgQEAKKzIwMTItMTItMTEgIERvbWluaWMgTWF6em9uaSAgPGRtYXp6b25pQGdvb2dsZS5jb20+
CisKKyAgICAgICAgQVg6IE1ha2UgaXNBY3Rpb25TdXBwb3J0ZWQgY3Jvc3MtcGxhdGZvcm0uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVpemFjaC4KKworICAgICAgICBSZXBsYWNlIGlz
QWN0aW9uU3VwcG9ydGVkLCB3aGljaCB0YWtlcyBhIHBsYXRmb3JtLXNwZWNpZmljCisgICAgICAg
IGFyZ3VtZW50LCB3aXRoIHRocmVlIGNyb3NzLXBsYXRmb3JtIG1ldGhvZHMuCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcDoKKyAgICAgICAgKGlz
UHJlc3NBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayk6CisgICAgICAgIChpc0luY3JlbWVudEFjdGlv
blN1cHBvcnRlZENhbGxiYWNrKToKKyAgICAgICAgKGlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVk
Q2FsbGJhY2spOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0SlNDbGFzcyk6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgorICAg
ICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
YmxhY2tiZXJyeS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAg
IChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKToKKyAgICAg
ICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKToK
KyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9y
dGVkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViVGVzdFJ1bm5l
cjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudCk6CisgICAg
ICAgIChXZWJUZXN0UnVubmVyOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9u
U3VwcG9ydGVkQ2FsbGJhY2spOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcik6CisgICAgICAgIChX
ZWJUZXN0UnVubmVyOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlvblN1
cHBvcnRlZENhbGxiYWNrKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkQ2FsbGJhY2spOgorICAgICAgICAo
V2ViVGVzdFJ1bm5lcjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5jcmVtZW50Q2FsbGJhY2sp
OgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGVjcmVt
ZW50Q2FsbGJhY2spOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6cHJlc3NDYWxsYmFjayk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFJ1bm5lci9zcmMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENocm9taXVtLmg6CisgICAgICAg
IChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHA6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKToKKyAgICAgICAgKEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAgICAg
KEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQpOgorICAgICAg
ICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQpOgor
ICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0
ZWQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
V2luLmNwcDoKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25T
dXBwb3J0ZWQpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRB
Y3Rpb25TdXBwb3J0ZWQpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNy
ZW1lbnRBY3Rpb25TdXBwb3J0ZWQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlvblN1cHBvcnRlZCk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3Vw
cG9ydGVkKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuaDoKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQpOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNQcmVzc0FjdGlvblN1cHBvcnRlZCk6CisgICAgICAg
IChXVFIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVu
dEFjdGlvblN1cHBvcnRlZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKToKKwogMjAxMi0xMi0xMSAgTWFydGluIFJvYmlu
c29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgRml4IGEgdHlwbyBpbiBteSBw
cmV2aW91cyBjb21taXQgdGhhdCBpcyBjYXVzaW5nIHRlc3QgZmFpbHVyZXMuCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCmluZGV4IGIwNzlkOWE4
NTI0MjEwYzE1YWRkMWUxYmI3M2U3NDU3NjY5NTBkMjkuLmFmODljOWI4ODU2NWYyYTMyYWU3NGQx
MWEzZGM2OTkwMDZmZDNhZTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnQuY3BwCkBAIC0zNjEsMTYgKzM2MSwxOSBAQCBzdGF0aWMgSlNWYWx1ZVJl
ZiBpc0F0dHJpYnV0ZVNldHRhYmxlQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2Jq
ZWN0UmVmCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorc3RhdGljIEpTVmFsdWVSZWYgaXNQcmVz
c0FjdGlvblN1cHBvcnRlZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJl
ZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQs
IGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sK
KyAgICByZXR1cm4gSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQsIHRvQVhFbGVtZW50KHRoaXNP
YmplY3QpLT5pc1ByZXNzQWN0aW9uU3VwcG9ydGVkKCkpOworfQogCi1zdGF0aWMgSlNWYWx1ZVJl
ZiBpc0FjdGlvblN1cHBvcnRlZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291
bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikK
K3N0YXRpYyBKU1ZhbHVlUmVmIGlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkQ2FsbGJhY2soSlND
b250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlz
T2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNb
XSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQogewotICAgIEpTU3RyaW5nUmVmIGFjdGlvbiA9IDA7
Ci0gICAgaWYgKGFyZ3VtZW50Q291bnQgPT0gMSkKLSAgICAgICAgYWN0aW9uID0gSlNWYWx1ZVRv
U3RyaW5nQ29weShjb250ZXh0LCBhcmd1bWVudHNbMF0sIGV4Y2VwdGlvbik7ICAgIAotICAgIEpT
VmFsdWVSZWYgcmVzdWx0ID0gSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQsIHRvQVhFbGVtZW50
KHRoaXNPYmplY3QpLT5pc0FjdGlvblN1cHBvcnRlZChhY3Rpb24pKTsKLSAgICBpZiAoYWN0aW9u
KQotICAgICAgICBKU1N0cmluZ1JlbGVhc2UoYWN0aW9uKTsKLSAgICByZXR1cm4gcmVzdWx0Owor
ICAgIHJldHVybiBKU1ZhbHVlTWFrZUJvb2xlYW4oY29udGV4dCwgdG9BWEVsZW1lbnQodGhpc09i
amVjdCktPmlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkpOworfQorCitzdGF0aWMgSlNWYWx1
ZVJlZiBpc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250
ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90
IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYq
IGV4Y2VwdGlvbikKK3sKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQsIHRv
QVhFbGVtZW50KHRoaXNPYmplY3QpLT5pc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpKTsKIH0K
IAogc3RhdGljIEpTVmFsdWVSZWYgYm9vbEF0dHJpYnV0ZVZhbHVlQ2FsbGJhY2soSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0
LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNW
YWx1ZVJlZiogZXhjZXB0aW9uKQpAQCAtMTE0Myw3ICsxMTQ2LDkgQEAgSlNDbGFzc1JlZiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpnZXRKU0NsYXNzKCkKICAgICAgICAgeyAiYm9vbEF0dHJpYnV0
ZVZhbHVlIiwgYm9vbEF0dHJpYnV0ZVZhbHVlQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRl
UmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAi
aXNBdHRyaWJ1dGVTdXBwb3J0ZWQiLCBpc0F0dHJpYnV0ZVN1cHBvcnRlZENhbGxiYWNrLCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRl
IH0sCiAgICAgICAgIHsgImlzQXR0cmlidXRlU2V0dGFibGUiLCBpc0F0dHJpYnV0ZVNldHRhYmxl
Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZURvbnREZWxldGUgfSwKLSAgICAgICAgeyAiaXNBY3Rpb25TdXBwb3J0ZWQiLCBpc0FjdGlv
blN1cHBvcnRlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgImlzUHJlc3NBY3Rpb25TdXBw
b3J0ZWQiLCBpc1ByZXNzQWN0aW9uU3VwcG9ydGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmli
dXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICAgICAg
eyAiaXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQiLCBpc0luY3JlbWVudEFjdGlvblN1cHBvcnRl
ZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgImlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVk
IiwgaXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7
ICJwYXJlbnRFbGVtZW50IiwgcGFyZW50RWxlbWVudENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAg
IHsgImRpc2Nsb3NlZEJ5Um93IiwgZGlzY2xvc2VkQnlSb3dDYWxsYmFjaywga0pTUHJvcGVydHlB
dHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAg
ICAgICB7ICJpbmNyZW1lbnQiLCBpbmNyZW1lbnRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LApkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCmluZGV4IGI1YjIzZDhiZGU1
MWI0MjNlYmUyZWFlNjA3Mjg4YzdkNDk5MjNlMTcuLmQ0MWNlZjVhYTc5ZjI0OTYwYjA3ZDA4M2I3
YjlhNjEwOTJlMTJhNmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50LmgKQEAgLTEwOSw3ICsxMDksOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBib29sQXR0
cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKTsKICAgICBib29sIGlzQXR0cmlidXRl
U3VwcG9ydGVkKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSk7CiAgICAgYm9vbCBpc0F0dHJpYnV0ZVNl
dHRhYmxlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSk7Ci0gICAgYm9vbCBpc0FjdGlvblN1cHBvcnRl
ZChKU1N0cmluZ1JlZiBhY3Rpb24pOworICAgIGJvb2wgaXNQcmVzc0FjdGlvblN1cHBvcnRlZCgp
OworICAgIGJvb2wgaXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKTsKKyAgICBib29sIGlzRGVj
cmVtZW50QWN0aW9uU3VwcG9ydGVkKCk7CiAgICAgSlNTdHJpbmdSZWYgcm9sZSgpOwogICAgIEpT
U3RyaW5nUmVmIHN1YnJvbGUoKTsKICAgICBKU1N0cmluZ1JlZiByb2xlRGVzY3JpcHRpb24oKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudEJsYWNrQmVycnkuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJy
eS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QmxhY2tCZXJyeS5jcHAKaW5kZXggNjNmYmQzNmM5MmZl
YzBiMjJhYjg5NGY2ZjkwNzM0ZjQxYmU3Nzk2NC4uZjU0MGY2OGZkYzc3NWJkNDk4NmEzNzE1NzU4
OTQ1N2M3NDMxOWIyMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJy
eS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvYmxhY2tiZXJyeS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QmxhY2tCZXJyeS5jcHAK
QEAgLTIzNSw3ICsyMzUsMTkgQEAgaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omluc2VydGlv
blBvaW50TGluZU51bWJlcigpCiAgICAgcmV0dXJuIDA7CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6aXNBY3Rpb25TdXBwb3J0ZWQoSlNTdHJpbmdSZWYpCitib29sIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQoKQoreworICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
CisgICAgcmV0dXJuIDA7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNy
ZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiAgICAgcmV0
dXJuIDA7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVu
bmVyL3NyYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENo
cm9taXVtLmNwcAppbmRleCA3YjhmNmZiZDFlZDRmNDFiODc5ZmE1N2RkMDg2MzlhMjIzNDQ4NDYx
Li4xNzA2NDgxMmMzNmE1ZWQ5MTAxMDNmZDQzMDBmMjU4NGRmZjFhZjk5IDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Q2hyb21pdW0uY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1Rlc3RSdW5uZXIvc3JjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5jcHAKQEAgLTQy
NSw3ICs0MjUsOSBAQCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50KGNvbnN0IFdlYkFjY2Vzc2liaWxpdHlPYmplY3QmIG9iagogICAgIGJpbmRNZXRob2QoInNl
dFNlbGVjdGVkVGV4dFJhbmdlIiwgJkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVk
VGV4dFJhbmdlQ2FsbGJhY2spOwogICAgIGJpbmRNZXRob2QoImF0dHJpYnV0ZVZhbHVlIiwgJkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZVZhbHVlQ2FsbGJhY2spOwogICAgIGJpbmRN
ZXRob2QoImlzQXR0cmlidXRlU2V0dGFibGUiLCAmQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNB
dHRyaWJ1dGVTZXR0YWJsZUNhbGxiYWNrKTsKLSAgICBiaW5kTWV0aG9kKCJpc0FjdGlvblN1cHBv
cnRlZCIsICZBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0FjdGlvblN1cHBvcnRlZENhbGxiYWNr
KTsKKyAgICBiaW5kTWV0aG9kKCJpc1ByZXNzQWN0aW9uU3VwcG9ydGVkIiwgJkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayk7CisgICAgYmluZE1l
dGhvZCgiaXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQiLCAmQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayk7CisgICAgYmluZE1ldGhvZCgi
aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQiLCAmQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNE
ZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayk7CiAgICAgYmluZE1ldGhvZCgicGFyZW50
RWxlbWVudCIsICZBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwYXJlbnRFbGVtZW50Q2FsbGJhY2sp
OwogICAgIGJpbmRNZXRob2QoImluY3JlbWVudCIsICZBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
bmNyZW1lbnRDYWxsYmFjayk7CiAgICAgYmluZE1ldGhvZCgiZGVjcmVtZW50IiwgJkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmRlY3JlbWVudENhbGxiYWNrKTsKQEAgLTgxOSwxMSArODIxLDE5IEBA
IHZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTZXR0YWJsZUNhbGxiYWNr
KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYKICAgICByZXN1bHQtPnNldChzZXR0YWJsZSk7CiB9CiAK
LXZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayhj
b25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCit2b2lkIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayhjb25zdCBDcHBB
cmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7Ci0gICAgLy8gVGhpcyBvbmUgbWF5
IGJlIHJlYWxseSBoYXJkIHRvIGltcGxlbWVudC4KLSAgICAvLyBOb3QgZXhwb3NlZCBieSBBY2Nl
c3NpYmlsaXR5T2JqZWN0LgotICAgIHJlc3VsdC0+c2V0TnVsbCgpOworICAgIHJlc3VsdC0+c2V0
KGFjY2Vzc2liaWxpdHlPYmplY3QoKS5jYW5QcmVzcygpKTsKK30KKwordm9pZCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlvblN1cHBvcnRlZENhbGxiYWNrKGNvbnN0IENw
cEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICByZXN1bHQtPnNldChh
Y2Nlc3NpYmlsaXR5T2JqZWN0KCkuY2FuSW5jcmVtZW50KCkpOworfQorCit2b2lkIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkQ2FsbGJhY2soY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIHJlc3VsdC0+c2V0
KGFjY2Vzc2liaWxpdHlPYmplY3QoKS5jYW5EZWNyZW1lbnQoKSk7CiB9CiAKIHZvaWQgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6cGFyZW50RWxlbWVudENhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50
TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKQEAgLTgzMywxMSArODQzLDEzIEBAIHZvaWQgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyZW50RWxlbWVudENhbGxiYWNrKGNvbnN0IENwcEFyZ3Vt
ZW50TGlzdCYsIENwcFZhCiAKIHZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5jcmVtZW50
Q2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQogewor
ICAgIGFjY2Vzc2liaWxpdHlPYmplY3QoKS5pbmNyZW1lbnQoKTsKICAgICByZXN1bHQtPnNldE51
bGwoKTsKIH0KIAogdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZWNyZW1lbnRDYWxsYmFj
ayhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CisgICAgYWNj
ZXNzaWJpbGl0eU9iamVjdCgpLmRlY3JlbWVudCgpOwogICAgIHJlc3VsdC0+c2V0TnVsbCgpOwog
fQogCkBAIC04NDgsNyArODYwLDcgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzaG93
TWVudUNhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQKIAogdm9pZCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwcmVzc0NhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50TGlz
dCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKIHsKLSAgICBhY2Nlc3NpYmlsaXR5T2JqZWN0KCkucGVy
Zm9ybURlZmF1bHRBY3Rpb24oKTsKKyAgICBhY2Nlc3NpYmlsaXR5T2JqZWN0KCkucHJlc3MoKTsK
ICAgICByZXN1bHQtPnNldE51bGwoKTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENocm9t
aXVtLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uaAppbmRleCA0ZGM0NzllOTMwZDBkYzlkMGNiNTQ5
NzM0MTEyZDJlYWQ1MzBkNTZlLi40MTU4NmRiODZiZmU0YTMyN2FmM2QzNDljOThjMjM2ODQ2ZGU1
MTFmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVy
L3NyYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uaAorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hy
b21pdW0uaApAQCAtMTIwLDcgKzEyMCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRTZWxlY3Rl
ZFRleHRSYW5nZUNhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsK
ICAgICB2b2lkIGF0dHJpYnV0ZVZhbHVlQ2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCopOwogICAgIHZvaWQgaXNBdHRyaWJ1dGVTZXR0YWJsZUNhbGxiYWNrKGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKLSAgICB2b2lkIGlzQWN0aW9uU3VwcG9y
dGVkQ2FsbGJhY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworICAgIHZv
aWQgaXNQcmVzc0FjdGlvblN1cHBvcnRlZENhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYs
IENwcFZhcmlhbnQqKTsKKyAgICB2b2lkIGlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkQ2FsbGJh
Y2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworICAgIHZvaWQgaXNEZWNy
ZW1lbnRBY3Rpb25TdXBwb3J0ZWRDYWxsYmFjayhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBW
YXJpYW50Kik7CiAgICAgdm9pZCBwYXJlbnRFbGVtZW50Q2FsbGJhY2soY29uc3QgQ3BwQXJndW1l
bnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgaW5jcmVtZW50Q2FsbGJhY2soY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgZGVjcmVtZW50Q2FsbGJh
Y2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwCmluZGV4
IDA3ZGVmMDZlNzk3NDRkNWMyYmI0MGQwZTg1YmRjYWVkNDdjZTdkZjQuLjVjMTg4MzJmY2Y3MTAx
NWU4YjBhMmQ0YzVkZTFmNTY4ZDQ1MzAzNzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcAorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAKQEAgLTU3NCw3ICs1NzQs
MTkgQEAgaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omluc2VydGlvblBvaW50TGluZU51bWJl
cigpCiAgICAgcmV0dXJuIDA7CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNB
Y3Rpb25TdXBwb3J0ZWQoSlNTdHJpbmdSZWYgYWN0aW9uKQorYm9vbCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKCkKK3sKKyAgICAvLyBGSVhNRTogaW1wbGVt
ZW50CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKK3sKKyAgICAvLyBGSVhNRTogaW1wbGVtZW50
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omlz
RGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50CiAg
ICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQppbmRleCBjZDFjOTJkMTI0ZjczMTY0YjAzZDgwZjIz
NmU4ZTAxOTZjNzhiMjJhLi4wOGE2YzA5OGNlM2VkZmU2ZGEzMDZjZWE2OGRkNzQwOWQzYjgzMTc0
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudE1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudE1hYy5tbQpAQCAtNjcxLDExICs2NzEsMzEgQEAgaW50IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6Omluc2VydGlvblBvaW50TGluZU51bWJlcigpCiAgICAgcmV0dXJuIC0xOwogfQogCi1i
b29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQWN0aW9uU3VwcG9ydGVkKEpTU3RyaW5nUmVm
IGFjdGlvbikKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNQcmVzc0FjdGlvblN1cHBv
cnRlZCgpCiB7CiAgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCiAgICAgTlNBcnJheSogYWN0
aW9ucyA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVzXTsKLSAgICByZXR1cm4g
W2FjdGlvbnMgY29udGFpbnNPYmplY3Q6W05TU3RyaW5nIHN0cmluZ1dpdGhKU1N0cmluZ1JlZjph
Y3Rpb25dXTsKKyAgICByZXR1cm4gW2FjdGlvbnMgY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmls
aXR5UHJlc3NBY3Rpb25dOworICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKKyAgICAKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1l
bnRBY3Rpb25TdXBwb3J0ZWQoKQoreworICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUworICAg
IE5TQXJyYXkqIGFjdGlvbnMgPSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBY3Rpb25OYW1lc107
CisgICAgcmV0dXJuIFthY3Rpb25zIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eUluY3Jl
bWVudEFjdGlvbl07CisgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUworICAgIAorICAgIHJldHVy
biBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFj
dGlvblN1cHBvcnRlZCgpCit7CisgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCisgICAgTlNB
cnJheSogYWN0aW9ucyA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVzXTsKKyAg
ICByZXR1cm4gW2FjdGlvbnMgY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5RGVjcmVtZW50
QWN0aW9uXTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCiAgICAgcmV0dXJuIGZh
bHNlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRXaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRXaW4uY3BwCmluZGV4IDA3YzI4YWM3ZjY1Y2ZiN2RmZTc5N2Q4NTY1Yjg3ZDFmN2Nl
NTdjMzcuLjk3M2JhODkwZjUyYTQ0ZGFlOGYzYzc2YWVhNDQ3M2U4NzJhMzYzZGIgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNw
cAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdp
bi5jcHAKQEAgLTM5Niw3ICszOTYsMTcgQEAgZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
Om1heFZhbHVlKCkKICAgICByZXR1cm4gMDsKIH0KIAotYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0FjdGlvblN1cHBvcnRlZChKU1N0cmluZ1JlZiBhY3Rpb24pCitib29sIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQoKQoreworICAgIHJldHVybiBm
YWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlv
blN1cHBvcnRlZCgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKIHsKICAgICByZXR1cm4g
ZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAppbmRleCBlZGVjNzMyYTJk
MDNmMGY5ODE1MjliMjk1MzBhNmMyNGFlM2YxZDZkLi4wNTE4MmJlNmQ4MzQzZWFkNTA5YzRlMWU3
NzA3Y2FhMDg5ODc3Mzg3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKQEAgLTg1
LDcgKzg1LDkgQEAgZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om51bWJlckF0dHJpYnV0
ZVZhbHVlKEpTU3RyaW5nUmVmKSB7IHJldHVybiAwOyB9CiBib29sIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmJvb2xBdHRyaWJ1dGVWYWx1ZShKU1N0cmluZ1JlZikgeyByZXR1cm4gZmFsc2U7IH0K
IGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTdXBwb3J0ZWQoSlNTdHJp
bmdSZWYpIHsgcmV0dXJuIGZhbHNlOyB9CiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omlz
QXR0cmlidXRlU2V0dGFibGUoSlNTdHJpbmdSZWYpIHsgcmV0dXJuIGZhbHNlOyB9Ci1ib29sIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQWN0aW9uU3VwcG9ydGVkKEpTU3RyaW5nUmVmKSB7IHJl
dHVybiBmYWxzZTsgfQorYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9u
U3VwcG9ydGVkKCkgeyByZXR1cm4gZmFsc2U7IH0KK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKSB7IHJldHVybiBmYWxzZTsgfQorYm9vbCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpIHsgcmV0
dXJuIGZhbHNlOyB9CiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6cm9sZSgpIHsgcmV0dXJuIDA7IH0KIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpzdWJyb2xlKCkgeyByZXR1cm4gMDsgfQogSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvbGVEZXNjcmlwdGlvbigpIHsg
cmV0dXJuIDA7IH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKaW5kZXggMmRhNTZjM2Q4ZDQx
MDMzMDY2MjE3ZDU5MGFkZGM2NDhlMDRlOTY1Ny4uMTUxZDE1NjdjZjVhNmUwZjc2MWVlMzBjZDc1
OTllMzQ2MTk3ZDk4NCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKQEAgLTExMiw3ICsx
MTIsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBib29sQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYg
YXR0cmlidXRlKTsKICAgICBib29sIGlzQXR0cmlidXRlU3VwcG9ydGVkKEpTU3RyaW5nUmVmIGF0
dHJpYnV0ZSk7CiAgICAgYm9vbCBpc0F0dHJpYnV0ZVNldHRhYmxlKEpTU3RyaW5nUmVmIGF0dHJp
YnV0ZSk7Ci0gICAgYm9vbCBpc0FjdGlvblN1cHBvcnRlZChKU1N0cmluZ1JlZiBhY3Rpb24pOwor
ICAgIGJvb2wgaXNQcmVzc0FjdGlvblN1cHBvcnRlZCgpOworICAgIGJvb2wgaXNJbmNyZW1lbnRB
Y3Rpb25TdXBwb3J0ZWQoKTsKKyAgICBib29sIGlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCk7
CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHJvbGUoKTsKICAgICBKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gc3Vicm9sZSgpOwogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiByb2xl
RGVzY3JpcHRpb24oKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQuaWRsCmluZGV4IDk2ZDhjNjI2OWM3ZGMyN2NiYWM0MWMwNTAzYmIxZjFlM2EwZGNlODcuLmUy
ZmYzYjYzNGZlOTgxYjNjYTA5YjU4NWM2NTEwOWUwM2NiMzRmMjQgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudC5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmlkbApAQCAtNjAsNyArNjAsOSBAQCBpbnRl
cmZhY2UgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCB7CiAgICAgYm9vbGVhbiBib29sQXR0cmlidXRl
VmFsdWUoaW4gRE9NU3RyaW5nIGF0dHIpOwogICAgIGJvb2xlYW4gaXNBdHRyaWJ1dGVTdXBwb3J0
ZWQoaW4gRE9NU3RyaW5nIGF0dHIpOwogICAgIGJvb2xlYW4gaXNBdHRyaWJ1dGVTZXR0YWJsZShp
biBET01TdHJpbmcgYXR0cik7Ci0gICAgYm9vbGVhbiBpc0FjdGlvblN1cHBvcnRlZChpbiBET01T
dHJpbmcgYXR0cik7CisgICAgYm9vbGVhbiBpc1ByZXNzQWN0aW9uU3VwcG9ydGVkKCk7CisgICAg
Ym9vbGVhbiBpc0luY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpOworICAgIGJvb2xlYW4gaXNEZWNy
ZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgc3RyaW5nVmFsdWU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGludCBpbnRWYWx1ZTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKaW5kZXggOGQ5MjY5ODkw
MmJhMTMyZWU2ZjBhMTBjNzk4NTgwNzI4MWUxNWY2NC4uMWNlMDljZGVmNWE2NGRjZWQ2OGNkMGRi
YzQ2NmU1NDg5OTk4M2E0NiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dEF0ay5jcHAKQEAgLTY3NSw3ICs2NzUsMTkgQEAgaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
Omluc2VydGlvblBvaW50TGluZU51bWJlcigpCiAgICAgcmV0dXJuIC0xOwogfQogCi1ib29sIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQWN0aW9uU3VwcG9ydGVkKEpTU3RyaW5nUmVmIGFjdGlv
bikKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNQcmVzc0FjdGlvblN1cHBvcnRlZCgp
Cit7CisgICAgLy8gRklYTUU6IGltcGxlbWVudAorICAgIHJldHVybiBmYWxzZTsKK30KKworYm9v
bCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCit7
CisgICAgLy8gRklYTUU6IGltcGxlbWVudAorICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCiB7CiAg
ICAgLy8gRklYTUU6IGltcGxlbWVudAogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCmluZGV4IDI0ZWVmMDgzN2ZkMjMzNWVlNDU4NWFk
OGFiY2M2MWM2M2VkNjI1MDUuLjdmNDgzZjAzNjk5YThmNjdmOTg4OGRlMDNhZTE0NTc2NTU0YWM5
YzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFj
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtNjc5
LDExICs2NzksMzEgQEAgaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omluc2VydGlvblBvaW50
TGluZU51bWJlcigpCiAgICAgcmV0dXJuIC0xOwogfQogCi1ib29sIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzQWN0aW9uU3VwcG9ydGVkKEpTU3RyaW5nUmVmIGFjdGlvbikKK2Jvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNQcmVzc0FjdGlvblN1cHBvcnRlZCgpCiB7CiAgICAgQkVHSU5f
QVhfT0JKQ19FWENFUFRJT05TCiAgICAgTlNBcnJheSogYWN0aW9ucyA9IFttX2VsZW1lbnQgYWNj
ZXNzaWJpbGl0eUFjdGlvbk5hbWVzXTsKLSAgICByZXR1cm4gW2FjdGlvbnMgY29udGFpbnNPYmpl
Y3Q6W05TU3RyaW5nIHN0cmluZ1dpdGhKU1N0cmluZ1JlZjphY3Rpb25dXTsKKyAgICByZXR1cm4g
W2FjdGlvbnMgY29udGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5UHJlc3NBY3Rpb25dOworICAg
IEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKKyAgICAKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jv
b2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQor
eworICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUworICAgIE5TQXJyYXkqIGFjdGlvbnMgPSBb
bV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBY3Rpb25OYW1lc107CisgICAgcmV0dXJuIFthY3Rpb25z
IGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eUluY3JlbWVudEFjdGlvbl07CisgICAgRU5E
X0FYX09CSkNfRVhDRVBUSU9OUworICAgIAorICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCit7Cisg
ICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCisgICAgTlNBcnJheSogYWN0aW9ucyA9IFttX2Vs
ZW1lbnQgYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVzXTsKKyAgICByZXR1cm4gW2FjdGlvbnMgY29u
dGFpbnNPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5RGVjcmVtZW50QWN0aW9uXTsKICAgICBFTkRfQVhf
T0JKQ19FWENFUFRJT05TCiAgICAgCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRlOTExMGFm
Mjc2ZmE4Mjc2YWQyNDhhNjg1NzlmOGQ4ODMxOGQ2NDkuLjZkYWJhYWFkNjI4Y2E4ZTgxZjUyN2U2
YWRlN2Q4YmQ4OTc0N2IwMmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0xMi0xMSAgRG9t
aW5pYyBNYXp6b25pICA8ZG1henpvbmlAZ29vZ2xlLmNvbT4KKworICAgICAgICBBWDogTWFrZSBp
c0FjdGlvblN1cHBvcnRlZCBjcm9zcy1wbGF0Zm9ybS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MQorCisgICAgICAgIFJldmlld2VkIGJ5IENo
cmlzIEZsZWl6YWNoLgorCisgICAgICAgIFJlZmFjdG9yIHRlc3RzIHRoYXQgY2FsbGVkIGlzQWN0
aW9uU3VwcG9ydGVkIHRvIGNhbGwgbmV3CisgICAgICAgIGNyb3NzLXBsYXRmb3JtIHZhcmlhbnRz
LCBhbmQgdW5za2lwIHRocmVlIHRlc3QgZm9yIENocm9taXVtCisgICAgICAgIGFzIGEgcmVzdWx0
LgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hcmlhLWxpbmstc3VwcG9ydHMtcHJlc3MuaHRt
bDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2J1dHRvbi1wcmVzcy1hY3Rpb24uaHRtbDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L29uY2xpY2staGFuZGxlcnMuaHRtbDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvYXJpYS1wb3B1cC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvYXJpYS1wb3B1cC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvYXJpYS1wb3B1cC5odG1s
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3NsaWRlci1zdXBwb3J0cy1h
Y3Rpb25zLmh0bWw6CisKIDIwMTItMTItMTEgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFVwZGF0aW5nIHRoZXNlIHRlc3QgcmVzdWx0cyBhZnRlciBodHRwOi8vdHJh
Yy53ZWJraXQub3JnL2NoYW5nZXNldC8xMzcwMDYgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2FyaWEtbGluay1zdXBwb3J0cy1wcmVzcy5odG1sIGIvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9hcmlhLWxpbmstc3VwcG9ydHMtcHJlc3MuaHRtbAppbmRleCA1MTJhNTA3
NWFhMjlmMjhjNWQyOTk3NzM4ZGI4ZDM3MGJhNTVjN2IzLi5hMjQ5MWVmMTBkYjNjYWExODlmMmMz
NmQ0Yjc2MWYwMzRiYWViNDhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2FyaWEtbGluay1zdXBwb3J0cy1wcmVzcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvYXJpYS1saW5rLXN1cHBvcnRzLXByZXNzLmh0bWwKQEAgLTE2LDcgKzE2LDcgQEAKICAg
ICAgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKTsKICAg
ICAgICAgCiAgICAgICAgIGxpbmsuZm9jdXMoKTsKLSAgICAgICAgdmFyIHN1cHBvcnRzQWN0aW9u
ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuaXNBY3Rpb25TdXBwb3J0
ZWQoIkFYUHJlc3MiKTsKKyAgICAgICAgdmFyIHN1cHBvcnRzQWN0aW9uID0gYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuaXNQcmVzc0FjdGlvblN1cHBvcnRlZCgpOwogICAg
ICAgICBpZiAoc3VwcG9ydHNBY3Rpb24pCiAgICAgICAgICAgICByZXN1bHQuaW5uZXJIVE1MID0g
IlNVQ0NFU1MhIFRoaXMgdGVzdCBwYXNzZXMgYmVjYXVzZSB0aGUgQVJJQSBsaW5rIGFib3ZlIHN1
cHBvcnRzIHRoZSBwcmVzcyBhY3Rpb24uIjsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9idXR0b24tcHJlc3MtYWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2J1dHRvbi1wcmVzcy1hY3Rpb24uaHRtbAppbmRleCA1NmZjYjc0
YTg2YzQ2NTllZGFhZGEzNzNkY2JmNjU3MzAzNjJkZDA5Li5iMDZkOWZkMzA1ZjQ3YjAwNDFkMTMw
MzVhYmVkMmMyNGM2MjJmYWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2J1dHRvbi1wcmVzcy1hY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2J1dHRvbi1wcmVzcy1hY3Rpb24uaHRtbApAQCAtMTksNyArMTksNyBAQAogICAgICAgICAgICAg
YnV0dG9uLmZvY3VzKCk7CiAgICAgICAgICAgICBidXR0b24gPSBhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5mb2N1c2VkRWxlbWVudDsKIAotICAgICAgICAgICAgaWYgKGJ1dHRvbi5pc0FjdGlvblN1
cHBvcnRlZCgiQVhQcmVzcyIpKSB7CisgICAgICAgICAgICBpZiAoYnV0dG9uLmlzUHJlc3NBY3Rp
b25TdXBwb3J0ZWQoKSkgewogICAgICAgICAgICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0gIlRl
c3QgcGFzc2VkXG4iOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L29uY2xpY2staGFuZGxlcnMuaHRtbCBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvb25jbGljay1oYW5kbGVycy5odG1sCmluZGV4IDI2OTUx
OTQ5OTAyYjdhZjdmMTQyNzczYzEzYjRiYjIwNTUxYWM5MzguLjY3ZjI5YTc0NDllN2MxMWYzYmU3
YzUxMDRhZjI4MmY5MTQ1ODkzMzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvb25jbGljay1oYW5kbGVycy5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
b25jbGljay1oYW5kbGVycy5odG1sCkBAIC0xOSw3ICsxOSw3IEBACiAgICAgICAgICAgICB2YXIg
Zm9jdXNlZEVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsK
ICAgICAgICAgICAgIHZhciB0ZXh0RWxlbWVudCA9IGZvY3VzZWRFbGVtZW50LmNoaWxkQXRJbmRl
eCgwKS5jaGlsZEF0SW5kZXgoMCk7CiAKLSAgICAgICAgICAgIGlmICh0ZXh0RWxlbWVudC5pc0Fj
dGlvblN1cHBvcnRlZCgiQVhQcmVzcyIpKSB7CisgICAgICAgICAgICBpZiAodGV4dEVsZW1lbnQu
aXNQcmVzc0FjdGlvblN1cHBvcnRlZCgpKSB7CiAgICAgICAgICAgICAgICAgcmVzdWx0LmlubmVy
VGV4dCArPSAiVGVzdCBwYXNzZWRcbiI7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNl
IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDJmYTRhYzg4ZDU0YjgwM2M2NTljZWNjOTA1NjM0ZTYyYTExNjc0Y2QuLmY1MWJkNjU4NmQ3
NTkwOWJkYTQwZWI5MTk5ZjAyN2VlN2M0MGVkZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTM3OSwxMiArMTM3OSwxMCBAQCBjcmJ1
Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9hcmlhLWNvbWJvYm94Lmh0bWwgWyBTa2lwIF0KIGNy
YnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L2FyaWEtY29udHJvbHMtd2l0aC10YWJzLmh0bWwg
WyBTa2lwIF0KIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC5odG1s
IFsgU2tpcCBdCiBjcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnkt
b3ZlcnJpZGVzLWxhYmVsLmh0bWwgWyBTa2lwIF0KLWNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmls
aXR5L2FyaWEtbGluay1zdXBwb3J0cy1wcmVzcy5odG1sIFsgU2tpcCBdCiBjcmJ1Zy5jb20vMTAz
MjIgYWNjZXNzaWJpbGl0eS9hcmlhLW1lbnViYXItbWVudWl0ZW1zLmh0bWwgWyBTa2lwIF0KIGNy
YnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L2FyaWEtdGFibGVzLmh0bWwgWyBTa2lwIF0KIGNy
YnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L2FyaWEtdGV4dC1yb2xlLmh0bWwgWyBTa2lwIF0K
IGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L2FyaWEtdXNlZC1vbi1pbWFnZS1tYXBzLmh0
bWwgWyBTa2lwIF0KLWNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L2J1dHRvbi1wcmVzcy1h
Y3Rpb24uaHRtbCBbIFNraXAgXQogY3JidWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkvZGVsZXRp
bmctaWZyYW1lLWRlc3Ryb3lzLWF4Y2FjaGUuaHRtbCBbIFNraXAgXQogY3JidWcuY29tLzEwMzIy
IGFjY2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRlcy5odG1sIFsgU2tpcCBdCiBjcmJ1Zy5j
b20vMTAzMjIgYWNjZXNzaWJpbGl0eS9pZnJhbWUtYmFzdGFyZGl6YXRpb24uaHRtbCBbIFNraXAg
XQpAQCAtMTM5Nyw3ICsxMzk1LDYgQEAgY3JidWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkvbGFu
Z3VhZ2UtYXR0cmlidXRlLmh0bWwgWyBTa2lwIF0KIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmls
aXR5L2xlZ2VuZC5odG1sIFsgU2tpcCBdCiBjcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9s
aXN0cy5odG1sIFsgU2tpcCBdCiBjcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9tZWRpYS1l
bGVtZW50Lmh0bWwgWyBTa2lwIF0KLWNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L29uY2xp
Y2staGFuZGxlcnMuaHRtbCBbIFNraXAgXQogY3JidWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkv
cGxhY2Vob2xkZXIuaHRtbCBbIFNraXAgXQogY3JidWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkv
cGx1Z2luLmh0bWwgWyBTa2lwIF0KIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L3JhZGlv
LWJ1dHRvbi1jaGVja2JveC1zaXplLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvYXJpYS1wb3B1cC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2FyaWEtcG9w
dXAtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNDRmZmQ4MmUx
NzZhZmFlNjU3OGI4ZWQwYTJhMDE0ODlhNzZlZGIxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvYXJpYS1wb3B1cC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiAr
MCwwIEBACi1FeGFtcGxlCi1UaGlzIHRlc3RzIHRoYXQgd2hlbiBhbiBBUklBIGJ1dHRvbiBoYXMg
YXJpYS1oYXNwb3B1cD10cnVlLCBpdCB3aWxsIGJlIGEgcG9wdXAgYnV0dG9uCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGJ1dHRvbi5yb2xlIGlzICdBWFJvbGU6IEFYUG9w
VXBCdXR0b24nCi1QQVNTIGJ1dHRvbi5pc0FjdGlvblN1cHBvcnRlZCgnQVhQcmVzcycpIGlzIHRy
dWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlhLXBv
cHVwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5
L2FyaWEtcG9wdXAtZXhwZWN0ZWQudHh0CmluZGV4IGY0NGZmZDgyZTE3NmFmYWU2NTc4YjhlZDBh
MmEwMTQ4OWE3NmVkYjEuLmVjMWUyOTIwYzY4YTgwN2RhYjQ2ZDBjNjI5NGZiZjdiNjc1NzRlZGQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEt
cG9wdXAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3Np
YmlsaXR5L2FyaWEtcG9wdXAtZXhwZWN0ZWQudHh0CkBAIC01LDcgKzUsNyBAQCBPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURQogCiAKIFBBU1MgYnV0dG9uLnJvbGUgaXMgJ0FYUm9sZTogQVhQb3BVcEJ1
dHRvbicKLVBBU1MgYnV0dG9uLmlzQWN0aW9uU3VwcG9ydGVkKCdBWFByZXNzJykgaXMgdHJ1ZQor
UEFTUyBidXR0b24uaXNQcmVzc0FjdGlvblN1cHBvcnRlZCgpIGlzIHRydWUKIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvYXJpYS1wb3B1cC5odG1sIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvYXJpYS1wb3B1cC5odG1sCmluZGV4IGE4
NmQwZTllMDMxZDgwOTU3MjBlMDFjYTJhMzhlMjRlZDMzNDdhZTUuLjZlMDMwMjk3Y2I0MGViOTlj
ZWUwODVjMDc3MjI4N2RjZTllYTA1NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtcG9wdXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlhLXBvcHVwLmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAK
ICAgICAgICAgICB2YXIgYnV0dG9uID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVs
ZW1lbnQ7CiAKICAgICAgICAgICBzaG91bGRCZSgiYnV0dG9uLnJvbGUiLCAiJ0FYUm9sZTogQVhQ
b3BVcEJ1dHRvbiciKTsKLSAgICAgICAgICBzaG91bGRCZSgiYnV0dG9uLmlzQWN0aW9uU3VwcG9y
dGVkKCdBWFByZXNzJykiLCAidHJ1ZSIpOworICAgICAgICAgIHNob3VsZEJlKCJidXR0b24uaXNQ
cmVzc0FjdGlvblN1cHBvcnRlZCgpIiwgInRydWUiKTsKICAgICB9CiAKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvc2xpZGVyLXN1
cHBvcnRzLWFjdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmls
aXR5L3NsaWRlci1zdXBwb3J0cy1hY3Rpb25zLmh0bWwKaW5kZXggYTY3OWViMGZiNTQ0ODNlOTI3
MmYwOTQ1ZTBhNGMxMWFlZDg2ZDQ0Yi4uMjM3MDY0NzAyZmZkMzExZTFmN2JhYTViNzBkMWY1ZDk0
MTg4YzAyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxp
dHkvc2xpZGVyLXN1cHBvcnRzLWFjdGlvbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvYWNjZXNzaWJpbGl0eS9zbGlkZXItc3VwcG9ydHMtYWN0aW9ucy5odG1sCkBAIC0yMiwx
MCArMjIsMTAgQEAKICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2xpZGVyMSIp
LmZvY3VzKCk7CiAgICAgICAgICAgdmFyIG9iaiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZv
Y3VzZWRFbGVtZW50OwogCi0gICAgICAgICAgdmFyIHN1Y2NlZWRlZCA9IG9iai5pc0FjdGlvblN1
cHBvcnRlZCgiQVhJbmNyZW1lbnQiKSA9PSB0cnVlOworICAgICAgICAgIHZhciBzdWNjZWVkZWQg
PSBvYmouaXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKTsKICAgICAgICAgICBzaG91bGRCZSgi
c3VjY2VlZGVkIiwgInRydWUiKTsKIAotICAgICAgICAgIHZhciBzdWNjZWVkZWQgPSBvYmouaXNB
Y3Rpb25TdXBwb3J0ZWQoIkFYRGVjcmVtZW50IikgPT0gdHJ1ZTsKKyAgICAgICAgICB2YXIgc3Vj
Y2VlZGVkID0gb2JqLmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCk7CiAgICAgICAgICAgc2hv
dWxkQmUoInN1Y2NlZWRlZCIsICJ0cnVlIik7CiAKICAgICAgICAgICB2YXIgc3VjY2VlZGVkID0g
b2JqLnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCJBWE9yaWVudGF0aW9uIikgPT0gIkFYVmVydGljYWxP
cmllbnRhdGlvbiI7CkBAIC0zNSwxMCArMzUsMTAgQEAKICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic2xpZGVyMiIpLmZvY3VzKCk7CiAgICAgICAgICAgdmFyIG9iaiA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwogCi0gICAgICAgICAgdmFyIHN1Y2Nl
ZWRlZCA9IG9iai5pc0FjdGlvblN1cHBvcnRlZCgiQVhJbmNyZW1lbnQiKSA9PSB0cnVlOworICAg
ICAgICAgIHZhciBzdWNjZWVkZWQgPSBvYmouaXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKTsK
ICAgICAgICAgICBzaG91bGRCZSgic3VjY2VlZGVkIiwgInRydWUiKTsKIAotICAgICAgICAgIHZh
ciBzdWNjZWVkZWQgPSBvYmouaXNBY3Rpb25TdXBwb3J0ZWQoIkFYRGVjcmVtZW50IikgPT0gdHJ1
ZTsKKyAgICAgICAgICB2YXIgc3VjY2VlZGVkID0gb2JqLmlzRGVjcmVtZW50QWN0aW9uU3VwcG9y
dGVkKCk7CiAgICAgICAgICAgc2hvdWxkQmUoInN1Y2NlZWRlZCIsICJ0cnVlIik7CiAKICAgICAg
ICAgICB2YXIgc3VjY2VlZGVkID0gb2JqLnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCJBWE9yaWVudGF0
aW9uIikgPT0gIkFYSG9yaXpvbnRhbE9yaWVudGF0aW9uIjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>