<?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>194703</bug_id>
          
          <creation_ts>2019-02-15 07:11:28 -0800</creation_ts>
          <short_desc>Input type &quot;formatSetInlineTextDirection&quot; is dispatched when changing paragraph-level text direction</short_desc>
          <delta_ts>2019-02-22 09:09:53 -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>HTML Editing</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1506566</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-02-15 07:11:28 -0800</bug_when>
    <thetext>This should be formatSetBlockTextDirection instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506580</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-15 08:49:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/48111775&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506951</commentid>
    <comment_count>2</comment_count>
      <attachid>362205</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-02-15 20:52:44 -0800</bug_when>
    <thetext>Created attachment 362205
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508873</commentid>
    <comment_count>3</comment_count>
      <attachid>362205</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-02-21 21:05:05 -0800</bug_when>
    <thetext>Comment on attachment 362205
Patch

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

&gt; Source/WebCore/editing/EditAction.cpp:78
&gt; +    case EditAction::SetTextWritingDirection:
&gt; +    case EditAction::SetBaseWritingDirection:

I would have preferred using inline &amp; block to match input type names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508875</commentid>
    <comment_count>4</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-02-21 21:08:01 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #3)
&gt; Comment on attachment 362205 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=362205&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/editing/EditAction.cpp:78
&gt; &gt; +    case EditAction::SetTextWritingDirection:
&gt; &gt; +    case EditAction::SetBaseWritingDirection:
&gt; 
&gt; I would have preferred using inline &amp; block to match input type names.

Sounds good — I&apos;ll change these to EditAction::SetInlineWritingDirection and EditAction::SetBlockWritingDirection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509000</commentid>
    <comment_count>5</comment_count>
      <attachid>362723</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-02-22 08:32:03 -0800</bug_when>
    <thetext>Created attachment 362723
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509014</commentid>
    <comment_count>6</comment_count>
      <attachid>362723</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-22 09:09:34 -0800</bug_when>
    <thetext>Comment on attachment 362723
Patch for landing

Clearing flags on attachment: 362723

Committed r241949: &lt;https://trac.webkit.org/changeset/241949&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362205</attachid>
            <date>2019-02-15 20:52:44 -0800</date>
            <delta_ts>2019-02-21 21:05:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194703-20190215205244.patch</filename>
            <type>text/plain</type>
            <size>27482</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxNTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTc2ZTcwNGVlMjU1OGJh
YjU1ZWU2MjBlNDVmZmJiMWRlOGUzNWU0Ny4uODk5Mzk5Mjc2NDk3OTY5M2RiOGIzMDE2MjcwZDg3
ZTM5YjRkMjc2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTAyLTE1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIElucHV0IHR5cGUg
ImZvcm1hdFNldElubGluZVRleHREaXJlY3Rpb24iIGlzIGRpc3BhdGNoZWQgd2hlbiBjaGFuZ2lu
ZyBwYXJhZ3JhcGgtbGV2ZWwgdGV4dCBkaXJlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDcwMworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NDgxMTE3NzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ3VycmVudGx5LCB3aGVuIGNoYW5naW5nIHRleHQgZGlyZWN0aW9uLCBXZWJLaXQgYWx3YXlz
IHNlbmRzIGlucHV0IGV2ZW50cyBvZiB0eXBlIGZvcm1hdFNldElubGluZVRleHREaXJlY3Rpb24s
CisgICAgICAgIGV2ZW4gd2hlbiBjaGFuZ2luZyBwYXJhZ3JhcGggdGV4dCBkaXJlY3Rpb24uIElu
c3RlYWQsIHdlIHNob3VsZCBiZSBlbWl0dGluZyBmb3JtYXRTZXRCbG9ja1RleHREaXJlY3Rpb24g
aW4gdGhpcworICAgICAgICBzY2VuYXJpby4gVGhpcyBpcyBwcm9ibGVtYXRpYyB3aGVuIHVzaW5n
IHRoZSBjb250ZXh0IG1lbnVzIG9uIG1hY09TIHRvIGNoYW5nZSB3cml0aW5nIGRpcmVjdGlvbiwg
c2luY2UgY2hhbmdpbmcKKyAgICAgICAgIlNlbGVjdGlvbiBEaXJlY3Rpb24iIGlzIGN1cnJlbnRs
eSBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIGNoYW5naW5nICJQYXJhZ3JhcGggRGlyZWN0aW9uIi4K
KworICAgICAgICBUbyBmaXggdGhpcywgd2Ugc3BsaXQgRWRpdEFjdGlvbjo6U2V0V3JpdGluZ0Rp
cmVjdGlvbiBpbnRvIEVkaXRBY3Rpb246OlNldFRleHRXcml0aW5nRGlyZWN0aW9uIGFuZAorICAg
ICAgICBFZGl0QWN0aW9uOjpTZXRCYXNlV3JpdGluZ0RpcmVjdGlvbiwgd2hpY2ggZW1pdCBpbmxp
bmUgYW5kIGJsb2NrIHRleHQgZGlyZWN0aW9uIGlucHV0IGV2ZW50cywgcmVzcGVjdGl2ZWx5Lgor
CisgICAgICAgIFRlc3RzOiBmYXN0L2V2ZW50cy9iZWZvcmUtaW5wdXQtZXZlbnRzLXByZXZlbnQt
YmxvY2stdGV4dC1kaXJlY3Rpb24uaHRtbAorICAgICAgICAgICAgICAgZmFzdC9ldmVudHMvYmVm
b3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LWlubGluZS10ZXh0LWRpcmVjdGlvbi5odG1sCisKKyAg
ICAgICAgKiBlZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjphcHBseSk6CisgICAgICAgICogZWRpdGluZy9FZGl0
QWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVuZG9SZWRvTGFiZWwpOgorICAgICAgICAq
IGVkaXRpbmcvRWRpdEFjdGlvbi5oOgorICAgICAgICAqIGVkaXRpbmcvRWRpdENvbW1hbmQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6aW5wdXRUeXBlTmFtZUZvckVkaXRpbmdBY3Rpb24pOgorICAg
ICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlucHV0RXZlbnRE
YXRhRm9yRWRpdGluZ1N0eWxlQW5kQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6
c2V0QmFzZVdyaXRpbmdEaXJlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFu
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlTWFrZVRleHRXcml0aW5nRGlyZWN0aW9u
TGVmdFRvUmlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZU1ha2VUZXh0V3JpdGluZ0Rp
cmVjdGlvbk5hdHVyYWwpOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZU1ha2VUZXh0V3JpdGlu
Z0RpcmVjdGlvblJpZ2h0VG9MZWZ0KToKKwogMjAxOS0wMi0xNSAgUGhpbGlwcGUgTm9ybWFuZCAg
PHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gU2ltcGxpZnkgR09i
amVjdCBjbGFzcyBuYW1lIGNoZWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggYzY2
ODhkMTgyOTRlZTU5NTE5YzRmZGE5YTY0NGQ5ZjM5YzZkNjFhZS4uMTFmODMzZmViZGJkNTYwMTI0
YzBjYTJhYTJjM2EwZDE1YTg1ZjczOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDE5LTAyLTE1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgorCisgICAgICAgIElucHV0IHR5cGUgImZvcm1hdFNldElubGluZVRleHREaXJlY3Rp
b24iIGlzIGRpc3BhdGNoZWQgd2hlbiBjaGFuZ2luZyBwYXJhZ3JhcGgtbGV2ZWwgdGV4dCBkaXJl
Y3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
NDcwMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDgxMTE3NzU+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0
b3JDbGllbnQuY3BwOgorICAgICAgICAodW5kb05hbWVGb3JFZGl0QWN0aW9uKToKKwogMjAxOS0w
Mi0xMCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVwbGFjZSBt
b3JlIHVzZXMgb2YgU3RyaW5nOjpmb3JtYXQgd2l0aCBTdHJpbmdDb25jYXRlbmF0ZSAobW9zdGx5
IG5vbi1BcHBsZSBwbGF0Zm9ybS1zcGVjaWZpYyBjYXNlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAKaW5kZXggOTFkOGFmMTgwYTRlMzExYWMz
NjFiMzNiYWViOTFjMjQwMGIxMTQxMy4uMTQxYWYyMTc4OTZiNDA1ZTE3ODc1ZDAzNTg3MWJmNDM3
MzE4ZjM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0
Q29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29t
bWFuZC5jcHAKQEAgLTM0Miw3ICszNDIsOCBAQCB2b2lkIENvbXBvc2l0ZUVkaXRDb21tYW5kOjph
cHBseSgpCiAgICAgICAgIGNhc2UgRWRpdEFjdGlvbjo6VHlwaW5nSW5zZXJ0RmluYWxDb21wb3Np
dGlvbjoKICAgICAgICAgY2FzZSBFZGl0QWN0aW9uOjpQYXN0ZToKICAgICAgICAgY2FzZSBFZGl0
QWN0aW9uOjpEZWxldGVCeURyYWc6Ci0gICAgICAgIGNhc2UgRWRpdEFjdGlvbjo6U2V0V3JpdGlu
Z0RpcmVjdGlvbjoKKyAgICAgICAgY2FzZSBFZGl0QWN0aW9uOjpTZXRUZXh0V3JpdGluZ0RpcmVj
dGlvbjoKKyAgICAgICAgY2FzZSBFZGl0QWN0aW9uOjpTZXRCYXNlV3JpdGluZ0RpcmVjdGlvbjoK
ICAgICAgICAgY2FzZSBFZGl0QWN0aW9uOjpDdXQ6CiAgICAgICAgIGNhc2UgRWRpdEFjdGlvbjo6
VW5zcGVjaWZpZWQ6CiAgICAgICAgIGNhc2UgRWRpdEFjdGlvbjo6SW5zZXJ0OgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0QWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdEFjdGlvbi5jcHAKaW5kZXggMzFkMjE2ZjFkMDQxZmVmM2NlM2Q0ZjRmNjFi
MWQ4MjMyMDZkZTdkYS4uZDJkNmZhMWUwNGNhZDEwNTVkMTYxMDE5NDU0YTcxMTcwYjRiNDZmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0QWN0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRBY3Rpb24uY3BwCkBAIC03NCw3ICs3NCw4IEBAIFN0
cmluZyB1bmRvUmVkb0xhYmVsKEVkaXRBY3Rpb24gZWRpdEFjdGlvbikKICAgICAgICAgcmV0dXJu
IFdFQl9VSV9TVFJJTkdfS0VZKCJDZW50ZXIiLCAiQ2VudGVyIChVbmRvIGFjdGlvbiBuYW1lKSIs
ICJVbmRvIGFjdGlvbiBuYW1lIik7CiAgICAgY2FzZSBFZGl0QWN0aW9uOjpKdXN0aWZ5OgogICAg
ICAgICByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIkp1c3RpZnkiLCAiSnVzdGlmeSAoVW5kbyBh
Y3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOwotICAgIGNhc2UgRWRpdEFjdGlvbjo6
U2V0V3JpdGluZ0RpcmVjdGlvbjoKKyAgICBjYXNlIEVkaXRBY3Rpb246OlNldFRleHRXcml0aW5n
RGlyZWN0aW9uOgorICAgIGNhc2UgRWRpdEFjdGlvbjo6U2V0QmFzZVdyaXRpbmdEaXJlY3Rpb246
CiAgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiU2V0IFdyaXRpbmcgRGlyZWN0aW9u
IiwgIlNldCBXcml0aW5nIERpcmVjdGlvbiAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rp
b24gbmFtZSIpOwogICAgIGNhc2UgRWRpdEFjdGlvbjo6U3Vic2NyaXB0OgogICAgICAgICByZXR1
cm4gV0VCX1VJX1NUUklOR19LRVkoIlN1YnNjcmlwdCIsICJTdWJzY3JpcHQgKFVuZG8gYWN0aW9u
IG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdEFjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0QWN0aW9u
LmgKaW5kZXggMTdlOGJlOTc2YzVjOWNkMzgzYmYxZjUwMGZjZDU2OTFmMzZlODFiOS4uYWVlMzc5
YTY5NTliOGZiYjA5MTM2OTE4YmE5ZjExM2ZkMjc5NWUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0QWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0QWN0aW9uLmgKQEAgLTU0LDcgKzU0LDggQEAgZW51bSBjbGFzcyBFZGl0QWN0aW9uIDogdWlu
dDhfdCB7CiAgICAgQWxpZ25SaWdodCwKICAgICBDZW50ZXIsCiAgICAgSnVzdGlmeSwKLSAgICBT
ZXRXcml0aW5nRGlyZWN0aW9uLAorICAgIFNldFRleHRXcml0aW5nRGlyZWN0aW9uLAorICAgIFNl
dEJhc2VXcml0aW5nRGlyZWN0aW9uLAogICAgIFN1YnNjcmlwdCwKICAgICBTdXBlcnNjcmlwdCwK
ICAgICBVbmRlcmxpbmUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRD
b21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdENvbW1hbmQuY3BwCmluZGV4
IDM0Yzc5YzlhN2Q5OWE1OGFiMDMwZTkzODMzYjg0NWNiYTgxMzJlNDAuLmRlMGQyYzgyNzhjYjEx
NzgyZWJlNmMyOTVmMmRlM2RhMjUwY2U4ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdENvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdENv
bW1hbmQuY3BwCkBAIC0xMTAsOCArMTEwLDEwIEBAIFN0cmluZyBpbnB1dFR5cGVOYW1lRm9yRWRp
dGluZ0FjdGlvbihFZGl0QWN0aW9uIGFjdGlvbikKICAgICAgICAgcmV0dXJuICJmb3JtYXRJbmRl
bnQiX3M7CiAgICAgY2FzZSBFZGl0QWN0aW9uOjpPdXRkZW50OgogICAgICAgICByZXR1cm4gImZv
cm1hdE91dGRlbnQiX3M7Ci0gICAgY2FzZSBFZGl0QWN0aW9uOjpTZXRXcml0aW5nRGlyZWN0aW9u
OgorICAgIGNhc2UgRWRpdEFjdGlvbjo6U2V0VGV4dFdyaXRpbmdEaXJlY3Rpb246CiAgICAgICAg
IHJldHVybiAiZm9ybWF0U2V0SW5saW5lVGV4dERpcmVjdGlvbiJfczsKKyAgICBjYXNlIEVkaXRB
Y3Rpb246OlNldEJhc2VXcml0aW5nRGlyZWN0aW9uOgorICAgICAgICByZXR1cm4gImZvcm1hdFNl
dEJsb2NrVGV4dERpcmVjdGlvbiJfczsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZW1w
dHlTdHJpbmcoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggZGYxOTBl
NWQzOTZjYjk2NzdjOWM0ZDMwODdhYWNjMzgyN2VhMzJiYi4uNjlmNDI5ZjkxMTc2MDA3M2YyMGIw
N2JhZmJmZTM5OGQzNTMxNmJiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMTUz
LDcgKzE1Myw4IEBAIHN0YXRpYyBTdHJpbmcgaW5wdXRFdmVudERhdGFGb3JFZGl0aW5nU3R5bGVB
bmRBY3Rpb24oY29uc3QgU3R5bGVQcm9wZXJ0aWVzKiBzdHlsCiAgICAgc3dpdGNoIChhY3Rpb24p
IHsKICAgICBjYXNlIEVkaXRBY3Rpb246OlNldENvbG9yOgogICAgICAgICByZXR1cm4gc3R5bGUt
PmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlDb2xvcik7Ci0gICAgY2FzZSBFZGl0QWN0aW9u
OjpTZXRXcml0aW5nRGlyZWN0aW9uOgorICAgIGNhc2UgRWRpdEFjdGlvbjo6U2V0VGV4dFdyaXRp
bmdEaXJlY3Rpb246CisgICAgY2FzZSBFZGl0QWN0aW9uOjpTZXRCYXNlV3JpdGluZ0RpcmVjdGlv
bjoKICAgICAgICAgcmV0dXJuIHN0eWxlLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5RGly
ZWN0aW9uKTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4geyB9OwpAQCAtMTc5Niw3ICsx
Nzk3LDcgQEAgdm9pZCBFZGl0b3I6OnNldEJhc2VXcml0aW5nRGlyZWN0aW9uKFdyaXRpbmdEaXJl
Y3Rpb24gZGlyZWN0aW9uKQogCiAgICAgICAgIGF1dG8mIGZvY3VzZWRGb3JtRWxlbWVudCA9IGRv
d25jYXN0PEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50PigqZm9jdXNlZEVsZW1lbnQpOwogICAg
ICAgICBhdXRvIGRpcmVjdGlvblZhbHVlID0gZGlyZWN0aW9uID09IFdyaXRpbmdEaXJlY3Rpb246
OkxlZnRUb1JpZ2h0ID8gImx0ciIgOiAicnRsIjsKLSAgICAgICAgYXV0byB3cml0aW5nRGlyZWN0
aW9uSW5wdXRUeXBlTmFtZSA9IGlucHV0VHlwZU5hbWVGb3JFZGl0aW5nQWN0aW9uKEVkaXRBY3Rp
b246OlNldFdyaXRpbmdEaXJlY3Rpb24pOworICAgICAgICBhdXRvIHdyaXRpbmdEaXJlY3Rpb25J
bnB1dFR5cGVOYW1lID0gaW5wdXRUeXBlTmFtZUZvckVkaXRpbmdBY3Rpb24oRWRpdEFjdGlvbjo6
U2V0QmFzZVdyaXRpbmdEaXJlY3Rpb24pOwogICAgICAgICBpZiAoIWRpc3BhdGNoQmVmb3JlSW5w
dXRFdmVudChmb2N1c2VkRm9ybUVsZW1lbnQsIHdyaXRpbmdEaXJlY3Rpb25JbnB1dFR5cGVOYW1l
LCBkaXJlY3Rpb25WYWx1ZSkpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTE4MDgsNyArMTgw
OSw3IEBAIHZvaWQgRWRpdG9yOjpzZXRCYXNlV3JpdGluZ0RpcmVjdGlvbihXcml0aW5nRGlyZWN0
aW9uIGRpcmVjdGlvbikKIAogICAgIGF1dG8gc3R5bGUgPSBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVz
OjpjcmVhdGUoKTsKICAgICBzdHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVydHlEaXJlY3Rpb24s
IGRpcmVjdGlvbiA9PSBXcml0aW5nRGlyZWN0aW9uOjpMZWZ0VG9SaWdodCA/ICJsdHIiIDogZGly
ZWN0aW9uID09IFdyaXRpbmdEaXJlY3Rpb246OlJpZ2h0VG9MZWZ0ID8gInJ0bCIgOiAiaW5oZXJp
dCIsIGZhbHNlKTsKLSAgICBhcHBseVBhcmFncmFwaFN0eWxlVG9TZWxlY3Rpb24oc3R5bGUucHRy
KCksIEVkaXRBY3Rpb246OlNldFdyaXRpbmdEaXJlY3Rpb24pOworICAgIGFwcGx5UGFyYWdyYXBo
U3R5bGVUb1NlbGVjdGlvbihzdHlsZS5wdHIoKSwgRWRpdEFjdGlvbjo6U2V0QmFzZVdyaXRpbmdE
aXJlY3Rpb24pOwogfQogCiBXcml0aW5nRGlyZWN0aW9uIEVkaXRvcjo6YmFzZVdyaXRpbmdEaXJl
Y3Rpb25Gb3JTZWxlY3Rpb25TdGFydCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3JDb21tYW5kLmNwcAppbmRleCA5NDk0NzA5ZGM2ZjE1OWMwODE3MmI2YmZjYjIyODczMTY1ZDQ2
NTI1Li5jOGNmM2Q2NzdkMTM2MzU3YzRlMjY3Mjk0MDhlMTY4MmNkMzlkN2E2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKQEAgLTU4NSw3ICs1ODUsNyBAQCBzdGF0
aWMgYm9vbCBleGVjdXRlTWFrZVRleHRXcml0aW5nRGlyZWN0aW9uTGVmdFRvUmlnaHQoRnJhbWUm
IGZyYW1lLCBFdmVudCosIEVkaQogICAgIGF1dG8gc3R5bGUgPSBNdXRhYmxlU3R5bGVQcm9wZXJ0
aWVzOjpjcmVhdGUoKTsKICAgICBzdHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVydHlVbmljb2Rl
QmlkaSwgQ1NTVmFsdWVFbWJlZCk7CiAgICAgc3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3BlcnR5
RGlyZWN0aW9uLCBDU1NWYWx1ZUx0cik7Ci0gICAgZnJhbWUuZWRpdG9yKCkuYXBwbHlTdHlsZShz
dHlsZS5wdHIoKSwgRWRpdEFjdGlvbjo6U2V0V3JpdGluZ0RpcmVjdGlvbik7CisgICAgZnJhbWUu
ZWRpdG9yKCkuYXBwbHlTdHlsZShzdHlsZS5wdHIoKSwgRWRpdEFjdGlvbjo6U2V0VGV4dFdyaXRp
bmdEaXJlY3Rpb24pOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC01OTMsNyArNTkzLDcgQEAg
c3RhdGljIGJvb2wgZXhlY3V0ZU1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbk5hdHVyYWwoRnJhbWUm
IGZyYW1lLCBFdmVudCosIEVkaXRvckMKIHsKICAgICBhdXRvIHN0eWxlID0gTXV0YWJsZVN0eWxl
UHJvcGVydGllczo6Y3JlYXRlKCk7CiAgICAgc3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3BlcnR5
VW5pY29kZUJpZGksIENTU1ZhbHVlTm9ybWFsKTsKLSAgICBmcmFtZS5lZGl0b3IoKS5hcHBseVN0
eWxlKHN0eWxlLnB0cigpLCBFZGl0QWN0aW9uOjpTZXRXcml0aW5nRGlyZWN0aW9uKTsKKyAgICBm
cmFtZS5lZGl0b3IoKS5hcHBseVN0eWxlKHN0eWxlLnB0cigpLCBFZGl0QWN0aW9uOjpTZXRUZXh0
V3JpdGluZ0RpcmVjdGlvbik7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTYwMiw3ICs2MDIs
NyBAQCBzdGF0aWMgYm9vbCBleGVjdXRlTWFrZVRleHRXcml0aW5nRGlyZWN0aW9uUmlnaHRUb0xl
ZnQoRnJhbWUmIGZyYW1lLCBFdmVudCosIEVkaQogICAgIGF1dG8gc3R5bGUgPSBNdXRhYmxlU3R5
bGVQcm9wZXJ0aWVzOjpjcmVhdGUoKTsKICAgICBzdHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVy
dHlVbmljb2RlQmlkaSwgQ1NTVmFsdWVFbWJlZCk7CiAgICAgc3R5bGUtPnNldFByb3BlcnR5KENT
U1Byb3BlcnR5RGlyZWN0aW9uLCBDU1NWYWx1ZVJ0bCk7Ci0gICAgZnJhbWUuZWRpdG9yKCkuYXBw
bHlTdHlsZShzdHlsZS5wdHIoKSwgRWRpdEFjdGlvbjo6U2V0V3JpdGluZ0RpcmVjdGlvbik7Cisg
ICAgZnJhbWUuZWRpdG9yKCkuYXBwbHlTdHlsZShzdHlsZS5wdHIoKSwgRWRpdEFjdGlvbjo6U2V0
VGV4dFdyaXRpbmdEaXJlY3Rpb24pOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xp
ZW50LmNwcAppbmRleCAyZTdlYTU4MTk0MzJhZDU1N2NhZjc4OGZkMTM5Njc0YjFiNjc0MTdmLi44
MzMyN2NjNzAzYjI2ZmE4NTBjMGU3ODQ0YTQ0ODcwNzJkNTQ4MDE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVu
dC5jcHAKQEAgLTU5NCw3ICs1OTQsOSBAQCBzdGF0aWMgU3RyaW5nIHVuZG9OYW1lRm9yRWRpdEFj
dGlvbihFZGl0QWN0aW9uIGVkaXRBY3Rpb24pCiAgICAgY2FzZSBFZGl0QWN0aW9uOjpBbGlnblJp
Z2h0OiByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIkFsaWduIFJpZ2h0IiwgIkFsaWduIFJpZ2h0
IChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CiAgICAgY2FzZSBFZGl0
QWN0aW9uOjpDZW50ZXI6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiQ2VudGVyIiwgIkNlbnRl
ciAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOwogICAgIGNhc2UgRWRp
dEFjdGlvbjo6SnVzdGlmeTogcmV0dXJuIFdFQl9VSV9TVFJJTkdfS0VZKCJKdXN0aWZ5IiwgIkp1
c3RpZnkgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKLSAgICBjYXNl
IEVkaXRBY3Rpb246OlNldFdyaXRpbmdEaXJlY3Rpb246IHJldHVybiBXRUJfVUlfU1RSSU5HX0tF
WSgiU2V0IFdyaXRpbmcgRGlyZWN0aW9uIiwgIlNldCBXcml0aW5nIERpcmVjdGlvbiAoVW5kbyBh
Y3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOworICAgIGNhc2UgRWRpdEFjdGlvbjo6
U2V0VGV4dFdyaXRpbmdEaXJlY3Rpb246CisgICAgY2FzZSBFZGl0QWN0aW9uOjpTZXRCYXNlV3Jp
dGluZ0RpcmVjdGlvbjoKKyAgICAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkdfS0VZKCJTZXQgV3Jp
dGluZyBEaXJlY3Rpb24iLCAiU2V0IFdyaXRpbmcgRGlyZWN0aW9uIChVbmRvIGFjdGlvbiBuYW1l
KSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CiAgICAgY2FzZSBFZGl0QWN0aW9uOjpTdWJzY3JpcHQ6
IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiU3Vic2NyaXB0IiwgIlN1YnNjcmlwdCAoVW5kbyBh
Y3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOwogICAgIGNhc2UgRWRpdEFjdGlvbjo6
U3VwZXJzY3JpcHQ6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiU3VwZXJzY3JpcHQiLCAiU3Vw
ZXJzY3JpcHQgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKICAgICBj
YXNlIEVkaXRBY3Rpb246OkJvbGQ6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiQm9sZCIsICJC
b2xkIChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWFm
Nzk4OWM0MWY3ZDE3Y2Q4ODg2MDA1NjU2N2UwN2VkZTdlNDE3OC4uMDU5M2I2NDY4NzE3NjliZjE2
ZmViNzgxZTBmZjgwMDdmMmFiMjdmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTAyLTE1
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIElucHV0
IHR5cGUgImZvcm1hdFNldElubGluZVRleHREaXJlY3Rpb24iIGlzIGRpc3BhdGNoZWQgd2hlbiBj
aGFuZ2luZyBwYXJhZ3JhcGgtbGV2ZWwgdGV4dCBkaXJlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDcwMworICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDgxMTE3NzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmViYXNlbGluZSBzb21lIGV4aXN0aW5nIHRlc3RzIHRvIGV4cGVjdCBpbnB1dCBl
dmVudHMgb2YgdHlwZSAiZm9ybWF0U2V0QmxvY2tUZXh0RGlyZWN0aW9uIiBpbnN0ZWFkIG9mCisg
ICAgICAgICJmb3JtYXRTZXRJbmxpbmVUZXh0RGlyZWN0aW9uIiB3aGVuIGNoYW5naW5nIHBhcmFn
cmFwaCB0ZXh0IGRpcmVjdGlvbjsgYWRkaXRpb25hbGx5LCBhZGQgYSBuZXcgbGF5b3V0IHRlc3Qg
dGhhdAorICAgICAgICBjaGFuZ2VzIHRoZSBpbmxpbmUgdGV4dCBkaXJlY3Rpb24gaW4gc29tZSBC
aWRpIHRleHQsIGFuZCB2ZXJpZnkgdGhhdCAiZm9ybWF0U2V0SW5saW5lVGV4dERpcmVjdGlvbiIg
aXMgZW1pdHRlZAorICAgICAgICBpbiB0aGlzIHNjZW5hcmlvLCBhbmQgdGhhdCBjYWxsaW5nIGBw
cmV2ZW50RGVmYXVsdCgpYCBpbiB0aGUgYmVmb3JlaW5wdXQgZXZlbnQgaGFuZGxlciBjYXVzZXMg
bm8gY2hhbmdlIHRvIGJlCisgICAgICAgIG1hZGUuCisKKyAgICAgICAgKiBlZGl0aW5nL2lucHV0
L2lvcy9ydGwta2V5Ym9hcmQtaW5wdXQtb24tZm9jdXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGZhc3QvZXZlbnRzL2JlZm9yZS1pbnB1dC1ldmVudHMtcHJldmVudC1ibG9jay10ZXh0LWRpcmVj
dGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2JlZm9yZS1p
bnB1dC1ldmVudHMtcHJldmVudC1ibG9jay10ZXh0LWRpcmVjdGlvbi5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LXRl
eHQtZGlyZWN0aW9uLmh0bWwuCisgICAgICAgICogZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0LWV2
ZW50cy1wcmV2ZW50LWlubGluZS10ZXh0LWRpcmVjdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZXZlbnRzL2JlZm9yZS1pbnB1dC1ldmVudHMtcHJldmVudC1pbmxpbmUt
dGV4dC1kaXJlY3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvYmVmb3Jl
LWlucHV0LWV2ZW50cy1wcmV2ZW50LXRleHQtZGlyZWN0aW9uLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKwogMjAxOS0wMi0xNCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI0MTQ5Ny4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvaW9zL3J0bC1rZXlib2FyZC1pbnB1dC1vbi1mb2N1
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L2lvcy9ydGwta2V5Ym9h
cmQtaW5wdXQtb24tZm9jdXMtZXhwZWN0ZWQudHh0CmluZGV4IDMwYjE5NTBlNWRlNmQyODkzNjk5
MzYxOTk2MTdjNDZiNmFjYWU2ZmMuLmZkYzU1MzhiZGNlN2JmMmE4NTk3ZWQyN2QyOWVhZDg5Njc2
ZTg5YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvaW9zL3J0bC1rZXli
b2FyZC1pbnB1dC1vbi1mb2N1cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9pbnB1dC9pb3MvcnRsLWtleWJvYXJkLWlucHV0LW9uLWZvY3VzLWV4cGVjdGVkLnR4dApAQCAt
MTQsMjQgKzE0LDI0IEBAIFVzaW5nIEVuZ2xpc2gga2V5Ym9hcmQ6CiAKIE9ic2VydmVkICdiZWZv
cmVpbnB1dCcgZXZlbnRzOiBbCiAgICAgewotICAgICAgICAiaW5wdXRUeXBlIjogImZvcm1hdFNl
dElubGluZVRleHREaXJlY3Rpb24iLAorICAgICAgICAiaW5wdXRUeXBlIjogImZvcm1hdFNldEJs
b2NrVGV4dERpcmVjdGlvbiIsCiAgICAgICAgICJkYXRhIjogInJ0bCIsCiAgICAgICAgICJvcmRl
ciI6IDEKICAgICB9LAogICAgIHsKLSAgICAgICAgImlucHV0VHlwZSI6ICJmb3JtYXRTZXRJbmxp
bmVUZXh0RGlyZWN0aW9uIiwKKyAgICAgICAgImlucHV0VHlwZSI6ICJmb3JtYXRTZXRCbG9ja1Rl
eHREaXJlY3Rpb24iLAogICAgICAgICAiZGF0YSI6ICJsdHIiLAogICAgICAgICAib3JkZXIiOiAz
CiAgICAgfQogXQogT2JzZXJ2ZWQgJ2lucHV0JyBldmVudHM6IFsKICAgICB7Ci0gICAgICAgICJp
bnB1dFR5cGUiOiAiZm9ybWF0U2V0SW5saW5lVGV4dERpcmVjdGlvbiIsCisgICAgICAgICJpbnB1
dFR5cGUiOiAiZm9ybWF0U2V0QmxvY2tUZXh0RGlyZWN0aW9uIiwKICAgICAgICAgImRhdGEiOiAi
cnRsIiwKICAgICAgICAgIm9yZGVyIjogMgogICAgIH0sCiAgICAgewotICAgICAgICAiaW5wdXRU
eXBlIjogImZvcm1hdFNldElubGluZVRleHREaXJlY3Rpb24iLAorICAgICAgICAiaW5wdXRUeXBl
IjogImZvcm1hdFNldEJsb2NrVGV4dERpcmVjdGlvbiIsCiAgICAgICAgICJkYXRhIjogImx0ciIs
CiAgICAgICAgICJvcmRlciI6IDQKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9iZWZvcmUtaW5wdXQtZXZlbnRzLXByZXZlbnQtYmxvY2stdGV4dC1kaXJlY3Rpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0LWV2ZW50
cy1wcmV2ZW50LWJsb2NrLXRleHQtZGlyZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
YjllNTczNjE5MmI0NjMyNzMwNGM3NDcwYmQ4MTg0NjlkMTA4YjY2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LWJs
b2NrLXRleHQtZGlyZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitIZWxsbyB3
b3JsZAorCisqKiogVEVTVElORyBSSUNIIFRFWFQgKioqCitJbml0aWFsIHRleHQgZGlyZWN0aW9u
OiAicnRsIgorRmlyZWQgb25iZWZvcmVpbnB1dCBldmVudCBvZiBpbnB1dFR5cGUgJ2Zvcm1hdFNl
dEJsb2NrVGV4dERpcmVjdGlvbicgd2l0aCBkYXRhOiAnbHRyJworVGV4dCBkaXJlY3Rpb24gYWZ0
ZXIgc2V0dGluZyB0byBMVFIgd2hpbGUgcHJldmVudGluZyBkZWZhdWx0OiAicnRsIgorRmlyZWQg
b25iZWZvcmVpbnB1dCBldmVudCBvZiBpbnB1dFR5cGUgJ2Zvcm1hdFNldEJsb2NrVGV4dERpcmVj
dGlvbicgd2l0aCBkYXRhOiAnbHRyJworRmlyZWQgaW5wdXQgZXZlbnQgb2YgaW5wdXRUeXBlICdm
b3JtYXRTZXRCbG9ja1RleHREaXJlY3Rpb24nIHdpdGggZGF0YTogJ2x0cicKK1RleHQgZGlyZWN0
aW9uIGFmdGVyIHNldHRpbmcgdG8gTFRSIHdpdGhvdXQgcHJldmVudGluZyBkZWZhdWx0OiAibHRy
IgorKioqIFRFU1RJTkcgUExBSU4gVEVYVCAqKioKK0luaXRpYWwgdGV4dCBkaXJlY3Rpb246ICJy
dGwiCitGaXJlZCBvbmJlZm9yZWlucHV0IGV2ZW50IG9mIGlucHV0VHlwZSAnZm9ybWF0U2V0Qmxv
Y2tUZXh0RGlyZWN0aW9uJyB3aXRoIGRhdGE6ICdsdHInCitUZXh0IGRpcmVjdGlvbiBhZnRlciBz
ZXR0aW5nIHRvIExUUiB3aGlsZSBwcmV2ZW50aW5nIGRlZmF1bHQ6ICJydGwiCitGaXJlZCBvbmJl
Zm9yZWlucHV0IGV2ZW50IG9mIGlucHV0VHlwZSAnZm9ybWF0U2V0QmxvY2tUZXh0RGlyZWN0aW9u
JyB3aXRoIGRhdGE6ICdsdHInCitGaXJlZCBpbnB1dCBldmVudCBvZiBpbnB1dFR5cGUgJ2Zvcm1h
dFNldEJsb2NrVGV4dERpcmVjdGlvbicgd2l0aCBkYXRhOiAnbHRyJworVGV4dCBkaXJlY3Rpb24g
YWZ0ZXIgc2V0dGluZyB0byBMVFIgd2l0aG91dCBwcmV2ZW50aW5nIGRlZmF1bHQ6ICJsdHIiCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JlZm9yZS1pbnB1dC1ldmVudHMt
cHJldmVudC1ibG9jay10ZXh0LWRpcmVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvYmVmb3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LWJsb2NrLXRleHQtZGlyZWN0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzM1YTQ0ODVmYzdlYzRjOTExOWIyYzRjMGVhOGM2N2FkZDdkNTU4YQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JlZm9yZS1pbnB1dC1ldmVu
dHMtcHJldmVudC1ibG9jay10ZXh0LWRpcmVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNjkgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgICNlZGl0
b3IgeworICAgICAgICAgICAgZGlyZWN0aW9uOiBydGw7CisgICAgICAgICAgICBib3JkZXI6IDFw
eCBibHVlIGRhc2hlZDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+CisKKzxib2R5
PgorICAgIDxkaXYgaWQ9ImVkaXRvciIgY29udGVudGVkaXRhYmxlIG9uaW5wdXQ9aGFuZGxlSW5w
dXRFdmVudChldmVudCkgb25iZWZvcmVpbnB1dD1oYW5kbGVCZWZvcmVJbnB1dEV2ZW50KGV2ZW50
KT4KKyAgICAgICAgPGRpdiBpZD0iY29udGVudCI+SGVsbG8gd29ybGQ8L2Rpdj4KKyAgICA8L2Rp
dj4KKyAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRleHRmaWVsZCIgdmFsdWU9ImhpIiBkaXI9
InJ0bCIgb25pbnB1dD1oYW5kbGVJbnB1dEV2ZW50KGV2ZW50KSBvbmJlZm9yZWlucHV0PWhhbmRs
ZUJlZm9yZUlucHV0RXZlbnQoZXZlbnQpPjwvaW5wdXQ+CisgICAgPGRpdiBpZD0ib3V0cHV0Ij48
L2Rpdj4KKyAgICA8c2NyaXB0PgorICAgICAgICBsZXQgd3JpdGUgPSBzID0+IG91dHB1dC5pbm5l
ckhUTUwgKz0gYCR7c308YnI+YDsKKyAgICAgICAgKGZ1bmN0aW9uKCkKKyAgICAgICAgeworICAg
ICAgICAgICAgd2luZG93LnNob3VsZFByZXZlbnREZWZhdWx0ID0gdHJ1ZTsKKyAgICAgICAgICAg
IGlmICghd2luZG93LmV2ZW50U2VuZGVyIHx8ICF3aW5kb3cuaW50ZXJuYWxzIHx8ICF3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgICAgICAgICAgICAgIHdyaXRlKCJUbyB0ZXN0IG1hbnVhbGx5LCB0
cnkgdG8gY2hhbmdlIHRoZSB0ZXh0IGRpcmVjdGlvbiB0byBsdHIuIFRoaXMgc2hvdWxkIGJlIHBy
ZXZlbnRlZC4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRJbnB1dEV2ZW50c0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIGVkaXRv
ci5mb2N1cygpOworICAgICAgICAgICAgd3JpdGUoIioqKiBURVNUSU5HIFJJQ0ggVEVYVCAqKioi
KTsKKyAgICAgICAgICAgIHdyaXRlKGBJbml0aWFsIHRleHQgZGlyZWN0aW9uOiAiJHtnZXRDb21w
dXRlZFN0eWxlKGNvbnRlbnQpLmRpcmVjdGlvbn0iYCk7CisKKyAgICAgICAgICAgIGludGVybmFs
cy5zZXRCYXNlV3JpdGluZ0RpcmVjdGlvbigiTHRyIik7CisgICAgICAgICAgICB3cml0ZShgVGV4
dCBkaXJlY3Rpb24gYWZ0ZXIgc2V0dGluZyB0byBMVFIgd2hpbGUgcHJldmVudGluZyBkZWZhdWx0
OiAiJHtnZXRDb21wdXRlZFN0eWxlKGNvbnRlbnQpLmRpcmVjdGlvbn0iYCk7CisKKyAgICAgICAg
ICAgIHdpbmRvdy5zaG91bGRQcmV2ZW50RGVmYXVsdCA9IGZhbHNlOworCisgICAgICAgICAgICBp
bnRlcm5hbHMuc2V0QmFzZVdyaXRpbmdEaXJlY3Rpb24oIkx0ciIpOworICAgICAgICAgICAgd3Jp
dGUoYFRleHQgZGlyZWN0aW9uIGFmdGVyIHNldHRpbmcgdG8gTFRSIHdpdGhvdXQgcHJldmVudGlu
ZyBkZWZhdWx0OiAiJHtnZXRDb21wdXRlZFN0eWxlKGNvbnRlbnQpLmRpcmVjdGlvbn0iYCk7CisK
KyAgICAgICAgICAgIHdpbmRvdy5zaG91bGRQcmV2ZW50RGVmYXVsdCA9IHRydWU7CisgICAgICAg
ICAgICB0ZXh0ZmllbGQuZm9jdXMoKTsKKyAgICAgICAgICAgIHdyaXRlKCIqKiogVEVTVElORyBQ
TEFJTiBURVhUICoqKiIpOworICAgICAgICAgICAgd3JpdGUoYEluaXRpYWwgdGV4dCBkaXJlY3Rp
b246ICIke3RleHRmaWVsZC5nZXRBdHRyaWJ1dGUoImRpciIpfSJgKTsKKworICAgICAgICAgICAg
aW50ZXJuYWxzLnNldEJhc2VXcml0aW5nRGlyZWN0aW9uKCJMdHIiKTsKKyAgICAgICAgICAgIHdy
aXRlKGBUZXh0IGRpcmVjdGlvbiBhZnRlciBzZXR0aW5nIHRvIExUUiB3aGlsZSBwcmV2ZW50aW5n
IGRlZmF1bHQ6ICIke3RleHRmaWVsZC5nZXRBdHRyaWJ1dGUoImRpciIpfSJgKTsKKworICAgICAg
ICAgICAgd2luZG93LnNob3VsZFByZXZlbnREZWZhdWx0ID0gZmFsc2U7CisKKyAgICAgICAgICAg
IGludGVybmFscy5zZXRCYXNlV3JpdGluZ0RpcmVjdGlvbigiTHRyIik7CisgICAgICAgICAgICB3
cml0ZShgVGV4dCBkaXJlY3Rpb24gYWZ0ZXIgc2V0dGluZyB0byBMVFIgd2l0aG91dCBwcmV2ZW50
aW5nIGRlZmF1bHQ6ICIke3RleHRmaWVsZC5nZXRBdHRyaWJ1dGUoImRpciIpfSJgKTsKKyAgICAg
ICAgfSkoKTsKKworICAgICAgICBmdW5jdGlvbiBoYW5kbGVJbnB1dEV2ZW50KGV2ZW50KQorICAg
ICAgICB7CisgICAgICAgICAgICB3cml0ZShgRmlyZWQgaW5wdXQgZXZlbnQgb2YgaW5wdXRUeXBl
ICcke2V2ZW50LmlucHV0VHlwZX0nIHdpdGggZGF0YTogJyR7ZXZlbnQuZGF0YX0nYCk7CisgICAg
ICAgIH0KKworICAgICAgICBmdW5jdGlvbiBoYW5kbGVCZWZvcmVJbnB1dEV2ZW50KGV2ZW50KQor
ICAgICAgICB7CisgICAgICAgICAgICB3cml0ZShgRmlyZWQgb25iZWZvcmVpbnB1dCBldmVudCBv
ZiBpbnB1dFR5cGUgJyR7ZXZlbnQuaW5wdXRUeXBlfScgd2l0aCBkYXRhOiAnJHtldmVudC5kYXRh
fSdgKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuc2hvdWxkUHJldmVudERlZmF1bHQpCisgICAg
ICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICAgICAgfQorICAgIDwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvYmVmb3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LWlubGluZS10ZXh0LWRpcmVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9iZWZvcmUtaW5wdXQtZXZlbnRzLXBy
ZXZlbnQtaW5saW5lLXRleHQtZGlyZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44Zjk5
NmRkMTk1Yzc1OGFmMWJhMGE2YmRiZmJjZDUwOGI0OTBiMzE4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LWlubGlu
ZS10ZXh0LWRpcmVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNCBAQAorVmVyaWZpZXMg
dGhhdCBjaGFuZ2luZyB0aGUgdGV4dCB3cml0aW5nIGRpcmVjdGlvbiBmaXJlcyBpbnB1dCBldmVu
dHMgd2hpY2ggbWF5IGJlIHByZXZlbnRlZC4gVG8gbWFudWFsbHkgdGVzdCwgc2VsZWN0ICfXnten
15XXqCcgaW4gdGhlIHRvcCBjb250ZW50ZWRpdGFibGUgYW5kIGNoYW5nZSB0aGUgc2VsZWN0aW9u
IGRpcmVjdGlvbiB0byAnbGVmdCB0byByaWdodCc7IHRoZW4sIHNlbGVjdCB0aGUgc2FtZSB3b3Jk
IGluIHRoZSBwcmV2ZW50ZWQgY29udGVudGVkaXRhYmxlIGFuZCBjaGFuZ2Ugc2VsZWN0aW9uIGRp
cmVjdGlvbiB0byAnbGVmdCB0byByaWdodCcuIENoZWNrIHRoYXQgdGhlIGJvdHRvbSBlZGl0YWJs
ZSBhcmVhJ3MgY29udGVudHMgZGlkIG5vdCBjaGFuZ2UuCisKK2JlZm9yZWlucHV0LCBmb3JtYXRT
ZXRJbmxpbmVUZXh0RGlyZWN0aW9uLCBsdHIgb24gI25vdFByZXZlbnRlZDoKK3wgIkhlbGxvIDwj
c2VsZWN0aW9uLWFuY2hvcj7Xnten15XXqDwjc2VsZWN0aW9uLWZvY3VzPiDXlNep150g16LXkdeo
15nXqiB3b3JsZCIKKworaW5wdXQsIGZvcm1hdFNldElubGluZVRleHREaXJlY3Rpb24sIGx0ciBv
biAjbm90UHJldmVudGVkOgorfCAiSGVsbG8gIgorfCA8c3Bhbj4KK3wgICBzdHlsZT0idW5pY29k
ZS1iaWRpOiBlbWJlZDsiCit8ICAgIjwjc2VsZWN0aW9uLWFuY2hvcj7Xnten15XXqDwjc2VsZWN0
aW9uLWZvY3VzPiIKK3wgIiDXlNep150g16LXkdeo15nXqiB3b3JsZCIKKworYmVmb3JlaW5wdXQs
IGZvcm1hdFNldElubGluZVRleHREaXJlY3Rpb24sIHJ0bCBvbiAjbm90UHJldmVudGVkOgorfCAi
SGVsbG8gIgorfCA8c3Bhbj4KK3wgICBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsiCit8ICAg
Itee16fXldeoIgorfCAiINeU16nXnSDXoteR16jXmdeqIDwjc2VsZWN0aW9uLWFuY2hvcj53b3Js
ZDwjc2VsZWN0aW9uLWZvY3VzPiIKKworaW5wdXQsIGZvcm1hdFNldElubGluZVRleHREaXJlY3Rp
b24sIHJ0bCBvbiAjbm90UHJldmVudGVkOgorfCAiSGVsbG8gIgorfCA8c3Bhbj4KK3wgICBzdHls
ZT0idW5pY29kZS1iaWRpOiBlbWJlZDsiCit8ICAgItee16fXldeoIgorfCAiINeU16nXnSDXoteR
16jXmdeqICIKK3wgPHNwYW4+Cit8ICAgc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7IGRpcmVj
dGlvbjogcnRsOyIKK3wgICAiPCNzZWxlY3Rpb24tYW5jaG9yPndvcmxkPCNzZWxlY3Rpb24tZm9j
dXM+IgorCitiZWZvcmVpbnB1dCwgZm9ybWF0U2V0SW5saW5lVGV4dERpcmVjdGlvbiwgbHRyIG9u
ICNwcmV2ZW50ZWQ6Cit8ICJIZWxsbyA8I3NlbGVjdGlvbi1hbmNob3I+157Xp9eV16g8I3NlbGVj
dGlvbi1mb2N1cz4g15TXqdedINei15HXqNeZ16ogd29ybGQiCisKK2JlZm9yZWlucHV0LCBmb3Jt
YXRTZXRJbmxpbmVUZXh0RGlyZWN0aW9uLCBydGwgb24gI3ByZXZlbnRlZDoKK3wgIkhlbGxvINee
16fXldeoINeU16nXnSDXoteR16jXmdeqIDwjc2VsZWN0aW9uLWFuY2hvcj53b3JsZDwjc2VsZWN0
aW9uLWZvY3VzPiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JlZm9yZS1p
bnB1dC1ldmVudHMtcHJldmVudC1pbmxpbmUtdGV4dC1kaXJlY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2JlZm9yZS1pbnB1dC1ldmVudHMtcHJldmVudC1pbmxpbmUtdGV4dC1k
aXJlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNTM2ZjBkZTc5ZDU3ODljNmEzY2FkYWM2NGY2ZWZl
NWFjY2VhNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYmVm
b3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LWlubGluZS10ZXh0LWRpcmVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmOCI+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJr
dXAuanMiPjwvc2NyaXB0PgorICAgIDxzdHlsZT4KKyAgICAgICAgI2VkaXRvciB7CisgICAgICAg
ICAgICBib3JkZXI6IDFweCBibHVlIGRhc2hlZDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAgY29uc3QgZHVtcE1hcmt1cE9uSW5wdXQgPSBlID0+IE1hcmt1
cC5kdW1wKGUudGFyZ2V0LCBgJHtlLnR5cGV9LCAke2UuaW5wdXRUeXBlfSwgJHtlLmRhdGF9IG9u
ICMke2UudGFyZ2V0LmlkfWApOworCisgICAgICAgIE1hcmt1cC5kZXNjcmlwdGlvbigiVmVyaWZp
ZXMgdGhhdCBjaGFuZ2luZyB0aGUgdGV4dCB3cml0aW5nIGRpcmVjdGlvbiBmaXJlcyBpbnB1dCBl
dmVudHMgd2hpY2ggbWF5IGJlIHByZXZlbnRlZC4gVG8gbWFudWFsbHkgdGVzdCwgc2VsZWN0ICfX
nten15XXqCcgaW4gdGhlIHRvcCBjb250ZW50ZWRpdGFibGUgYW5kIGNoYW5nZSB0aGUgc2VsZWN0
aW9uIGRpcmVjdGlvbiB0byAnbGVmdCB0byByaWdodCc7IHRoZW4sIHNlbGVjdCB0aGUgc2FtZSB3
b3JkIGluIHRoZSBwcmV2ZW50ZWQgY29udGVudGVkaXRhYmxlIGFuZCBjaGFuZ2Ugc2VsZWN0aW9u
IGRpcmVjdGlvbiB0byAnbGVmdCB0byByaWdodCcuIENoZWNrIHRoYXQgdGhlIGJvdHRvbSBlZGl0
YWJsZSBhcmVhJ3MgY29udGVudHMgZGlkIG5vdCBjaGFuZ2UuIik7CisgICAgICAgIE1hcmt1cC5u
b0F1dG9EdW1wKCk7CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsICgpID0+IHsK
KyAgICAgICAgICAgIGNvbnN0IG5vdFByZXZlbnRlZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
IiNub3RQcmV2ZW50ZWQiKTsKKyAgICAgICAgICAgIGNvbnN0IHByZXZlbnRlZCA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoIiNwcmV2ZW50ZWQiKTsKKworICAgICAgICAgICAgbm90UHJldmVudGVk
LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgZHVtcE1hcmt1cE9uSW5wdXQpOworICAgICAgICAg
ICAgbm90UHJldmVudGVkLmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZWlucHV0IiwgZHVtcE1hcmt1
cE9uSW5wdXQpOworICAgICAgICAgICAgcHJldmVudGVkLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0
IiwgZHVtcE1hcmt1cE9uSW5wdXQpOworICAgICAgICAgICAgcHJldmVudGVkLmFkZEV2ZW50TGlz
dGVuZXIoImJlZm9yZWlucHV0IiwgZXZlbnQgPT4geworICAgICAgICAgICAgICAgIGR1bXBNYXJr
dXBPbklucHV0KGV2ZW50KTsKKyAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgp
OworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGdldFNlbGVjdGlvbigpLnNldEJhc2VB
bmRFeHRlbnQobm90UHJldmVudGVkLmZpcnN0Q2hpbGQsIDYsIG5vdFByZXZlbnRlZC5maXJzdENo
aWxkLCAxMCk7CisgICAgICAgICAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZXhlY0NvbW1hbmQoIk1ha2VU
ZXh0V3JpdGluZ0RpcmVjdGlvbkxlZnRUb1JpZ2h0Iik7CisgICAgICAgICAgICBnZXRTZWxlY3Rp
b24oKS5zZXRCYXNlQW5kRXh0ZW50KG5vdFByZXZlbnRlZC5sYXN0Q2hpbGQsIDExLCBub3RQcmV2
ZW50ZWQubGFzdENoaWxkLCAxNik7CisgICAgICAgICAgICB0ZXN0UnVubmVyLmV4ZWNDb21tYW5k
KCJNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25SaWdodFRvTGVmdCIpOworCisgICAgICAgICAgICBn
ZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KHByZXZlbnRlZC5maXJzdENoaWxkLCA2LCBw
cmV2ZW50ZWQuZmlyc3RDaGlsZCwgMTApOworICAgICAgICAgICAgdGVzdFJ1bm5lci5leGVjQ29t
bWFuZCgiTWFrZVRleHRXcml0aW5nRGlyZWN0aW9uTGVmdFRvUmlnaHQiKTsKKyAgICAgICAgICAg
IGdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQocHJldmVudGVkLmxhc3RDaGlsZCwgMjEs
IHByZXZlbnRlZC5sYXN0Q2hpbGQsIDI2KTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZXhlY0Nv
bW1hbmQoIk1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvblJpZ2h0VG9MZWZ0Iik7CisKKyAgICAgICAg
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOworICAgIDwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+CisgICAgPGRpdiBjb250ZW50ZWRpdGFibGUgaWQ9Im5vdFByZXZlbnRlZCI+
SGVsbG8g157Xp9eV16gg15TXqdedINei15HXqNeZ16ogd29ybGQ8L2Rpdj4KKyAgICA8ZGl2IGNv
bnRlbnRlZGl0YWJsZSBpZD0icHJldmVudGVkIj5IZWxsbyDXnten15XXqCDXlNep150g16LXkdeo
15nXqiB3b3JsZDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LXRleHQtZGlyZWN0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JlZm9yZS1pbnB1dC1ldmVu
dHMtcHJldmVudC10ZXh0LWRpcmVjdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDM2MjBkN2Y4ZWY0MzAyY2NlYjZjMzBiZDBiZDRmY2QyODQ4NWVkNjIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LXRleHQtZGlyZWN0aW9uLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLUhlbGxvIHdvcmxkCi0K
LSoqKiBURVNUSU5HIFJJQ0ggVEVYVCAqKioKLUluaXRpYWwgdGV4dCBkaXJlY3Rpb246ICJydGwi
Ci1GaXJlZCBvbmJlZm9yZWlucHV0IGV2ZW50IG9mIGlucHV0VHlwZSAnZm9ybWF0U2V0SW5saW5l
VGV4dERpcmVjdGlvbicgd2l0aCBkYXRhOiAnbHRyJwotVGV4dCBkaXJlY3Rpb24gYWZ0ZXIgc2V0
dGluZyB0byBMVFIgd2hpbGUgcHJldmVudGluZyBkZWZhdWx0OiAicnRsIgotRmlyZWQgb25iZWZv
cmVpbnB1dCBldmVudCBvZiBpbnB1dFR5cGUgJ2Zvcm1hdFNldElubGluZVRleHREaXJlY3Rpb24n
IHdpdGggZGF0YTogJ2x0cicKLUZpcmVkIGlucHV0IGV2ZW50IG9mIGlucHV0VHlwZSAnZm9ybWF0
U2V0SW5saW5lVGV4dERpcmVjdGlvbicgd2l0aCBkYXRhOiAnbHRyJwotVGV4dCBkaXJlY3Rpb24g
YWZ0ZXIgc2V0dGluZyB0byBMVFIgd2l0aG91dCBwcmV2ZW50aW5nIGRlZmF1bHQ6ICJsdHIiCi0q
KiogVEVTVElORyBQTEFJTiBURVhUICoqKgotSW5pdGlhbCB0ZXh0IGRpcmVjdGlvbjogInJ0bCIK
LUZpcmVkIG9uYmVmb3JlaW5wdXQgZXZlbnQgb2YgaW5wdXRUeXBlICdmb3JtYXRTZXRJbmxpbmVU
ZXh0RGlyZWN0aW9uJyB3aXRoIGRhdGE6ICdsdHInCi1UZXh0IGRpcmVjdGlvbiBhZnRlciBzZXR0
aW5nIHRvIExUUiB3aGlsZSBwcmV2ZW50aW5nIGRlZmF1bHQ6ICJydGwiCi1GaXJlZCBvbmJlZm9y
ZWlucHV0IGV2ZW50IG9mIGlucHV0VHlwZSAnZm9ybWF0U2V0SW5saW5lVGV4dERpcmVjdGlvbicg
d2l0aCBkYXRhOiAnbHRyJwotRmlyZWQgaW5wdXQgZXZlbnQgb2YgaW5wdXRUeXBlICdmb3JtYXRT
ZXRJbmxpbmVUZXh0RGlyZWN0aW9uJyB3aXRoIGRhdGE6ICdsdHInCi1UZXh0IGRpcmVjdGlvbiBh
ZnRlciBzZXR0aW5nIHRvIExUUiB3aXRob3V0IHByZXZlbnRpbmcgZGVmYXVsdDogImx0ciIKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0LWV2ZW50cy1w
cmV2ZW50LXRleHQtZGlyZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9iZWZv
cmUtaW5wdXQtZXZlbnRzLXByZXZlbnQtdGV4dC1kaXJlY3Rpb24uaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNzM1YTQ0ODVmYzdlYzRjOTExOWIyYzRjMGVhOGM2N2FkZDdkNTU4
YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9iZWZvcmUtaW5wdXQtZXZlbnRzLXByZXZlbnQtdGV4dC1kaXJlY3Rp
b24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLSAgICA8c3R5bGU+Ci0gICAgICAgICNlZGl0b3IgewotICAgICAgICAg
ICAgZGlyZWN0aW9uOiBydGw7Ci0gICAgICAgICAgICBib3JkZXI6IDFweCBibHVlIGRhc2hlZDsK
LSAgICAgICAgfQotICAgIDwvc3R5bGU+Ci08L2hlYWQ+Ci0KLTxib2R5PgotICAgIDxkaXYgaWQ9
ImVkaXRvciIgY29udGVudGVkaXRhYmxlIG9uaW5wdXQ9aGFuZGxlSW5wdXRFdmVudChldmVudCkg
b25iZWZvcmVpbnB1dD1oYW5kbGVCZWZvcmVJbnB1dEV2ZW50KGV2ZW50KT4KLSAgICAgICAgPGRp
diBpZD0iY29udGVudCI+SGVsbG8gd29ybGQ8L2Rpdj4KLSAgICA8L2Rpdj4KLSAgICA8aW5wdXQg
dHlwZT0idGV4dCIgaWQ9InRleHRmaWVsZCIgdmFsdWU9ImhpIiBkaXI9InJ0bCIgb25pbnB1dD1o
YW5kbGVJbnB1dEV2ZW50KGV2ZW50KSBvbmJlZm9yZWlucHV0PWhhbmRsZUJlZm9yZUlucHV0RXZl
bnQoZXZlbnQpPjwvaW5wdXQ+Ci0gICAgPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KLSAgICA8c2Ny
aXB0PgotICAgICAgICBsZXQgd3JpdGUgPSBzID0+IG91dHB1dC5pbm5lckhUTUwgKz0gYCR7c308
YnI+YDsKLSAgICAgICAgKGZ1bmN0aW9uKCkKLSAgICAgICAgewotICAgICAgICAgICAgd2luZG93
LnNob3VsZFByZXZlbnREZWZhdWx0ID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmICghd2luZG93LmV2
ZW50U2VuZGVyIHx8ICF3aW5kb3cuaW50ZXJuYWxzIHx8ICF3aW5kb3cudGVzdFJ1bm5lcikgewot
ICAgICAgICAgICAgICAgIHdyaXRlKCJUbyB0ZXN0IG1hbnVhbGx5LCB0cnkgdG8gY2hhbmdlIHRo
ZSB0ZXh0IGRpcmVjdGlvbiB0byBsdHIuIFRoaXMgc2hvdWxkIGJlIHByZXZlbnRlZC4iKTsKLSAg
ICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRJbnB1dEV2ZW50c0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIGVkaXRvci5mb2N1cygpOwotICAg
ICAgICAgICAgd3JpdGUoIioqKiBURVNUSU5HIFJJQ0ggVEVYVCAqKioiKTsKLSAgICAgICAgICAg
IHdyaXRlKGBJbml0aWFsIHRleHQgZGlyZWN0aW9uOiAiJHtnZXRDb21wdXRlZFN0eWxlKGNvbnRl
bnQpLmRpcmVjdGlvbn0iYCk7Ci0KLSAgICAgICAgICAgIGludGVybmFscy5zZXRCYXNlV3JpdGlu
Z0RpcmVjdGlvbigiTHRyIik7Ci0gICAgICAgICAgICB3cml0ZShgVGV4dCBkaXJlY3Rpb24gYWZ0
ZXIgc2V0dGluZyB0byBMVFIgd2hpbGUgcHJldmVudGluZyBkZWZhdWx0OiAiJHtnZXRDb21wdXRl
ZFN0eWxlKGNvbnRlbnQpLmRpcmVjdGlvbn0iYCk7Ci0KLSAgICAgICAgICAgIHdpbmRvdy5zaG91
bGRQcmV2ZW50RGVmYXVsdCA9IGZhbHNlOwotCi0gICAgICAgICAgICBpbnRlcm5hbHMuc2V0QmFz
ZVdyaXRpbmdEaXJlY3Rpb24oIkx0ciIpOwotICAgICAgICAgICAgd3JpdGUoYFRleHQgZGlyZWN0
aW9uIGFmdGVyIHNldHRpbmcgdG8gTFRSIHdpdGhvdXQgcHJldmVudGluZyBkZWZhdWx0OiAiJHtn
ZXRDb21wdXRlZFN0eWxlKGNvbnRlbnQpLmRpcmVjdGlvbn0iYCk7Ci0KLSAgICAgICAgICAgIHdp
bmRvdy5zaG91bGRQcmV2ZW50RGVmYXVsdCA9IHRydWU7Ci0gICAgICAgICAgICB0ZXh0ZmllbGQu
Zm9jdXMoKTsKLSAgICAgICAgICAgIHdyaXRlKCIqKiogVEVTVElORyBQTEFJTiBURVhUICoqKiIp
OwotICAgICAgICAgICAgd3JpdGUoYEluaXRpYWwgdGV4dCBkaXJlY3Rpb246ICIke3RleHRmaWVs
ZC5nZXRBdHRyaWJ1dGUoImRpciIpfSJgKTsKLQotICAgICAgICAgICAgaW50ZXJuYWxzLnNldEJh
c2VXcml0aW5nRGlyZWN0aW9uKCJMdHIiKTsKLSAgICAgICAgICAgIHdyaXRlKGBUZXh0IGRpcmVj
dGlvbiBhZnRlciBzZXR0aW5nIHRvIExUUiB3aGlsZSBwcmV2ZW50aW5nIGRlZmF1bHQ6ICIke3Rl
eHRmaWVsZC5nZXRBdHRyaWJ1dGUoImRpciIpfSJgKTsKLQotICAgICAgICAgICAgd2luZG93LnNo
b3VsZFByZXZlbnREZWZhdWx0ID0gZmFsc2U7Ci0KLSAgICAgICAgICAgIGludGVybmFscy5zZXRC
YXNlV3JpdGluZ0RpcmVjdGlvbigiTHRyIik7Ci0gICAgICAgICAgICB3cml0ZShgVGV4dCBkaXJl
Y3Rpb24gYWZ0ZXIgc2V0dGluZyB0byBMVFIgd2l0aG91dCBwcmV2ZW50aW5nIGRlZmF1bHQ6ICIk
e3RleHRmaWVsZC5nZXRBdHRyaWJ1dGUoImRpciIpfSJgKTsKLSAgICAgICAgfSkoKTsKLQotICAg
ICAgICBmdW5jdGlvbiBoYW5kbGVJbnB1dEV2ZW50KGV2ZW50KQotICAgICAgICB7Ci0gICAgICAg
ICAgICB3cml0ZShgRmlyZWQgaW5wdXQgZXZlbnQgb2YgaW5wdXRUeXBlICcke2V2ZW50LmlucHV0
VHlwZX0nIHdpdGggZGF0YTogJyR7ZXZlbnQuZGF0YX0nYCk7Ci0gICAgICAgIH0KLQotICAgICAg
ICBmdW5jdGlvbiBoYW5kbGVCZWZvcmVJbnB1dEV2ZW50KGV2ZW50KQotICAgICAgICB7Ci0gICAg
ICAgICAgICB3cml0ZShgRmlyZWQgb25iZWZvcmVpbnB1dCBldmVudCBvZiBpbnB1dFR5cGUgJyR7
ZXZlbnQuaW5wdXRUeXBlfScgd2l0aCBkYXRhOiAnJHtldmVudC5kYXRhfSdgKTsKLSAgICAgICAg
ICAgIGlmICh3aW5kb3cuc2hvdWxkUHJldmVudERlZmF1bHQpCi0gICAgICAgICAgICAgICAgZXZl
bnQucHJldmVudERlZmF1bHQoKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgo=
</data>
<flag name="review"
          id="378860"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362723</attachid>
            <date>2019-02-22 08:32:03 -0800</date>
            <delta_ts>2019-02-22 09:09:34 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-194703-20190222083203.patch</filename>
            <type>text/plain</type>
            <size>27583</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxOTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFjOGUyZTRjZTIzNWUy
OTUzNThlOTQ0NWFjM2E3NDRmZDYzMjQ1Ni4uZDJlYzNlZjNjOGRmNzdmMWY5MTg5NDY4ODYzMzcw
ODA2YzJhNjMyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTAyLTIyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIElucHV0IHR5cGUg
ImZvcm1hdFNldElubGluZVRleHREaXJlY3Rpb24iIGlzIGRpc3BhdGNoZWQgd2hlbiBjaGFuZ2lu
ZyBwYXJhZ3JhcGgtbGV2ZWwgdGV4dCBkaXJlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDcwMworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NDgxMTE3NzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAg
IEN1cnJlbnRseSwgd2hlbiBjaGFuZ2luZyB0ZXh0IGRpcmVjdGlvbiwgV2ViS2l0IGFsd2F5cyBz
ZW5kcyBpbnB1dCBldmVudHMgb2YgdHlwZSBmb3JtYXRTZXRJbmxpbmVUZXh0RGlyZWN0aW9uLAor
ICAgICAgICBldmVuIHdoZW4gY2hhbmdpbmcgcGFyYWdyYXBoIHRleHQgZGlyZWN0aW9uLiBJbnN0
ZWFkLCB3ZSBzaG91bGQgYmUgZW1pdHRpbmcgZm9ybWF0U2V0QmxvY2tUZXh0RGlyZWN0aW9uIGlu
IHRoaXMKKyAgICAgICAgc2NlbmFyaW8uIFRoaXMgaXMgcHJvYmxlbWF0aWMgd2hlbiB1c2luZyB0
aGUgY29udGV4dCBtZW51cyBvbiBtYWNPUyB0byBjaGFuZ2Ugd3JpdGluZyBkaXJlY3Rpb24sIHNp
bmNlIGNoYW5naW5nCisgICAgICAgICJTZWxlY3Rpb24gRGlyZWN0aW9uIiBpcyBjdXJyZW50bHkg
aW5kaXN0aW5ndWlzaGFibGUgZnJvbSBjaGFuZ2luZyAiUGFyYWdyYXBoIERpcmVjdGlvbiIuCisK
KyAgICAgICAgVG8gZml4IHRoaXMsIHdlIHNwbGl0IEVkaXRBY3Rpb246OlNldFdyaXRpbmdEaXJl
Y3Rpb24gaW50byBFZGl0QWN0aW9uOjpTZXRJbmxpbmVXcml0aW5nRGlyZWN0aW9uIGFuZAorICAg
ICAgICBFZGl0QWN0aW9uOjpTZXRCbG9ja1dyaXRpbmdEaXJlY3Rpb24sIHdoaWNoIGVtaXQgaW5s
aW5lIGFuZCBibG9jayB0ZXh0IGRpcmVjdGlvbiBpbnB1dCBldmVudHMsIHJlc3BlY3RpdmVseS4K
KworICAgICAgICBUZXN0czogZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50
LWJsb2NrLXRleHQtZGlyZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZXZlbnRzL2Jl
Zm9yZS1pbnB1dC1ldmVudHMtcHJldmVudC1pbmxpbmUtdGV4dC1kaXJlY3Rpb24uaHRtbAorCisg
ICAgICAgICogZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDb21wb3NpdGVFZGl0Q29tbWFuZDo6YXBwbHkpOgorICAgICAgICAqIGVkaXRpbmcvRWRp
dEFjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjp1bmRvUmVkb0xhYmVsKToKKyAgICAgICAg
KiBlZGl0aW5nL0VkaXRBY3Rpb24uaDoKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRDb21tYW5kLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmlucHV0VHlwZU5hbWVGb3JFZGl0aW5nQWN0aW9uKToKKyAg
ICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbnB1dEV2ZW50
RGF0YUZvckVkaXRpbmdTdHlsZUFuZEFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6
OnNldEJhc2VXcml0aW5nRGlyZWN0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNvbW1h
bmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZU1ha2VUZXh0V3JpdGluZ0RpcmVjdGlv
bkxlZnRUb1JpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OmV4ZWN1dGVNYWtlVGV4dFdyaXRpbmdE
aXJlY3Rpb25OYXR1cmFsKToKKyAgICAgICAgKFdlYkNvcmU6OmV4ZWN1dGVNYWtlVGV4dFdyaXRp
bmdEaXJlY3Rpb25SaWdodFRvTGVmdCk6CisKIDIwMTktMDItMjEgIERhbmllbCBCYXRlcyAgPGRh
YmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFNhbWUgU2l0ZSBMYXggY29va2llcyBhcmUgbm90
IHNlbnQgd2l0aCBjcm9zcy1zaXRlIHJlZGlyZWN0IGZyb20gY2xpZW50LWluaXRpYXRlZCBsb2Fk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggM2I3OGMyNzY2ODBjMmE5NTZlM2I1NmM5
YzY0ZmM1NzNkYmQ5MzhmNy4uOWFkODIyNzY2NzE1YTc3ODFkMjU1YjNlNjZlZDgwMjI1MmQ1MTYx
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTAy
LTIyICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIElu
cHV0IHR5cGUgImZvcm1hdFNldElubGluZVRleHREaXJlY3Rpb24iIGlzIGRpc3BhdGNoZWQgd2hl
biBjaGFuZ2luZyBwYXJhZ3JhcGgtbGV2ZWwgdGV4dCBkaXJlY3Rpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDcwMworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNDgxMTE3NzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcDoKKyAgICAgICAg
KHVuZG9OYW1lRm9yRWRpdEFjdGlvbik6CisKIDIwMTktMDItMTggIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gU3VwcG9ydCBwYXN0aW5nIGl0
ZW0tcHJvdmlkZXItYmFja2VkIGRhdGEgb24gdGhlIHBhc3RlYm9hcmQgYXMgYXR0YWNobWVudCBl
bGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0
Q29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5k
LmNwcAppbmRleCA5MWQ4YWYxODBhNGUzMTFhYzM2MWIzM2JhZWI5MWMyNDAwYjExNDEzLi43MGU4
ZWNlZTQ5ZjM0ZjM2ZWQyMDg0NTAzMmVmMmJhOTMzM2M4YzNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcApAQCAtMzQyLDcgKzM0Miw4IEBA
IHZvaWQgQ29tcG9zaXRlRWRpdENvbW1hbmQ6OmFwcGx5KCkKICAgICAgICAgY2FzZSBFZGl0QWN0
aW9uOjpUeXBpbmdJbnNlcnRGaW5hbENvbXBvc2l0aW9uOgogICAgICAgICBjYXNlIEVkaXRBY3Rp
b246OlBhc3RlOgogICAgICAgICBjYXNlIEVkaXRBY3Rpb246OkRlbGV0ZUJ5RHJhZzoKLSAgICAg
ICAgY2FzZSBFZGl0QWN0aW9uOjpTZXRXcml0aW5nRGlyZWN0aW9uOgorICAgICAgICBjYXNlIEVk
aXRBY3Rpb246OlNldElubGluZVdyaXRpbmdEaXJlY3Rpb246CisgICAgICAgIGNhc2UgRWRpdEFj
dGlvbjo6U2V0QmxvY2tXcml0aW5nRGlyZWN0aW9uOgogICAgICAgICBjYXNlIEVkaXRBY3Rpb246
OkN1dDoKICAgICAgICAgY2FzZSBFZGl0QWN0aW9uOjpVbnNwZWNpZmllZDoKICAgICAgICAgY2Fz
ZSBFZGl0QWN0aW9uOjpJbnNlcnQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0VkaXRBY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0QWN0aW9uLmNwcApp
bmRleCAzMWQyMTZmMWQwNDFmZWYzY2UzZDRmNGY2MWIxZDgyMzIwNmRlN2RhLi43MzNiNDI5NTE4
Njc1ZjY1ZGRhNjcxYThhMWFmOGNmMzVjNDdiNzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRBY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dEFjdGlvbi5jcHAKQEAgLTc0LDcgKzc0LDggQEAgU3RyaW5nIHVuZG9SZWRvTGFiZWwoRWRpdEFj
dGlvbiBlZGl0QWN0aW9uKQogICAgICAgICByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIkNlbnRl
ciIsICJDZW50ZXIgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKICAg
ICBjYXNlIEVkaXRBY3Rpb246Okp1c3RpZnk6CiAgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5H
X0tFWSgiSnVzdGlmeSIsICJKdXN0aWZ5IChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlv
biBuYW1lIik7Ci0gICAgY2FzZSBFZGl0QWN0aW9uOjpTZXRXcml0aW5nRGlyZWN0aW9uOgorICAg
IGNhc2UgRWRpdEFjdGlvbjo6U2V0SW5saW5lV3JpdGluZ0RpcmVjdGlvbjoKKyAgICBjYXNlIEVk
aXRBY3Rpb246OlNldEJsb2NrV3JpdGluZ0RpcmVjdGlvbjoKICAgICAgICAgcmV0dXJuIFdFQl9V
SV9TVFJJTkdfS0VZKCJTZXQgV3JpdGluZyBEaXJlY3Rpb24iLCAiU2V0IFdyaXRpbmcgRGlyZWN0
aW9uIChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CiAgICAgY2FzZSBF
ZGl0QWN0aW9uOjpTdWJzY3JpcHQ6CiAgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgi
U3Vic2NyaXB0IiwgIlN1YnNjcmlwdCAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24g
bmFtZSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0QWN0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRBY3Rpb24uaAppbmRleCAxN2U4YmU5NzZjNWM5
Y2QzODNiZjFmNTAwZmNkNTY5MWYzNmU4MWI5Li4xMjJiYjRkOGNhOGQ2YmVkNzZhYTc4MjA5MTE5
YjRiNmE2YTNlODI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRBY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRBY3Rpb24uaApAQCAtNTQsNyAr
NTQsOCBAQCBlbnVtIGNsYXNzIEVkaXRBY3Rpb24gOiB1aW50OF90IHsKICAgICBBbGlnblJpZ2h0
LAogICAgIENlbnRlciwKICAgICBKdXN0aWZ5LAotICAgIFNldFdyaXRpbmdEaXJlY3Rpb24sCisg
ICAgU2V0SW5saW5lV3JpdGluZ0RpcmVjdGlvbiwKKyAgICBTZXRCbG9ja1dyaXRpbmdEaXJlY3Rp
b24sCiAgICAgU3Vic2NyaXB0LAogICAgIFN1cGVyc2NyaXB0LAogICAgIFVuZGVybGluZSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdENvbW1hbmQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0Q29tbWFuZC5jcHAKaW5kZXggMzRjNzljOWE3ZDk5YTU4YWIw
MzBlOTM4MzNiODQ1Y2JhODEzMmU0MC4uMmJlZmUxZmRlNDlkODFiNjBhMDI2ZWJiMzlkOTNmZjA1
MTQyZjJjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0Q29tbWFuZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0Q29tbWFuZC5jcHAKQEAgLTExMCw4
ICsxMTAsMTAgQEAgU3RyaW5nIGlucHV0VHlwZU5hbWVGb3JFZGl0aW5nQWN0aW9uKEVkaXRBY3Rp
b24gYWN0aW9uKQogICAgICAgICByZXR1cm4gImZvcm1hdEluZGVudCJfczsKICAgICBjYXNlIEVk
aXRBY3Rpb246Ok91dGRlbnQ6CiAgICAgICAgIHJldHVybiAiZm9ybWF0T3V0ZGVudCJfczsKLSAg
ICBjYXNlIEVkaXRBY3Rpb246OlNldFdyaXRpbmdEaXJlY3Rpb246CisgICAgY2FzZSBFZGl0QWN0
aW9uOjpTZXRJbmxpbmVXcml0aW5nRGlyZWN0aW9uOgogICAgICAgICByZXR1cm4gImZvcm1hdFNl
dElubGluZVRleHREaXJlY3Rpb24iX3M7CisgICAgY2FzZSBFZGl0QWN0aW9uOjpTZXRCbG9ja1dy
aXRpbmdEaXJlY3Rpb246CisgICAgICAgIHJldHVybiAiZm9ybWF0U2V0QmxvY2tUZXh0RGlyZWN0
aW9uIl9zOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA5MzdlNzQ0NzE1OTVkNGZhNDMwNTlm
NDhkZWI5MDYyMWMyMjlkN2Y4Li4wYTMzZjk1OTBmOGU2MWEzZTdjYzkwZjkxM2Y5ZjYwYzQxN2Yx
ZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0xNTMsNyArMTUzLDggQEAgc3Rh
dGljIFN0cmluZyBpbnB1dEV2ZW50RGF0YUZvckVkaXRpbmdTdHlsZUFuZEFjdGlvbihjb25zdCBT
dHlsZVByb3BlcnRpZXMqIHN0eWwKICAgICBzd2l0Y2ggKGFjdGlvbikgewogICAgIGNhc2UgRWRp
dEFjdGlvbjo6U2V0Q29sb3I6CiAgICAgICAgIHJldHVybiBzdHlsZS0+Z2V0UHJvcGVydHlWYWx1
ZShDU1NQcm9wZXJ0eUNvbG9yKTsKLSAgICBjYXNlIEVkaXRBY3Rpb246OlNldFdyaXRpbmdEaXJl
Y3Rpb246CisgICAgY2FzZSBFZGl0QWN0aW9uOjpTZXRJbmxpbmVXcml0aW5nRGlyZWN0aW9uOgor
ICAgIGNhc2UgRWRpdEFjdGlvbjo6U2V0QmxvY2tXcml0aW5nRGlyZWN0aW9uOgogICAgICAgICBy
ZXR1cm4gc3R5bGUtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlEaXJlY3Rpb24pOwogICAg
IGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB7IH07CkBAIC0xODAzLDcgKzE4MDQsNyBAQCB2b2lk
IEVkaXRvcjo6c2V0QmFzZVdyaXRpbmdEaXJlY3Rpb24oV3JpdGluZ0RpcmVjdGlvbiBkaXJlY3Rp
b24pCiAKICAgICAgICAgYXV0byYgZm9jdXNlZEZvcm1FbGVtZW50ID0gZG93bmNhc3Q8SFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQ+KCpmb2N1c2VkRWxlbWVudCk7CiAgICAgICAgIGF1dG8gZGly
ZWN0aW9uVmFsdWUgPSBkaXJlY3Rpb24gPT0gV3JpdGluZ0RpcmVjdGlvbjo6TGVmdFRvUmlnaHQg
PyAibHRyIiA6ICJydGwiOwotICAgICAgICBhdXRvIHdyaXRpbmdEaXJlY3Rpb25JbnB1dFR5cGVO
YW1lID0gaW5wdXRUeXBlTmFtZUZvckVkaXRpbmdBY3Rpb24oRWRpdEFjdGlvbjo6U2V0V3JpdGlu
Z0RpcmVjdGlvbik7CisgICAgICAgIGF1dG8gd3JpdGluZ0RpcmVjdGlvbklucHV0VHlwZU5hbWUg
PSBpbnB1dFR5cGVOYW1lRm9yRWRpdGluZ0FjdGlvbihFZGl0QWN0aW9uOjpTZXRCbG9ja1dyaXRp
bmdEaXJlY3Rpb24pOwogICAgICAgICBpZiAoIWRpc3BhdGNoQmVmb3JlSW5wdXRFdmVudChmb2N1
c2VkRm9ybUVsZW1lbnQsIHdyaXRpbmdEaXJlY3Rpb25JbnB1dFR5cGVOYW1lLCBkaXJlY3Rpb25W
YWx1ZSkpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTE4MTUsNyArMTgxNiw3IEBAIHZvaWQg
RWRpdG9yOjpzZXRCYXNlV3JpdGluZ0RpcmVjdGlvbihXcml0aW5nRGlyZWN0aW9uIGRpcmVjdGlv
bikKIAogICAgIGF1dG8gc3R5bGUgPSBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzOjpjcmVhdGUoKTsK
ICAgICBzdHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVydHlEaXJlY3Rpb24sIGRpcmVjdGlvbiA9
PSBXcml0aW5nRGlyZWN0aW9uOjpMZWZ0VG9SaWdodCA/ICJsdHIiIDogZGlyZWN0aW9uID09IFdy
aXRpbmdEaXJlY3Rpb246OlJpZ2h0VG9MZWZ0ID8gInJ0bCIgOiAiaW5oZXJpdCIsIGZhbHNlKTsK
LSAgICBhcHBseVBhcmFncmFwaFN0eWxlVG9TZWxlY3Rpb24oc3R5bGUucHRyKCksIEVkaXRBY3Rp
b246OlNldFdyaXRpbmdEaXJlY3Rpb24pOworICAgIGFwcGx5UGFyYWdyYXBoU3R5bGVUb1NlbGVj
dGlvbihzdHlsZS5wdHIoKSwgRWRpdEFjdGlvbjo6U2V0QmxvY2tXcml0aW5nRGlyZWN0aW9uKTsK
IH0KIAogV3JpdGluZ0RpcmVjdGlvbiBFZGl0b3I6OmJhc2VXcml0aW5nRGlyZWN0aW9uRm9yU2Vs
ZWN0aW9uU3RhcnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3JDb21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5j
cHAKaW5kZXggYjQ2MGI5NGJlNmVmMDZjNmU1NTczMDk2MTY5MjFkODA2NTRmMTUxNS4uODIxNjNl
Njc4MjAyNzgyZDJjMTIwY2FmYTNjNzhiMmQ1YmIwODM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvckNvbW1hbmQuY3BwCkBAIC01ODUsNyArNTg1LDcgQEAgc3RhdGljIGJvb2wgZXhl
Y3V0ZU1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbkxlZnRUb1JpZ2h0KEZyYW1lJiBmcmFtZSwgRXZl
bnQqLCBFZGkKICAgICBhdXRvIHN0eWxlID0gTXV0YWJsZVN0eWxlUHJvcGVydGllczo6Y3JlYXRl
KCk7CiAgICAgc3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3BlcnR5VW5pY29kZUJpZGksIENTU1Zh
bHVlRW1iZWQpOwogICAgIHN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eURpcmVjdGlvbiwg
Q1NTVmFsdWVMdHIpOwotICAgIGZyYW1lLmVkaXRvcigpLmFwcGx5U3R5bGUoc3R5bGUucHRyKCks
IEVkaXRBY3Rpb246OlNldFdyaXRpbmdEaXJlY3Rpb24pOworICAgIGZyYW1lLmVkaXRvcigpLmFw
cGx5U3R5bGUoc3R5bGUucHRyKCksIEVkaXRBY3Rpb246OlNldElubGluZVdyaXRpbmdEaXJlY3Rp
b24pOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC01OTMsNyArNTkzLDcgQEAgc3RhdGljIGJv
b2wgZXhlY3V0ZU1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbk5hdHVyYWwoRnJhbWUmIGZyYW1lLCBF
dmVudCosIEVkaXRvckMKIHsKICAgICBhdXRvIHN0eWxlID0gTXV0YWJsZVN0eWxlUHJvcGVydGll
czo6Y3JlYXRlKCk7CiAgICAgc3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3BlcnR5VW5pY29kZUJp
ZGksIENTU1ZhbHVlTm9ybWFsKTsKLSAgICBmcmFtZS5lZGl0b3IoKS5hcHBseVN0eWxlKHN0eWxl
LnB0cigpLCBFZGl0QWN0aW9uOjpTZXRXcml0aW5nRGlyZWN0aW9uKTsKKyAgICBmcmFtZS5lZGl0
b3IoKS5hcHBseVN0eWxlKHN0eWxlLnB0cigpLCBFZGl0QWN0aW9uOjpTZXRJbmxpbmVXcml0aW5n
RGlyZWN0aW9uKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtNjAyLDcgKzYwMiw3IEBAIHN0
YXRpYyBib29sIGV4ZWN1dGVNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25SaWdodFRvTGVmdChGcmFt
ZSYgZnJhbWUsIEV2ZW50KiwgRWRpCiAgICAgYXV0byBzdHlsZSA9IE11dGFibGVTdHlsZVByb3Bl
cnRpZXM6OmNyZWF0ZSgpOwogICAgIHN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eVVuaWNv
ZGVCaWRpLCBDU1NWYWx1ZUVtYmVkKTsKICAgICBzdHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVy
dHlEaXJlY3Rpb24sIENTU1ZhbHVlUnRsKTsKLSAgICBmcmFtZS5lZGl0b3IoKS5hcHBseVN0eWxl
KHN0eWxlLnB0cigpLCBFZGl0QWN0aW9uOjpTZXRXcml0aW5nRGlyZWN0aW9uKTsKKyAgICBmcmFt
ZS5lZGl0b3IoKS5hcHBseVN0eWxlKHN0eWxlLnB0cigpLCBFZGl0QWN0aW9uOjpTZXRJbmxpbmVX
cml0aW5nRGlyZWN0aW9uKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5j
cHAKaW5kZXggMmU4OWQ0MTJiYTQ1Mzc2NDNjNWRkM2NjY2ExYmYxODIyZWEwMDJjNi4uYWFlMWUw
MDBmOGZhYzk4ZTM3MjI5NDAwMWM2OWM0YzcwZWQ1M2ZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3Bw
CkBAIC01ODgsNyArNTg4LDkgQEAgc3RhdGljIFN0cmluZyB1bmRvTmFtZUZvckVkaXRBY3Rpb24o
RWRpdEFjdGlvbiBlZGl0QWN0aW9uKQogICAgIGNhc2UgRWRpdEFjdGlvbjo6QWxpZ25SaWdodDog
cmV0dXJuIFdFQl9VSV9TVFJJTkdfS0VZKCJBbGlnbiBSaWdodCIsICJBbGlnbiBSaWdodCAoVW5k
byBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOwogICAgIGNhc2UgRWRpdEFjdGlv
bjo6Q2VudGVyOiByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIkNlbnRlciIsICJDZW50ZXIgKFVu
ZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKICAgICBjYXNlIEVkaXRBY3Rp
b246Okp1c3RpZnk6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiSnVzdGlmeSIsICJKdXN0aWZ5
IChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7Ci0gICAgY2FzZSBFZGl0
QWN0aW9uOjpTZXRXcml0aW5nRGlyZWN0aW9uOiByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIlNl
dCBXcml0aW5nIERpcmVjdGlvbiIsICJTZXQgV3JpdGluZyBEaXJlY3Rpb24gKFVuZG8gYWN0aW9u
IG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKKyAgICBjYXNlIEVkaXRBY3Rpb246OlNldElu
bGluZVdyaXRpbmdEaXJlY3Rpb246CisgICAgY2FzZSBFZGl0QWN0aW9uOjpTZXRCbG9ja1dyaXRp
bmdEaXJlY3Rpb246CisgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiU2V0IFdyaXRp
bmcgRGlyZWN0aW9uIiwgIlNldCBXcml0aW5nIERpcmVjdGlvbiAoVW5kbyBhY3Rpb24gbmFtZSki
LCAiVW5kbyBhY3Rpb24gbmFtZSIpOwogICAgIGNhc2UgRWRpdEFjdGlvbjo6U3Vic2NyaXB0OiBy
ZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIlN1YnNjcmlwdCIsICJTdWJzY3JpcHQgKFVuZG8gYWN0
aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKICAgICBjYXNlIEVkaXRBY3Rpb246OlN1
cGVyc2NyaXB0OiByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIlN1cGVyc2NyaXB0IiwgIlN1cGVy
c2NyaXB0IChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CiAgICAgY2Fz
ZSBFZGl0QWN0aW9uOjpCb2xkOiByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIkJvbGQiLCAiQm9s
ZCAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk4ZmNi
NjAwZmM0N2ZlNzhkZTYzMzNkOTZlODc5ZGY1NTJhYjk3OTUuLjAxOWZhMDMwNWI5ZmZkZjZjNjdi
MzgwMDk1Y2VjNTUyZDQ0OWMzMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxOS0wMi0yMiAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBJbnB1dCB0
eXBlICJmb3JtYXRTZXRJbmxpbmVUZXh0RGlyZWN0aW9uIiBpcyBkaXNwYXRjaGVkIHdoZW4gY2hh
bmdpbmcgcGFyYWdyYXBoLWxldmVsIHRleHQgZGlyZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ3MDMKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQ4MTExNzc1PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAg
ICAgICBSZWJhc2VsaW5lIHNvbWUgZXhpc3RpbmcgdGVzdHMgdG8gZXhwZWN0IGlucHV0IGV2ZW50
cyBvZiB0eXBlICJmb3JtYXRTZXRCbG9ja1RleHREaXJlY3Rpb24iIGluc3RlYWQgb2YKKyAgICAg
ICAgImZvcm1hdFNldElubGluZVRleHREaXJlY3Rpb24iIHdoZW4gY2hhbmdpbmcgcGFyYWdyYXBo
IHRleHQgZGlyZWN0aW9uOyBhZGRpdGlvbmFsbHksIGFkZCBhIG5ldyBsYXlvdXQgdGVzdCB0aGF0
CisgICAgICAgIGNoYW5nZXMgdGhlIGlubGluZSB0ZXh0IGRpcmVjdGlvbiBpbiBzb21lIEJpZGkg
dGV4dCwgYW5kIHZlcmlmeSB0aGF0ICJmb3JtYXRTZXRJbmxpbmVUZXh0RGlyZWN0aW9uIiBpcyBl
bWl0dGVkCisgICAgICAgIGluIHRoaXMgc2NlbmFyaW8sIGFuZCB0aGF0IGNhbGxpbmcgYHByZXZl
bnREZWZhdWx0KClgIGluIHRoZSBiZWZvcmVpbnB1dCBldmVudCBoYW5kbGVyIGNhdXNlcyBubyBj
aGFuZ2UgdG8gYmUKKyAgICAgICAgbWFkZS4KKworICAgICAgICAqIGVkaXRpbmcvaW5wdXQvaW9z
L3J0bC1rZXlib2FyZC1pbnB1dC1vbi1mb2N1cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9ldmVudHMvYmVmb3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LWJsb2NrLXRleHQtZGlyZWN0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0
LWV2ZW50cy1wcmV2ZW50LWJsb2NrLXRleHQtZGlyZWN0aW9uLmh0bWw6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9iZWZvcmUtaW5wdXQtZXZlbnRzLXByZXZlbnQtdGV4dC1k
aXJlY3Rpb24uaHRtbC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9iZWZvcmUtaW5wdXQtZXZlbnRz
LXByZXZlbnQtaW5saW5lLXRleHQtZGlyZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LWlubGluZS10ZXh0
LWRpcmVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9iZWZvcmUtaW5w
dXQtZXZlbnRzLXByZXZlbnQtdGV4dC1kaXJlY3Rpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
CiAyMDE5LTAyLTIxICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAg
ICBTYW1lIFNpdGUgTGF4IGNvb2tpZXMgYXJlIG5vdCBzZW50IHdpdGggY3Jvc3Mtc2l0ZSByZWRp
cmVjdCBmcm9tIGNsaWVudC1pbml0aWF0ZWQgbG9hZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9pbnB1dC9pb3MvcnRsLWtleWJvYXJkLWlucHV0LW9uLWZvY3VzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvaW9zL3J0bC1rZXlib2FyZC1pbnB1dC1vbi1m
b2N1cy1leHBlY3RlZC50eHQKaW5kZXggMzBiMTk1MGU1ZGU2ZDI4OTM2OTkzNjE5OTYxN2M0NmI2
YWNhZTZmYy4uZmRjNTUzOGJkY2U3YmYyYTg1OTdlZDI3ZDI5ZWFkODk2NzZlODlhMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9pb3MvcnRsLWtleWJvYXJkLWlucHV0LW9u
LWZvY3VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L2lvcy9y
dGwta2V5Ym9hcmQtaW5wdXQtb24tZm9jdXMtZXhwZWN0ZWQudHh0CkBAIC0xNCwyNCArMTQsMjQg
QEAgVXNpbmcgRW5nbGlzaCBrZXlib2FyZDoKIAogT2JzZXJ2ZWQgJ2JlZm9yZWlucHV0JyBldmVu
dHM6IFsKICAgICB7Ci0gICAgICAgICJpbnB1dFR5cGUiOiAiZm9ybWF0U2V0SW5saW5lVGV4dERp
cmVjdGlvbiIsCisgICAgICAgICJpbnB1dFR5cGUiOiAiZm9ybWF0U2V0QmxvY2tUZXh0RGlyZWN0
aW9uIiwKICAgICAgICAgImRhdGEiOiAicnRsIiwKICAgICAgICAgIm9yZGVyIjogMQogICAgIH0s
CiAgICAgewotICAgICAgICAiaW5wdXRUeXBlIjogImZvcm1hdFNldElubGluZVRleHREaXJlY3Rp
b24iLAorICAgICAgICAiaW5wdXRUeXBlIjogImZvcm1hdFNldEJsb2NrVGV4dERpcmVjdGlvbiIs
CiAgICAgICAgICJkYXRhIjogImx0ciIsCiAgICAgICAgICJvcmRlciI6IDMKICAgICB9CiBdCiBP
YnNlcnZlZCAnaW5wdXQnIGV2ZW50czogWwogICAgIHsKLSAgICAgICAgImlucHV0VHlwZSI6ICJm
b3JtYXRTZXRJbmxpbmVUZXh0RGlyZWN0aW9uIiwKKyAgICAgICAgImlucHV0VHlwZSI6ICJmb3Jt
YXRTZXRCbG9ja1RleHREaXJlY3Rpb24iLAogICAgICAgICAiZGF0YSI6ICJydGwiLAogICAgICAg
ICAib3JkZXIiOiAyCiAgICAgfSwKICAgICB7Ci0gICAgICAgICJpbnB1dFR5cGUiOiAiZm9ybWF0
U2V0SW5saW5lVGV4dERpcmVjdGlvbiIsCisgICAgICAgICJpbnB1dFR5cGUiOiAiZm9ybWF0U2V0
QmxvY2tUZXh0RGlyZWN0aW9uIiwKICAgICAgICAgImRhdGEiOiAibHRyIiwKICAgICAgICAgIm9y
ZGVyIjogNAogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JlZm9y
ZS1pbnB1dC1ldmVudHMtcHJldmVudC1ibG9jay10ZXh0LWRpcmVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9iZWZvcmUtaW5wdXQtZXZlbnRzLXByZXZlbnQtYmxv
Y2stdGV4dC1kaXJlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViOWU1NzM2MTkyYjQ2
MzI3MzA0Yzc0NzBiZDgxODQ2OWQxMDhiNjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9iZWZvcmUtaW5wdXQtZXZlbnRzLXByZXZlbnQtYmxvY2stdGV4dC1kaXJl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK0hlbGxvIHdvcmxkCisKKyoqKiBU
RVNUSU5HIFJJQ0ggVEVYVCAqKioKK0luaXRpYWwgdGV4dCBkaXJlY3Rpb246ICJydGwiCitGaXJl
ZCBvbmJlZm9yZWlucHV0IGV2ZW50IG9mIGlucHV0VHlwZSAnZm9ybWF0U2V0QmxvY2tUZXh0RGly
ZWN0aW9uJyB3aXRoIGRhdGE6ICdsdHInCitUZXh0IGRpcmVjdGlvbiBhZnRlciBzZXR0aW5nIHRv
IExUUiB3aGlsZSBwcmV2ZW50aW5nIGRlZmF1bHQ6ICJydGwiCitGaXJlZCBvbmJlZm9yZWlucHV0
IGV2ZW50IG9mIGlucHV0VHlwZSAnZm9ybWF0U2V0QmxvY2tUZXh0RGlyZWN0aW9uJyB3aXRoIGRh
dGE6ICdsdHInCitGaXJlZCBpbnB1dCBldmVudCBvZiBpbnB1dFR5cGUgJ2Zvcm1hdFNldEJsb2Nr
VGV4dERpcmVjdGlvbicgd2l0aCBkYXRhOiAnbHRyJworVGV4dCBkaXJlY3Rpb24gYWZ0ZXIgc2V0
dGluZyB0byBMVFIgd2l0aG91dCBwcmV2ZW50aW5nIGRlZmF1bHQ6ICJsdHIiCisqKiogVEVTVElO
RyBQTEFJTiBURVhUICoqKgorSW5pdGlhbCB0ZXh0IGRpcmVjdGlvbjogInJ0bCIKK0ZpcmVkIG9u
YmVmb3JlaW5wdXQgZXZlbnQgb2YgaW5wdXRUeXBlICdmb3JtYXRTZXRCbG9ja1RleHREaXJlY3Rp
b24nIHdpdGggZGF0YTogJ2x0cicKK1RleHQgZGlyZWN0aW9uIGFmdGVyIHNldHRpbmcgdG8gTFRS
IHdoaWxlIHByZXZlbnRpbmcgZGVmYXVsdDogInJ0bCIKK0ZpcmVkIG9uYmVmb3JlaW5wdXQgZXZl
bnQgb2YgaW5wdXRUeXBlICdmb3JtYXRTZXRCbG9ja1RleHREaXJlY3Rpb24nIHdpdGggZGF0YTog
J2x0cicKK0ZpcmVkIGlucHV0IGV2ZW50IG9mIGlucHV0VHlwZSAnZm9ybWF0U2V0QmxvY2tUZXh0
RGlyZWN0aW9uJyB3aXRoIGRhdGE6ICdsdHInCitUZXh0IGRpcmVjdGlvbiBhZnRlciBzZXR0aW5n
IHRvIExUUiB3aXRob3V0IHByZXZlbnRpbmcgZGVmYXVsdDogImx0ciIKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LWJsb2Nr
LXRleHQtZGlyZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9iZWZvcmUtaW5w
dXQtZXZlbnRzLXByZXZlbnQtYmxvY2stdGV4dC1kaXJlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
MzVhNDQ4NWZjN2VjNGM5MTE5YjJjNGMwZWE4YzY3YWRkN2Q1NThhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LWJs
b2NrLXRleHQtZGlyZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw2OSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgI2VkaXRvciB7CisgICAgICAg
ICAgICBkaXJlY3Rpb246IHJ0bDsKKyAgICAgICAgICAgIGJvcmRlcjogMXB4IGJsdWUgZGFzaGVk
OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHk+CisgICAgPGRpdiBp
ZD0iZWRpdG9yIiBjb250ZW50ZWRpdGFibGUgb25pbnB1dD1oYW5kbGVJbnB1dEV2ZW50KGV2ZW50
KSBvbmJlZm9yZWlucHV0PWhhbmRsZUJlZm9yZUlucHV0RXZlbnQoZXZlbnQpPgorICAgICAgICA8
ZGl2IGlkPSJjb250ZW50Ij5IZWxsbyB3b3JsZDwvZGl2PgorICAgIDwvZGl2PgorICAgIDxpbnB1
dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dGZpZWxkIiB2YWx1ZT0iaGkiIGRpcj0icnRsIiBvbmlucHV0
PWhhbmRsZUlucHV0RXZlbnQoZXZlbnQpIG9uYmVmb3JlaW5wdXQ9aGFuZGxlQmVmb3JlSW5wdXRF
dmVudChldmVudCk+PC9pbnB1dD4KKyAgICA8ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGxldCB3cml0ZSA9IHMgPT4gb3V0cHV0LmlubmVySFRNTCArPSBgJHtz
fTxicj5gOworICAgICAgICAoZnVuY3Rpb24oKQorICAgICAgICB7CisgICAgICAgICAgICB3aW5k
b3cuc2hvdWxkUHJldmVudERlZmF1bHQgPSB0cnVlOworICAgICAgICAgICAgaWYgKCF3aW5kb3cu
ZXZlbnRTZW5kZXIgfHwgIXdpbmRvdy5pbnRlcm5hbHMgfHwgIXdpbmRvdy50ZXN0UnVubmVyKSB7
CisgICAgICAgICAgICAgICAgd3JpdGUoIlRvIHRlc3QgbWFudWFsbHksIHRyeSB0byBjaGFuZ2Ug
dGhlIHRleHQgZGlyZWN0aW9uIHRvIGx0ci4gVGhpcyBzaG91bGQgYmUgcHJldmVudGVkLiIpOwor
ICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldElucHV0RXZlbnRzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgZWRpdG9yLmZvY3VzKCk7Cisg
ICAgICAgICAgICB3cml0ZSgiKioqIFRFU1RJTkcgUklDSCBURVhUICoqKiIpOworICAgICAgICAg
ICAgd3JpdGUoYEluaXRpYWwgdGV4dCBkaXJlY3Rpb246ICIke2dldENvbXB1dGVkU3R5bGUoY29u
dGVudCkuZGlyZWN0aW9ufSJgKTsKKworICAgICAgICAgICAgaW50ZXJuYWxzLnNldEJhc2VXcml0
aW5nRGlyZWN0aW9uKCJMdHIiKTsKKyAgICAgICAgICAgIHdyaXRlKGBUZXh0IGRpcmVjdGlvbiBh
ZnRlciBzZXR0aW5nIHRvIExUUiB3aGlsZSBwcmV2ZW50aW5nIGRlZmF1bHQ6ICIke2dldENvbXB1
dGVkU3R5bGUoY29udGVudCkuZGlyZWN0aW9ufSJgKTsKKworICAgICAgICAgICAgd2luZG93LnNo
b3VsZFByZXZlbnREZWZhdWx0ID0gZmFsc2U7CisKKyAgICAgICAgICAgIGludGVybmFscy5zZXRC
YXNlV3JpdGluZ0RpcmVjdGlvbigiTHRyIik7CisgICAgICAgICAgICB3cml0ZShgVGV4dCBkaXJl
Y3Rpb24gYWZ0ZXIgc2V0dGluZyB0byBMVFIgd2l0aG91dCBwcmV2ZW50aW5nIGRlZmF1bHQ6ICIk
e2dldENvbXB1dGVkU3R5bGUoY29udGVudCkuZGlyZWN0aW9ufSJgKTsKKworICAgICAgICAgICAg
d2luZG93LnNob3VsZFByZXZlbnREZWZhdWx0ID0gdHJ1ZTsKKyAgICAgICAgICAgIHRleHRmaWVs
ZC5mb2N1cygpOworICAgICAgICAgICAgd3JpdGUoIioqKiBURVNUSU5HIFBMQUlOIFRFWFQgKioq
Iik7CisgICAgICAgICAgICB3cml0ZShgSW5pdGlhbCB0ZXh0IGRpcmVjdGlvbjogIiR7dGV4dGZp
ZWxkLmdldEF0dHJpYnV0ZSgiZGlyIil9ImApOworCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
QmFzZVdyaXRpbmdEaXJlY3Rpb24oIkx0ciIpOworICAgICAgICAgICAgd3JpdGUoYFRleHQgZGly
ZWN0aW9uIGFmdGVyIHNldHRpbmcgdG8gTFRSIHdoaWxlIHByZXZlbnRpbmcgZGVmYXVsdDogIiR7
dGV4dGZpZWxkLmdldEF0dHJpYnV0ZSgiZGlyIil9ImApOworCisgICAgICAgICAgICB3aW5kb3cu
c2hvdWxkUHJldmVudERlZmF1bHQgPSBmYWxzZTsKKworICAgICAgICAgICAgaW50ZXJuYWxzLnNl
dEJhc2VXcml0aW5nRGlyZWN0aW9uKCJMdHIiKTsKKyAgICAgICAgICAgIHdyaXRlKGBUZXh0IGRp
cmVjdGlvbiBhZnRlciBzZXR0aW5nIHRvIExUUiB3aXRob3V0IHByZXZlbnRpbmcgZGVmYXVsdDog
IiR7dGV4dGZpZWxkLmdldEF0dHJpYnV0ZSgiZGlyIil9ImApOworICAgICAgICB9KSgpOworCisg
ICAgICAgIGZ1bmN0aW9uIGhhbmRsZUlucHV0RXZlbnQoZXZlbnQpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIHdyaXRlKGBGaXJlZCBpbnB1dCBldmVudCBvZiBpbnB1dFR5cGUgJyR7ZXZlbnQuaW5w
dXRUeXBlfScgd2l0aCBkYXRhOiAnJHtldmVudC5kYXRhfSdgKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGZ1bmN0aW9uIGhhbmRsZUJlZm9yZUlucHV0RXZlbnQoZXZlbnQpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHdyaXRlKGBGaXJlZCBvbmJlZm9yZWlucHV0IGV2ZW50IG9mIGlucHV0VHlwZSAn
JHtldmVudC5pbnB1dFR5cGV9JyB3aXRoIGRhdGE6ICcke2V2ZW50LmRhdGF9J2ApOworICAgICAg
ICAgICAgaWYgKHdpbmRvdy5zaG91bGRQcmV2ZW50RGVmYXVsdCkKKyAgICAgICAgICAgICAgICBl
dmVudC5wcmV2ZW50RGVmYXVsdCgpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9iZWZvcmUtaW5w
dXQtZXZlbnRzLXByZXZlbnQtaW5saW5lLXRleHQtZGlyZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JlZm9yZS1pbnB1dC1ldmVudHMtcHJldmVudC1pbmxpbmUt
dGV4dC1kaXJlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmOTk2ZGQxOTVjNzU4YWYx
YmEwYTZiZGJmYmNkNTA4YjQ5MGIzMTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9iZWZvcmUtaW5wdXQtZXZlbnRzLXByZXZlbnQtaW5saW5lLXRleHQtZGlyZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM0IEBACitWZXJpZmllcyB0aGF0IGNoYW5naW5n
IHRoZSB0ZXh0IHdyaXRpbmcgZGlyZWN0aW9uIGZpcmVzIGlucHV0IGV2ZW50cyB3aGljaCBtYXkg
YmUgcHJldmVudGVkLiBUbyBtYW51YWxseSB0ZXN0LCBzZWxlY3QgJ9ee16fXldeoJyBpbiB0aGUg
dG9wIGNvbnRlbnRlZGl0YWJsZSBhbmQgY2hhbmdlIHRoZSBzZWxlY3Rpb24gZGlyZWN0aW9uIHRv
ICdsZWZ0IHRvIHJpZ2h0JzsgdGhlbiwgc2VsZWN0IHRoZSBzYW1lIHdvcmQgaW4gdGhlIHByZXZl
bnRlZCBjb250ZW50ZWRpdGFibGUgYW5kIGNoYW5nZSBzZWxlY3Rpb24gZGlyZWN0aW9uIHRvICds
ZWZ0IHRvIHJpZ2h0Jy4gQ2hlY2sgdGhhdCB0aGUgYm90dG9tIGVkaXRhYmxlIGFyZWEncyBjb250
ZW50cyBkaWQgbm90IGNoYW5nZS4KKworYmVmb3JlaW5wdXQsIGZvcm1hdFNldElubGluZVRleHRE
aXJlY3Rpb24sIGx0ciBvbiAjbm90UHJldmVudGVkOgorfCAiSGVsbG8gPCNzZWxlY3Rpb24tYW5j
aG9yPtee16fXldeoPCNzZWxlY3Rpb24tZm9jdXM+INeU16nXnSDXoteR16jXmdeqIHdvcmxkIgor
CitpbnB1dCwgZm9ybWF0U2V0SW5saW5lVGV4dERpcmVjdGlvbiwgbHRyIG9uICNub3RQcmV2ZW50
ZWQ6Cit8ICJIZWxsbyAiCit8IDxzcGFuPgorfCAgIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVk
OyIKK3wgICAiPCNzZWxlY3Rpb24tYW5jaG9yPtee16fXldeoPCNzZWxlY3Rpb24tZm9jdXM+Igor
fCAiINeU16nXnSDXoteR16jXmdeqIHdvcmxkIgorCitiZWZvcmVpbnB1dCwgZm9ybWF0U2V0SW5s
aW5lVGV4dERpcmVjdGlvbiwgcnRsIG9uICNub3RQcmV2ZW50ZWQ6Cit8ICJIZWxsbyAiCit8IDxz
cGFuPgorfCAgIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyIKK3wgICAi157Xp9eV16giCit8
ICIg15TXqdedINei15HXqNeZ16ogPCNzZWxlY3Rpb24tYW5jaG9yPndvcmxkPCNzZWxlY3Rpb24t
Zm9jdXM+IgorCitpbnB1dCwgZm9ybWF0U2V0SW5saW5lVGV4dERpcmVjdGlvbiwgcnRsIG9uICNu
b3RQcmV2ZW50ZWQ6Cit8ICJIZWxsbyAiCit8IDxzcGFuPgorfCAgIHN0eWxlPSJ1bmljb2RlLWJp
ZGk6IGVtYmVkOyIKK3wgICAi157Xp9eV16giCit8ICIg15TXqdedINei15HXqNeZ16ogIgorfCA8
c3Bhbj4KK3wgICBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsgZGlyZWN0aW9uOiBydGw7Igor
fCAgICI8I3NlbGVjdGlvbi1hbmNob3I+d29ybGQ8I3NlbGVjdGlvbi1mb2N1cz4iCisKK2JlZm9y
ZWlucHV0LCBmb3JtYXRTZXRJbmxpbmVUZXh0RGlyZWN0aW9uLCBsdHIgb24gI3ByZXZlbnRlZDoK
K3wgIkhlbGxvIDwjc2VsZWN0aW9uLWFuY2hvcj7Xnten15XXqDwjc2VsZWN0aW9uLWZvY3VzPiDX
lNep150g16LXkdeo15nXqiB3b3JsZCIKKworYmVmb3JlaW5wdXQsIGZvcm1hdFNldElubGluZVRl
eHREaXJlY3Rpb24sIHJ0bCBvbiAjcHJldmVudGVkOgorfCAiSGVsbG8g157Xp9eV16gg15TXqded
INei15HXqNeZ16ogPCNzZWxlY3Rpb24tYW5jaG9yPndvcmxkPCNzZWxlY3Rpb24tZm9jdXM+Igpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0LWV2ZW50cy1w
cmV2ZW50LWlubGluZS10ZXh0LWRpcmVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvYmVmb3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LWlubGluZS10ZXh0LWRpcmVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmM1MzZmMGRlNzlkNTc4OWM2YTNjYWRhYzY0ZjZlZmU1YWNjZWE0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9iZWZvcmUtaW5wdXQtZXZl
bnRzLXByZXZlbnQtaW5saW5lLXRleHQtZGlyZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0OSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3Jp
cHQ+CisgICAgPHN0eWxlPgorICAgICAgICAjZWRpdG9yIHsKKyAgICAgICAgICAgIGJvcmRlcjog
MXB4IGJsdWUgZGFzaGVkOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBjb25zdCBkdW1wTWFya3VwT25JbnB1dCA9IGUgPT4gTWFya3VwLmR1bXAoZS50YXJn
ZXQsIGAke2UudHlwZX0sICR7ZS5pbnB1dFR5cGV9LCAke2UuZGF0YX0gb24gIyR7ZS50YXJnZXQu
aWR9YCk7CisKKyAgICAgICAgTWFya3VwLmRlc2NyaXB0aW9uKCJWZXJpZmllcyB0aGF0IGNoYW5n
aW5nIHRoZSB0ZXh0IHdyaXRpbmcgZGlyZWN0aW9uIGZpcmVzIGlucHV0IGV2ZW50cyB3aGljaCBt
YXkgYmUgcHJldmVudGVkLiBUbyBtYW51YWxseSB0ZXN0LCBzZWxlY3QgJ9ee16fXldeoJyBpbiB0
aGUgdG9wIGNvbnRlbnRlZGl0YWJsZSBhbmQgY2hhbmdlIHRoZSBzZWxlY3Rpb24gZGlyZWN0aW9u
IHRvICdsZWZ0IHRvIHJpZ2h0JzsgdGhlbiwgc2VsZWN0IHRoZSBzYW1lIHdvcmQgaW4gdGhlIHBy
ZXZlbnRlZCBjb250ZW50ZWRpdGFibGUgYW5kIGNoYW5nZSBzZWxlY3Rpb24gZGlyZWN0aW9uIHRv
ICdsZWZ0IHRvIHJpZ2h0Jy4gQ2hlY2sgdGhhdCB0aGUgYm90dG9tIGVkaXRhYmxlIGFyZWEncyBj
b250ZW50cyBkaWQgbm90IGNoYW5nZS4iKTsKKyAgICAgICAgTWFya3VwLm5vQXV0b0R1bXAoKTsK
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgKCkgPT4geworICAgICAgICAgICAg
Y29uc3Qgbm90UHJldmVudGVkID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI25vdFByZXZlbnRl
ZCIpOworICAgICAgICAgICAgY29uc3QgcHJldmVudGVkID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiI3ByZXZlbnRlZCIpOworCisgICAgICAgICAgICBub3RQcmV2ZW50ZWQuYWRkRXZlbnRMaXN0
ZW5lcigiaW5wdXQiLCBkdW1wTWFya3VwT25JbnB1dCk7CisgICAgICAgICAgICBub3RQcmV2ZW50
ZWQuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JlaW5wdXQiLCBkdW1wTWFya3VwT25JbnB1dCk7Cisg
ICAgICAgICAgICBwcmV2ZW50ZWQuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCBkdW1wTWFya3Vw
T25JbnB1dCk7CisgICAgICAgICAgICBwcmV2ZW50ZWQuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3Jl
aW5wdXQiLCBldmVudCA9PiB7CisgICAgICAgICAgICAgICAgZHVtcE1hcmt1cE9uSW5wdXQoZXZl
bnQpOworICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgICAgICAgICAg
ICB9KTsKKworICAgICAgICAgICAgZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChub3RQ
cmV2ZW50ZWQuZmlyc3RDaGlsZCwgNiwgbm90UHJldmVudGVkLmZpcnN0Q2hpbGQsIDEwKTsKKyAg
ICAgICAgICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgdGVzdFJ1bm5lci5leGVjQ29tbWFuZCgiTWFrZVRleHRXcml0aW5nRGly
ZWN0aW9uTGVmdFRvUmlnaHQiKTsKKyAgICAgICAgICAgIGdldFNlbGVjdGlvbigpLnNldEJhc2VB
bmRFeHRlbnQobm90UHJldmVudGVkLmxhc3RDaGlsZCwgMTEsIG5vdFByZXZlbnRlZC5sYXN0Q2hp
bGQsIDE2KTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZXhlY0NvbW1hbmQoIk1ha2VUZXh0V3Jp
dGluZ0RpcmVjdGlvblJpZ2h0VG9MZWZ0Iik7CisKKyAgICAgICAgICAgIGdldFNlbGVjdGlvbigp
LnNldEJhc2VBbmRFeHRlbnQocHJldmVudGVkLmZpcnN0Q2hpbGQsIDYsIHByZXZlbnRlZC5maXJz
dENoaWxkLCAxMCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLmV4ZWNDb21tYW5kKCJNYWtlVGV4
dFdyaXRpbmdEaXJlY3Rpb25MZWZ0VG9SaWdodCIpOworICAgICAgICAgICAgZ2V0U2VsZWN0aW9u
KCkuc2V0QmFzZUFuZEV4dGVudChwcmV2ZW50ZWQubGFzdENoaWxkLCAyMSwgcHJldmVudGVkLmxh
c3RDaGlsZCwgMjYpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5leGVjQ29tbWFuZCgiTWFrZVRl
eHRXcml0aW5nRGlyZWN0aW9uUmlnaHRUb0xlZnQiKTsKKworICAgICAgICAgICAgTWFya3VwLm5v
dGlmeURvbmUoKTsKKyAgICAgICAgfSk7CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KyAgICA8ZGl2IGNvbnRlbnRlZGl0YWJsZSBpZD0ibm90UHJldmVudGVkIj5IZWxsbyDXnten15XX
qCDXlNep150g16LXkdeo15nXqiB3b3JsZDwvZGl2PgorICAgIDxkaXYgY29udGVudGVkaXRhYmxl
IGlkPSJwcmV2ZW50ZWQiPkhlbGxvINee16fXldeoINeU16nXnSDXoteR16jXmdeqIHdvcmxkPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9iZWZvcmUtaW5wdXQtZXZlbnRzLXByZXZlbnQtdGV4dC1kaXJlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYmVmb3JlLWlucHV0LWV2ZW50cy1wcmV2ZW50LXRl
eHQtZGlyZWN0aW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MzYyMGQ3ZjhlZjQzMDJjY2ViNmMzMGJkMGJkNGZjZDI4NDg1ZWQ2Mi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9i
ZWZvcmUtaW5wdXQtZXZlbnRzLXByZXZlbnQtdGV4dC1kaXJlY3Rpb24tZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotSGVsbG8gd29ybGQKLQotKioqIFRFU1RJTkcg
UklDSCBURVhUICoqKgotSW5pdGlhbCB0ZXh0IGRpcmVjdGlvbjogInJ0bCIKLUZpcmVkIG9uYmVm
b3JlaW5wdXQgZXZlbnQgb2YgaW5wdXRUeXBlICdmb3JtYXRTZXRJbmxpbmVUZXh0RGlyZWN0aW9u
JyB3aXRoIGRhdGE6ICdsdHInCi1UZXh0IGRpcmVjdGlvbiBhZnRlciBzZXR0aW5nIHRvIExUUiB3
aGlsZSBwcmV2ZW50aW5nIGRlZmF1bHQ6ICJydGwiCi1GaXJlZCBvbmJlZm9yZWlucHV0IGV2ZW50
IG9mIGlucHV0VHlwZSAnZm9ybWF0U2V0SW5saW5lVGV4dERpcmVjdGlvbicgd2l0aCBkYXRhOiAn
bHRyJwotRmlyZWQgaW5wdXQgZXZlbnQgb2YgaW5wdXRUeXBlICdmb3JtYXRTZXRJbmxpbmVUZXh0
RGlyZWN0aW9uJyB3aXRoIGRhdGE6ICdsdHInCi1UZXh0IGRpcmVjdGlvbiBhZnRlciBzZXR0aW5n
IHRvIExUUiB3aXRob3V0IHByZXZlbnRpbmcgZGVmYXVsdDogImx0ciIKLSoqKiBURVNUSU5HIFBM
QUlOIFRFWFQgKioqCi1Jbml0aWFsIHRleHQgZGlyZWN0aW9uOiAicnRsIgotRmlyZWQgb25iZWZv
cmVpbnB1dCBldmVudCBvZiBpbnB1dFR5cGUgJ2Zvcm1hdFNldElubGluZVRleHREaXJlY3Rpb24n
IHdpdGggZGF0YTogJ2x0cicKLVRleHQgZGlyZWN0aW9uIGFmdGVyIHNldHRpbmcgdG8gTFRSIHdo
aWxlIHByZXZlbnRpbmcgZGVmYXVsdDogInJ0bCIKLUZpcmVkIG9uYmVmb3JlaW5wdXQgZXZlbnQg
b2YgaW5wdXRUeXBlICdmb3JtYXRTZXRJbmxpbmVUZXh0RGlyZWN0aW9uJyB3aXRoIGRhdGE6ICds
dHInCi1GaXJlZCBpbnB1dCBldmVudCBvZiBpbnB1dFR5cGUgJ2Zvcm1hdFNldElubGluZVRleHRE
aXJlY3Rpb24nIHdpdGggZGF0YTogJ2x0cicKLVRleHQgZGlyZWN0aW9uIGFmdGVyIHNldHRpbmcg
dG8gTFRSIHdpdGhvdXQgcHJldmVudGluZyBkZWZhdWx0OiAibHRyIgotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9iZWZvcmUtaW5wdXQtZXZlbnRzLXByZXZlbnQtdGV4dC1k
aXJlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JlZm9yZS1pbnB1dC1ldmVu
dHMtcHJldmVudC10ZXh0LWRpcmVjdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA3MzVhNDQ4NWZjN2VjNGM5MTE5YjJjNGMwZWE4YzY3YWRkN2Q1NThhLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL2JlZm9yZS1pbnB1dC1ldmVudHMtcHJldmVudC10ZXh0LWRpcmVjdGlvbi5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotICAgIDxzdHlsZT4KLSAgICAgICAgI2VkaXRvciB7Ci0gICAgICAgICAgICBkaXJlY3Rpb246
IHJ0bDsKLSAgICAgICAgICAgIGJvcmRlcjogMXB4IGJsdWUgZGFzaGVkOwotICAgICAgICB9Ci0g
ICAgPC9zdHlsZT4KLTwvaGVhZD4KLQotPGJvZHk+Ci0gICAgPGRpdiBpZD0iZWRpdG9yIiBjb250
ZW50ZWRpdGFibGUgb25pbnB1dD1oYW5kbGVJbnB1dEV2ZW50KGV2ZW50KSBvbmJlZm9yZWlucHV0
PWhhbmRsZUJlZm9yZUlucHV0RXZlbnQoZXZlbnQpPgotICAgICAgICA8ZGl2IGlkPSJjb250ZW50
Ij5IZWxsbyB3b3JsZDwvZGl2PgotICAgIDwvZGl2PgotICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBp
ZD0idGV4dGZpZWxkIiB2YWx1ZT0iaGkiIGRpcj0icnRsIiBvbmlucHV0PWhhbmRsZUlucHV0RXZl
bnQoZXZlbnQpIG9uYmVmb3JlaW5wdXQ9aGFuZGxlQmVmb3JlSW5wdXRFdmVudChldmVudCk+PC9p
bnB1dD4KLSAgICA8ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgotICAgIDxzY3JpcHQ+Ci0gICAgICAg
IGxldCB3cml0ZSA9IHMgPT4gb3V0cHV0LmlubmVySFRNTCArPSBgJHtzfTxicj5gOwotICAgICAg
ICAoZnVuY3Rpb24oKQotICAgICAgICB7Ci0gICAgICAgICAgICB3aW5kb3cuc2hvdWxkUHJldmVu
dERlZmF1bHQgPSB0cnVlOwotICAgICAgICAgICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIgfHwg
IXdpbmRvdy5pbnRlcm5hbHMgfHwgIXdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAg
ICAgd3JpdGUoIlRvIHRlc3QgbWFudWFsbHksIHRyeSB0byBjaGFuZ2UgdGhlIHRleHQgZGlyZWN0
aW9uIHRvIGx0ci4gVGhpcyBzaG91bGQgYmUgcHJldmVudGVkLiIpOwotICAgICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldElucHV0RXZlbnRzRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwotICAgICAgICAgICAgZWRpdG9yLmZvY3VzKCk7Ci0gICAgICAgICAgICB3cml0
ZSgiKioqIFRFU1RJTkcgUklDSCBURVhUICoqKiIpOwotICAgICAgICAgICAgd3JpdGUoYEluaXRp
YWwgdGV4dCBkaXJlY3Rpb246ICIke2dldENvbXB1dGVkU3R5bGUoY29udGVudCkuZGlyZWN0aW9u
fSJgKTsKLQotICAgICAgICAgICAgaW50ZXJuYWxzLnNldEJhc2VXcml0aW5nRGlyZWN0aW9uKCJM
dHIiKTsKLSAgICAgICAgICAgIHdyaXRlKGBUZXh0IGRpcmVjdGlvbiBhZnRlciBzZXR0aW5nIHRv
IExUUiB3aGlsZSBwcmV2ZW50aW5nIGRlZmF1bHQ6ICIke2dldENvbXB1dGVkU3R5bGUoY29udGVu
dCkuZGlyZWN0aW9ufSJgKTsKLQotICAgICAgICAgICAgd2luZG93LnNob3VsZFByZXZlbnREZWZh
dWx0ID0gZmFsc2U7Ci0KLSAgICAgICAgICAgIGludGVybmFscy5zZXRCYXNlV3JpdGluZ0RpcmVj
dGlvbigiTHRyIik7Ci0gICAgICAgICAgICB3cml0ZShgVGV4dCBkaXJlY3Rpb24gYWZ0ZXIgc2V0
dGluZyB0byBMVFIgd2l0aG91dCBwcmV2ZW50aW5nIGRlZmF1bHQ6ICIke2dldENvbXB1dGVkU3R5
bGUoY29udGVudCkuZGlyZWN0aW9ufSJgKTsKLQotICAgICAgICAgICAgd2luZG93LnNob3VsZFBy
ZXZlbnREZWZhdWx0ID0gdHJ1ZTsKLSAgICAgICAgICAgIHRleHRmaWVsZC5mb2N1cygpOwotICAg
ICAgICAgICAgd3JpdGUoIioqKiBURVNUSU5HIFBMQUlOIFRFWFQgKioqIik7Ci0gICAgICAgICAg
ICB3cml0ZShgSW5pdGlhbCB0ZXh0IGRpcmVjdGlvbjogIiR7dGV4dGZpZWxkLmdldEF0dHJpYnV0
ZSgiZGlyIil9ImApOwotCi0gICAgICAgICAgICBpbnRlcm5hbHMuc2V0QmFzZVdyaXRpbmdEaXJl
Y3Rpb24oIkx0ciIpOwotICAgICAgICAgICAgd3JpdGUoYFRleHQgZGlyZWN0aW9uIGFmdGVyIHNl
dHRpbmcgdG8gTFRSIHdoaWxlIHByZXZlbnRpbmcgZGVmYXVsdDogIiR7dGV4dGZpZWxkLmdldEF0
dHJpYnV0ZSgiZGlyIil9ImApOwotCi0gICAgICAgICAgICB3aW5kb3cuc2hvdWxkUHJldmVudERl
ZmF1bHQgPSBmYWxzZTsKLQotICAgICAgICAgICAgaW50ZXJuYWxzLnNldEJhc2VXcml0aW5nRGly
ZWN0aW9uKCJMdHIiKTsKLSAgICAgICAgICAgIHdyaXRlKGBUZXh0IGRpcmVjdGlvbiBhZnRlciBz
ZXR0aW5nIHRvIExUUiB3aXRob3V0IHByZXZlbnRpbmcgZGVmYXVsdDogIiR7dGV4dGZpZWxkLmdl
dEF0dHJpYnV0ZSgiZGlyIil9ImApOwotICAgICAgICB9KSgpOwotCi0gICAgICAgIGZ1bmN0aW9u
IGhhbmRsZUlucHV0RXZlbnQoZXZlbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHdyaXRlKGBG
aXJlZCBpbnB1dCBldmVudCBvZiBpbnB1dFR5cGUgJyR7ZXZlbnQuaW5wdXRUeXBlfScgd2l0aCBk
YXRhOiAnJHtldmVudC5kYXRhfSdgKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGhh
bmRsZUJlZm9yZUlucHV0RXZlbnQoZXZlbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHdyaXRl
KGBGaXJlZCBvbmJlZm9yZWlucHV0IGV2ZW50IG9mIGlucHV0VHlwZSAnJHtldmVudC5pbnB1dFR5
cGV9JyB3aXRoIGRhdGE6ICcke2V2ZW50LmRhdGF9J2ApOwotICAgICAgICAgICAgaWYgKHdpbmRv
dy5zaG91bGRQcmV2ZW50RGVmYXVsdCkKLSAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVm
YXVsdCgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>