<?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>121675</bug_id>
          
          <creation_ts>2013-09-20 06:11:57 -0700</creation_ts>
          <short_desc>[ATK] Do not expose aria-help in ATK based platforms</short_desc>
          <delta_ts>2013-09-20 17:06:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>121684</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mario Sanchez Prada">mario</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jdiggs</cc>
    
    <cc>k.czech</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>931297</commentid>
    <comment_count>0</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-09-20 06:11:57 -0700</bug_when>
    <thetext>Some tests currently present in LayoutTests/accessibility (e.g aria-help, aria-describedby-on-input) need helpText() to be implemented in DRT and WKTR, which in the mac platform relies in the AXHelp accessibility attribute, normally exposing the value that AccessibilityObject::helpText() provides, which might be associated to the aria-help attribute.

However, it turns out (now I finally see it) that both the helpText concept and the aria-help attribute are Mac specific things that do not have a clear match in the ATK world, so it&apos;s pointless both to expose those &apos;aria-help&apos; attributes and implement the corresponding helpText() function in DRT and WKTR.

Furthermore, the way that such an &apos;aria-help&apos; attribute is now being exposed in the ATK wrapper (through an object attribute) is wrong too because of two reasons:

1. There&apos;s not such a mapping to be expected for ATs as Orca, nor documented in [1], so it&apos;s useless other than for passing the tests. But those tests relying on helpText only make sense in the Mac, so it&apos;s pointless.
2. We should not call functions that might modify the accessibility tree in webkitAccessibleGetAttributes(), such as helpText() -see bug 121558 for more info-, but check and expose information that we already have at hand, such as the value of certain attributes, the toolkit name or the ARIA state of the object. Calling helpText() here will cause to call textUnderElement(), making it slower than what it should and potentially dangerous, since textUnderElement() might modify the accessibility tree.

So, my proposal now is:

1. Get rid of the exposure of &quot;aria-help&quot; as an object attribute in WebKitAccesibilityWrapperAtk
2. Remove the whole support for helpText() from DRT (based in DumpRenderTreeSupportGTK) and from WKTR (based on the &quot;aria-help&quot; object attribute)
3. Move currently passing tests such as aria-help or aria-described-on-input to platform/mac/accessibility.

I hope to provide a patch soon.

[1] http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931299</commentid>
    <comment_count>1</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-09-20 06:12:53 -0700</bug_when>
    <thetext>*** Bug 106337 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931300</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-09-20 06:13:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/15039901&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931306</commentid>
    <comment_count>3</comment_count>
      <attachid>212156</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-09-20 06:29:37 -0700</bug_when>
    <thetext>Created attachment 212156
Patch proposal

Proposed patch to revert this to a sane state. Please review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931356</commentid>
    <comment_count>4</comment_count>
      <attachid>212170</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-09-20 08:23:00 -0700</bug_when>
    <thetext>Created attachment 212170
Patch proposal

Now proposing a patch that really applies against trunk.

Also, I removed the move of aria-describedby-on-input to Mac because, after talking to Joanie on IRC, I realized that perhaps there&apos;s a chance for us to implement helpText() in DRT and WKTR in the future, based in  ATK_RELATION_DESCRIBED_BY, which is something not implemented yet (and what I have already filed bug 121684 for)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931376</commentid>
    <comment_count>5</comment_count>
    <who name="Krzysztof Czech">k.czech</who>
    <bug_when>2013-09-20 09:00:03 -0700</bug_when>
    <thetext>LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931413</commentid>
    <comment_count>6</comment_count>
      <attachid>212170</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-09-20 09:44:49 -0700</bug_when>
    <thetext>Comment on attachment 212170
Patch proposal

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931420</commentid>
    <comment_count>7</comment_count>
      <attachid>212170</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-20 09:48:24 -0700</bug_when>
    <thetext>Comment on attachment 212170
Patch proposal

Rejecting attachment 212170 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 212170, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

/Volumes/Data/EWS/WebKit/Source/WebKit/efl/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.appspot.com/results/1924119</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931603</commentid>
    <comment_count>8</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-09-20 14:45:36 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 212170 [details])
&gt; Rejecting attachment 212170 [details] from commit-queue.
&gt; 
&gt; Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 212170, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
&gt; 
&gt; /Volumes/Data/EWS/WebKit/Source/WebKit/efl/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).
&gt; 
&gt; Full output: http://webkit-queues.appspot.com/results/1924119

It seems I forgot the Reviewed by NOBODY line in the WebKit/efl/ChangeLog. I&apos;ll add it and land it manually then...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931613</commentid>
    <comment_count>9</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-09-20 14:55:11 -0700</bug_when>
    <thetext>Committed r156203: &lt;http://trac.webkit.org/changeset/156203&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931682</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-09-20 17:06:43 -0700</bug_when>
    <thetext>Fixed the moved test in r156213.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212156</attachid>
            <date>2013-09-20 06:29:37 -0700</date>
            <delta_ts>2013-09-20 08:23:00 -0700</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0001-2013-09-20-Mario-Sanchez-Prada-mario.prada-samsung.c.patch</filename>
            <type>text/plain</type>
            <size>26880</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSAwM2MwOTcwZDM4ODg0YzA5ZDgyMzY0YzQ5ZWJmMGQ3YzgxOWVmMDIwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KRGF0ZTogRnJpLCAyMCBTZXAgMjAxMyAxMjoyMDozNSArMDEwMApTdWJqZWN0OiBb
UEFUQ0hdIDIwMTMtMDktMjAgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KCiAgICAgICAgW0FUS10gRG8gbm90IGV4cG9zZSBhcmlhLWhlbHAgaW4gQVRLIGJh
c2VkIHBsYXRmb3JtcwogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjE2NzUKCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAg
IFN0b3AgZXhwb3NpbmcgdGhlIHZhbHVlIGZvciB0aGUgJ2FyaWEtaGVscCcgYXR0cmlidXRlIGFz
IGFuCiAgICAgICAgQXRrT2JqZWN0IGF0dHJpYnV0ZSwgYmFzZWQgaW4gQWNjZXNzaWJpbGl0eU9i
amVjdDo6aGVscFRleHQoKS4KCiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlV3JhcHBlckF0ay5jcHA6CiAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVHZXRBdHRyaWJ1
dGVzKTogUmVtb3ZlIHRoZSBtYXBwaW5nLgoKMjAxMy0wOS0yMCAgTWFyaW8gU2FuY2hleiBQcmFk
YSAgPG1hcmlvLnByYWRhQHNhbXN1bmcuY29tPgoKICAgICAgICBbQVRLXSBEbyBub3QgZXhwb3Nl
IGFyaWEtaGVscCBpbiBBVEsgYmFzZWQgcGxhdGZvcm1zCiAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTY3NQoKICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KCiAgICAgICAgUmVtb3ZlZCBhY2Nlc3NpYmlsaXR5SGVscFRleHQoKSBoZWxw
ZXIgbWV0aG9kIGZyb20KICAgICAgICBEdW1wUmVuZGVyU3VwcG9ydEd0aydzIEFQSSwgc2luY2Ug
aXQncyBub3QgbG9uZ2VyIG5lZWRlZC4KCiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGsuY3BwOiBSZW1vdmVkIG1ldGhvZC4KICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oOiBEaXR0by4KCjIwMTMtMDktMjAgIE1h
cmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFkYUBzYW1zdW5nLmNvbT4KCiAgICAgICAgW0FU
S10gRG8gbm90IGV4cG9zZSBhcmlhLWhlbHAgaW4gQVRLIGJhc2VkIHBsYXRmb3JtcwogICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE2NzUKCiAgICAgICAg
UmVtb3ZlZCBhY2Nlc3NpYmlsaXR5SGVscFRleHQoKSBoZWxwZXIgbWV0aG9kIGZyb20KICAgICAg
ICBEdW1wUmVuZGVyU3VwcG9ydEVmbCdzIEFQSSwgc2luY2UgaXQncyBub3QgbG9uZ2VyIG5lZWRl
ZC4KCiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3Bw
OiBSZW1vdmVkIG1ldGhvZC4KICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVl
U3VwcG9ydEVmbC5oOiBEaXR0by4KCjIwMTMtMDktMjAgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxt
YXJpby5wcmFkYUBzYW1zdW5nLmNvbT4KCiAgICAgICAgW0FUS10gRG8gbm90IGV4cG9zZSBhcmlh
LWhlbHAgaW4gQVRLIGJhc2VkIHBsYXRmb3JtcwogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE2NzUKCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCgogICAgICAgIFJlbW92ZSB0aGUgaW1wbGVtZW50YXRpb25zIGZvciBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpoZWxwVGV4dCgpCiAgICAgICAgZnJvbSBEUlQgYW5kIFdLVFIgZm9yIEdU
SyBhbmQgRUZMLCBzaW5jZSB0aGV5IGFyZSBubyBsb25nZXIKICAgICAgICBuZWVkZWQsIGFzIHdl
IHdvbid0IGJlIGV4cG9zaW5nIHRoaXMgY29uY2VwdCB0aHJvdWdoIEFUSy4KCiAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6CiAgICAgICAg
KEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmhlbHBUZXh0KTogQWRkZWQgYSBuZXcgYW5kIGVtcHR5
CiAgICAgICAgaW1wbGVtZW50YXRpb24sIG5vdyB0aGF0IHdlIGFyZSBubyBsb25nZXIgdXNpbmcg
dGhpcyBpbiBBVEsuCiAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudEVmbC5jcHA6IFJlbW92ZWQgZmlsZQogICAgICAgIGFzIHRoZSBvbmx5IGZ1bmN0aW9u
IHByb3ZpZGVkIGhlcmUgd2FzIGhlbHBUZXh0KCkuCiAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9n
dGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHA6IERpdHRvLgogICAgICAgICogRHVtcFJl
bmRlclRyZWUvZWZsL0NNYWtlTGlzdHMudHh0OiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50RWZsLmNw
cAogICAgICAgIHJlbW92ZWQgZnJvbSB0aGUgbGlzdCBvZiBzb3VyY2VzIHRvIGNvbXBpbGUuCiAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbTogTGlrZXdpc2UsIGJ1dCBmb3IgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudEd0ay5jcHAuCiAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcDoKICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpoZWxwVGV4dCk6IFJlcGxhY2VkIG9sZCBpbXBsZW1lbnRhdGlvbgog
ICAgICAgIGJhc2VkIGluIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ayB3aXRoIGFuIGVtcHR5IG9u
ZS4KCjIwMTMtMDktMjAgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFkYUBzYW1zdW5n
LmNvbT4KCiAgICAgICAgW0FUS10gRG8gbm90IGV4cG9zZSBhcmlhLWhlbHAgaW4gQVRLIGJhc2Vk
IHBsYXRmb3JtcwogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjE2NzUKCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIE1v
dmVkIHRlc3RzIGJhc2VkIGluIGhlbHBUZXh0KCkgaW50byB0aGUgTWFjIGRpcmVjdG9yeSwgYW5k
IHVwZGF0ZQogICAgICAgIGV4cGVjdGF0aW9ucyBmb3IgcGxhdGZvcm1zIHdoZXJlIHRoZXkgd2Vy
ZSBleHBlY3RlZCB0byBmYWlsLgoKICAgICAgICAqIHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5
L2FyaWEtZGVzY3JpYmVkYnktb24taW5wdXQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0LWV4cGVjdGVk
LnR4dC4KICAgICAgICAqIHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpYmVk
Ynktb24taW5wdXQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
YXJpYS1kZXNjcmliZWRieS1vbi1pbnB1dC5odG1sLgogICAgICAgICogcGxhdGZvcm0vbWFjL2Fj
Y2Vzc2liaWxpdHkvYXJpYS1oZWxwLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1oZWxwLWV4cGVjdGVkLnR4dC4KICAgICAgICAqIHBsYXRm
b3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGVscC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWhlbHAuaHRtbC4KCiAgICAgICAgKiBwbGF0Zm9ybS9n
dGstd2syL1Rlc3RFeHBlY3RhdGlvbnM6IFJlbW92ZWQgZmFpbHVyZSBleHBlY3RhdGlvbi4KICAg
ICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOiBEaXR0by4KICAgICAgICAqIHBs
YXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnM6IERpdHRvLgotLS0KIExheW91dFRlc3Rz
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxOSArKysrKysrCiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMgICAgICB8ICAgIDIg
LQogLi4uL2FyaWEtZGVzY3JpYmVkYnktb24taW5wdXQtZXhwZWN0ZWQudHh0ICAgICAgICAgfCAg
ICAwCiAuLi4vYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0Lmh0bWwgICB8
ICAgIDAKIC4uLi9tYWN9L2FjY2Vzc2liaWxpdHkvYXJpYS1oZWxwLWV4cGVjdGVkLnR4dCAgICAg
IHwgICAgMAogLi4uL21hY30vYWNjZXNzaWJpbGl0eS9hcmlhLWhlbHAuaHRtbCAgICAgICAgICAg
ICAgfCAgICAwCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyAgICAg
ICAgICB8ICAgIDIgLQogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0
aW9ucyAgICAgfCAgICAyIC0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAxMyArKysrKwogLi4uL2F0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBl
ckF0ay5jcHAgICAgICAgICAgICAgfCAgICA0IC0tCiBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKwogLi4uL1dlYkNvcmVTdXBwb3J0
L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAgICAgfCAgIDEyIC0tLS0tCiAuLi4vZWZsL1dl
YkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oICB8ICAgIDEgLQogU291cmNl
L1dlYktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsrKysr
CiAuLi4vV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcCAgICB8ICAg
MTIgLS0tLS0KIC4uLi9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3Rr
LmggIHwgICAgMyAtLQogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDI1ICsrKysrKysrKwogLi4uL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
QXRrLmNwcCAgICAgICAgICAgICAgfCAgICA2ICsrKwogLi4uL2VmbC9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50RWZsLmNwcCAgICAgICAgICAgICAgfCAgIDU0IC0tLS0tLS0tLS0tLS0tLS0tLS0tCiBU
b29scy9EdW1wUmVuZGVyVHJlZS9lZmwvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICB8ICAgIDEg
LQogLi4uL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcCAgICAgICAgICAgICAgfCAg
IDUwIC0tLS0tLS0tLS0tLS0tLS0tLQogVG9vbHMvR05VbWFrZWZpbGUuYW0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgICAxIC0KIC4uLi9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dEF0ay5jcHAgICAgICAgICAgICAgIHwgICAgOCArLS0KIDIzIGZpbGVzIGNoYW5nZWQsIDg5IGlu
c2VydGlvbnMoKyksIDE1MCBkZWxldGlvbnMoLSkKIHJlbmFtZSBMYXlvdXRUZXN0cy97ID0+IHBs
YXRmb3JtL21hY30vYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0LWV4cGVj
dGVkLnR4dCAoMTAwJSkKIHJlbmFtZSBMYXlvdXRUZXN0cy97ID0+IHBsYXRmb3JtL21hY30vYWNj
ZXNzaWJpbGl0eS9hcmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0Lmh0bWwgKDEwMCUpCiByZW5hbWUg
TGF5b3V0VGVzdHMveyA9PiBwbGF0Zm9ybS9tYWN9L2FjY2Vzc2liaWxpdHkvYXJpYS1oZWxwLWV4
cGVjdGVkLnR4dCAoMTAwJSkKIHJlbmFtZSBMYXlvdXRUZXN0cy97ID0+IHBsYXRmb3JtL21hY30v
YWNjZXNzaWJpbGl0eS9hcmlhLWhlbHAuaHRtbCAoMTAwJSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBU
b29scy9EdW1wUmVuZGVyVHJlZS9lZmwvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEVmbC5jcHAKIGRl
bGV0ZSBtb2RlIDEwMDY0NCBUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudEd0ay5jcHAKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWRjOTg5Yy4uNTRjYzg5MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIyIEBACisyMDEzLTA5LTIwICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0FUS10gRG8gbm90IGV4cG9zZSBhcmlhLWhlbHAgaW4gQVRL
IGJhc2VkIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTIxNjc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTW92ZWQgdGVzdHMgYmFzZWQgaW4gaGVscFRleHQoKSBpbnRvIHRoZSBNYWMgZGly
ZWN0b3J5LCBhbmQgdXBkYXRlCisgICAgICAgIGV4cGVjdGF0aW9ucyBmb3IgcGxhdGZvcm1zIHdo
ZXJlIHRoZXkgd2VyZSBleHBlY3RlZCB0byBmYWlsLgorCisgICAgICAgICogcGxhdGZvcm0vbWFj
L2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmliZWRieS1vbi1pbnB1dC1leHBlY3RlZC50eHQ6IFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpYmVkYnktb24t
aW5wdXQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5
L2FyaWEtZGVzY3JpYmVkYnktb24taW5wdXQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmliZWRieS1vbi1pbnB1dC5odG1sLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGVscC1leHBlY3RlZC50eHQ6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGVscC1leHBlY3RlZC50eHQu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvYXJpYS1oZWxwLmh0bWw6IFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGVscC5odG1sLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zOiBSZW1vdmVkIGZhaWx1
cmUgZXhwZWN0YXRpb24uCisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6
IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnM6IERp
dHRvLgorCiAyMDEzLTA5LTE5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ft
c3VuZy5jb20+CiAKICAgICAgICAgQVg6IENyYXNoIHdoZW4gdHJ5aW5nIHRvIHJldHJpZXZlIHRl
eHR1YWwgaW5mb3JtYXRpb24gZm9yIGEgaGVhZGluZyBhZnRlciBoaWRpbmcgaXQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2NGM5OTY4Li41
NzFmMTI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRp
b25zCkBAIC0zMzQsOCArMzM0LDYgQEAgQnVnKEdUSykgbWVkaWEvVzNDL2F1ZGlvL25ldHdvcmtT
dGF0ZS9uZXR3b3JrU3RhdGVfZHVyaW5nX2xvYWRzdGFydC5odG1sIFsgRmFpbHUKICMgYWNjZXNz
aWJpbGl0eS8gZmFpbHVyZXMKIHdlYmtpdC5vcmcvYi8xMDYzMzQgYWNjZXNzaWJpbGl0eS9hY2Nl
c3NpYmlsaXR5LW5vZGUtbWVtb3J5LW1hbmFnZW1lbnQuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzEwNjMzNSBhY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktbm9kZS1yZXBhcmVudC5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTA2MzM2IGFjY2Vzc2liaWxpdHkvYXJpYS1k
ZXNjcmliZWRieS1vbi1pbnB1dC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTA2MzM3
IGFjY2Vzc2liaWxpdHkvYXJpYS1oZWxwLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8x
MDYzMzggYWNjZXNzaWJpbGl0eS9hcmlhLWhpZGRlbi11cGRhdGVzLWFsbGRlc2NlbmRhbnRzLmh0
bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDYzNDAgYWNjZXNzaWJpbGl0eS9pbWctZmFs
bHNiYWNrLXRvLXRpdGxlLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDYzNDMgYWNj
ZXNzaWJpbGl0eS9sb2FkaW5nLWlmcmFtZS1zZW5kcy1ub3RpZmljYXRpb24uaHRtbCBbIEZhaWx1
cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaWJl
ZGJ5LW9uLWlucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nl
c3NpYmlsaXR5L2FyaWEtZGVzY3JpYmVkYnktb24taW5wdXQtZXhwZWN0ZWQudHh0CnNpbWlsYXJp
dHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEt
ZGVzY3JpYmVkYnktb24taW5wdXQtZXhwZWN0ZWQudHh0CnJlbmFtZSB0byBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0LWV4cGVj
dGVkLnR4dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2Ny
aWJlZGJ5LW9uLWlucHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJp
bGl0eS9hcmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0Lmh0bWwKc2ltaWxhcml0eSBpbmRleCAxMDAl
CnJlbmFtZSBmcm9tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmliZWRieS1v
bi1pbnB1dC5odG1sCnJlbmFtZSB0byBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJp
bGl0eS9hcmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1oZWxwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGVscC1leHBlY3RlZC50eHQKc2ltaWxhcml0
eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1o
ZWxwLWV4cGVjdGVkLnR4dApyZW5hbWUgdG8gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vz
c2liaWxpdHkvYXJpYS1oZWxwLWV4cGVjdGVkLnR4dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9hcmlhLWhlbHAuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9h
Y2Nlc3NpYmlsaXR5L2FyaWEtaGVscC5odG1sCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUg
ZnJvbSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGVscC5odG1sCnJlbmFtZSB0byBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlhLWhlbHAuaHRtbApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiMjk1ZTc1Li4yZGRl
NDNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTg2
LDkgKzU4Niw3IEBAIGFjY2Vzc2liaWxpdHkvYXJpYS1jaGVja2JveC1zZW5kcy1ub3RpZmljYXRp
b24uaHRtbAogYWNjZXNzaWJpbGl0eS9hcmlhLWNoZWNrYm94LXRleHQuaHRtbAogYWNjZXNzaWJp
bGl0eS9hcmlhLWNvbWJvYm94Lmh0bWwKIGFjY2Vzc2liaWxpdHkvYXJpYS1jb250cm9scy13aXRo
LXRhYnMuaHRtbAotYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0Lmh0bWwK
IGFjY2Vzc2liaWxpdHkvYXJpYS1kaXNhYmxlZC5odG1sCi1hY2Nlc3NpYmlsaXR5L2FyaWEtaGVs
cC5odG1sCiBhY2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLmh0bWwKIGFjY2Vzc2liaWxpdHkvYXJp
YS1oaWRkZW4td2l0aC1lbGVtZW50cy5odG1sCiBhY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC5o
dG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCBhNWIwMjM4Li5lYzBmMDQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNh
aXJvL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTExMTMsOSArMTExMyw3IEBAIGFjY2Vzc2liaWxpdHkv
YXJpYS1jaGVja2JveC1zZW5kcy1ub3RpZmljYXRpb24uaHRtbAogYWNjZXNzaWJpbGl0eS9hcmlh
LWNoZWNrYm94LXRleHQuaHRtbAogYWNjZXNzaWJpbGl0eS9hcmlhLWNvbWJvYm94Lmh0bWwKIGFj
Y2Vzc2liaWxpdHkvYXJpYS1jb250cm9scy13aXRoLXRhYnMuaHRtbAotYWNjZXNzaWJpbGl0eS9h
cmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0Lmh0bWwKIGFjY2Vzc2liaWxpdHkvYXJpYS1kaXNhYmxl
ZC5odG1sCi1hY2Nlc3NpYmlsaXR5L2FyaWEtaGVscC5odG1sCiBhY2Nlc3NpYmlsaXR5L2FyaWEt
aGlkZGVuLmh0bWwKIGFjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4td2l0aC1lbGVtZW50cy5odG1s
CiBhY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC5odG1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmU3MTMyMy4u
YWYxY2RhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTA5LTIwICBNYXJpbyBT
YW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0FUS10g
RG8gbm90IGV4cG9zZSBhcmlhLWhlbHAgaW4gQVRLIGJhc2VkIHBsYXRmb3JtcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxNjc1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3RvcCBleHBvc2luZyB0aGUg
dmFsdWUgZm9yIHRoZSAnYXJpYS1oZWxwJyBhdHRyaWJ1dGUgYXMgYW4KKyAgICAgICAgQXRrT2Jq
ZWN0IGF0dHJpYnV0ZSwgYmFzZWQgaW4gQWNjZXNzaWJpbGl0eU9iamVjdDo6aGVscFRleHQoKS4K
KworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRr
LmNwcDoKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVHZXRBdHRyaWJ1dGVzKTogUmVtb3ZlIHRo
ZSBtYXBwaW5nLgorCiAyMDEzLTA5LTE5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJh
ZGFAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgQVg6IENyYXNoIHdoZW4gdHJ5aW5nIHRvIHJldHJp
ZXZlIHRleHR1YWwgaW5mb3JtYXRpb24gZm9yIGEgaGVhZGluZyBhZnRlciBoaWRpbmcgaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2li
bGVXcmFwcGVyQXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcAppbmRleCA5NWM5ZTYxLi41NDE5M2Y2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlV3Jh
cHBlckF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwCkBAIC00OTUsMTAgKzQ5NSw2IEBAIHN0YXRpYyBBdGtB
dHRyaWJ1dGVTZXQqIHdlYmtpdEFjY2Vzc2libGVHZXRBdHRyaWJ1dGVzKEF0a09iamVjdCogb2Jq
ZWN0KQogICAgIGlmICghaW52YWxpZFN0YXR1cy5pc0VtcHR5KCkgJiYgaW52YWxpZFN0YXR1cyAh
PSAiZmFsc2UiKQogICAgICAgICBhdHRyaWJ1dGVTZXQgPSBhZGRUb0F0a0F0dHJpYnV0ZVNldChh
dHRyaWJ1dGVTZXQsICJhcmlhLWludmFsaWQiLCBjb3JlT2JqZWN0LT5pbnZhbGlkU3RhdHVzKCku
c3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAKLSAgICBTdHJpbmcgaGVscFRleHQgPSBjb3JlT2Jq
ZWN0LT5oZWxwVGV4dCgpOwotICAgIGlmICghaGVscFRleHQuaXNFbXB0eSgpKQotICAgICAgICBh
dHRyaWJ1dGVTZXQgPSBhZGRUb0F0a0F0dHJpYnV0ZVNldChhdHRyaWJ1dGVTZXQsICJhcmlhLWhl
bHAiLCBoZWxwVGV4dC51dGY4KCkuZGF0YSgpKTsKLQogICAgIGNvbnN0IGNoYXIqIHNvcnREZXNj
cmlwdGlvbiA9ICJBWFVua25vd25Tb3J0RGlyZWN0aW9uIjsKICAgICBBY2Nlc3NpYmlsaXR5U29y
dERpcmVjdGlvbiBzb3J0RGlyZWN0aW9uID0gY29yZU9iamVjdC0+c29ydERpcmVjdGlvbigpOwog
ICAgIGlmIChzb3J0RGlyZWN0aW9uID09IFNvcnREaXJlY3Rpb25Bc2NlbmRpbmcpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cKaW5kZXggNjc0ZTBlOS4uY2IxYzVmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDEzLTA5LTIwICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0FUS10gRG8gbm90IGV4cG9zZSBhcmlhLWhlbHAgaW4gQVRL
IGJhc2VkIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTIxNjc1CisKKyAgICAgICAgUmVtb3ZlZCBhY2Nlc3NpYmlsaXR5SGVscFRleHQo
KSBoZWxwZXIgbWV0aG9kIGZyb20KKyAgICAgICAgRHVtcFJlbmRlclN1cHBvcnRFZmwncyBBUEks
IHNpbmNlIGl0J3Mgbm90IGxvbmdlciBuZWVkZWQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwOiBSZW1vdmVkIG1ldGhvZC4KKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaDogRGl0dG8uCisKIDIw
MTMtMDktMTIgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5j
b20+CiAKICAgICAgICAgUmVtb3ZlIGhvbWUtYnJld2VkIG51bGxwdHIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnRFZmwuY3BwCmluZGV4IGFmYjQ1ZDEuLjg5OTY0OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZs
LmNwcApAQCAtNzM2LDE4ICs3MzYsNiBAQCBpbnQgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpu
dW1iZXJPZlBlbmRpbmdHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0cyhjb25zdAogfQogCiAj
aWYgSEFWRShBQ0NFU1NJQklMSVRZKQotU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6
YWNjZXNzaWJpbGl0eUhlbHBUZXh0KGNvbnN0IEF0a09iamVjdCogYXhPYmplY3QpCi17Ci0gICAg
aWYgKCFheE9iamVjdCB8fCAhV0VCS0lUX0lTX0FDQ0VTU0lCTEUoYXhPYmplY3QpKQotICAgICAg
ICByZXR1cm4gU3RyaW5nKCk7Ci0KLSAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBj
b3JlT2JqZWN0ID0gd2Via2l0QWNjZXNzaWJsZUdldEFjY2Vzc2liaWxpdHlPYmplY3QoV0VCS0lU
X0FDQ0VTU0lCTEUoYXhPYmplY3QpKTsKLSAgICBpZiAoIWNvcmVPYmplY3QpCi0gICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKLQotICAgIHJldHVybiBjb3JlT2JqZWN0LT5oZWxwVGV4dCgpOwotfQot
CiBBdGtPYmplY3QqIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6cm9vdEFjY2Vzc2libGVFbGVt
ZW50KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSkKIHsKICAgICBEUlRfU1VQUE9SVF9GUkFN
RV9HRVRfT1JfUkVUVVJOKGV3a0ZyYW1lLCBmcmFtZSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaCBiL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5o
CmluZGV4IGI5NzRjZjYuLmNlZjc2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCkBAIC0xMzAs
NyArMTMwLDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBpbnQgbnVtYmVyT2ZQZW5kaW5nR2VvbG9j
YXRpb25QZXJtaXNzaW9uUmVxdWVzdHMoY29uc3QgRXZhc19PYmplY3QqKTsKIAogI2lmIEhBVkUo
QUNDRVNTSUJJTElUWSkKLSAgICBzdGF0aWMgU3RyaW5nIGFjY2Vzc2liaWxpdHlIZWxwVGV4dChj
b25zdCBBdGtPYmplY3QqIGF4T2JqZWN0KTsKICAgICBzdGF0aWMgQXRrT2JqZWN0KiBmb2N1c2Vk
QWNjZXNzaWJsZUVsZW1lbnQoY29uc3QgRXZhc19PYmplY3QqKTsKICAgICBzdGF0aWMgQXRrT2Jq
ZWN0KiByb290QWNjZXNzaWJsZUVsZW1lbnQoY29uc3QgRXZhc19PYmplY3QqKTsKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCmluZGV4IDRhODFjYzYuLjNlODA0NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAxMy0wOS0yMCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnBy
YWRhQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtBVEtdIERvIG5vdCBleHBvc2UgYXJpYS1oZWxw
IGluIEFUSyBiYXNlZCBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyMTY3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlbW92ZWQgYWNjZXNzaWJpbGl0eUhlbHBUZXh0KCkgaGVscGVyIG1l
dGhvZCBmcm9tCisgICAgICAgIER1bXBSZW5kZXJTdXBwb3J0R3RrJ3MgQVBJLCBzaW5jZSBpdCdz
IG5vdCBsb25nZXIgbmVlZGVkLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0R3RrLmNwcDogUmVtb3ZlZCBtZXRob2QuCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmg6IERpdHRvLgorCiAyMDEzLTA5LTE2ICBH
dXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxnbnNAZ25vbWUub3JnPgogCiAgICAgICAgIFtHVEtdIE1h
a2Ugc3ltYm9sIGV4cG9ydCBmaWx0ZXIgbW9yZSBzdHJpY3QsIGFuZCBkaXNhYmxlIGZvciBkZXYv
dGVzdCBidWlsZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCmluZGV4IDI4OWM0ZTkuLmM2OTg1
NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcApAQCAtNDc3LDE4ICs0NzcsNiBAQCBib29s
IER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZmluZFN0cmluZyhXZWJLaXRXZWJWaWV3KiB3ZWJW
aWV3LCBjb25zdCBnY2hhciogdAogICAgIHJldHVybiBjb3JlKHdlYlZpZXcpLT5maW5kU3RyaW5n
KFN0cmluZzo6ZnJvbVVURjgodGFyZ2V0U3RyaW5nKSwgZmluZE9wdGlvbnMpOwogfQogCi1DU3Ry
aW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6YWNjZXNzaWJpbGl0eUhlbHBUZXh0KEF0a09i
amVjdCogYXhPYmplY3QpCi17Ci0gICAgaWYgKCFheE9iamVjdCB8fCAhV0VCS0lUX0lTX0FDQ0VT
U0lCTEUoYXhPYmplY3QpKQotICAgICAgICByZXR1cm4gQ1N0cmluZygpOwotCi0gICAgQWNjZXNz
aWJpbGl0eU9iamVjdCogY29yZU9iamVjdCA9IHdlYmtpdEFjY2Vzc2libGVHZXRBY2Nlc3NpYmls
aXR5T2JqZWN0KFdFQktJVF9BQ0NFU1NJQkxFKGF4T2JqZWN0KSk7Ci0gICAgaWYgKCFjb3JlT2Jq
ZWN0KQotICAgICAgICByZXR1cm4gQ1N0cmluZygpOwotCi0gICAgcmV0dXJuIGNvcmVPYmplY3Qt
PmhlbHBUZXh0KCkudXRmOCgpOwotfQotCiB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6
c2V0VmFsdWVGb3JVc2VyKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU1ZhbHVlUmVmIG5vZGVPYmpl
Y3QsIEpTU3RyaW5nUmVmIHZhbHVlKQogewogICAgIEpTQzo6RXhlY1N0YXRlKiBleGVjID0gdG9K
Uyhjb250ZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmgKaW5kZXggYTg4YTFlNC4uNmM0MWNiNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVt
cFJlbmRlclRyZWVTdXBwb3J0R3RrLmgKQEAgLTc4LDkgKzc4LDYgQEAgcHVibGljOgogICAgIHN0
YXRpYyB2b2lkIHNldERlZmVyc0xvYWRpbmcoV2ViS2l0V2ViVmlldyosIGJvb2wpOwogICAgIHN0
YXRpYyB2b2lkIGZvcmNlV2ViVmlld1BhaW50KFdlYktpdFdlYlZpZXcqKTsKIAotICAgIC8vIEFj
Y2Vzc2liaWxpdHkKLSAgICBzdGF0aWMgV1RGOjpDU3RyaW5nIGFjY2Vzc2liaWxpdHlIZWxwVGV4
dChBdGtPYmplY3QqKTsKLQogICAgIC8vIFRleHRJbnB1dENvbnRyb2xsZXIKICAgICBzdGF0aWMg
dm9pZCBzZXRDb21wb3NpdGlvbihXZWJLaXRXZWJWaWV3KiwgY29uc3QgY2hhciosIGludCBzdGFy
dCwgaW50IGxlbmd0aCk7CiAgICAgc3RhdGljIGJvb2wgaGFzQ29tcG9zaXRpb24oV2ViS2l0V2Vi
VmlldyopOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDA2NWQ3YzcuLjA2ZGI1YmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMCBAQAogMjAxMy0wOS0yMCAgTWFyaW8gU2FuY2hl
eiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1bmcuY29tPgogCisgICAgICAgIFtBVEtdIERvIG5v
dCBleHBvc2UgYXJpYS1oZWxwIGluIEFUSyBiYXNlZCBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTY3NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUgaW1wbGVtZW50YXRp
b25zIGZvciBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWxwVGV4dCgpCisgICAgICAgIGZyb20g
RFJUIGFuZCBXS1RSIGZvciBHVEsgYW5kIEVGTCwgc2luY2UgdGhleSBhcmUgbm8gbG9uZ2VyCisg
ICAgICAgIG5lZWRlZCwgYXMgd2Ugd29uJ3QgYmUgZXhwb3NpbmcgdGhpcyBjb25jZXB0IHRocm91
Z2ggQVRLLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRBdGsuY3BwOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGVscFRleHQp
OiBBZGRlZCBhIG5ldyBhbmQgZW1wdHkKKyAgICAgICAgaW1wbGVtZW50YXRpb24sIG5vdyB0aGF0
IHdlIGFyZSBubyBsb25nZXIgdXNpbmcgdGhpcyBpbiBBVEsuCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvZWZsL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRFZmwuY3BwOiBSZW1vdmVkIGZpbGUKKyAg
ICAgICAgYXMgdGhlIG9ubHkgZnVuY3Rpb24gcHJvdmlkZWQgaGVyZSB3YXMgaGVscFRleHQoKS4K
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5j
cHA6IERpdHRvLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9DTWFrZUxpc3RzLnR4dDog
QWNjZXNzaWJpbGl0eVVJRWxlbWVudEVmbC5jcHAKKyAgICAgICAgcmVtb3ZlZCBmcm9tIHRoZSBs
aXN0IG9mIHNvdXJjZXMgdG8gY29tcGlsZS4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogTGlr
ZXdpc2UsIGJ1dCBmb3IgQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAuCisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dEF0ay5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmhlbHBUZXh0
KTogUmVwbGFjZWQgb2xkIGltcGxlbWVudGF0aW9uCisgICAgICAgIGJhc2VkIGluIER1bXBSZW5k
ZXJUcmVlU3VwcG9ydEd0ayB3aXRoIGFuIGVtcHR5IG9uZS4KKworCisyMDEzLTA5LTIwICBNYXJp
byBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CisKICAgICAgICAgW0dU
S10gR1RLIGRvZXMgbm90IGV4cG9zZSBoZWFkaW5nIGxldmVsIGNvcnJlY3RseS4gV2FzOiBhY2Nl
c3NpYmlsaXR5L2hlYWRpbmctbGV2ZWwuaHRtbCBpcyBmYWlsaW5nCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5MjQKIApkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCmluZGV4
IDAxOGYzNjYuLjAwMTFhM2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2F0ay9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9h
dGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKQEAgLTUzNiw2ICs1MzYsMTIgQEAgSlNT
dHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGFuZ3VhZ2UoKQogICAgIHJldHVybiBK
U1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhheFZhbHVlLmdldCgpKTsKIH0KIAorSlNTdHJp
bmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGVscFRleHQoKSBjb25zdAoreworICAgIC8v
IFRoaXMgaXMgYSBNYWMgc3BlY2lmaWMgY29uY2VwdCB3ZSBkbyBub3QgaGF2ZSBpbiBBVEsuCisg
ICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKIGRvdWJs
ZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp4KCkKIHsKICAgICBpbnQgeCwgeTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50RWZsLmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50RWZsLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWUxMTVkOS4uMDAwMDAwMAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9lZmwvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEVmbC5jcHAKKysr
IC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFw
cGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSBKYW4g
TWljaGFlbCBBbG9uem8KLSAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQuaCIKLQotI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKLQotI2luY2x1ZGUgIldlYkNv
cmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oIgotI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0pTU3RyaW5nUmVmLmg+Ci0jaW5jbHVkZSA8YXRrL2F0ay5oPgotI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgotI2luY2x1
ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KLSNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgotCi1KU1N0cmluZ1Jl
ZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWxwVGV4dCgpIGNvbnN0Ci17Ci0gICAgaWYgKCFt
X2VsZW1lbnQpCi0gICAgICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAs
IDApOwotCi0gICAgQVNTRVJUKEFUS19JU19PQkpFQ1QobV9lbGVtZW50KSk7Ci0KLSAgICBTdHJp
bmcgaGVscFRleHQgPSBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmFjY2Vzc2liaWxpdHlIZWxw
VGV4dChBVEtfT0JKRUNUKG1fZWxlbWVudCkpOwotICAgIEdPd25QdHI8Z2NoYXI+IGF4SGVscFRl
eHQoZ19zdHJkdXBfcHJpbnRmKCJBWEhlbHA6ICVzIiwgaGVscFRleHQudXRmOCgpLmRhdGEoKSkp
OwotICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhheEhlbHBUZXh0Lmdl
dCgpKTsKLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwv
Q01ha2VMaXN0cy50eHQgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvQ01ha2VMaXN0cy50eHQK
aW5kZXggYzMzOGI4Ni4uYzQ2YWVlYSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
ZWZsL0NNYWtlTGlzdHMudHh0CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9DTWFrZUxp
c3RzLnR4dApAQCAtMTQsNyArMTQsNiBAQCBzZXQoRHVtcFJlbmRlclRyZWVfU09VUkNFUwogICAg
ICR7VE9PTFNfRElSfS9EdW1wUmVuZGVyVHJlZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0
ay5jcHAKICAgICAke1RPT0xTX0RJUn0vRHVtcFJlbmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3Vw
cG9ydENhaXJvLmNwcAogICAgICR7VE9PTFNfRElSfS9EdW1wUmVuZGVyVHJlZS9lZmwvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXJFZmwuY3BwCi0gICAgJHtUT09MU19ESVJ9L0R1bXBSZW5kZXJUcmVl
L2VmbC9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50RWZsLmNwcAogICAgICR7VE9PTFNfRElSfS9EdW1w
UmVuZGVyVHJlZS9lZmwvRHVtcEhpc3RvcnlJdGVtLmNwcAogICAgICR7VE9PTFNfRElSfS9EdW1w
UmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWUuY3BwCiAgICAgJHtUT09MU19ESVJ9L0R1bXBS
ZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzBmN2I2NC4uMDAwMDAwMAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAKKysrIC9kZXYvbnVs
bApAQCAtMSw1MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSBKYW4gTWljaGFlbCBB
bG9uem8KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgiCi0KLSNp
bmNsdWRlICJXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaCIKLSNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9KU1N0cmluZ1JlZi5oPgotI2luY2x1ZGUgPGF0ay9hdGsuaD4K
LSNpbmNsdWRlIDxndGsvZ3RrLmg+Ci0jaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNs
dWRlIDx3dGYvZ29iamVjdC9HT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0
ci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotI2luY2x1ZGUgPHd0Zi91bmlj
b2RlL0NoYXJhY3Rlck5hbWVzLmg+Ci0KLUpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmhlbHBUZXh0KCkgY29uc3QKLXsKLSAgICBpZiAoIW1fZWxlbWVudCkKLSAgICAgICAgcmV0
dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Ci0KLSAgICBBU1NFUlQoQVRL
X0lTX09CSkVDVChtX2VsZW1lbnQpKTsKLQotICAgIENTdHJpbmcgaGVscFRleHQgPSBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGs6OmFjY2Vzc2liaWxpdHlIZWxwVGV4dChBVEtfT0JKRUNUKG1fZWxl
bWVudCkpOwotICAgIEdPd25QdHI8Z2NoYXI+IGF4SGVscFRleHQoZ19zdHJkdXBfcHJpbnRmKCJB
WEhlbHA6ICVzIiwgaGVscFRleHQuZGF0YSgpKSk7Ci0gICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRl
V2l0aFVURjhDU3RyaW5nKGF4SGVscFRleHQuZ2V0KCkpOwotfQpkaWZmIC0tZ2l0IGEvVG9vbHMv
R05VbWFrZWZpbGUuYW0gYi9Ub29scy9HTlVtYWtlZmlsZS5hbQppbmRleCAxOTAyMTkwLi4zZmM5
YTAwIDEwMDY0NAotLS0gYS9Ub29scy9HTlVtYWtlZmlsZS5hbQorKysgYi9Ub29scy9HTlVtYWtl
ZmlsZS5hbQpAQCAtMTIyLDcgKzEyMiw2IEBAIFByb2dyYW1zX0R1bXBSZW5kZXJUcmVlX1NPVVJD
RVMgPSBcCiAJVG9vbHMvRHVtcFJlbmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJv
LmNwcCBcCiAJVG9vbHMvRHVtcFJlbmRlclRyZWUvY2Fpcm8vUGl4ZWxEdW1wU3VwcG9ydENhaXJv
LmggXAogCVRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0
ay5jcHAgXAotCVRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
R3RrLmNwcCBcCiAJVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcCBc
CiAJVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlR3RrLmggXAogCVRvb2xz
L0R1bXBSZW5kZXJUcmVlL2d0ay9FZGl0aW5nQ2FsbGJhY2tzLmggXApkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEF0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcAppbmRleCBiMWRlZTZlLi4wZWY4NWNlIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50QXRrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcApAQCAtNzAxLDEyICs3
MDEsOCBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
bGFuZ3VhZ2UoKQogCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aGVscFRleHQoKSBjb25zdAogewotICAgIGlmICghbV9lbGVtZW50IHx8ICFBVEtfSVNf
T0JKRUNUKG1fZWxlbWVudC5nZXQoKSkpCi0gICAgICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdp
dGhDaGFyYWN0ZXJzKDAsIDApOwotCi0gICAgU3RyaW5nIGF0dHJpYnV0ZVZhbHVlID0gZ2V0QXR0
cmlidXRlU2V0VmFsdWVGb3JJZChBVEtfT0JKRUNUKG1fZWxlbWVudC5nZXQoKSksICJhcmlhLWhl
bHAiKTsKLSAgICBHT3duUHRyPGNoYXI+IGF4VmFsdWUoZ19zdHJkdXBfcHJpbnRmKCJBWEhlbHA6
ICVzIiwgYXR0cmlidXRlVmFsdWUudXRmOCgpLmRhdGEoKSkpOwotICAgIHJldHVybiBKU1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhheFZhbHVlLmdldCgpKTsKKyAgICAvLyBUaGlzIGlzIGEg
TWFjIHNwZWNpZmljIGNvbmNlcHQgd2UgZG8gbm90IGhhdmUgaW4gQVRLLgorICAgIHJldHVybiBK
U1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwogfQogCiBkb3VibGUgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6eCgpCi0tIAoxLjcuMTAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212170</attachid>
            <date>2013-09-20 08:23:00 -0700</date>
            <delta_ts>2013-09-20 09:48:24 -0700</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0001-ATK-Do-not-expose-aria-help-in-ATK-based-platforms.patch</filename>
            <type>text/plain</type>
            <size>23317</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSBiNzI5Yjg4ODgyMjNhYjlmZDZhOTg5MzdiOGI2M2I4MWQ2ZDkzMWRmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KRGF0ZTogRnJpLCAyMCBTZXAgMjAxMyAxMjoyMDozNSArMDEwMApTdWJqZWN0OiBb
UEFUQ0hdIFtBVEtdIERvIG5vdCBleHBvc2UgYXJpYS1oZWxwIGluIEFUSyBiYXNlZCBwbGF0Zm9y
bXMKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE2NzUKCi0tLQog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIx
ICsrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMg
ICAgICB8ICAgIDIgLQogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMg
ICAgICAgICAgfCAgICAxICsKIC4uLi9tYWN9L2FjY2Vzc2liaWxpdHkvYXJpYS1oZWxwLWV4cGVj
dGVkLnR4dCAgICAgIHwgICAgMAogLi4uL21hY30vYWNjZXNzaWJpbGl0eS9hcmlhLWhlbHAuaHRt
bCAgICAgICAgICAgICAgfCAgICAwCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucyAgICAgICAgICB8ICAgIDEgLQogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8v
VGVzdEV4cGVjdGF0aW9ucyAgICAgfCAgICAxIC0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMyArKysrKwogLi4uL2F0ay9XZWJLaXRBY2Nl
c3NpYmxlV3JhcHBlckF0ay5jcHAgICAgICAgICAgICAgfCAgICA0IC0tCiBTb3VyY2UvV2ViS2l0
L2VmbC9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKwogLi4uL1dl
YkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAgICAgfCAgIDEyIC0tLS0t
CiAuLi4vZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oICB8ICAg
IDEgLQogU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDEzICsrKysrCiAuLi4vV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3Rr
LmNwcCAgICB8ICAgMTIgLS0tLS0KIC4uLi9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0R3RrLmggIHwgICAgMyAtLQogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDI2ICsrKysrKysrKysKIC4uLi9hdGsvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudEF0ay5jcHAgICAgICAgICAgICAgIHwgICAgOCArKysKIC4uLi9lZmwvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudEVmbC5jcHAgICAgICAgICAgICAgIHwgICA1NCAtLS0tLS0tLS0t
LS0tLS0tLS0tLQogVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0NNYWtlTGlzdHMudHh0ICAgICAg
ICAgICAgfCAgICAxIC0KIC4uLi9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAgICAg
ICAgICAgICAgIHwgICA1MCAtLS0tLS0tLS0tLS0tLS0tLS0KIFRvb2xzL0dOVW1ha2VmaWxlLmFt
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSAtCiAuLi4vYXRrL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRBdGsuY3BwICAgICAgICAgICAgICB8ICAgMTAgKystLQogMjIgZmlsZXMg
Y2hhbmdlZCwgOTcgaW5zZXJ0aW9ucygrKSwgMTQ4IGRlbGV0aW9ucygtKQogcmVuYW1lIExheW91
dFRlc3RzL3sgPT4gcGxhdGZvcm0vbWFjfS9hY2Nlc3NpYmlsaXR5L2FyaWEtaGVscC1leHBlY3Rl
ZC50eHQgKDEwMCUpCiByZW5hbWUgTGF5b3V0VGVzdHMveyA9PiBwbGF0Zm9ybS9tYWN9L2FjY2Vz
c2liaWxpdHkvYXJpYS1oZWxwLmh0bWwgKDEwMCUpCiBkZWxldGUgbW9kZSAxMDA2NDQgVG9vbHMv
RHVtcFJlbmRlclRyZWUvZWZsL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRFZmwuY3BwCiBkZWxldGUg
bW9kZSAxMDA2NDQgVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRHdGsuY3BwCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDdiMmYyNDMuLjgyYmJlYWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBA
QAorMjAxMy0wOS0yMCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIFtBVEtdIERvIG5vdCBleHBvc2UgYXJpYS1oZWxwIGluIEFUSyBiYXNl
ZCBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyMTY3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE1vdmVkIHRlc3QgYmFzZWQgaW4gaGVscFRleHQoKSBpbnRvIHRoZSBNYWMgZGlyZWN0b3J5
LCBhbmQgdXBkYXRlCisgICAgICAgIGV4cGVjdGF0aW9ucyBmb3IgcGxhdGZvcm1zIGFzIG5lZWRl
ZC4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGVscC1leHBl
Y3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGVs
cC1leHBlY3RlZC50eHQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvYXJp
YS1oZWxwLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEt
aGVscC5odG1sLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9uczog
UmVtb3ZlZCBmYWlsdXJlIGV4cGVjdGF0aW9uCisgICAgICAgIGZvciBhcmlhLWhlbHAsIG5vdyBt
b3ZlZCB0byBNYWMsIGFuZCBmb3IgYXJpYS1kZXNjcmliZWRieS1vbi1pbnB1dCwKKyAgICAgICAg
d2hpY2ggaXMgbm93IG1vdmVkIHRvIHRoZSBnZW5lcmljIFRlc3RFeHBlY3RhdGlvbnMgZmlsZSBm
b3IgR1RLLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBBZGRlZCBh
cmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0LAorICAgICAgICBsaW5raW5nIGl0IHRvIHRoZSBuZXds
eSBmaWxlZCBidWcgMTIxNjg0LgorICAgICAgICAqIHBsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVj
dGF0aW9uczogUmVtb3ZlZCBmYWlsdXJlIGV4cGVjdGF0aW9uLgorICAgICAgICAqIHBsYXRmb3Jt
L3dpbi9UZXN0RXhwZWN0YXRpb25zOiBSZW1vdmVkIGZhaWx1cmUgZXhwZWN0YXRpb24uCisgICAg
ICAgICogcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9uczogRGl0dG8uCisKIDIwMTMt
MDktMjAgIEdhYm9yIEFicmFoYW0gIDxhYnJobUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAg
W1F0XSBVbnJldmlld2VkIGdhcmRlbmluZy4gUmViYXNlIGFmdGVyIFF0IDUuMS4xIGFuZCBza2lw
IGZhaWxpbmcgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2sy
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggZTk5N2M3YS4uOGQ5NjA1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzM0LDggKzMzNCw2IEBAIEJ1ZyhHVEsp
IG1lZGlhL1czQy9hdWRpby9uZXR3b3JrU3RhdGUvbmV0d29ya1N0YXRlX2R1cmluZ19sb2Fkc3Rh
cnQuaHRtbCBbIEZhaWx1CiAjIGFjY2Vzc2liaWxpdHkvIGZhaWx1cmVzCiB3ZWJraXQub3JnL2Iv
MTA2MzM0IGFjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1ub2RlLW1lbW9yeS1tYW5hZ2VtZW50
Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDYzMzUgYWNjZXNzaWJpbGl0eS9hY2Nl
c3NpYmlsaXR5LW5vZGUtcmVwYXJlbnQuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzEw
NjMzNiBhY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpYmVkYnktb24taW5wdXQuaHRtbCBbIEZhaWx1
cmUgXQotd2Via2l0Lm9yZy9iLzEwNjMzNyBhY2Nlc3NpYmlsaXR5L2FyaWEtaGVscC5odG1sIFsg
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTA2MzM4IGFjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4t
dXBkYXRlcy1hbGxkZXNjZW5kYW50cy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTA2
MzQwIGFjY2Vzc2liaWxpdHkvaW1nLWZhbGxzYmFjay10by10aXRsZS5odG1sIFsgRmFpbHVyZSBd
CiB3ZWJraXQub3JnL2IvMTA2MzQzIGFjY2Vzc2liaWxpdHkvbG9hZGluZy1pZnJhbWUtc2VuZHMt
bm90aWZpY2F0aW9uLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggYTcyYWJmMC4uZjVmYjY0MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTg1Miw2ICs4NTIsNyBAQCB3ZWJraXQub3Jn
L2IvNzM3NjYgY3NzMy91bmljb2RlLWJpZGktaXNvbGF0ZS1haGFyb24tZmFpbGluZy5odG1sIFsg
SW1hZ2VPbmx5RmFpbAogCiB3ZWJraXQub3JnL2IvNzk3NTcgZmFzdC9zZWxlY3RvcnMvc2VsZWN0
aW9uLXdpbmRvdy1pbmFjdGl2ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKK3dlYmtpdC5v
cmcvYi8xMjE2ODQgYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0Lmh0bWwg
WyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi85ODM1NSBhY2Nlc3NpYmlsaXR5L2FyaWEtbGluay1z
dXBwb3J0cy1wcmVzcy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTgzNTcgYWNjZXNz
aWJpbGl0eS9hcmlhLXJlYWRvbmx5Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi85ODM1
OSBhY2Nlc3NpYmlsaXR5L2FyaWEtdGV4dC1yb2xlLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1oZWxwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGVscC1leHBlY3RlZC50
eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvYXJpYS1oZWxwLWV4cGVjdGVkLnR4dApyZW5hbWUgdG8gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvYXJpYS1oZWxwLWV4cGVjdGVkLnR4dApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWhlbHAuaHRtbCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGVscC5odG1sCnNpbWlsYXJpdHkgaW5kZXgg
MTAwJQpyZW5hbWUgZnJvbSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGVscC5odG1s
CnJlbmFtZSB0byBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlhLWhl
bHAuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2
M2JmZWZmLi4zNTMzODQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9ucwpAQCAtNTg2LDcgKzU4Niw2IEBAIGFjY2Vzc2liaWxpdHkvYXJpYS1jb21ib2JveC5odG1s
CiBhY2Nlc3NpYmlsaXR5L2FyaWEtY29udHJvbHMtd2l0aC10YWJzLmh0bWwKIGFjY2Vzc2liaWxp
dHkvYXJpYS1kZXNjcmliZWRieS1vbi1pbnB1dC5odG1sCiBhY2Nlc3NpYmlsaXR5L2FyaWEtZGlz
YWJsZWQuaHRtbAotYWNjZXNzaWJpbGl0eS9hcmlhLWhlbHAuaHRtbAogYWNjZXNzaWJpbGl0eS9h
cmlhLWhpZGRlbi5odG1sCiBhY2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLXdpdGgtZWxlbWVudHMu
aHRtbAogYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYTViMDIzOC4uNTVkMGNmZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCkBA
IC0xMTE1LDcgKzExMTUsNiBAQCBhY2Nlc3NpYmlsaXR5L2FyaWEtY29tYm9ib3guaHRtbAogYWNj
ZXNzaWJpbGl0eS9hcmlhLWNvbnRyb2xzLXdpdGgtdGFicy5odG1sCiBhY2Nlc3NpYmlsaXR5L2Fy
aWEtZGVzY3JpYmVkYnktb24taW5wdXQuaHRtbAogYWNjZXNzaWJpbGl0eS9hcmlhLWRpc2FibGVk
Lmh0bWwKLWFjY2Vzc2liaWxpdHkvYXJpYS1oZWxwLmh0bWwKIGFjY2Vzc2liaWxpdHkvYXJpYS1o
aWRkZW4uaHRtbAogYWNjZXNzaWJpbGl0eS9hcmlhLWhpZGRlbi13aXRoLWVsZW1lbnRzLmh0bWwK
IGFjY2Vzc2liaWxpdHkvYXJpYS1pbnZhbGlkLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkODMyYWUxLi45
N2M4YTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDktMjAgIE1hcmlvIFNh
bmNoZXogUHJhZGEgIDxtYXJpby5wcmFkYUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbQVRLXSBE
byBub3QgZXhwb3NlIGFyaWEtaGVscCBpbiBBVEsgYmFzZWQgcGxhdGZvcm1zCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE2NzUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9wIGV4cG9zaW5nIHRoZSB2
YWx1ZSBmb3IgdGhlICdhcmlhLWhlbHAnIGF0dHJpYnV0ZSBhcyBhbgorICAgICAgICBBdGtPYmpl
Y3QgYXR0cmlidXRlLCBiYXNlZCBpbiBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpoZWxwVGV4dCgpLgor
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsu
Y3BwOgorICAgICAgICAod2Via2l0QWNjZXNzaWJsZUdldEF0dHJpYnV0ZXMpOiBSZW1vdmUgdGhl
IG1hcHBpbmcuCisKIDIwMTMtMDktMjAgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtHVEtdIEZpeCBzb21lIHNtYWxsIHN0eWxlIGlzc3VlcyBpbiB0
aGUgYmluZGluZ3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcAppbmRleCA3NmI3NjBkLi5h
MTg2NDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJL
aXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwCkBAIC00OTUsMTAgKzQ5NSw2
IEBAIHN0YXRpYyBBdGtBdHRyaWJ1dGVTZXQqIHdlYmtpdEFjY2Vzc2libGVHZXRBdHRyaWJ1dGVz
KEF0a09iamVjdCogb2JqZWN0KQogICAgIGlmICghaW52YWxpZFN0YXR1cy5pc0VtcHR5KCkgJiYg
aW52YWxpZFN0YXR1cyAhPSAiZmFsc2UiKQogICAgICAgICBhdHRyaWJ1dGVTZXQgPSBhZGRUb0F0
a0F0dHJpYnV0ZVNldChhdHRyaWJ1dGVTZXQsICJhcmlhLWludmFsaWQiLCBjb3JlT2JqZWN0LT5p
bnZhbGlkU3RhdHVzKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAKLSAgICBTdHJpbmcgaGVs
cFRleHQgPSBjb3JlT2JqZWN0LT5oZWxwVGV4dCgpOwotICAgIGlmICghaGVscFRleHQuaXNFbXB0
eSgpKQotICAgICAgICBhdHRyaWJ1dGVTZXQgPSBhZGRUb0F0a0F0dHJpYnV0ZVNldChhdHRyaWJ1
dGVTZXQsICJhcmlhLWhlbHAiLCBoZWxwVGV4dC51dGY4KCkuZGF0YSgpKTsKLQogICAgIEFjY2Vz
c2liaWxpdHlTb3J0RGlyZWN0aW9uIHNvcnREaXJlY3Rpb24gPSBjb3JlT2JqZWN0LT5zb3J0RGly
ZWN0aW9uKCk7CiAgICAgaWYgKHNvcnREaXJlY3Rpb24gIT0gU29ydERpcmVjdGlvbk5vbmUpIHsK
ICAgICAgICAgYXR0cmlidXRlU2V0ID0gYWRkVG9BdGtBdHRyaWJ1dGVTZXQoYXR0cmlidXRlU2V0
LCAic29ydCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggNWVkOTg1YS4uNzU2ZjgwOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEzLTA5LTIwICBNYXJpbyBTYW5jaGV6IFByYWRh
ICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0FUS10gRG8gbm90IGV4cG9z
ZSBhcmlhLWhlbHAgaW4gQVRLIGJhc2VkIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxNjc1CisKKyAgICAgICAgUmVtb3ZlZCBhY2Nl
c3NpYmlsaXR5SGVscFRleHQoKSBoZWxwZXIgbWV0aG9kIGZyb20KKyAgICAgICAgRHVtcFJlbmRl
clN1cHBvcnRFZmwncyBBUEksIHNpbmNlIGl0J3Mgbm90IGxvbmdlciBuZWVkZWQuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwOiBSZW1vdmVk
IG1ldGhvZC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRF
ZmwuaDogRGl0dG8uCisKIDIwMTMtMDktMTYgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZW1vdmUgdW51c2VkIGZ1bmN0aW9uIGRpZFNldFNlbGVjdGlvblR5
cGVzRm9yUGFzdGVib2FyZCBmcm9tIEVkaXRvckNsaWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwu
Y3BwCmluZGV4IGFmYjQ1ZDEuLjg5OTY0OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcApA
QCAtNzM2LDE4ICs3MzYsNiBAQCBpbnQgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpudW1iZXJP
ZlBlbmRpbmdHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0cyhjb25zdAogfQogCiAjaWYgSEFW
RShBQ0NFU1NJQklMSVRZKQotU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6YWNjZXNz
aWJpbGl0eUhlbHBUZXh0KGNvbnN0IEF0a09iamVjdCogYXhPYmplY3QpCi17Ci0gICAgaWYgKCFh
eE9iamVjdCB8fCAhV0VCS0lUX0lTX0FDQ0VTU0lCTEUoYXhPYmplY3QpKQotICAgICAgICByZXR1
cm4gU3RyaW5nKCk7Ci0KLSAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlT2Jq
ZWN0ID0gd2Via2l0QWNjZXNzaWJsZUdldEFjY2Vzc2liaWxpdHlPYmplY3QoV0VCS0lUX0FDQ0VT
U0lCTEUoYXhPYmplY3QpKTsKLSAgICBpZiAoIWNvcmVPYmplY3QpCi0gICAgICAgIHJldHVybiBT
dHJpbmcoKTsKLQotICAgIHJldHVybiBjb3JlT2JqZWN0LT5oZWxwVGV4dCgpOwotfQotCiBBdGtP
YmplY3QqIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6cm9vdEFjY2Vzc2libGVFbGVtZW50KGNv
bnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSkKIHsKICAgICBEUlRfU1VQUE9SVF9GUkFNRV9HRVRf
T1JfUkVUVVJOKGV3a0ZyYW1lLCBmcmFtZSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCmluZGV4
IGI5NzRjZjYuLmNlZjc2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCkBAIC0xMzAsNyArMTMw
LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBpbnQgbnVtYmVyT2ZQZW5kaW5nR2VvbG9jYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdHMoY29uc3QgRXZhc19PYmplY3QqKTsKIAogI2lmIEhBVkUoQUNDRVNT
SUJJTElUWSkKLSAgICBzdGF0aWMgU3RyaW5nIGFjY2Vzc2liaWxpdHlIZWxwVGV4dChjb25zdCBB
dGtPYmplY3QqIGF4T2JqZWN0KTsKICAgICBzdGF0aWMgQXRrT2JqZWN0KiBmb2N1c2VkQWNjZXNz
aWJsZUVsZW1lbnQoY29uc3QgRXZhc19PYmplY3QqKTsKICAgICBzdGF0aWMgQXRrT2JqZWN0KiBy
b290QWNjZXNzaWJsZUVsZW1lbnQoY29uc3QgRXZhc19PYmplY3QqKTsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hh
bmdlTG9nCmluZGV4IDMxNGVlMDUuLjBiYzY0YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxMy0wOS0yMCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNh
bXN1bmcuY29tPgorCisgICAgICAgIFtBVEtdIERvIG5vdCBleHBvc2UgYXJpYS1oZWxwIGluIEFU
SyBiYXNlZCBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMTY3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJlbW92ZWQgYWNjZXNzaWJpbGl0eUhlbHBUZXh0KCkgaGVscGVyIG1ldGhvZCBm
cm9tCisgICAgICAgIER1bXBSZW5kZXJTdXBwb3J0R3RrJ3MgQVBJLCBzaW5jZSBpdCdzIG5vdCBs
b25nZXIgbmVlZGVkLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0R3RrLmNwcDogUmVtb3ZlZCBtZXRob2QuCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmg6IERpdHRvLgorCiAyMDEzLTA5LTE2ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHVudXNlZCBmdW5j
dGlvbiBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQgZnJvbSBFZGl0b3JDbGllbnQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVt
cFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcAppbmRleCAyODljNGU5Li5jNjk4NTU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydEd0ay5jcHAKQEAgLTQ3NywxOCArNDc3LDYgQEAgYm9vbCBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRHdGs6OmZpbmRTdHJpbmcoV2ViS2l0V2ViVmlldyogd2ViVmlldywgY29uc3Qg
Z2NoYXIqIHQKICAgICByZXR1cm4gY29yZSh3ZWJWaWV3KS0+ZmluZFN0cmluZyhTdHJpbmc6OmZy
b21VVEY4KHRhcmdldFN0cmluZyksIGZpbmRPcHRpb25zKTsKIH0KIAotQ1N0cmluZyBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGs6OmFjY2Vzc2liaWxpdHlIZWxwVGV4dChBdGtPYmplY3QqIGF4T2Jq
ZWN0KQotewotICAgIGlmICghYXhPYmplY3QgfHwgIVdFQktJVF9JU19BQ0NFU1NJQkxFKGF4T2Jq
ZWN0KSkKLSAgICAgICAgcmV0dXJuIENTdHJpbmcoKTsKLQotICAgIEFjY2Vzc2liaWxpdHlPYmpl
Y3QqIGNvcmVPYmplY3QgPSB3ZWJraXRBY2Nlc3NpYmxlR2V0QWNjZXNzaWJpbGl0eU9iamVjdChX
RUJLSVRfQUNDRVNTSUJMRShheE9iamVjdCkpOwotICAgIGlmICghY29yZU9iamVjdCkKLSAgICAg
ICAgcmV0dXJuIENTdHJpbmcoKTsKLQotICAgIHJldHVybiBjb3JlT2JqZWN0LT5oZWxwVGV4dCgp
LnV0ZjgoKTsKLX0KLQogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNldFZhbHVlRm9y
VXNlcihKU0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBub2RlT2JqZWN0LCBKU1N0cmlu
Z1JlZiB2YWx1ZSkKIHsKICAgICBKU0M6OkV4ZWNTdGF0ZSogZXhlYyA9IHRvSlMoY29udGV4dCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRHdGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydEd0ay5oCmluZGV4IGE4OGExZTQuLjZjNDFjYjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0
ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVl
U3VwcG9ydEd0ay5oCkBAIC03OCw5ICs3OCw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBz
ZXREZWZlcnNMb2FkaW5nKFdlYktpdFdlYlZpZXcqLCBib29sKTsKICAgICBzdGF0aWMgdm9pZCBm
b3JjZVdlYlZpZXdQYWludChXZWJLaXRXZWJWaWV3Kik7CiAKLSAgICAvLyBBY2Nlc3NpYmlsaXR5
Ci0gICAgc3RhdGljIFdURjo6Q1N0cmluZyBhY2Nlc3NpYmlsaXR5SGVscFRleHQoQXRrT2JqZWN0
Kik7Ci0KICAgICAvLyBUZXh0SW5wdXRDb250cm9sbGVyCiAgICAgc3RhdGljIHZvaWQgc2V0Q29t
cG9zaXRpb24oV2ViS2l0V2ViVmlldyosIGNvbnN0IGNoYXIqLCBpbnQgc3RhcnQsIGludCBsZW5n
dGgpOwogICAgIHN0YXRpYyBib29sIGhhc0NvbXBvc2l0aW9uKFdlYktpdFdlYlZpZXcqKTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiMThkNjMy
Li4zNDYwNjAzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTMtMDktMjAgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxt
YXJpby5wcmFkYUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbQVRLXSBEbyBub3QgZXhwb3NlIGFy
aWEtaGVscCBpbiBBVEsgYmFzZWQgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE2NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdGhlIGltcGxlbWVudGF0aW9ucyBmb3IgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aGVscFRleHQoKQorICAgICAgICBmcm9tIERSVCBhbmQgV0tU
UiBmb3IgR1RLIGFuZCBFRkwsIHNpbmNlIHRoZXkgYXJlIGJhc2VkIG9uIHRoZQorICAgICAgICBB
Y2Nlc3NpYmlsaXR5T2JqZWN0OjpoZWxwVGV4dCgpIG1ldGhvZCBhbmQgdGhlICdhcmlhLWhlbHAn
CisgICAgICAgIGF0dHJpYnV0ZXMsIHdoaWNoIGlzIHdyb25nIHNpbmNlIHRoZXkgc2hvdWxkIG5v
dCBkZXBlbmQgb24gdGhhdAorICAgICAgICBidXQgaW4gQVRLIHNwZWNpZmljIEFQSSAoc2VlIGFs
c28gaHR0cDovL3dlYmtpdC5vcmcvYi8xMjE2ODQpLgorCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwOgorICAgICAgICAoQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aGVscFRleHQpOiBBZGRlZCBhIG5ldyBhbmQgZW1wdHkKKyAgICAgICAg
aW1wbGVtZW50YXRpb24sIG5vdyB0aGF0IHdlIGFyZSBubyBsb25nZXIgdXNpbmcgdGhpcyBpbiBB
VEsuCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRF
ZmwuY3BwOiBSZW1vdmVkIGZpbGUKKyAgICAgICAgYXMgdGhlIG9ubHkgZnVuY3Rpb24gcHJvdmlk
ZWQgaGVyZSB3YXMgaGVscFRleHQoKS4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHA6IERpdHRvLgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL2VmbC9DTWFrZUxpc3RzLnR4dDogQWNjZXNzaWJpbGl0eVVJRWxlbWVudEVmbC5jcHAKKyAg
ICAgICAgcmVtb3ZlZCBmcm9tIHRoZSBsaXN0IG9mIHNvdXJjZXMgdG8gY29tcGlsZS4KKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5hbTogTGlrZXdpc2UsIGJ1dCBmb3IgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEd0ay5jcHAuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9h
dGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmhlbHBUZXh0KTogUmVwbGFjZWQgb2xkIGltcGxlbWVudGF0aW9uCisg
ICAgICAgIGJhc2VkIGluIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ayB3aXRoIGFuIGVtcHR5IG9u
ZS4KKwogMjAxMy0wOS0yMCAgRGVuaXMgTm9taXlhbWEgIDxkLm5vbWl5YW1hQHNhbXN1bmcuY29t
PgogCiAgICAgICAgIFtBVEtdIE1pc3NpbmcgV1RSIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFk
ZE5vdGlmaWNhdGlvbkxpc3RlbmVyIGltcGxlbWVudGF0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKaW5kZXggYmMw
ZjE1Mi4uNTllMDc3OCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2F0ay9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcApAQCAtNTM2LDYgKzUzNiwxNCBAQCBKU1N0cmlu
Z1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsYW5ndWFnZSgpCiAgICAgcmV0dXJuIEpTU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGF4VmFsdWUuZ2V0KCkpOwogfQogCitKU1N0cmluZ1Jl
ZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWxwVGV4dCgpIGNvbnN0Cit7CisgICAgLy8gRklY
TUU6IFdlIG5lZWQgdG8gcHJvdmlkZSBhIHByb3BlciBpbXBsZW1lbnRhdGlvbiBmb3IgdGhpcyB0
aGF0IGRvZXMKKyAgICAvLyBub3QgZGVwZW5kIG9uIE1hYyBzcGVjaWZpYyBjb25jZXB0cyBzdWNo
IGFzIEFUS19SRUxBVElPTl9ERVNDUklCRURfQlksCisgICAgLy8gb25jZSBpdCdzIGltcGxlbWVu
dGVkIChzZWUgaHR0cDovL3dlYmtpdC5vcmcvYi8xMjE2ODQpLgorICAgIHJldHVybiBKU1N0cmlu
Z0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCiBkb3VibGUgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6eCgpCiB7CiAgICAgaW50IHgsIHk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9lZmwvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEVmbC5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9lZmwvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEVmbC5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDllMTE1ZDkuLjAwMDAwMDAKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvZWZsL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRFZmwuY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
NTQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdo
dHMgUmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgSmFuIE1pY2hhZWwgQWxvbnpvCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgiCi0KLSNp
ZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCi0KLSNpbmNsdWRlICJXZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRFZmwuaCIKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1N0cmluZ1Jl
Zi5oPgotI2luY2x1ZGUgPGF0ay9hdGsuaD4KLSNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgot
I2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dPd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvZ29iamVjdC9H
UmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0jaW5jbHVkZSA8d3Rm
L3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KLQotSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aGVscFRleHQoKSBjb25zdAotewotICAgIGlmICghbV9lbGVtZW50KQotICAgICAg
ICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKLQotICAgIEFTU0VS
VChBVEtfSVNfT0JKRUNUKG1fZWxlbWVudCkpOwotCi0gICAgU3RyaW5nIGhlbHBUZXh0ID0gRHVt
cFJlbmRlclRyZWVTdXBwb3J0RWZsOjphY2Nlc3NpYmlsaXR5SGVscFRleHQoQVRLX09CSkVDVCht
X2VsZW1lbnQpKTsKLSAgICBHT3duUHRyPGdjaGFyPiBheEhlbHBUZXh0KGdfc3RyZHVwX3ByaW50
ZigiQVhIZWxwOiAlcyIsIGhlbHBUZXh0LnV0ZjgoKS5kYXRhKCkpKTsKLSAgICByZXR1cm4gSlNT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoYXhIZWxwVGV4dC5nZXQoKSk7Ci19Ci0KLSNlbmRp
ZgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0NNYWtlTGlzdHMudHh0IGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0NNYWtlTGlzdHMudHh0CmluZGV4IGMzMzhiODYuLmM0
NmFlZWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9DTWFrZUxpc3RzLnR4
dAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvQ01ha2VMaXN0cy50eHQKQEAgLTE0LDcg
KzE0LDYgQEAgc2V0KER1bXBSZW5kZXJUcmVlX1NPVVJDRVMKICAgICAke1RPT0xTX0RJUn0vRHVt
cFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCiAgICAgJHtUT09M
U19ESVJ9L0R1bXBSZW5kZXJUcmVlL2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRDYWlyby5jcHAKICAg
ICAke1RPT0xTX0RJUn0vRHVtcFJlbmRlclRyZWUvZWZsL0FjY2Vzc2liaWxpdHlDb250cm9sbGVy
RWZsLmNwcAotICAgICR7VE9PTFNfRElSfS9EdW1wUmVuZGVyVHJlZS9lZmwvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudEVmbC5jcHAKICAgICAke1RPT0xTX0RJUn0vRHVtcFJlbmRlclRyZWUvZWZsL0R1
bXBIaXN0b3J5SXRlbS5jcHAKICAgICAke1RPT0xTX0RJUn0vRHVtcFJlbmRlclRyZWUvZWZsL0R1
bXBSZW5kZXJUcmVlLmNwcAogICAgICR7VE9PTFNfRElSfS9EdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWVDaHJvbWUuY3BwCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDMwZjdiNjQuLjAwMDAwMDAKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgSmFuIE1pY2hhZWwgQWxvbnpvCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0j
aW5jbHVkZSAiQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIgotCi0jaW5jbHVkZSAiV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSlNTdHJpbmdSZWYuaD4KLSNpbmNsdWRlIDxhdGsvYXRrLmg+Ci0jaW5jbHVkZSA8Z3RrL2d0
ay5oPgotI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL2dvYmplY3Qv
R093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KLSNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KLSNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1l
cy5oPgotCi1KU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWxwVGV4dCgpIGNv
bnN0Ci17Ci0gICAgaWYgKCFtX2VsZW1lbnQpCi0gICAgICAgIHJldHVybiBKU1N0cmluZ0NyZWF0
ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwotCi0gICAgQVNTRVJUKEFUS19JU19PQkpFQ1QobV9lbGVt
ZW50KSk7Ci0KLSAgICBDU3RyaW5nIGhlbHBUZXh0ID0gRHVtcFJlbmRlclRyZWVTdXBwb3J0R3Rr
OjphY2Nlc3NpYmlsaXR5SGVscFRleHQoQVRLX09CSkVDVChtX2VsZW1lbnQpKTsKLSAgICBHT3du
UHRyPGdjaGFyPiBheEhlbHBUZXh0KGdfc3RyZHVwX3ByaW50ZigiQVhIZWxwOiAlcyIsIGhlbHBU
ZXh0LmRhdGEoKSkpOwotICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhh
eEhlbHBUZXh0LmdldCgpKTsKLX0KZGlmZiAtLWdpdCBhL1Rvb2xzL0dOVW1ha2VmaWxlLmFtIGIv
VG9vbHMvR05VbWFrZWZpbGUuYW0KaW5kZXggMTkwMjE5MC4uM2ZjOWEwMCAxMDA2NDQKLS0tIGEv
VG9vbHMvR05VbWFrZWZpbGUuYW0KKysrIGIvVG9vbHMvR05VbWFrZWZpbGUuYW0KQEAgLTEyMiw3
ICsxMjIsNiBAQCBQcm9ncmFtc19EdW1wUmVuZGVyVHJlZV9TT1VSQ0VTID0gXAogCVRvb2xzL0R1
bXBSZW5kZXJUcmVlL2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRDYWlyby5jcHAgXAogCVRvb2xzL0R1
bXBSZW5kZXJUcmVlL2NhaXJvL1BpeGVsRHVtcFN1cHBvcnRDYWlyby5oIFwKIAlUb29scy9EdW1w
UmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwIFwKLQlUb29scy9E
dW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAgXAogCVRvb2xz
L0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAgXAogCVRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZUd0ay5oIFwKIAlUb29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvRWRpdGluZ0NhbGxiYWNrcy5oIFwKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEF0ay5jcHAKaW5kZXggNGJjZmNlYi4uNTlmN2ZlYyAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0
ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKQEAgLTcxMywxMiArNzEzLDEwIEBAIEpTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsYW5ndWFnZSgpCiAKIEpT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWxwVGV4dCgp
IGNvbnN0CiB7Ci0gICAgaWYgKCFtX2VsZW1lbnQgfHwgIUFUS19JU19PQkpFQ1QobV9lbGVtZW50
LmdldCgpKSkKLSAgICAgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwg
MCk7Ci0KLSAgICBTdHJpbmcgYXR0cmlidXRlVmFsdWUgPSBnZXRBdHRyaWJ1dGVTZXRWYWx1ZUZv
cklkKEFUS19PQkpFQ1QobV9lbGVtZW50LmdldCgpKSwgImFyaWEtaGVscCIpOwotICAgIEdPd25Q
dHI8Y2hhcj4gYXhWYWx1ZShnX3N0cmR1cF9wcmludGYoIkFYSGVscDogJXMiLCBhdHRyaWJ1dGVW
YWx1ZS51dGY4KCkuZGF0YSgpKSk7Ci0gICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKGF4VmFsdWUuZ2V0KCkpOworICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIHByb3ZpZGUg
YSBwcm9wZXIgaW1wbGVtZW50YXRpb24gZm9yIHRoaXMgdGhhdCBkb2VzCisgICAgLy8gbm90IGRl
cGVuZCBvbiBNYWMgc3BlY2lmaWMgY29uY2VwdHMgc3VjaCBhcyBBVEtfUkVMQVRJT05fREVTQ1JJ
QkVEX0JZLAorICAgIC8vIG9uY2UgaXQncyBpbXBsZW1lbnRlZCAoc2VlIGh0dHA6Ly93ZWJraXQu
b3JnL2IvMTIxNjg0KS4KKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygw
LCAwKTsKIH0KIAogZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OngoKQotLSAKMS43LjEw
LjQKCg==
</data>
<flag name="review"
          id="234335"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
    <flag name="commit-queue"
          id="234359"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>