<?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>205141</bug_id>
          
          <creation_ts>2019-12-11 15:39:14 -0800</creation_ts>
          <short_desc>WebGLRenderingContext.texImage2D() should respect EXIF orientation</short_desc>
          <delta_ts>2019-12-16 21:36:24 -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>Images</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="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mjs</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1597822</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-12-11 15:39:14 -0800</bug_when>
    <thetext>If the EXIF orientation is present in an Image, WebGLRenderingContext.texImage2D() needs to draw this image into an ImageBuffer, makes a temporary Image object from the ImageBuffer then draw this temporary image to the WebGL texture. Drawing an image to an ImageBuffer respects the EXIF orientation of the original image. WebGLRenderingContext also does the same trick when drawing an SVGImage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597829</commentid>
    <comment_count>1</comment_count>
      <attachid>385453</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-12-11 15:44:34 -0800</bug_when>
    <thetext>Created attachment 385453
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597834</commentid>
    <comment_count>2</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-12-11 15:46:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/57370489&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599168</commentid>
    <comment_count>3</comment_count>
      <attachid>385821</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-12-16 15:34:19 -0800</bug_when>
    <thetext>Created attachment 385821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599235</commentid>
    <comment_count>4</comment_count>
      <attachid>385838</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-12-16 17:36:33 -0800</bug_when>
    <thetext>Created attachment 385838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599250</commentid>
    <comment_count>5</comment_count>
      <attachid>385838</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2019-12-16 19:05:02 -0800</bug_when>
    <thetext>Comment on attachment 385838
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599251</commentid>
    <comment_count>6</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2019-12-16 19:05:32 -0800</bug_when>
    <thetext>(Looks like Simon reviewed already so never mind.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599283</commentid>
    <comment_count>7</comment_count>
      <attachid>385838</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-16 21:36:22 -0800</bug_when>
    <thetext>Comment on attachment 385838
Patch

Clearing flags on attachment: 385838

Committed r253610: &lt;https://trac.webkit.org/changeset/253610&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599284</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-16 21:36:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385453</attachid>
            <date>2019-12-11 15:44:34 -0800</date>
            <delta_ts>2019-12-16 15:34:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205141-20191211154432.patch</filename>
            <type>text/plain</type>
            <size>16799</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzM5NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE5LTEyLTExICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LnRleEltYWdlMkQoKSBzaG91bGQgcmVzcGVjdCBFWElGIG9yaWVudGF0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUxNDEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiBFWElG
IG9yaWVudGF0aW9uIGlzIG5vdCB0aGUgZGVmYXVsdCwgV2ViR0xSZW5kZXJpbmdDb250ZXh0LnRl
eEltYWdlMkQoKQorICAgICAgICBuZWVkcyB0byBkcmF3IHRoaXMgaW1hZ2UgaW50byBhbiBJbWFn
ZUJ1ZmZlciwgbWFrZXMgYSB0ZW1wb3JhcnkgSW1hZ2UKKyAgICAgICAgZnJvbSB0aGUgSW1hZ2VC
dWZmZXIgdGhlbiBkcmF3IHRoaXMgdGVtcG9yYXJ5IGltYWdlIHRvIHRoZSBXZWJHTCB0ZXh0dXJl
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24td2ViZ2wtdGV4
dHVyZS5odG1sCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRl
eFN1YkltYWdlMkQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6dGV4SW1hZ2UyRCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2Uu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6SW1hZ2U6Om9yaWVudGF0aW9uIGNvbnN0KToKKwogMjAxOS0xMi0xMSAgRXJpYyBDYXJsc29u
ICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgZW5jb2RlcnMgZm9yIE1l
ZGlhUGxheWVyRW51bSBlbnVtcwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAJKHJldmlzaW9uIDI1MzMz
MCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDE0LDcgKzQwMTQsNyBAQCBFeGNlcHRpb25Pcjx2
b2lkPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCCiAgICAgICAgIGlmICghaW1hZ2VGb3JSZW5kZXIp
CiAgICAgICAgICAgICByZXR1cm4geyB9OwogCi0gICAgICAgIGlmIChpbWFnZUZvclJlbmRlci0+
aXNTVkdJbWFnZSgpKQorICAgICAgICBpZiAoaW1hZ2VGb3JSZW5kZXItPmlzU1ZHSW1hZ2UoKSB8
fCBpbWFnZUZvclJlbmRlci0+b3JpZW50YXRpb24oKSAhPSBJbWFnZU9yaWVudGF0aW9uOjpOb25l
KQogICAgICAgICAgICAgaW1hZ2VGb3JSZW5kZXIgPSBkcmF3SW1hZ2VJbnRvQnVmZmVyKCppbWFn
ZUZvclJlbmRlciwgaW1hZ2UtPndpZHRoKCksIGltYWdlLT5oZWlnaHQoKSwgMSk7CiAKICAgICAg
ICAgYXV0byB0ZXh0dXJlID0gdmFsaWRhdGVUZXh0dXJlQmluZGluZygidGV4U3ViSW1hZ2UyRCIs
IHRhcmdldCwgdHJ1ZSk7CkBAIC00NTY5LDcgKzQ1NjksNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBX
ZWJHTFJlbmRlcmluZ0NvbnRleHRCCiAgICAgICAgIGlmICghaW1hZ2VGb3JSZW5kZXIpCiAgICAg
ICAgICAgICByZXR1cm4geyB9OwogCi0gICAgICAgIGlmIChpbWFnZUZvclJlbmRlci0+aXNTVkdJ
bWFnZSgpKQorICAgICAgICBpZiAoaW1hZ2VGb3JSZW5kZXItPmlzU1ZHSW1hZ2UoKSB8fCBpbWFn
ZUZvclJlbmRlci0+b3JpZW50YXRpb24oKSAhPSBJbWFnZU9yaWVudGF0aW9uOjpOb25lKQogICAg
ICAgICAgICAgaW1hZ2VGb3JSZW5kZXIgPSBkcmF3SW1hZ2VJbnRvQnVmZmVyKCppbWFnZUZvclJl
bmRlciwgaW1hZ2UtPndpZHRoKCksIGltYWdlLT5oZWlnaHQoKSwgMSk7CiAKICAgICAgICAgaWYg
KCFpbWFnZUZvclJlbmRlciB8fCAhdmFsaWRhdGVUZXhGdW5jKCJ0ZXhJbWFnZTJEIiwgVGV4SW1h
Z2UsIFNvdXJjZUhUTUxJbWFnZUVsZW1lbnQsIHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0
LCBpbWFnZUZvclJlbmRlci0+d2lkdGgoKSwgaW1hZ2VGb3JSZW5kZXItPmhlaWdodCgpLCAwLCBm
b3JtYXQsIHR5cGUsIDAsIDApKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5oCShyZXZpc2lvbiAyNTMzMzApCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04Miw2
ICs4Miw3IEBAIHB1YmxpYzoKIAogICAgIC8vIEZsb2F0U2l6ZSBkdWUgdG8gb3ZlcnJpZGUuCiAg
ICAgRmxvYXRTaXplIHNpemUoSW1hZ2VPcmllbnRhdGlvbiBvcmllbnRhdGlvbiA9IEltYWdlT3Jp
ZW50YXRpb246OkZyb21JbWFnZSkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zb3VyY2UtPnNp
emUob3JpZW50YXRpb24pOyB9CisgICAgSW1hZ2VPcmllbnRhdGlvbiBvcmllbnRhdGlvbigpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fc291cmNlLT5vcmllbnRhdGlvbigpOyB9CiAgICAgQ29s
b3Igc2luZ2xlUGl4ZWxTb2xpZENvbG9yKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zb3Vy
Y2UtPnNpbmdsZVBpeGVsU29saWRDb2xvcigpOyB9CiAgICAgYm9vbCBmcmFtZUlzQmVpbmdEZWNv
ZGVkQW5kSXNDb21wYXRpYmxlV2l0aE9wdGlvbnNBdEluZGV4KHNpemVfdCBpbmRleCwgY29uc3Qg
RGVjb2RpbmdPcHRpb25zJiBkZWNvZGluZ09wdGlvbnMpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNl
LT5mcmFtZUlzQmVpbmdEZWNvZGVkQW5kSXNDb21wYXRpYmxlV2l0aE9wdGlvbnNBdEluZGV4KGlu
ZGV4LCBkZWNvZGluZ09wdGlvbnMpOyB9CiAgICAgRGVjb2RpbmdTdGF0dXMgZnJhbWVEZWNvZGlu
Z1N0YXR1c0F0SW5kZXgoc2l6ZV90IGluZGV4KSBjb25zdCB7IHJldHVybiBtX3NvdXJjZS0+ZnJh
bWVEZWNvZGluZ1N0YXR1c0F0SW5kZXgoaW5kZXgpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgJKHJldmlzaW9uIDI1MzMzMCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNiw2ICsx
MTYsNyBAQCBwdWJsaWM6CiAgICAgZmxvYXQgd2lkdGgoKSBjb25zdCB7IHJldHVybiBzaXplKCku
d2lkdGgoKTsgfQogICAgIGZsb2F0IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIHNpemUoKS5oZWln
aHQoKTsgfQogICAgIHZpcnR1YWwgT3B0aW9uYWw8SW50UG9pbnQ+IGhvdFNwb3QoKSBjb25zdCB7
IHJldHVybiBXVEY6Om51bGxvcHQ7IH0KKyAgICB2aXJ0dWFsIEltYWdlT3JpZW50YXRpb24gb3Jp
ZW50YXRpb24oKSBjb25zdCB7IHJldHVybiBJbWFnZU9yaWVudGF0aW9uOjpGcm9tSW1hZ2U7IH0K
IAogICAgIFdFQkNPUkVfRVhQT1JUIEVuY29kZWREYXRhU3RhdHVzIHNldERhdGEoUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4mJiBkYXRhLCBib29sIGFsbERhdGFSZWNlaXZlZCk7CiAgICAgdmlydHVhbCBF
bmNvZGVkRGF0YVN0YXR1cyBkYXRhQ2hhbmdlZChib29sIC8qYWxsRGF0YVJlY2VpdmVkKi8pIHsg
cmV0dXJuIEVuY29kZWREYXRhU3RhdHVzOjpVbmtub3duOyB9CkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NTMzMzApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxMyBAQAorMjAxOS0xMi0xMSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBw
bGUuY29tPgorCisgICAgICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dC50ZXhJbWFnZTJEKCkgc2hv
dWxkIHJlc3BlY3QgRVhJRiBvcmllbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLXdlYmds
LXRleHR1cmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvZXhp
Zi1vcmllbnRhdGlvbi13ZWJnbC10ZXh0dXJlLmh0bWw6IEFkZGVkLgorCiAyMDE5LTEyLTEwICBB
bnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgaGFjayB0
aGF0IG1ha2VzIDxicj4gYm94ZXMgMC1oZWlnaHQgaW4gcXVpcmtzIG1vZGUKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24td2ViZ2wtdGV4dHVyZS1leHBlY3Rl
ZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2V4aWYtb3JpZW50
YXRpb24td2ViZ2wtdGV4dHVyZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24td2ViZ2wtdGV4dHVyZS1leHBlY3Rl
ZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODkgQEAKKzwhRE9DVFlQRSBodG1sPgor
PHN0eWxlPgorICAgIGRpdi5jb250YWluZXIgeworICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxv
Y2s7CisgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgCisgICAgICAgIG1hcmdpbi1ib3R0b206
IDEwcHg7IAorICAgICAgICB3aWR0aDogMTAwcHg7IAorICAgICAgICB2ZXJ0aWNhbC1hbGlnbjog
dG9wOworICAgIH0KKyAgICBkaXYuaG9yaXpvbnRhbCB7CisgICAgICAgIHdpZHRoOiAxMDJweDsK
KyAgICAgICAgaGVpZ2h0OiA1MnB4OworICAgIH0KKyAgICBkaXYudmVydGljYWwgeworICAgICAg
ICB3aWR0aDogNTJweDsKKyAgICAgICAgaGVpZ2h0OiAxMDJweDsKKyAgICB9CisgICAgY2FudmFz
IHsKKyAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgfQorPC9zdHlsZT4KKzxi
b2R5PgorICAgIDxiPldlYkdMUmVuZGVyaW5nQ29udGV4dC50ZXhJbWFnZTJEKCkgc2hvdWxkIHJv
dGF0ZSB0aGUgaW1hZ2VzIHJlc3BlY3RpbmcgdGhlaXIgRVhJRiBvcmllbnRhdGlvbi48L2I+Cisg
ICAgPGJyPgorICAgIDxicj4KKyAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgICAgICA8
ZGl2IGNsYXNzPSJob3Jpem9udGFsIj4KKyAgICAgICAgICAgIDxjYW52YXMgY2xhc3M9Imhvcml6
b250YWwiIGlkPSJjYW52YXMyIiBzdHlsZT0idHJhbnNmb3JtOiBzY2FsZVgoLTEpOyI+PC9jYW52
YXM+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8YnI+RmxpcHBlZCBob3Jpem9udGFsbHkKKyAg
ICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNz
PSJob3Jpem9udGFsIj4KKyAgICAgICAgICAgIDxjYW52YXMgY2xhc3M9Imhvcml6b250YWwiIGlk
PSJjYW52YXMzIiBzdHlsZT0idHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsiPjwvY2FudmFzPgor
ICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGJyPlJvdGF0ZWQgMTgwJmRlZzsKKyAgICA8L2Rpdj4K
KyAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9u
dGFsIj4KKyAgICAgICAgICAgIDxjYW52YXMgY2xhc3M9Imhvcml6b250YWwiIGlkPSJjYW52YXM0
IiBzdHlsZT0idHJhbnNmb3JtOiBzY2FsZVgoLTEpIHJvdGF0ZSgxODBkZWcpOyI+PC9jYW52YXM+
CisgICAgICAgIDwvZGl2PgorICAgICAgICA8YnI+RmxpcHBlZCB2ZXJ0aWNhbGx5CisgICAgPC9k
aXY+CisgICAgPGJyPgorICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgICAgIDxkaXYg
Y2xhc3M9InZlcnRpY2FsIj4KKyAgICAgICAgICAgIDxjYW52YXMgY2xhc3M9InZlcnRpY2FsIiBp
ZD0iY2FudmFzNSIgc3R5bGU9InRyYW5zZm9ybTogdHJhbnNsYXRlKC0yNXB4LCAyNXB4KSByb3Rh
dGUoOTBkZWcpIHNjYWxlWSgtMSk7Ij48L2NhbnZhcz4KKyAgICAgICAgPC9kaXY+CisgICAgICAg
IDxicj5Sb3RhdGVkIDkwJmRlZzsgQ0NXIGFuZCBmbGlwcGVkIHZlcnRpY2FsbHkKKyAgICA8L2Rp
dj4KKyAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJ2ZXJ0
aWNhbCI+CisgICAgICAgICAgICA8Y2FudmFzIGNsYXNzPSJ2ZXJ0aWNhbCIgaWQ9ImNhbnZhczYi
IHN0eWxlPSJ0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjVweCwgMjVweCkgcm90YXRlKDkwZGVnKTsi
PjwvY2FudmFzPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGJyPlJvdGF0ZWQgOTAmZGVnOyBD
Q1cKKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2
IGNsYXNzPSJ2ZXJ0aWNhbCI+CisgICAgICAgICAgICA8Y2FudmFzIGNsYXNzPSJ2ZXJ0aWNhbCIg
aWQ9ImNhbnZhczciIHN0eWxlPSJ0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjVweCwgMjVweCkgcm90
YXRlKDI3MGRlZykgc2NhbGVZKC0xKTsiPjwvY2FudmFzPgorICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgPGJyPlJvdGF0ZWQgOTAmZGVnOyBDVyBhbmQgZmxpcHBlZCB2ZXJ0aWNhbGx5CisgICAgPC9k
aXY+CisgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0idmVy
dGljYWwiPgorICAgICAgICAgICAgPGNhbnZhcyBjbGFzcz0idmVydGljYWwiIGlkPSJjYW52YXM4
IiBzdHlsZT0idHJhbnNmb3JtOiB0cmFuc2xhdGUoLTI1cHgsIDI1cHgpIHJvdGF0ZSgyNzBkZWcp
OyI+PC9jYW52YXM+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8YnI+Um90YXRlZCA5MCZkZWc7
IENXCisgICAgPC9kaXY+CisgICAgPGJyPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKworICAgICAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICB2YXIgaW1hZ2UgPSBuZXcgSW1hZ2U7CisgICAgICAgICAgICBpbWFnZS5zcmMgPSAicmVzb3Vy
Y2VzL2V4aWYtb3JpZW50YXRpb24tMS11bC5qcGciOworICAgICAgICAgICAgaW1hZ2UuZGVjb2Rl
KCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs
bCgiY2FudmFzIikuZm9yRWFjaChjYW52YXMgPT4geworICAgICAgICAgICAgICAgICAgICBjYW52
YXMud2lkdGggPSBpbWFnZS53aWR0aDsKKyAgICAgICAgICAgICAgICAgICAgY2FudmFzLmhlaWdo
dCA9IGltYWdlLmhlaWdodDsKKyAgICAgICAgICAgICAgICAgICAgY2FudmFzLmdldENvbnRleHQo
IjJkIikuZHJhd0ltYWdlKGltYWdlLCAwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQp
OworICAgICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9ib2R5PgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi13ZWJnbC10ZXh0
dXJlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvZXhpZi1vcmll
bnRhdGlvbi13ZWJnbC10ZXh0dXJlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi13ZWJnbC10ZXh0dXJlLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwyNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8c3R5bGU+
CisgICAgZGl2LmNvbnRhaW5lciB7CisgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAg
ICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OworICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4Owor
ICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CisgICAg
fQorICAgIGRpdi5ob3Jpem9udGFsIHsKKyAgICAgICAgd2lkdGg6IDEwMjsKKyAgICAgICAgaGVp
Z2h0OiA1MnB4OworICAgIH0KKyAgICBkaXYudmVydGljYWwgeworICAgICAgICB3aWR0aDogNTJw
eDsKKyAgICAgICAgaGVpZ2h0OiAxMDJweDsKKyAgICB9CisgICAgY2FudmFzIHsKKyAgICAgICAg
Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgfQorICAgIGNhbnZhcy5ob3Jpem9udGFsIHsK
KyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDUwcHg7CisgICAgfQorICAg
IGNhbnZhcy52ZXJ0aWNhbCB7CisgICAgICAgIHdpZHRoOiA1MHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0ZXhTaGFk
ZXJTb3VyY2UiIHR5cGU9InRleHQvZ2xzbCI+CisgICAgYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlv
bjsKKyAgICB2YXJ5aW5nIHZlYzIgdl90ZXh0dXJlUG9zaXRpb247CisKKyAgICB2b2lkIG1haW4o
KSB7CisgICAgICAgIHZfdGV4dHVyZVBvc2l0aW9uID0gdmVjMigoYV9wb3NpdGlvbi54ICsgMS4w
KSAvIDIuMCwgKGFfcG9zaXRpb24ueSArIDEuMCkgLyAyLjApOworICAgICAgICBnbF9Qb3NpdGlv
biA9IGFfcG9zaXRpb247CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnbWVudFNo
YWRlclNvdXJjZSIgdHlwZT0idGV4dC9nbHNsIj4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9h
dDsKKworICAgIHZhcnlpbmcgdmVjMiB2X3RleHR1cmVQb3NpdGlvbjsKKworICAgIHVuaWZvcm0g
c2FtcGxlcjJEIHRleHR1cmU7CisKKyAgICB2b2lkIG1haW4oKSB7CisgICAgICAgIGdsX0ZyYWdD
b2xvciA9IHRleHR1cmUyRCh0ZXh0dXJlLCB2X3RleHR1cmVQb3NpdGlvbik7CisgICAgfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIGRyYXdUcmlhbmdsZShjYW52YXMsIGltYWdl
KSB7CisKKyAgICAgICAgdmFyIGdsID0gY2FudmFzLmdldENvbnRleHQoIndlYmdsIik7CisKKyAg
ICAgICAgLy8gU2V0IHRoZSBjbGVhciBjb2xvci4gICAgICAgIAorICAgICAgICBnbC5jbGVhckNv
bG9yKDAsIDAsIDAsIDEpOworCisgICAgICAgIC8vIENyZWF0ZSB0aGUgdmVydGV4IHNoYWRlciBv
YmplY3QuCisgICAgICAgIHZhciB2ZXJ0ZXhTaGFkZXIgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuVkVS
VEVYX1NIQURFUik7CisKKyAgICAgICAgLy8gVGhlIHNvdXJjZSBjb2RlIGZvciB0aGUgc2hhZGVy
IGlzIGV4dHJhY3RlZCBmcm9tIHRoZSA8c2NyaXB0PiBlbGVtZW50IGFib3ZlLgorICAgICAgICBn
bC5zaGFkZXJTb3VyY2UodmVydGV4U2hhZGVyLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmVy
dGV4U2hhZGVyU291cmNlIikudGV4dENvbnRlbnQpOworCisgICAgICAgIC8vIENvbXBpbGUgdGhl
IHNoYWRlci4KKyAgICAgICAgZ2wuY29tcGlsZVNoYWRlcih2ZXJ0ZXhTaGFkZXIpOworICAgICAg
ICBpZiAoIWdsLmdldFNoYWRlclBhcmFtZXRlcih2ZXJ0ZXhTaGFkZXIsIGdsLkNPTVBJTEVfU1RB
VFVTKSkgeworICAgICAgICAgICAgLy8gV2UgZmFpbGVkIHRvIGNvbXBpbGUuIE91dHB1dCB0byB0
aGUgY29uc29sZSBhbmQgcXVpdC4KKyAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIlZlcnRleCBT
aGFkZXIgZmFpbGVkIHRvIGNvbXBpbGUuIik7CisgICAgICAgICAgICBjb25zb2xlLmxvZyhnbC5n
ZXRTaGFkZXJJbmZvTG9nKHZlcnRleFNoYWRlcikpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisKKyAgICAgICAgLy8gRG8gdGhlIGZyYWdtZW50IHNoYWRlci4KKyAgICAgICAgdmFy
IGZyYWdtZW50U2hhZGVyID0gZ2wuY3JlYXRlU2hhZGVyKGdsLkZSQUdNRU5UX1NIQURFUik7Cisg
ICAgICAgIGdsLnNoYWRlclNvdXJjZShmcmFnbWVudFNoYWRlciwgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImZyYWdtZW50U2hhZGVyU291cmNlIikudGV4dENvbnRlbnQpOworICAgICAgICBnbC5j
b21waWxlU2hhZGVyKGZyYWdtZW50U2hhZGVyKTsKKyAgICAgICAgaWYgKCFnbC5nZXRTaGFkZXJQ
YXJhbWV0ZXIoZnJhZ21lbnRTaGFkZXIsIGdsLkNPTVBJTEVfU1RBVFVTKSkgeworICAgICAgICAg
ICAgY29uc29sZS5lcnJvcigiRnJhZ21lbnQgU2hhZGVyIGZhaWxlZCB0byBjb21waWxlLiIpOwor
ICAgICAgICAgICAgY29uc29sZS5sb2coZ2wuZ2V0U2hhZGVySW5mb0xvZyhmcmFnbWVudFNoYWRl
cikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8gTWFrZSB0
aGUgcHJvZ3JhbS4KKyAgICAgICAgdmFyIHByb2dyYW0gPSBnbC5jcmVhdGVQcm9ncmFtKCk7Cisg
ICAgICAgIGdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCB2ZXJ0ZXhTaGFkZXIpOworICAgICAgICBn
bC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgZnJhZ21lbnRTaGFkZXIpOworICAgICAgICBnbC5saW5r
UHJvZ3JhbShwcm9ncmFtKTsKKworICAgICAgICBpZiAoIWdsLmdldFByb2dyYW1QYXJhbWV0ZXIo
cHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMpKSB7CisgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJV
bmFibGUgdG8gbGluayBzaGFkZXJzIGludG8gcHJvZ3JhbS4iKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorCisgICAgICAgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CisKKyAgICAg
ICAgdmFyIHRleHR1cmVVbmlmb3JtID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0
ZXh0dXJlIik7CisKKyAgICAgICAgdmFyIHBvc2l0aW9uQXR0cmlidXRlID0gZ2wuZ2V0QXR0cmli
TG9jYXRpb24ocHJvZ3JhbSwgImFfcG9zaXRpb24iKTsKKyAgICAgICAgZ2wuZW5hYmxlVmVydGV4
QXR0cmliQXJyYXkocG9zaXRpb25BdHRyaWJ1dGUpOworCisgICAgICAgIC8vIFRoZSBkZWZhdWx0
IGNvb3JkaW5hdGUgc3BhY2UgaXMgYSBzcXVhcmUgZnJvbSAtMSB0byAxLgorICAgICAgICAvLyBU
aGUgdHJpYW5nbGUgaXMgdGhyZWUgcG9pbnRzIGluIHRoYXQgc3F1YXJlLgorICAgICAgICB2YXIg
dmVydGljZXMgPSBuZXcgRmxvYXQzMkFycmF5KFsKKyAgICAgICAgICAgIC0xLCAtMSwKKyAgICAg
ICAgICAgICAxLCAtMSwKKyAgICAgICAgICAgICAxLCAgMSwKKyAgICAgICAgICAgICAxLCAgMSwK
KyAgICAgICAgICAgIC0xLCAgMSwKKyAgICAgICAgICAgIC0xLCAtMQorICAgICAgICBdKTsKKwor
ICAgICAgICAvLyBDcmVhdGUgdGhlIGJ1ZmZlciB0aGF0IHdpbGwgaG9sZCB0aGUgdmVydGV4IGRh
dGEgYWJvdmUuCisgICAgICAgIHZhciB0cmlhbmdsZUJ1ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZlcigp
OworCisgICAgICAgIC8vIExvYWQgdGhlIHZlcnRleCBkYXRhIGludG8gdGhlIGJ1ZmZlci4KKyAg
ICAgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHRyaWFuZ2xlQnVmZmVyKTsKKyAg
ICAgICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIHZlcnRpY2VzLCBnbC5TVEFUSUNf
RFJBVyk7CisKKyAgICAgICAgdmFyIHN0aWxsVG9EcmF3ID0gZmFsc2U7CisKKyAgICAgICAgdmFy
IHVwZGF0ZVRleHR1cmUgPSBmdW5jdGlvbiAodGV4dHVyZSwgZGF0YSkgeworICAgICAgICAgICAg
Z2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSk7CisgICAgICAgICAgICBnbC5w
aXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dFQkdMLCB0cnVlKTsKKyAgICAgICAgICAgIGds
LnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdO
RURfQllURSwgZGF0YSk7CisgICAgICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVf
MkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICAgICAgICAgIGdsLnRl
eFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5F
QVIpOworICAgICAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhU
VVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURHRSk7CisgICAgICAgICAgICBnbC50ZXhQYXJhbWV0
ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsK
KworICAgICAgICAgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgICAg
ICAgICAgICBzdGlsbFRvRHJhdyA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICB2YXIgdGV4
dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICAgICAgdXBkYXRlVGV4dHVyZSh0ZXh0dXJl
LCBpbWFnZSk7CisKKyAgICAgICAgLy8gQ2xlYXIgdG8gYmxhY2suCisgICAgICAgIGdsLmNsZWFy
KGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCisgICAgICAgIHZhciBkcmF3RnVuY3Rpb24gPSBmdW5j
dGlvbiAoKSB7CisgICAgICAgICAgICBpZiAoIXN0aWxsVG9EcmF3KSB7CisgICAgICAgICAgICAg
ICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShkcmF3RnVuY3Rpb24pOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAvLyBDbGVhciB0byBibGFjay4KKyAgICAgICAgICAgIGdsLmNs
ZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCisgICAgICAgICAgICBnbC5hY3RpdmVUZXh0dXJl
KGdsLlRFWFRVUkUwKTsKKyAgICAgICAgICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQs
IHRleHR1cmUpOworICAgICAgICAgICAgZ2wudW5pZm9ybTFpKHRleHR1cmVVbmlmb3JtLCAwKTsK
KworICAgICAgICAgICAgLy8gQmluZCB0aGUgdmVydGV4IGF0dHJpYnV0ZXMgZm9yIHRoZSBkcmF3
IG9wZXJhdGlvbi4KKyAgICAgICAgICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB0
cmlhbmdsZUJ1ZmZlcik7CisgICAgICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHBvc2l0
aW9uQXR0cmlidXRlLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworCisgICAgICAgICAgICBn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNik7CisgICAgICAgIH07CisKKyAgICAgICAg
ZHJhd0Z1bmN0aW9uKCk7CisgICAgfQorPC9zY3JpcHQ+Cis8Ym9keT4KKyAgICA8Yj5XZWJHTFJl
bmRlcmluZ0NvbnRleHQudGV4SW1hZ2UyRCgpIHNob3VsZCByb3RhdGUgdGhlIGltYWdlcyByZXNw
ZWN0aW5nIHRoZWlyIEVYSUYgb3JpZW50YXRpb24uPC9iPgorICAgIDxicj4KKyAgICA8YnI+Cisg
ICAgPGRpdiBjbGFzcyA9ImNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3MgPSJob3Jpem9u
dGFsIj4KKyAgICAgICAgICAgIDxjYW52YXMgY2xhc3M9Imhvcml6b250YWwiIGlkPSJjYW52YXMy
Ij48L2NhbnZhcz4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxicj5GbGlwcGVkIGhvcml6b250
YWxseQorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3MgPSJjb250YWluZXIiPgorICAgICAgICA8
ZGl2IGNsYXNzID0iaG9yaXpvbnRhbCI+CisgICAgICAgICAgICA8Y2FudmFzIGNsYXNzPSJob3Jp
em9udGFsIiBpZD0iY2FudmFzMyI+PC9jYW52YXM+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8
YnI+Um90YXRlZCAxODAmZGVnOworICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3MgPSJjb250YWlu
ZXIiPgorICAgICAgICA8ZGl2IGNsYXNzID0iaG9yaXpvbnRhbCI+CisgICAgICAgICAgICA8Y2Fu
dmFzIGNsYXNzPSJob3Jpem9udGFsIiBpZD0iY2FudmFzNCI+PC9jYW52YXM+CisgICAgICAgIDwv
ZGl2PgorICAgICAgICA8YnI+RmxpcHBlZCB2ZXJ0aWNhbGx5CisgICAgPC9kaXY+CisgICAgPGJy
PgorICAgIDxkaXYgY2xhc3MgPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzID0idmVy
dGljYWwiPgorICAgICAgICAgICAgPGNhbnZhcyBjbGFzcz0idmVydGljYWwiIGlkPSJjYW52YXM1
Ij48L2NhbnZhcz4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxicj5Sb3RhdGVkIDkwJmRlZzsg
Q0NXIGFuZCBmbGlwcGVkIHZlcnRpY2FsbHkKKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzID0i
Y29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcyA9InZlcnRpY2FsIj4KKyAgICAgICAgICAg
IDxjYW52YXMgY2xhc3M9InZlcnRpY2FsIiBpZD0iY2FudmFzNiI+PC9jYW52YXM+CisgICAgICAg
IDwvZGl2PgorICAgICAgICA8YnI+Um90YXRlZCA5MCZkZWc7IENDVworICAgIDwvZGl2PgorICAg
IDxkaXYgY2xhc3MgPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzID0idmVydGljYWwi
PgorICAgICAgICAgICAgPGNhbnZhcyBjbGFzcz0idmVydGljYWwiIGlkPSJjYW52YXM3Ij48L2Nh
bnZhcz4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxicj5Sb3RhdGVkIDkwJmRlZzsgQ1cgYW5k
IGZsaXBwZWQgdmVydGljYWxseQorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3MgPSJjb250YWlu
ZXIiPgorICAgICAgICA8ZGl2IGNsYXNzID0idmVydGljYWwiPgorICAgICAgICAgICAgPGNhbnZh
cyBjbGFzcz0idmVydGljYWwiIGlkPSJjYW52YXM4Ij48L2NhbnZhcz4KKyAgICAgICAgPC9kaXY+
CisgICAgICAgIDxicj5Sb3RhdGVkIDkwJmRlZzsgQ1cKKyAgICA8L2Rpdj4KKyAgICA8YnI+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAg
d2luZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworCisgICAgICAgIHdpbmRvdy5vbmxv
YWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciBuYW1lcyA9IFsKKyAgICAgICAgICAg
ICAgICB7IHJlc291cmNlOiAicmVzb3VyY2VzL2V4aWYtb3JpZW50YXRpb24tMi11ci5qcGciLCAg
aWQgOiAiY2FudmFzMiIgfSwKKyAgICAgICAgICAgICAgICB7IHJlc291cmNlOiAicmVzb3VyY2Vz
L2V4aWYtb3JpZW50YXRpb24tMy1sci5qcGciLCAgaWQgOiAiY2FudmFzMyIgfSwKKyAgICAgICAg
ICAgICAgICB7IHJlc291cmNlOiAicmVzb3VyY2VzL2V4aWYtb3JpZW50YXRpb24tNC1sb2wuanBn
IiwgaWQgOiAiY2FudmFzNCIgfSwKKyAgICAgICAgICAgICAgICB7IHJlc291cmNlOiAicmVzb3Vy
Y2VzL2V4aWYtb3JpZW50YXRpb24tNS1sdS5qcGciLCAgaWQgOiAiY2FudmFzNSIgfSwKKyAgICAg
ICAgICAgICAgICB7IHJlc291cmNlOiAicmVzb3VyY2VzL2V4aWYtb3JpZW50YXRpb24tNi1ydS5q
cGciLCAgaWQgOiAiY2FudmFzNiIgfSwKKyAgICAgICAgICAgICAgICB7IHJlc291cmNlOiAicmVz
b3VyY2VzL2V4aWYtb3JpZW50YXRpb24tNy1ybC5qcGciLCAgaWQgOiAiY2FudmFzNyIgfSwKKyAg
ICAgICAgICAgICAgICB7IHJlc291cmNlOiAicmVzb3VyY2VzL2V4aWYtb3JpZW50YXRpb24tOC1s
bG8uanBnIiwgaWQgOiAiY2FudmFzOCIgfQorICAgICAgICAgICAgXTsKKworICAgICAgICAgICAg
dmFyIGRyYXdDb3VudCA9IDA7CisKKyAgICAgICAgICAgIG5hbWVzLmZvckVhY2goZnVuY3Rpb24o
bmFtZSkgeworICAgICAgICAgICAgICAgIHZhciBpbWFnZSA9IG5ldyBJbWFnZTsKKyAgICAgICAg
ICAgICAgICBpbWFnZS5zcmMgPSBuYW1lLnJlc291cmNlOworICAgICAgICAgICAgICAgIGltYWdl
LmRlY29kZSgpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgICAgICBsZXQgY2FudmFzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobmFtZS5pZCk7CisgICAgICAgICAgICAgICAgICAgIGNh
bnZhcy53aWR0aCA9IGltYWdlLndpZHRoICogd2luZG93LmRldmljZVBpeGVsUmF0aW87CisgICAg
ICAgICAgICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSBpbWFnZS5oZWlnaHQgKiB3aW5kb3cuZGV2
aWNlUGl4ZWxSYXRpbzsKKyAgICAgICAgICAgICAgICAgICAgZHJhd1RyaWFuZ2xlKGNhbnZhcywg
aW1hZ2UpOworICAgICAgICAgICAgICAgICAgICBpZiAoKytkcmF3Q291bnQgPT0gbmFtZXMubGVu
Z3RoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9KTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385821</attachid>
            <date>2019-12-16 15:34:19 -0800</date>
            <delta_ts>2019-12-16 17:36:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205141-20191216153419.patch</filename>
            <type>text/plain</type>
            <size>30492</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzU4NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE5LTEyLTE2ICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LnRleEltYWdlMkQoKSBzaG91bGQgcmVzcGVjdCBFWElGIG9yaWVudGF0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUxNDEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiBpbWFn
ZSBvcmllbnRhdGlvbiBpcyBub3QgdGhlIGRlZmF1bHQsIFdlYkdMUmVuZGVyaW5nQ29udGV4dC50
ZXhJbWFnZTJEKCkKKyAgICAgICAgbmVlZHMgdG8gZHJhdyB0aGlzIGltYWdlIGludG8gYW4gSW1h
Z2VCdWZmZXIsIG1ha2VzIGEgdGVtcG9yYXJ5IEltYWdlCisgICAgICAgIGZyb20gdGhlIEltYWdl
QnVmZmVyIHRoZW4gZHJhdyB0aGlzIHRlbXBvcmFyeSBJbWFnZSB0byB0aGUgV2ViR0wgdGV4dHVy
ZS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLXdlYmdsLXRl
eHR1cmUuaHRtbAorCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp0
ZXhTdWJJbWFnZTJEKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2U6OnRleEltYWdlMkQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkltYWdlOjpvcmllbnRhdGlvbiBjb25zdCk6CisKIDIwMTktMTItMTYgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xs
ZXIgc2hvdWxkIG9ic2VydmUgbmV3bHkgaW5zZXJ0ZWQgb3IgZGlzcGxheWVkIGNvbnRlbnRzCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcAkocmV2aXNpb24gMjUzNTcwKQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQwMTQsNyArNDAxNCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEIKICAgICAgICAgaWYgKCFpbWFnZUZvclJlbmRlcikKICAgICAgICAgICAgIHJldHVybiB7
IH07CiAKLSAgICAgICAgaWYgKGltYWdlRm9yUmVuZGVyLT5pc1NWR0ltYWdlKCkpCisgICAgICAg
IGlmIChpbWFnZUZvclJlbmRlci0+aXNTVkdJbWFnZSgpIHx8IGltYWdlRm9yUmVuZGVyLT5vcmll
bnRhdGlvbigpICE9IEltYWdlT3JpZW50YXRpb246Ok5vbmUpCiAgICAgICAgICAgICBpbWFnZUZv
clJlbmRlciA9IGRyYXdJbWFnZUludG9CdWZmZXIoKmltYWdlRm9yUmVuZGVyLCBpbWFnZS0+d2lk
dGgoKSwgaW1hZ2UtPmhlaWdodCgpLCAxKTsKIAogICAgICAgICBhdXRvIHRleHR1cmUgPSB2YWxp
ZGF0ZVRleHR1cmVCaW5kaW5nKCJ0ZXhTdWJJbWFnZTJEIiwgdGFyZ2V0LCB0cnVlKTsKQEAgLTQ1
NjksNyArNDU2OSw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEIK
ICAgICAgICAgaWYgKCFpbWFnZUZvclJlbmRlcikKICAgICAgICAgICAgIHJldHVybiB7IH07CiAK
LSAgICAgICAgaWYgKGltYWdlRm9yUmVuZGVyLT5pc1NWR0ltYWdlKCkpCisgICAgICAgIGlmIChp
bWFnZUZvclJlbmRlci0+aXNTVkdJbWFnZSgpIHx8IGltYWdlRm9yUmVuZGVyLT5vcmllbnRhdGlv
bigpICE9IEltYWdlT3JpZW50YXRpb246Ok5vbmUpCiAgICAgICAgICAgICBpbWFnZUZvclJlbmRl
ciA9IGRyYXdJbWFnZUludG9CdWZmZXIoKmltYWdlRm9yUmVuZGVyLCBpbWFnZS0+d2lkdGgoKSwg
aW1hZ2UtPmhlaWdodCgpLCAxKTsKIAogICAgICAgICBpZiAoIWltYWdlRm9yUmVuZGVyIHx8ICF2
YWxpZGF0ZVRleEZ1bmMoInRleEltYWdlMkQiLCBUZXhJbWFnZSwgU291cmNlSFRNTEltYWdlRWxl
bWVudCwgdGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIGltYWdlRm9yUmVuZGVyLT53aWR0
aCgpLCBpbWFnZUZvclJlbmRlci0+aGVpZ2h0KCksIDAsIGZvcm1hdCwgdHlwZSwgMCwgMCkpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgJ
KHJldmlzaW9uIDI1MzU3MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Jp
dG1hcEltYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDcgQEAgcHVibGljOgogCiAg
ICAgLy8gRmxvYXRTaXplIGR1ZSB0byBvdmVycmlkZS4KICAgICBGbG9hdFNpemUgc2l6ZShJbWFn
ZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uID0gSW1hZ2VPcmllbnRhdGlvbjo6RnJvbUltYWdlKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBtX3NvdXJjZS0+c2l6ZShvcmllbnRhdGlvbik7IH0KKyAg
ICBJbWFnZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
bV9zb3VyY2UtPm9yaWVudGF0aW9uKCk7IH0KICAgICBDb2xvciBzaW5nbGVQaXhlbFNvbGlkQ29s
b3IoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3NvdXJjZS0+c2luZ2xlUGl4ZWxTb2xpZENv
bG9yKCk7IH0KICAgICBib29sIGZyYW1lSXNCZWluZ0RlY29kZWRBbmRJc0NvbXBhdGlibGVXaXRo
T3B0aW9uc0F0SW5kZXgoc2l6ZV90IGluZGV4LCBjb25zdCBEZWNvZGluZ09wdGlvbnMmIGRlY29k
aW5nT3B0aW9ucykgY29uc3QgeyByZXR1cm4gbV9zb3VyY2UtPmZyYW1lSXNCZWluZ0RlY29kZWRB
bmRJc0NvbXBhdGlibGVXaXRoT3B0aW9uc0F0SW5kZXgoaW5kZXgsIGRlY29kaW5nT3B0aW9ucyk7
IH0KICAgICBEZWNvZGluZ1N0YXR1cyBmcmFtZURlY29kaW5nU3RhdHVzQXRJbmRleChzaXplX3Qg
aW5kZXgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlLT5mcmFtZURlY29kaW5nU3RhdHVzQXRJbmRl
eChpbmRleCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2Uu
aAkocmV2aXNpb24gMjUzNTcwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDYgKzExNiw3IEBAIHB1YmxpYzoKICAgICBm
bG9hdCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIHNpemUoKS53aWR0aCgpOyB9CiAgICAgZmxvYXQg
aGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gc2l6ZSgpLmhlaWdodCgpOyB9CiAgICAgdmlydHVhbCBP
cHRpb25hbDxJbnRQb2ludD4gaG90U3BvdCgpIGNvbnN0IHsgcmV0dXJuIFdURjo6bnVsbG9wdDsg
fQorICAgIHZpcnR1YWwgSW1hZ2VPcmllbnRhdGlvbiBvcmllbnRhdGlvbigpIGNvbnN0IHsgcmV0
dXJuIEltYWdlT3JpZW50YXRpb246OkZyb21JbWFnZTsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQg
RW5jb2RlZERhdGFTdGF0dXMgc2V0RGF0YShSZWZQdHI8U2hhcmVkQnVmZmVyPiYmIGRhdGEsIGJv
b2wgYWxsRGF0YVJlY2VpdmVkKTsKICAgICB2aXJ0dWFsIEVuY29kZWREYXRhU3RhdHVzIGRhdGFD
aGFuZ2VkKGJvb2wgLyphbGxEYXRhUmVjZWl2ZWQqLykgeyByZXR1cm4gRW5jb2RlZERhdGFTdGF0
dXM6OlVua25vd247IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzU3MCkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE5LTEyLTE2ICBT
YWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LnRleEltYWdlMkQoKSBzaG91bGQgcmVzcGVjdCBFWElGIG9yaWVu
dGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDUxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgdGVzdCBwYWdlIHVzZXMgaW1hZ2VzIHdpdGggZGlmZmVyZW50IEVYSUYgb3JpZW50YXRpb24u
IFRoZSBleHBlY3RlZAorICAgICAgICBwYWdlIHVzZXMgYSBzaW5nbGUgaW1hZ2Ugd2l0aCBubyBF
WElGIG9yaWVudGF0aW9uIHRoZW4gaXQgdHJhbnNmb3JtcyB0aGUKKyAgICAgICAgPGNhbnZhcz4g
ZWxlbWVudHMgc3VjaCB0aGF0IGl0IG1hdGNoZXMgdGhlIGltYWdlIGluIHRoZSB0ZXN0IHBhZ2Uu
CisKKyAgICAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0IHVzZXMgYSB0cmljayB3aGVuIGRyYXdp
bmcgYW4gU1ZHIGltYWdlIG9yIGltYWdlcyAKKyAgICAgICAgd2l0aCBFWElGIG9yaWVudGF0aW9u
IHRvIGEgV2ViR0wgdGV4dHVyZS4gSXQgZHJhd3MgdGhlIEltYWdlIHRvIGFuIEltYWdlLQorICAg
ICAgICBCdWZmZXIsIGNyZWF0ZXMgYW5vdGhlciBJbWFnZSBvdXQgb2YgdGhlIEltYWdlQnVmZmVy
IGFuZCB0aGVuIGRyYXdzIHRoZQorICAgICAgICBvdGhlciBJbWFnZSB0byB0aGUgV2ViR0wgdGV4
dHVyZS4KKworICAgICAgICBCdXQgdGhlcmUgY2FuIGJlIHNtYWxsIGdsaXRjaGVzIGJldHdlZW4g
ZHJhd2luZyBhbiBJbWFnZSBkaXJlY3RseSB2ZXJzdXMKKyAgICAgICAgZG9pbmcgdGhlIEltYWdl
QnVmZmVyIHRyaWNrLiBTbyB0aGUgZXhwZWN0ZWQgcGFnZSB3aWxsIHVzZSBhbiBTVkcgaW1hZ2Ug
CisgICAgICAgIHRvIGVuc3VyZSB0aGUgc2FtZSBjb2RlIHBhdGggaXMgdXNlZCBmb3IgYm90aCB0
aGUgdGVzdCBhbmQgdGhlIGV4cGVjdGVkCisgICAgICAgIHBhZ2VzLgorCisgICAgICAgIFRoaXMg
U1ZHIGltYWdlIGluY2x1ZGVzIHRoZSBqcGVnIGltYWdlIHdpdGggbm8gRVhJRiBvcmllbnRhdGlv
biBidXQgYXMgYQorICAgICAgICBkYXRhIHVyaS4gQWxzbyB0aGUgc2NyaXB0IGhhcyB0byB3YWl0
IGFmdGVyIGxvYWRpbmcgdGhlIFNWRyBpbWFnZSB0aWxsCisgICAgICAgIHRoZSBiaXRtYXAgaW1h
Z2UgaXMgbG9hZGVkIGZyb20gdGhlIGRhdGEgdXJpIGVuY29kZWQgZGF0YS4KKworICAgICAgICAq
IGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24td2ViZ2wtdGV4dHVyZS1leHBlY3RlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLXdlYmdsLXRl
eHR1cmUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvcmVzb3VyY2VzL3dlYmds
LWRyYXctaW1hZ2UuanM6IEFkZGVkLgorCiAyMDE5LTEyLTE2ICB5b3Vlbm4gZmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBDb25zaWRlciB0b3AtbGV2ZWwgY29udGV4dCB3aG9z
ZSBvcmlnaW4gaXMgdW5pcXVlIGFzIGluc2VjdXJlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2lt
YWdlcy9leGlmLW9yaWVudGF0aW9uLXdlYmdsLXRleHR1cmUtZXhwZWN0ZWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLXdlYmdsLXRl
eHR1cmUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2lt
YWdlcy9leGlmLW9yaWVudGF0aW9uLXdlYmdsLXRleHR1cmUtZXhwZWN0ZWQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDEyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzxzdHls
ZT4KKyAgICBkaXYuY29udGFpbmVyIHsKKyAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwor
ICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IAorICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4
OyAKKyAgICAgICAgd2lkdGg6IDEwMHB4OyAKKyAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsK
KyAgICB9CisgICAgZGl2Lmhvcml6b250YWwgeworICAgICAgICB3aWR0aDogMTAycHg7CisgICAg
ICAgIGhlaWdodDogNTJweDsKKyAgICB9CisgICAgZGl2LnZlcnRpY2FsIHsKKyAgICAgICAgd2lk
dGg6IDUycHg7CisgICAgICAgIGhlaWdodDogMTAycHg7CisgICAgfQorICAgIGNhbnZhcyB7Cisg
ICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgIGhlaWdodDogNTBweDsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPHNjcmlwdCBp
ZD0idmVydGV4U2hhZGVyU291cmNlIiB0eXBlPSJ0ZXh0L2dsc2wiPgorICAgIGF0dHJpYnV0ZSB2
ZWM0IGFfcG9zaXRpb247CisgICAgdmFyeWluZyB2ZWMyIHZfdGV4dHVyZVBvc2l0aW9uOworCisg
ICAgdm9pZCBtYWluKCkgeworICAgICAgICB2X3RleHR1cmVQb3NpdGlvbiA9IHZlYzIoKGFfcG9z
aXRpb24ueCArIDEuMCkgLyAyLjAsIChhX3Bvc2l0aW9uLnkgKyAxLjApIC8gMi4wKTsKKyAgICAg
ICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBp
ZD0iZnJhZ21lbnRTaGFkZXJTb3VyY2UiIHR5cGU9InRleHQvZ2xzbCI+CisgICAgcHJlY2lzaW9u
IG1lZGl1bXAgZmxvYXQ7CisKKyAgICB2YXJ5aW5nIHZlYzIgdl90ZXh0dXJlUG9zaXRpb247CisK
KyAgICB1bmlmb3JtIHNhbXBsZXIyRCB0ZXh0dXJlOworCisgICAgdm9pZCBtYWluKCkgeworICAg
ICAgICBnbF9GcmFnQ29sb3IgPSB0ZXh0dXJlMkQodGV4dHVyZSwgdl90ZXh0dXJlUG9zaXRpb24p
OworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC1kcmF3LWlt
YWdlLmpzIj48L3NjcmlwdD4KKzxib2R5PgorICAgIDxiPldlYkdMUmVuZGVyaW5nQ29udGV4dC50
ZXhJbWFnZTJEKCkgc2hvdWxkIHJvdGF0ZSB0aGUgaW1hZ2VzIHJlc3BlY3RpbmcgdGhlaXIgRVhJ
RiBvcmllbnRhdGlvbi48L2I+CisgICAgPGJyPgorICAgIDxicj4KKyAgICA8ZGl2IGNsYXNzID0i
Y29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcyA9Imhvcml6b250YWwiPgorICAgICAgICAg
ICAgPGNhbnZhcyBjbGFzcz0iaG9yaXpvbnRhbCIgaWQ9ImNhbnZhczIiIHN0eWxlPSJ0cmFuc2Zv
cm06IHNjYWxlWCgtMSk7Ij48L2NhbnZhcz4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxicj5G
bGlwcGVkIGhvcml6b250YWxseQorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3MgPSJjb250YWlu
ZXIiPgorICAgICAgICA8ZGl2IGNsYXNzID0iaG9yaXpvbnRhbCI+CisgICAgICAgICAgICA8Y2Fu
dmFzIGNsYXNzPSJob3Jpem9udGFsIiBpZD0iY2FudmFzMyIgc3R5bGU9InRyYW5zZm9ybTogcm90
YXRlKDE4MGRlZyk7Ij48L2NhbnZhcz4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxicj5Sb3Rh
dGVkIDE4MCZkZWc7CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcyA9ImNvbnRhaW5lciI+Cisg
ICAgICAgIDxkaXYgY2xhc3MgPSJob3Jpem9udGFsIj4KKyAgICAgICAgICAgIDxjYW52YXMgY2xh
c3M9Imhvcml6b250YWwiIGlkPSJjYW52YXM0IiBzdHlsZT0idHJhbnNmb3JtOiBzY2FsZVgoLTEp
IHJvdGF0ZSgxODBkZWcpOyI+PC9jYW52YXM+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8YnI+
RmxpcHBlZCB2ZXJ0aWNhbGx5CisgICAgPC9kaXY+CisgICAgPGJyPgorICAgIDxkaXYgY2xhc3Mg
PSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzID0idmVydGljYWwiPgorICAgICAgICAg
ICAgPGNhbnZhcyBjbGFzcz0idmVydGljYWwiIGlkPSJjYW52YXM1IiBzdHlsZT0idHJhbnNmb3Jt
OiB0cmFuc2xhdGUoLTI1cHgsIDI1cHgpIHJvdGF0ZSg5MGRlZykgc2NhbGVZKC0xKTsiPjwvY2Fu
dmFzPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGJyPlJvdGF0ZWQgOTAmZGVnOyBDQ1cgYW5k
IGZsaXBwZWQgdmVydGljYWxseQorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3MgPSJjb250YWlu
ZXIiPgorICAgICAgICA8ZGl2IGNsYXNzID0idmVydGljYWwiPgorICAgICAgICAgICAgPGNhbnZh
cyBjbGFzcz0idmVydGljYWwiIGlkPSJjYW52YXM2IiBzdHlsZT0idHJhbnNmb3JtOiB0cmFuc2xh
dGUoLTI1cHgsIDI1cHgpIHJvdGF0ZSg5MGRlZyk7Ij48L2NhbnZhcz4KKyAgICAgICAgPC9kaXY+
CisgICAgICAgIDxicj5Sb3RhdGVkIDkwJmRlZzsgQ0NXCisgICAgPC9kaXY+CisgICAgPGRpdiBj
bGFzcyA9ImNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3MgPSJ2ZXJ0aWNhbCI+CisgICAg
ICAgICAgICA8Y2FudmFzIGNsYXNzPSJ2ZXJ0aWNhbCIgaWQ9ImNhbnZhczciIHN0eWxlPSJ0cmFu
c2Zvcm06IHRyYW5zbGF0ZSgtMjVweCwgMjVweCkgcm90YXRlKDI3MGRlZykgc2NhbGVZKC0xKTsi
PjwvY2FudmFzPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGJyPlJvdGF0ZWQgOTAmZGVnOyBD
VyBhbmQgZmxpcHBlZCB2ZXJ0aWNhbGx5CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcyA9ImNv
bnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3MgPSJ2ZXJ0aWNhbCI+CisgICAgICAgICAgICA8
Y2FudmFzIGNsYXNzPSJ2ZXJ0aWNhbCIgaWQ9ImNhbnZhczgiIHN0eWxlPSJ0cmFuc2Zvcm06IHRy
YW5zbGF0ZSgtMjVweCwgMjVweCkgcm90YXRlKDI3MGRlZyk7Ij48L2NhbnZhcz4KKyAgICAgICAg
PC9kaXY+CisgICAgICAgIDxicj5Sb3RhdGVkIDkwJmRlZzsgQ1cKKyAgICA8L2Rpdj4KKyAgICA8
YnI+CisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICAgICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworCisgICAgICAgIHdpbmRv
dy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3JBbGwoImNhbnZhcyIpLmZvckVhY2goY2FudmFzID0+IHsKKyAgICAgICAgICAgICAgICBjYW52
YXMud2lkdGggPSAxMDAgKiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzsKKyAgICAgICAgICAgICAg
ICBjYW52YXMuaGVpZ2h0ID0gNTAgKiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzsKKyAgICAgICAg
ICAgIH0pOworCisgICAgICAgICAgICB2YXIgaW1hZ2UgPSBuZXcgSW1hZ2U7CisgICAgICAgICAg
ICBpbWFnZS5zcmMgPSAiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAwJyBoZWlnaHQ9JzUwJz48aW1hZ2UgaHJlZj0nZGF0
YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovNEFBUVNrWkpSZ0FCQVFFQVNBQklBQUQvNFFDQ1JYaHBa
Z0FBVFUwQUtnQUFBQWdBQlFFU0FBTUFBQUFCQUFFQUFBRWFBQVVBQUFBQkFBQUFTZ0ViQUFVQUFB
QUJBQUFBVWdFb0FBTUFBQUFCQUFJQUFJZHBBQVFBQUFBQkFBQUFXZ0FBQUFBQUFBQklBQUFBQVFB
QUFFZ0FBQUFCQUFLZ0FnQUVBQUFBQVFBQUFHU2dBd0FFQUFBQUFRQUFBRElBQUFBQUFBRC80aG44
U1VORFgxQlNUMFpKVEVVQUFRRUFBQm5zWVhCd2JBSVFBQUJ0Ym5SeVVrZENJRmhaV2lBSDJnQUtB
QW9BREFBSkFEVmhZM053UVZCUVRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTl0
WUFBUUFBQUFEVExXRndjR3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJGa1pYTmpBQUFCVUFBQUFHSmtjMk50QUFBQnRBQUFBa0pq
Y0hKMEFBQUQrQUFBQU5CM2RIQjBBQUFFeUFBQUFCUnlXRmxhQUFBRTNBQUFBQlJuV0ZsYUFBQUU4
QUFBQUJSaVdGbGFBQUFGQkFBQUFCUnlWRkpEQUFBRkdBQUFDQXhoWVhKbkFBQU5KQUFBQUNCMlky
ZDBBQUFOUkFBQUJoSnVaR2x1QUFBVFdBQUFCajVqYUdGa0FBQVptQUFBQUN4dGJXOWtBQUFaeEFB
QUFDaGlWRkpEQUFBRkdBQUFDQXhuVkZKREFBQUZHQUFBQ0F4aFlXSm5BQUFOSkFBQUFDQmhZV2Ru
QUFBTkpBQUFBQ0JrWlhOakFBQUFBQUFBQUFoRWFYTndiR0Y1QUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBYld4MVl3QUFBQUFBQUFBU0FBQUFERzVzVGt3
QUFBQVdBQUFBNkdSaFJFc0FBQUFjQUFBQS9uQnNVRXdBQUFBU0FBQUJHbVZ1VlZNQUFBQVNBQUFC
TEc1aVRrOEFBQUFTQUFBQlBtWnlSbElBQUFBV0FBQUJVSEIwUWxJQUFBQVlBQUFCWm5CMFVGUUFB
QUFXQUFBQmZucG9RMDRBQUFBTUFBQUJsR1Z6UlZNQUFBQVNBQUFCb0dwaFNsQUFBQUFPQUFBQnNu
SjFVbFVBQUFBa0FBQUJ3SE4yVTBVQUFBQVFBQUFCNUhwb1ZGY0FBQUFPQUFBQjlHUmxSRVVBQUFB
UUFBQUNBbVpwUmtrQUFBQVFBQUFDRW1sMFNWUUFBQUFVQUFBQ0ltdHZTMUlBQUFBTUFBQUNOZ0JM
QUd3QVpRQjFBSElBWlFCdUFDMEFUQUJEQUVRQVRBQkRBRVFBTFFCbUFHRUFjZ0IyQUdVQWN3QnJB
T1lBY2dCdEFFc0Fid0JzQUc4QWNnQWdBRXdBUXdCRUFFTUFid0JzQUc4QWNnQWdBRXdBUXdCRUFF
WUFZUUJ5QUdjQVpRQXRBRXdBUXdCRUFFd0FRd0JFQUNBQVl3QnZBSFVBYkFCbEFIVUFjZ0JNQUVN
QVJBQWdBRU1BYndCc0FHOEFjZ0JwQUdRQWJ3Qk1BRU1BUkFBZ0FHRUFJQUJEQUc4QWNnQmxBSE5m
YVlKeUFDQUFUQUJEQUVRQVRBQkRBRVFBSUFCakFHOEFiQUJ2QUhJd3F6RHBNUHdBSUFCTUFFTUFS
QVFtQkRJRU5RUkNCRDBFUGdRNUFDQUVGZ1FhQUMwRU5BUTRCRUVFUHdRN0JEVUVPUUJHQU9RQWNn
Qm5BQzBBVEFCREFFUmZhWUp5YmJKbWRwaHZlVHBXYUFCR0FHRUFjZ0JpQUMwQVRBQkRBRVFBVmdE
a0FISUFhUUF0QUV3QVF3QkVBRXdBUXdCRUFDQUFZd0J2QUd3QWJ3QnlBR25PN0xmc0FDQUFUQUJE
QUVRQUFIUmxlSFFBQUFBQVEyOXdlWEpwWjJoMElFRndjR3hsTENCSmJtTXVMQ0F5TURFd0FBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQllX
Vm9nQUFBQUFBQUE4MUlBQVFBQUFBRVd6MWhaV2lBQUFBQUFBQUJuTWdBQU5mRUFBQUluV0ZsYUlB
QUFBQUFBQUdtWEFBQzdUZ0FBQjNGWVdWb2dBQUFBQUFBQUpnd0FBQTdCQUFESmxHTjFjbllBQUFB
QUFBQUVBQUFBQUFVQUNnQVBBQlFBR1FBZUFDTUFLQUF0QURJQU5nQTdBRUFBUlFCS0FFOEFWQUJa
QUY0QVl3Qm9BRzBBY2dCM0FId0FnUUNHQUlzQWtBQ1ZBSm9BbndDakFLZ0FyUUN5QUxjQXZBREJB
TVlBeXdEUUFOVUEyd0RnQU9VQTZ3RHdBUFlBK3dFQkFRY0JEUUVUQVJrQkh3RWxBU3NCTWdFNEFU
NEJSUUZNQVZJQldRRmdBV2NCYmdGMUFYd0Jnd0dMQVpJQm1nR2hBYWtCc1FHNUFjRUJ5UUhSQWRr
QjRRSHBBZklCK2dJREFnd0NGQUlkQWlZQ0x3STRBa0VDU3dKVUFsMENad0p4QW5vQ2hBS09BcGdD
b2dLc0FyWUN3UUxMQXRVQzRBTHJBdlVEQUFNTEF4WURJUU10QXpnRFF3TlBBMW9EWmdOeUEzNERp
Z09XQTZJRHJnTzZBOGNEMHdQZ0Erd0QrUVFHQkJNRUlBUXRCRHNFU0FSVkJHTUVjUVIrQkl3RW1n
U29CTFlFeEFUVEJPRUU4QVQrQlEwRkhBVXJCVG9GU1FWWUJXY0Zkd1dHQlpZRnBnVzFCY1VGMVFY
bEJmWUdCZ1lXQmljR053WklCbGtHYWdaN0Jvd0duUWF2QnNBRzBRYmpCdlVIQndjWkJ5c0hQUWRQ
QjJFSGRBZUdCNWtIckFlL0I5SUg1UWY0Q0FzSUh3Z3lDRVlJV2dodUNJSUlsZ2lxQ0w0STBnam5D
UHNKRUFrbENUb0pUd2xrQ1hrSmp3bWtDYm9KendubENmc0tFUW9uQ2owS1ZBcHFDb0VLbUFxdUNz
VUszQXJ6Q3dzTElnczVDMUVMYVF1QUM1Z0xzQXZJQytFTCtRd1NEQ29NUXd4Y0RIVU1qZ3luRE1B
TTJRenpEUTBOSmcxQURWb05kQTJPRGFrTnd3M2VEZmdPRXc0dURra09aQTUvRHBzT3RnN1NEdTRQ
Q1E4bEQwRVBYZzk2RDVZUHN3L1BEK3dRQ1JBbUVFTVFZUkIrRUpzUXVSRFhFUFVSRXhFeEVVOFJi
UkdNRWFvUnlSSG9FZ2NTSmhKRkVtUVNoQktqRXNNUzR4TURFeU1UUXhOakU0TVRwQlBGRStVVUJo
UW5GRWtVYWhTTEZLMFV6aFR3RlJJVk5CVldGWGdWbXhXOUZlQVdBeFltRmtrV2JCYVBGcklXMWhi
NkZ4MFhRUmRsRjRrWHJoZlNGL2NZR3hoQUdHVVlpaGl2R05VWStoa2dHVVVaYXhtUkdiY1ozUm9F
R2lvYVVScDNHcDRheFJyc0d4UWJPeHRqRzRvYnNodmFIQUljS2h4U0hIc2NveHpNSFBVZEhoMUhI
WEFkbVIzREhld2VGaDVBSG1vZWxCNitIdWtmRXg4K0gya2ZsQisvSCtvZ0ZTQkJJR3dnbUNERUlQ
QWhIQ0ZJSVhVaG9TSE9JZnNpSnlKVklvSWlyeUxkSXdvak9DTm1JNVFqd2lQd0pCOGtUU1I4Sktz
azJpVUpKVGdsYUNXWEpjY2w5eVluSmxjbWh5YTNKdWduR0NkSkozb25xeWZjS0Ewb1B5aHhLS0lv
MUNrR0tUZ3BheW1kS2RBcUFpbzFLbWdxbXlyUEt3SXJOaXRwSzUwcjBTd0ZMRGtzYml5aUxOY3RE
QzFCTFhZdHF5M2hMaFl1VEM2Q0xyY3U3aThrTDFvdmtTL0hMLzR3TlRCc01LUXcyekVTTVVveGdq
RzZNZkl5S2pKak1wc3kxRE1OTTBZemZ6TzRNL0UwS3pSbE5KNDAyRFVUTlUwMWh6WENOZjAyTnpa
eU5xNDI2VGNrTjJBM25EZlhPQlE0VURpTU9NZzVCVGxDT1g4NXZEbjVPalk2ZERxeU91ODdMVHRy
TzZvNzZEd25QR1U4cER6alBTSTlZVDJoUGVBK0lENWdQcUErNEQ4aFAyRS9vai9pUUNOQVpFQ21R
T2RCS1VGcVFheEI3a0l3UW5KQ3RVTDNRenBEZlVQQVJBTkVSMFNLUk01RkVrVlZSWnBGM2tZaVJt
ZEdxMGJ3UnpWSGUwZkFTQVZJUzBpUlNOZEpIVWxqU2FsSjhFbzNTbjFLeEVzTVMxTkxta3ZpVENw
TWNreTZUUUpOU2syVFRkeE9KVTV1VHJkUEFFOUpUNU5QM1ZBblVIRlF1MUVHVVZCUm0xSG1VakZT
ZkZMSFV4TlRYMU9xVS9aVVFsU1BWTnRWS0ZWMVZjSldEMVpjVnFsVzkxZEVWNUpYNEZndldIMVl5
MWthV1dsWnVGb0hXbFphcGxyMVcwVmJsVnZsWERWY2hseldYU2RkZUYzSlhocGViRjY5WHc5ZllW
K3pZQVZnVjJDcVlQeGhUMkdpWWZWaVNXS2NZdkJqUTJPWFkrdGtRR1NVWk9sbFBXV1NaZWRtUFdh
U1p1aG5QV2VUWitsb1AyaVdhT3hwUTJtYWFmRnFTR3FmYXZkclQydW5hLzlzVjJ5dmJRaHRZRzI1
YmhKdWEyN0VieDV2ZUcvUmNDdHdobkRnY1RweGxYSHdja3R5cG5NQmMxMXp1SFFVZEhCMHpIVW9k
WVYxNFhZK2RwdDIrSGRXZDdONEVYaHVlTXg1S25tSmVlZDZSbnFsZXdSN1kzdkNmQ0Y4Z1h6aGZV
RjlvWDRCZm1KK3duOGpmNFIvNVlCSGdLaUJDb0ZyZ2MyQ01JS1NndlNEVjRPNmhCMkVnSVRqaFVl
RnE0WU9obktHMTRjN2g1K0lCSWhwaU02Sk00bVppZjZLWklyS2l6Q0xsb3Y4akdPTXlvMHhqWmlO
LzQ1bWpzNlBObytla0FhUWJwRFdrVCtScUpJUmtucVM0NU5OazdhVUlKU0tsUFNWWDVYSmxqU1du
NWNLbDNXWDRKaE1tTGlaSkptUW1meWFhSnJWbTBLYnI1d2NuSW1jOTUxa25kS2VRSjZ1bngyZmk1
LzZvR21nMktGSG9iYWlKcUtXb3dhamRxUG1wRmFreDZVNHBhbW1HcWFMcHYybmJxZmdxRktveEtr
M3FhbXFIS3FQcXdLcmRhdnByRnlzMEsxRXJiaXVMYTZocnhhdmk3QUFzSFd3NnJGZ3NkYXlTN0xD
c3ppenJyUWx0SnkxRTdXS3RnRzJlYmJ3dDJpMzRMaFp1Tkc1U3JuQ3VqdTZ0YnN1dTZlOElieWJ2
Ulc5ajc0S3ZvUysvNzk2di9YQWNNRHN3V2ZCNDhKZnd0dkRXTVBVeEZIRXpzVkx4Y2pHUnNiRHgw
SEh2OGc5eUx6Sk9zbTV5ampLdDhzMnk3Yk1OY3kxelRYTnRjNDJ6cmJQTjgrNDBEblF1dEU4MGI3
U1A5TEIwMFRUeHRSSjFNdlZUdFhSMWxYVzJOZGMxK0RZWk5qbzJXelo4ZHAyMnZ2YmdOd0YzSXJk
RU4yVzNoemVvdDhwMzYvZ051Qzk0VVRoek9KVDR0dmpZK1ByNUhQay9PV0U1ZzNtbHVjZjU2bm9N
dWk4NlVicDBPcGI2dVhyY092NzdJYnRFZTJjN2lqdXRPOUE3OHp3V1BEbDhYTHgvL0tNOHhuenAv
UTA5TUwxVVBYZTltMzIrL2VLK0JuNHFQazQrY2Y2Vi9ybiszZjhCL3lZL1NuOXV2NUwvdHovYmYv
L2NHRnlZUUFBQUFBQUF3QUFBQUptWmdBQThxY0FBQTFaQUFBVDBBQUFDc0IyWTJkMEFBQUFBQUFB
QUFBQUF3RUFBQUlBQUFCV0FZa0NjUU00QkJZRTVRWElCcWNIandoNUNXVUtXd3RWREZFTlZnNVNE
MW9RWUJGb0VtNFRoaFRGRmhFWFd4aW1HZkViUEJ5SEhka2ZNQ0IrSWRRakt5U0RKZDBuT2lpWUtm
WXJWQ3kwTGhVdmVURGhNa3d6c2pVY05vWTM3emxVT3J3OElqMklQdTVBVWtHMVF4aEVlRVhaUnpo
SWwwbjFTMVJNcTAzalR4TlFRVkZ0VXBkVHdWVG1WZ3BYS1ZoR1dWNWFjbHVEWEpCZG0xNmhYNlpn
cUdHbllxZGpvMlNlWlpCbWYyZHVhRjVwVG1vOGF5dHNHMjBMYmZwdTZXL1ljTWR4dDNLbmM1WjBo
WFYwZG1OM1VuaEJlU3g2RjNzQmUreDgxMzNCZnF4L2w0Q0JnVzJDV0lORGhDNkZHb1lGaHZHSDNJ
aklpYlNLb0l1TWpJMk5qNDZPajQ2UWpwR05rb3VUaUpTQ2xYMldkSmRzbUdLWlZwcEptenVjTEow
Y25ndWUrcC9tb002aHM2S1lvM3lrWXFWSXBpNm5GS2Y3cU9LcHlxcXhxNXFzZ3Exc3JsV3ZQN0Fw
c1JPeC9yTG9zOU8wdUxXY3RvQzNZN2hGdVNlNkNMcm91OGU4cGIyQnZseS9OOEFRd09uQndjS1l3
MjdFUThVWnhmSEcwTWV6eUpiSmVzcGV5MExNS00wT3pmWE8zTS9FMEt6UmxkSiswMmZVVU5VNjFp
UFhEZGYzMk9IWjB0ckMyN0xjb3QyUjNvRGZiK0JkNFVyaU5lTWc1QXJrOHVYWjVyL25wT2lINld2
cVRlc3U3QXpzMSsyZzdtdnZOL0FGOE5meHJQS0U4MkQwUWZVbDlnLzIvZmZ3K09qNTR2cmkrK1A4
NXYzdC92VC8vd0FBQUZZQlJRSkJBeThEN2dUQkJZY0dVd2N1Q0JVSTV3bkdDcVlMakF4MkRWOE9T
QTgzRUIwUkN4SCtFeThVWGhXVUZzd1lBeGszR21nYm9SemRIaG9mVVNDT0ljd2pDaVJISllVbXlT
Z0lLVW9xaml2VUxSOHVhQysxTVFNeVR6T1pOT00yTFRkM09NSTZDenRUUEpzOTRUOHBRRzFCc2tM
NVJENUZnMGE4UjloSTZVbjRTd1pNRVUwZVRpZFBMMUF6VVRaU05sTXpWQzFWSlZZYlZ3OVlBRmp2
V2Q1YXpWdTZYS0ZkZ0Y1Ylh6VmdEMkRwWWNSaW9HTjdaRlZsTDJZS1p1Vm53R2liYVhkcVVXc3Ni
QWRzNG0yOWJwbHZjbkJNY1NaeUFITGFjN04walhWbmRrRjNHM2YwZU01NXAzcUNlMXQ4TkgwTWZl
Wit2MytZZ0hPQldJSStneU9FQ0lUdWhkU0d1b2VnaUlXSmE0cFFpeldNR1l6L2plU095SSt1a0pL
UmRwSmJreitVSUpVQWxkK1d2NWVnbUlHWllacENteU9jQkp6bG5jZWVxWitMb0c2aFVLSXpveFdq
K0tUYnBiNm1vcWVDcUdLcFFxb2lxd09yNDZ6RHJhU3VnNjlrc0VTeEpMSUVzdVN6eGJTbHRZUzJa
TGRFdUNTNUJybnN1dFc3dnJ5cHZaTytmcjlyd0ZuQlI4STN3eWpFR3NVT3hnTEcrTWZ1eU9YSjNj
cld5OC9NeWMzTXpzL1AwZERUMGRiUzJOUGExTnpWM3RiZzErTFk1Tm5tMnVmYjZ0enMzZkRlODkv
MjRQbmlBZU1sNUU3bGVlYW41OW5wRWVwTzY1SHMyZTRxNzRQdzQvSk04N3YxTS9hditEUDV1L3RH
L05mK2FmLy9BQUFBVmdFdUFlc0NuUU5UQkFnRXVRVjJCallHOFFlNENINEpTQW9jQ3ZBTHhBeVdE
V29PUlE4aEQvNFJCaElXRXlvVU9SVkZGbFlYYWhpQUdaVWFyUnZGSE40ZCtoOFVJREFoVGlKdkk0
NGtyU1hQSnZNb0dDay9LbWNyakN5d0xkY3UvVEFoTVVZeWFET0tOS3cxelRic09BdzVLRHBJTzJR
OGZ6MmNQcTQvcTBDZVFZOUNma05yUkZoRlFFWW1Sd2xINkVqRlNaNUtkRXRHVEJSTTRFMnFUbkpQ
TmsvNlVMMVJmbEk2VXZWVHNGUnJWU1ZWMzFhYVYxUllEbGpIV1lGYU9scnpXNnhjWjEwZlhkZGVr
RjlKWUFGZ3ZHRjZZamxpOTJPMlpIUmxNbVh4WnE5bmJXZ3FhT2hwcG1wa2F5QnIzV3lhYlZadUUy
N1BiNHR3U0hFRmNjTnlnWE0rYy94MHVYVjRkalYyOFhldWVHdDVKM25qZXA5N1czd1dmTko5am41
SWZ3Ti93NENNZ1ZpQ0pZTHhnNzJFaW9WV2hpT0c3NGU3aUllSlVvb2VpdXFMdFl5QWpVdU9Gbzdo
ajZ5UWRwRkNrZytTM0pPcGxIYVZRNVlSbHQ2WHE1aDVtVWFhRkpyaG02K2NmWjFNbmhxZTZKKzJv
SVNoVTZJbG92dWoxcVN3cFlxbVpLYy9xQnVvOXFuU3FxK3JqS3hwclVldUpxOEVyK1N3dzdHanNv
T3paTFJLdFRxMk1MY251Qis1R0xvVXV4RzhFYjBVdmh1L0pjQXl3VVRDV2NOenhJL0ZyOGJTeC9u
SklNcGR5K0hOaU04MDBPWFNvTlJuMWo3WUt0b3QzRTNlaitEeTQzM21MZWtBNi9QdkN2SkI5WS80
OC94di8vOEFBRzVrYVc0QUFBQUFBQUFHTmdBQXBCSUFBRmJWQUFCVmN3QUFwQklBQUNVL0FBQU56
QUFBVUEwQUFGUTVBQUtGSGdBQ0Z3b0FBWXpNQUFNQkFBQUNBQUFBQVFBQ0FBWUFDd0FTQUJvQUpB
QXZBRHdBU2dCWkFHb0Fld0NQQUtNQXVRRFFBT2tCQXdFYkFUSUJTZ0ZqQVgwQm1BRzBBZEVCN3dJ
T0FpMENUUUp2QXBFQ3RBTFlBdjBESWdOSkEzQURtQVBCQStzRUZnUkNCRzRFbkFUS0JQa0ZLQVZZ
QllvRnZBWHZCaU1HV0FhT0JzWUcvZ2MzQjNJSHJRZnFDQ2NJWmdpbUNPY0pLUWx0Q2JFSjl3bytD
b1lLendzYUMyVUxzUXdHREdFTXZRMGNEWHdOM3c1RERxa1BFdzkrRCswUVhoRFRFVXNSeGhKRkVz
WVRUQlBWRkdFVThSV0RGaGtXc1JkU0YvZ1lvQmxLR2ZjYXB4dFpIQTBjeEIxK0hqb2UrUis2SUgw
aFF5SU1JdGdqcGlSM0pVb21KQ2NCSitBb3dpbW5LbzRyZUN4bExWTXVSUzg2TURFeEtqSW1NeVUw
SnpVck5qSTNPemd4T1NrNkpUc2pQQ1E5S0Q0dlB6cEFTa0ZjUW5SRGowU3VSZEpHK2tnbVNWWktp
a3ZDVFAxT1JFK1NVT05TT0ZPTlZPWldRVmVmV1A5YVlWdkdYUzFlbG1BQllXOWkzMlJTWmNkblFH
aTVha0ZyekcxY2J2QndpWEltYzhsMWNYY2ZlTlI2am54UGZoUi8zNEd3ZzRlRllvZEFpUTJLMTR5
aWptK1FRSklSaytTVnVaZVBtV2liUTUwZ252K2c0YUxGcEs2bW1LaUZxbldzV3E1RHNDK3lIN1FT
dGdxNEJib0d2QTIrR2NBcndrUEVZY2FHeUxMSzRzMFp6MVhSbHRRYTFxZlpNOXU3M2pyZ3MrTWk1
WWZuNHVvejdIcnV1UER1OHlEMVN2ZHorWm43dS8zZy8vOEFBQUFCQUFNQUJnQU1BQk1BSFFBb0FE
UUFRd0JUQUdVQWVBQ05BS1FBdkFEWEFQTUJFQUVvQVVJQlhBRjRBWlFCc2dIUkFmSUNFd0kxQWxn
Q2ZBS2lBc2dDOEFNWUEwSURiUU9aQThZRDh3UWpCRk1FaEFTMkJPa0ZIQVZSQllZRnZRWDBCaTBH
WndhakJ0OEhIUWRjQjV3SDNRZ2dDR1FJcVFqd0NUZ0pnUW5NQ2hnS1pRcXpDd01MVkF1bURBSU1a
d3pPRFRnTnBBNFREb01POXc5dEQrY1FZeERqRVdjUjdoSjVFd2NUbVJRdkZNZ1ZaQllERnFZWFZS
Z0tHTU1aZnhvOUd2NGJ3aHlLSFZRZUlSN3hIOFVnbWlGMElsQWpMeVFTSlBZbDRDYk5KN3dvcnlt
bUtwOHJuQ3liTFo0dXBDK3VNTG94eWpMZU0vVTFEellzTjBzNFhqbDFPbzg3cXp6S1Bldy9FVUE2
UVdWQ2xFUEdSUHRHTWtkdVNLdEo3VXN5VEhoTnhVOFpVSEZSekZNcFZJaFY3RmRSV0xwYUpsdVVY
UVZlZUYvdVlXaGk0MlJqWmVSbmFtandhb0ZzRkcycmIwUnc0WEtCZENSMXpIZDFlU042MUh5SWZq
OS8rWUc0ZzNtRlA0Y0dpTWFLaEl4RGpnT1B4NUdLazA2VkU1YlptSithWnB3dG5mV2Z2YUdIbzFL
bEg2YnNxTHVxaTZ4T3JoT3YzYkdwczNlMVNMY2J1UEc2eTd5bXZvWEFaY0pKeEMvR0ZzZ0J5ZXpM
MnMzTHo3M1JzZE55MVMzVzU5aWcybGZjQ3QyMzMyUGhDZUtxNUVqbDN1ZHU2UHJxZ3V3RDdZRHUr
L0J3OGVQelZQVEE5aXYzbHZrQSttZjd6ZjAxL3B2Ly93QUFBQUVBQkFBSkFCRUFHd0FuQURZQVJn
QlpBRzBBZ3dDYkFMWUEwZ0R3QVJBQkxBRkpBV2NCaHdHcEFjd0I4QUlWQWp3Q1pBS05BcmdDNUFN
UkEwQURjQU9oQTlNRUJ3UThCSE1FcWdUakJSMEZXQVdVQmRJR0VnWlRCcFVHMlFjZkIyWUhyd2Y2
Q0VZSWxBamtDVFlKaVFuZkNqVUtqZ3JwQzBVTG93d0xESDBNOGcxcURlWU9aQTdvRDI4UCt4Q01F
U01SdnhKaUV3c1R1aFJ2RlNzVjZ4YXhGNEVZVmhrd0dnNGE4QnZYSE1JZHNoNm1INThnbXlHZElx
TWpyaVM4SmNrbTF5ZnBLUUVxSENzN0xGOHRpQzYxTCtZeEhESlhNNWMwMnpZa04zQTR2am9STzJr
OHhUNGtQNGxBODBKaVE5WkZUMGJNU0U5SjFrdGpUUE5PYmsvbFVWOVMzbFJmVmVaWGIxaitXcEJj
SjEzQlgyQmhCR0tyWkZkbUJtZTdhWEJySjJ6aGJxQndZWEluYy9GMXZuZVBlV043UEgwV2Z2V0Ey
SUsraEttR2xvaDZpbFdNTW80VGovaVIzcFBIbGJLWG9KbVFtNEtkZHA5c29XV2pZS1ZmcDE2cFlh
dFRyVEd2RDdEdHNzeTBxcmFIdUdLNk9yd1B2ZUMvcnNGNHd6M0ZBTWEveUh2S05jdnR6YUxQV2RF
TzBvblR5OVVCMWpmWGJOaWcyZExiQU53dDNWVGVkOStXNEs3aHdlTE40OWJrMWVYUjVzVG5zdWlj
NlgzcVgrczE3QXpzM2UybjduTHZOdS80OExueGRQSXU4dW56blBSUDlRTDFzUFpkOXdyM3RQaGQr
UWI1cmZwUyt2ajduZncvL09IOWcvNGovc0wvWVAvL0FBQnpaak15QUFBQUFBQUJERUlBQUFYZS8v
L3pKZ0FBQjVJQUFQMlIvLy83b3YvLy9hTUFBQVBjQUFEQWJHMXRiMlFBQUFBQUFBQUdFQUFBbkxj
QUFBQUF4a09FZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUQvMndCREFBSUJBUUlCQVFJQ0FRSUNBZ0lD
QXdVREF3TURBd1lFQkFNRkJ3WUhCd2NHQmdZSENBc0pCd2dLQ0FZR0NRMEpDZ3NMREF3TUJ3a05E
ZzBNRGdzTURBdi8yd0JEQVFJQ0FnTUNBd1VEQXdVTENBWUlDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3
c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3d2L3dBQVJDQUF5QUdR
REFTSUFBaEVCQXhFQi84UUFId0FBQVFVQkFRRUJBUUVBQUFBQUFBQUFBQUVDQXdRRkJnY0lDUW9M
LzhRQXRSQUFBZ0VEQXdJRUF3VUZCQVFBQUFGOUFRSURBQVFSQlJJaE1VRUdFMUZoQnlKeEZES0Jr
YUVJSTBLeHdSVlMwZkFrTTJKeWdna0tGaGNZR1JvbEppY29LU28wTlRZM09EazZRMFJGUmtkSVNV
cFRWRlZXVjFoWldtTmtaV1puYUdscWMzUjFkbmQ0ZVhxRGhJV0doNGlKaXBLVGxKV1dsNWlabXFL
anBLV21wNmlwcXJLenRMVzJ0N2k1dXNMRHhNWEd4OGpKeXRMVDFOWFcxOWpaMnVIaTQrVGw1dWZv
NmVyeDh2UDA5ZmIzK1BuNi84UUFId0VBQXdFQkFRRUJBUUVCQVFBQUFBQUFBQUVDQXdRRkJnY0lD
UW9MLzhRQXRSRUFBZ0VDQkFRREJBY0ZCQVFBQVFKM0FBRUNBeEVFQlNFeEJoSkJVUWRoY1JNaU1v
RUlGRUtSb2JIQkNTTXpVdkFWWW5MUkNoWWtOT0VsOFJjWUdSb21KeWdwS2pVMk56ZzVPa05FUlVa
SFNFbEtVMVJWVmxkWVdWcGpaR1ZtWjJocGFuTjBkWFozZUhsNmdvT0VoWWFIaUltS2twT1VsWmFY
bUptYW9xT2twYWFucUttcXNyTzB0YmEzdUxtNndzUEV4Y2JIeU1uSzB0UFUxZGJYMk5uYTR1UGs1
ZWJuNk9ucTh2UDA5ZmIzK1BuNi85b0FEQU1CQUFJUkF4RUFQd0Q0cm9vb3IrVnorSndvb29vQUtL
NUhWL2psNGIwTy9OdHFOenFBaysxbXhVeDZWZHlwSk9DUjVTT2tSVjM0UENrbmcxdStGL0ZkajR5
MDFydlFKSlpJVmxhRnZOZ2tnZEhVNFpXU1JWWUVIMUZkTlRCNGlqQlZLbE9TaStyVFMrODdLMlg0
ckQwMVZxMHBSaStyaTB2dmFzZnV0L3dSOC81UjBmRHYvdUpmK25PN3I2WHI1by80SStmOG82UGgz
LzNFdi9UbmQxOUp3M2NWekpLbHZMSEk4RCtYS3FzQ1kyMmh0ckRzZHJLY0hzUWU5ZjVsY2RwdmlY
TmYrd2l0L3dDbkpIOTljRi84azlsdi9YaWwvd0NtNGtsRkZGZkpuMHdVVVVVQUZGRkZBSDgwZEZm
TDMvQ3dOZS82RGVyL0FQZ1pKLzhBRlVmOExBMTcvb042di80R1NmOEF4VmY5UUgvRk5qaVgvb2ZZ
Zi93WFVQNE4vd0JSYS84QXorajl6UHFHaXZsNy9oWUd2ZjhBUWIxZi93QURKUDhBNHFqL0FJV0Jy
My9RYjFmL0FNREpQL2lxUCtLYkhFdi9BRVBzUC80THFCL3FMWC81L1IrNW5ydnh5Z2l0THp3SWx1
a2NTdDRzdDMycUFBV1pKeXh4Nmtra251VFZmNG4zMDkzOFNiTHcvYmFrbWlXK29hZFBkeHV0eEph
TmRYUVpWQjgyTWdzMGFET3pPR0IrWUVLSzhYMSs2bDhWelF5ZUtKSk5Ta3Q4aUpycGpNMFdlVHRM
WngwSFQwcDJ2NmxjZUs3YUtIeFJjVDZsREMyNk9PNmtNeW9jWXlBeElCeHhYczRmOW5UeEJTVkxt
ejJnM0ZTVC9kejNidW1ydlczbmI5VDZEQzhOdWlxQ25WdTRLYWJ0MWsyMDFkNjI4N2VUVDFYNnpm
c2xmSGJ4cDhIL0FObW40T2VLL0VHdStKL0Zud3AwSFM3Q0hYcnJ3YjRpbTAyLzhJM1QrS2RTeHFk
MXBRS3g2cllYNGppdG15WkNpUXpORUZKeS93QnUvd0RCSW53N3BHaDNQeDRuaDhRYTdxZXVYUHha
OFQyYzF0cVhpVzcxRHk0TFcrTWNUSmJUek1zVEJKSWxhUlVET1BMM3MyRngrSm53TzFtOHV2QlBo
blY3bTd1cE5WMGlQeWJHOWFWamNXU1JYa3R4RWtVbWR5S2t6TktvVWdLN0ZoaGptdlRQQ254cjha
K0JQR212K0pQQS9pN3hQbzNpTHhXOGNtdDZwWTZyUGIzdXNOR0NJemRUbzRlY3FHWUtYSnh1T090
ZjVFZU12Z2hXd0diNS93QU13eFVZMWFlSnJVNVRqRnhqTjBxOGtyeHZhMTFLVjRxS2Z1WHA4L1BV
bC9xYjRlL1JTempQZUdjb3pPR1kwb3dyVU1QVlVYQ1YwcFVOdExMVG1qb3RMcHRKSjJYOUdWRmZ6
NWY4Tm9mR0wvb3JIeEwvQVBDbnZ2OEE0N1IvdzJoOFl2OEFvckh4TC84QUNudnYvanRmemwveExY
bWYvUWZUL3dEQVpIMy9BUHhLTm0vL0FFTTZYL2dNeitnMml2NTh2K0cwUGpGLzBWajRsLzhBaFQz
My93QWRvLzRiUStNWC9SV1BpWC80VTk5Lzhkby80bHJ6UC9vUHAvOEFnTWcvNGxHemYvb1owdjhB
d0daL1FiUlg4K1gvQUEyaDhZditpc2ZFdi93cDc3LzQ3UlIveExYbWYvUWZULzhBQVpCL3hLTm0v
d0QwTTZYL0FJRE0vUGlpaWl2KzJjL3lkQ2lpaWdBb29vb0EramZnUC95U2pTdisyMy9vNTY2K3VR
K0Evd0R5U2pTdisyMy9BS09ldXZyL0FKclBIYi9rNVhGSC9ZZmpQL1Vpb2Y4QVFONE1mOG0vNGMv
N0FzSi82WXBoUlJSWDVVZnBRVVVVVUFGRkZGQUh5SFJSUlgvVlFmOEFOZUZGRkZBQlJSUlFCOUcv
QWY4QTVKUnBYL2JiL3dCSFBYWDBVVi96V2VPMy9KeXVLUDhBc1B4bi9xUlVQK2did1kvNU4vdzUv
d0JnV0UvOU1Vd29vb3I4cVAwb0tLS0tBQ2lpaWdELzJRPT0nIHdpZHRoPScxMDAnIGhlaWdodD0n
NTAnLz48L3N2Zz4iOworICAgICAgICAgICAgaW1hZ2UuZGVjb2RlKCkudGhlbigoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiY2FudmFzIikuZm9yRWFjaChjYW52YXMgPT4g
eworICAgICAgICAgICAgICAgICAgICAgICAgY2FudmFzLndpZHRoID0gaW1hZ2Uud2lkdGggKiB3
aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhbnZhcy5o
ZWlnaHQgPSBpbWFnZS5oZWlnaHQgKiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHdlYmdsRHJhd0ltYWdlKGNhbnZhcywgaW1hZ2UpOworICAgICAgICAg
ICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CisgICAgICAgICAgICAgICAgfSwgMTAwKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9
CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9l
eGlmLW9yaWVudGF0aW9uLXdlYmdsLXRleHR1cmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLXdlYmdsLXRleHR1cmUuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLXdl
YmdsLXRleHR1cmUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzNCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgICBkaXYuY29udGFpbmVyIHsKKyAgICAgICAg
ZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7CisgICAg
ICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAg
dmVydGljYWwtYWxpZ246IHRvcDsKKyAgICB9CisgICAgZGl2Lmhvcml6b250YWwgeworICAgICAg
ICB3aWR0aDogMTAyOworICAgICAgICBoZWlnaHQ6IDUycHg7CisgICAgfQorICAgIGRpdi52ZXJ0
aWNhbCB7CisgICAgICAgIHdpZHRoOiA1MnB4OworICAgICAgICBoZWlnaHQ6IDEwMnB4OworICAg
IH0KKyAgICBjYW52YXMgeworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICB9
CisgICAgY2FudmFzLmhvcml6b250YWwgeworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
IGhlaWdodDogNTBweDsKKyAgICB9CisgICAgY2FudmFzLnZlcnRpY2FsIHsKKyAgICAgICAgd2lk
dGg6IDUwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxzY3JpcHQgaWQ9InZlcnRleFNoYWRlclNvdXJjZSIgdHlwZT0idGV4dC9nbHNsIj4KKyAg
ICBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOworICAgIHZhcnlpbmcgdmVjMiB2X3RleHR1cmVQ
b3NpdGlvbjsKKworICAgIHZvaWQgbWFpbigpIHsKKyAgICAgICAgdl90ZXh0dXJlUG9zaXRpb24g
PSB2ZWMyKChhX3Bvc2l0aW9uLnggKyAxLjApIC8gMi4wLCAoYV9wb3NpdGlvbi55ICsgMS4wKSAv
IDIuMCk7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgICB9Cis8L3Njcmlw
dD4KKzxzY3JpcHQgaWQ9ImZyYWdtZW50U2hhZGVyU291cmNlIiB0eXBlPSJ0ZXh0L2dsc2wiPgor
ICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCisgICAgdmFyeWluZyB2ZWMyIHZfdGV4dHVy
ZVBvc2l0aW9uOworCisgICAgdW5pZm9ybSBzYW1wbGVyMkQgdGV4dHVyZTsKKworICAgIHZvaWQg
bWFpbigpIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdGV4dHVyZTJEKHRleHR1cmUsIHZfdGV4
dHVyZVBvc2l0aW9uKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
d2ViZ2wtZHJhdy1pbWFnZS5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKyAgICA8Yj5XZWJHTFJlbmRl
cmluZ0NvbnRleHQudGV4SW1hZ2UyRCgpIHNob3VsZCByb3RhdGUgdGhlIGltYWdlcyByZXNwZWN0
aW5nIHRoZWlyIEVYSUYgb3JpZW50YXRpb24uPC9iPgorICAgIDxicj4KKyAgICA8YnI+CisgICAg
PGRpdiBjbGFzcyA9ImNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3MgPSJob3Jpem9udGFs
Ij4KKyAgICAgICAgICAgIDxjYW52YXMgY2xhc3M9Imhvcml6b250YWwiIGlkPSJjYW52YXMyIj48
L2NhbnZhcz4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxicj5GbGlwcGVkIGhvcml6b250YWxs
eQorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3MgPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2
IGNsYXNzID0iaG9yaXpvbnRhbCI+CisgICAgICAgICAgICA8Y2FudmFzIGNsYXNzPSJob3Jpem9u
dGFsIiBpZD0iY2FudmFzMyI+PC9jYW52YXM+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8YnI+
Um90YXRlZCAxODAmZGVnOworICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3MgPSJjb250YWluZXIi
PgorICAgICAgICA8ZGl2IGNsYXNzID0iaG9yaXpvbnRhbCI+CisgICAgICAgICAgICA8Y2FudmFz
IGNsYXNzPSJob3Jpem9udGFsIiBpZD0iY2FudmFzNCI+PC9jYW52YXM+CisgICAgICAgIDwvZGl2
PgorICAgICAgICA8YnI+RmxpcHBlZCB2ZXJ0aWNhbGx5CisgICAgPC9kaXY+CisgICAgPGJyPgor
ICAgIDxkaXYgY2xhc3MgPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzID0idmVydGlj
YWwiPgorICAgICAgICAgICAgPGNhbnZhcyBjbGFzcz0idmVydGljYWwiIGlkPSJjYW52YXM1Ij48
L2NhbnZhcz4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxicj5Sb3RhdGVkIDkwJmRlZzsgQ0NX
IGFuZCBmbGlwcGVkIHZlcnRpY2FsbHkKKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzID0iY29u
dGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcyA9InZlcnRpY2FsIj4KKyAgICAgICAgICAgIDxj
YW52YXMgY2xhc3M9InZlcnRpY2FsIiBpZD0iY2FudmFzNiI+PC9jYW52YXM+CisgICAgICAgIDwv
ZGl2PgorICAgICAgICA8YnI+Um90YXRlZCA5MCZkZWc7IENDVworICAgIDwvZGl2PgorICAgIDxk
aXYgY2xhc3MgPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzID0idmVydGljYWwiPgor
ICAgICAgICAgICAgPGNhbnZhcyBjbGFzcz0idmVydGljYWwiIGlkPSJjYW52YXM3Ij48L2NhbnZh
cz4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxicj5Sb3RhdGVkIDkwJmRlZzsgQ1cgYW5kIGZs
aXBwZWQgdmVydGljYWxseQorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3MgPSJjb250YWluZXIi
PgorICAgICAgICA8ZGl2IGNsYXNzID0idmVydGljYWwiPgorICAgICAgICAgICAgPGNhbnZhcyBj
bGFzcz0idmVydGljYWwiIGlkPSJjYW52YXM4Ij48L2NhbnZhcz4KKyAgICAgICAgPC9kaXY+Cisg
ICAgICAgIDxicj5Sb3RhdGVkIDkwJmRlZzsgQ1cKKyAgICA8L2Rpdj4KKyAgICA8YnI+CisgICAg
PHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgd2lu
ZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworCisgICAgICAgIHdpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciBuYW1lcyA9IFsKKyAgICAgICAgICAgICAg
ICB7IHJlc291cmNlOiAicmVzb3VyY2VzL2V4aWYtb3JpZW50YXRpb24tMi11ci5qcGciLCAgaWQg
OiAiY2FudmFzMiIgfSwKKyAgICAgICAgICAgICAgICB7IHJlc291cmNlOiAicmVzb3VyY2VzL2V4
aWYtb3JpZW50YXRpb24tMy1sci5qcGciLCAgaWQgOiAiY2FudmFzMyIgfSwKKyAgICAgICAgICAg
ICAgICB7IHJlc291cmNlOiAicmVzb3VyY2VzL2V4aWYtb3JpZW50YXRpb24tNC1sb2wuanBnIiwg
aWQgOiAiY2FudmFzNCIgfSwKKyAgICAgICAgICAgICAgICB7IHJlc291cmNlOiAicmVzb3VyY2Vz
L2V4aWYtb3JpZW50YXRpb24tNS1sdS5qcGciLCAgaWQgOiAiY2FudmFzNSIgfSwKKyAgICAgICAg
ICAgICAgICB7IHJlc291cmNlOiAicmVzb3VyY2VzL2V4aWYtb3JpZW50YXRpb24tNi1ydS5qcGci
LCAgaWQgOiAiY2FudmFzNiIgfSwKKyAgICAgICAgICAgICAgICB7IHJlc291cmNlOiAicmVzb3Vy
Y2VzL2V4aWYtb3JpZW50YXRpb24tNy1ybC5qcGciLCAgaWQgOiAiY2FudmFzNyIgfSwKKyAgICAg
ICAgICAgICAgICB7IHJlc291cmNlOiAicmVzb3VyY2VzL2V4aWYtb3JpZW50YXRpb24tOC1sbG8u
anBnIiwgaWQgOiAiY2FudmFzOCIgfSwKKyAgICAgICAgICAgIF07CisKKyAgICAgICAgICAgIHZh
ciBkcmF3Q291bnQgPSAwOworCisgICAgICAgICAgICBuYW1lcy5mb3JFYWNoKGZ1bmN0aW9uKG5h
bWUpIHsKKyAgICAgICAgICAgICAgICB2YXIgaW1hZ2UgPSBuZXcgSW1hZ2U7CisgICAgICAgICAg
ICAgICAgaW1hZ2Uuc3JjID0gbmFtZS5yZXNvdXJjZTsKKyAgICAgICAgICAgICAgICBpbWFnZS5k
ZWNvZGUoKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgbGV0IGNhbnZhcyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKG5hbWUuaWQpOworICAgICAgICAgICAgICAgICAgICBjYW52
YXMud2lkdGggPSBpbWFnZS53aWR0aCAqIHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOworICAgICAg
ICAgICAgICAgICAgICBjYW52YXMuaGVpZ2h0ID0gaW1hZ2UuaGVpZ2h0ICogd2luZG93LmRldmlj
ZVBpeGVsUmF0aW87CisgICAgICAgICAgICAgICAgICAgIHdlYmdsRHJhd0ltYWdlKGNhbnZhcywg
aW1hZ2UpOworICAgICAgICAgICAgICAgICAgICBpZiAoKytkcmF3Q291bnQgPT0gbmFtZXMubGVu
Z3RoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9KTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9ib2R5PgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9pbWFnZXMvcmVzb3VyY2VzL3dlYmdsLWRyYXctaW1hZ2UuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVzb3VyY2VzL3dlYmdsLWRyYXctaW1hZ2UuanMJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVzb3VyY2VzL3dlYmds
LWRyYXctaW1hZ2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTAgQEAKK2Z1bmN0aW9u
IHdlYmdsRHJhd0ltYWdlKGNhbnZhcywgaW1hZ2UpIHsKKworICAgIHZhciBnbCA9IGNhbnZhcy5n
ZXRDb250ZXh0KCJ3ZWJnbCIpOworCisgICAgLy8gU2V0IHRoZSBjbGVhciBjb2xvci4KKyAgICBn
bC5jbGVhckNvbG9yKDAsIDAsIDAsIDEpOworCisgICAgLy8gQ3JlYXRlIHRoZSB2ZXJ0ZXggc2hh
ZGVyIG9iamVjdC4KKyAgICB2YXIgdmVydGV4U2hhZGVyID0gZ2wuY3JlYXRlU2hhZGVyKGdsLlZF
UlRFWF9TSEFERVIpOworCisgICAgLy8gVGhlIHNvdXJjZSBjb2RlIGZvciB0aGUgc2hhZGVyIGlz
IGV4dHJhY3RlZCBmcm9tIHRoZSA8c2NyaXB0PiBlbGVtZW50IGFib3ZlLgorICAgIGdsLnNoYWRl
clNvdXJjZSh2ZXJ0ZXhTaGFkZXIsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2ZXJ0ZXhTaGFk
ZXJTb3VyY2UiKS50ZXh0Q29udGVudCk7CisKKyAgICAvLyBDb21waWxlIHRoZSBzaGFkZXIuCisg
ICAgZ2wuY29tcGlsZVNoYWRlcih2ZXJ0ZXhTaGFkZXIpOworICAgIGlmICghZ2wuZ2V0U2hhZGVy
UGFyYW1ldGVyKHZlcnRleFNoYWRlciwgZ2wuQ09NUElMRV9TVEFUVVMpKSB7CisgICAgICAgIC8v
IFdlIGZhaWxlZCB0byBjb21waWxlLiBPdXRwdXQgdG8gdGhlIGNvbnNvbGUgYW5kIHF1aXQuCisg
ICAgICAgIGNvbnNvbGUuZXJyb3IoIlZlcnRleCBTaGFkZXIgZmFpbGVkIHRvIGNvbXBpbGUuIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGdsLmdldFNoYWRlckluZm9Mb2codmVydGV4U2hhZGVyKSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBEbyB0aGUgZnJhZ21lbnQgc2hhZGVy
LgorICAgIHZhciBmcmFnbWVudFNoYWRlciA9IGdsLmNyZWF0ZVNoYWRlcihnbC5GUkFHTUVOVF9T
SEFERVIpOworICAgIGdsLnNoYWRlclNvdXJjZShmcmFnbWVudFNoYWRlciwgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImZyYWdtZW50U2hhZGVyU291cmNlIikudGV4dENvbnRlbnQpOworICAgIGds
LmNvbXBpbGVTaGFkZXIoZnJhZ21lbnRTaGFkZXIpOworICAgIGlmICghZ2wuZ2V0U2hhZGVyUGFy
YW1ldGVyKGZyYWdtZW50U2hhZGVyLCBnbC5DT01QSUxFX1NUQVRVUykpIHsKKyAgICAgICAgY29u
c29sZS5lcnJvcigiRnJhZ21lbnQgU2hhZGVyIGZhaWxlZCB0byBjb21waWxlLiIpOworICAgICAg
ICBjb25zb2xlLmxvZyhnbC5nZXRTaGFkZXJJbmZvTG9nKGZyYWdtZW50U2hhZGVyKSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICAgICAgLy8gTWFrZSB0aGUgcHJvZ3JhbS4KKyAgICB2
YXIgcHJvZ3JhbSA9IGdsLmNyZWF0ZVByb2dyYW0oKTsKKyAgICBnbC5hdHRhY2hTaGFkZXIocHJv
Z3JhbSwgdmVydGV4U2hhZGVyKTsKKyAgICBnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgZnJhZ21l
bnRTaGFkZXIpOworICAgIGdsLmxpbmtQcm9ncmFtKHByb2dyYW0pOworCisgICAgaWYgKCFnbC5n
ZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSkgeworICAgICAgICBj
b25zb2xlLmVycm9yKCJVbmFibGUgdG8gbGluayBzaGFkZXJzIGludG8gcHJvZ3JhbS4iKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CisKKyAg
ICB2YXIgdGV4dHVyZVVuaWZvcm0gPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRl
eHR1cmUiKTsKKworICAgIHZhciBwb3NpdGlvbkF0dHJpYnV0ZSA9IGdsLmdldEF0dHJpYkxvY2F0
aW9uKHByb2dyYW0sICJhX3Bvc2l0aW9uIik7CisgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJy
YXkocG9zaXRpb25BdHRyaWJ1dGUpOworCisgICAgLy8gVGhlIGRlZmF1bHQgY29vcmRpbmF0ZSBz
cGFjZSBpcyBhIHNxdWFyZSBmcm9tIC0xIHRvIDEuCisgICAgLy8gVGhlIHRyaWFuZ2xlIGlzIHRo
cmVlIHBvaW50cyBpbiB0aGF0IHNxdWFyZS4KKyAgICB2YXIgdmVydGljZXMgPSBuZXcgRmxvYXQz
MkFycmF5KFsKKyAgICAgICAgLTEsIC0xLAorICAgICAgICAgMSwgLTEsCisgICAgICAgICAxLCAg
MSwKKyAgICAgICAgIDEsICAxLAorICAgICAgICAtMSwgIDEsCisgICAgICAgIC0xLCAtMQorICAg
IF0pOworCisgICAgLy8gQ3JlYXRlIHRoZSBidWZmZXIgdGhhdCB3aWxsIGhvbGQgdGhlIHZlcnRl
eCBkYXRhIGFib3ZlLgorICAgIHZhciB0cmlhbmdsZUJ1ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZlcigp
OworCisgICAgLy8gTG9hZCB0aGUgdmVydGV4IGRhdGEgaW50byB0aGUgYnVmZmVyLgorICAgIGds
LmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB0cmlhbmdsZUJ1ZmZlcik7CisgICAgZ2wuYnVm
ZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIHZlcnRpY2VzLCBnbC5TVEFUSUNfRFJBVyk7CisKKyAg
ICB2YXIgc3RpbGxUb0RyYXcgPSBmYWxzZTsKKworICAgIHZhciB1cGRhdGVUZXh0dXJlID0gZnVu
Y3Rpb24gKHRleHR1cmUsIGRhdGEpIHsKKyAgICAgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVS
RV8yRCwgdGV4dHVyZSk7CisgICAgICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19GTElQX1lf
V0VCR0wsIHRydWUpOworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGds
LlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGRhdGEpOworICAgICAgICBnbC50ZXhQ
YXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFS
KTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01J
Tl9GSUxURVIsIGdsLkxJTkVBUik7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVS
RV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgICAgICBnbC50
ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9U
T19FREdFKTsKKworICAgICAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsK
KyAgICAgICAgc3RpbGxUb0RyYXcgPSB0cnVlOworICAgIH0KKworICAgIHZhciB0ZXh0dXJlID0g
Z2wuY3JlYXRlVGV4dHVyZSgpOworICAgIHVwZGF0ZVRleHR1cmUodGV4dHVyZSwgaW1hZ2UpOwor
CisgICAgLy8gQ2xlYXIgdG8gYmxhY2suCisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJ
VCk7CisKKyAgICB2YXIgZHJhd0Z1bmN0aW9uID0gZnVuY3Rpb24gKCkgeworICAgICAgICBpZiAo
IXN0aWxsVG9EcmF3KSB7CisgICAgICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1l
KGRyYXdGdW5jdGlvbik7CisgICAgICAgIH0KKworICAgICAgICAvLyBDbGVhciB0byBibGFjay4K
KyAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgICAgICAgZ2wuYWN0
aXZlVGV4dHVyZShnbC5URVhUVVJFMCk7CisgICAgICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRV
UkVfMkQsIHRleHR1cmUpOworICAgICAgICBnbC51bmlmb3JtMWkodGV4dHVyZVVuaWZvcm0sIDAp
OworCisgICAgICAgIC8vIEJpbmQgdGhlIHZlcnRleCBhdHRyaWJ1dGVzIGZvciB0aGUgZHJhdyBv
cGVyYXRpb24uCisgICAgICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB0cmlhbmds
ZUJ1ZmZlcik7CisgICAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIocG9zaXRpb25BdHRyaWJ1
dGUsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisKKyAgICAgICAgZ2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDAsIDYpOworICAgIH07CisKKyAgICBkcmF3RnVuY3Rpb24oKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385838</attachid>
            <date>2019-12-16 17:36:33 -0800</date>
            <delta_ts>2019-12-16 21:36:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205141-20191216173632.patch</filename>
            <type>text/plain</type>
            <size>31228</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzYwMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE5LTEyLTE2ICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LnRleEltYWdlMkQoKSBzaG91bGQgcmVzcGVjdCBFWElGIG9yaWVudGF0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUxNDEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiBpbWFn
ZSBvcmllbnRhdGlvbiBpcyBub3QgdGhlIGRlZmF1bHQsIFdlYkdMUmVuZGVyaW5nQ29udGV4dC50
ZXhJbWFnZTJEKCkKKyAgICAgICAgbmVlZHMgdG8gZHJhdyB0aGlzIGltYWdlIGludG8gYW4gSW1h
Z2VCdWZmZXIsIG1ha2VzIGEgdGVtcG9yYXJ5IEltYWdlCisgICAgICAgIGZyb20gdGhlIEltYWdl
QnVmZmVyIHRoZW4gZHJhdyB0aGlzIHRlbXBvcmFyeSBJbWFnZSB0byB0aGUgV2ViR0wgdGV4dHVy
ZS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLXdlYmdsLXRl
eHR1cmUuaHRtbAorCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp0
ZXhTdWJJbWFnZTJEKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2U6OnRleEltYWdlMkQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkltYWdlOjpvcmllbnRhdGlvbiBjb25zdCk6CisKIDIwMTktMTItMTYgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xs
ZXIgc2hvdWxkIG9ic2VydmUgbmV3bHkgaW5zZXJ0ZWQgb3IgZGlzcGxheWVkIGNvbnRlbnRzCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcAkocmV2aXNpb24gMjUzNTcwKQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQwMTQsNyArNDAxNCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEIKICAgICAgICAgaWYgKCFpbWFnZUZvclJlbmRlcikKICAgICAgICAgICAgIHJldHVybiB7
IH07CiAKLSAgICAgICAgaWYgKGltYWdlRm9yUmVuZGVyLT5pc1NWR0ltYWdlKCkpCisgICAgICAg
IGlmIChpbWFnZUZvclJlbmRlci0+aXNTVkdJbWFnZSgpIHx8IGltYWdlRm9yUmVuZGVyLT5vcmll
bnRhdGlvbigpICE9IEltYWdlT3JpZW50YXRpb246Ok5vbmUpCiAgICAgICAgICAgICBpbWFnZUZv
clJlbmRlciA9IGRyYXdJbWFnZUludG9CdWZmZXIoKmltYWdlRm9yUmVuZGVyLCBpbWFnZS0+d2lk
dGgoKSwgaW1hZ2UtPmhlaWdodCgpLCAxKTsKIAogICAgICAgICBhdXRvIHRleHR1cmUgPSB2YWxp
ZGF0ZVRleHR1cmVCaW5kaW5nKCJ0ZXhTdWJJbWFnZTJEIiwgdGFyZ2V0LCB0cnVlKTsKQEAgLTQ1
NjksNyArNDU2OSw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEIK
ICAgICAgICAgaWYgKCFpbWFnZUZvclJlbmRlcikKICAgICAgICAgICAgIHJldHVybiB7IH07CiAK
LSAgICAgICAgaWYgKGltYWdlRm9yUmVuZGVyLT5pc1NWR0ltYWdlKCkpCisgICAgICAgIGlmIChp
bWFnZUZvclJlbmRlci0+aXNTVkdJbWFnZSgpIHx8IGltYWdlRm9yUmVuZGVyLT5vcmllbnRhdGlv
bigpICE9IEltYWdlT3JpZW50YXRpb246Ok5vbmUpCiAgICAgICAgICAgICBpbWFnZUZvclJlbmRl
ciA9IGRyYXdJbWFnZUludG9CdWZmZXIoKmltYWdlRm9yUmVuZGVyLCBpbWFnZS0+d2lkdGgoKSwg
aW1hZ2UtPmhlaWdodCgpLCAxKTsKIAogICAgICAgICBpZiAoIWltYWdlRm9yUmVuZGVyIHx8ICF2
YWxpZGF0ZVRleEZ1bmMoInRleEltYWdlMkQiLCBUZXhJbWFnZSwgU291cmNlSFRNTEltYWdlRWxl
bWVudCwgdGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIGltYWdlRm9yUmVuZGVyLT53aWR0
aCgpLCBpbWFnZUZvclJlbmRlci0+aGVpZ2h0KCksIDAsIGZvcm1hdCwgdHlwZSwgMCwgMCkpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgJ
KHJldmlzaW9uIDI1MzU3MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Jp
dG1hcEltYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDcgQEAgcHVibGljOgogCiAg
ICAgLy8gRmxvYXRTaXplIGR1ZSB0byBvdmVycmlkZS4KICAgICBGbG9hdFNpemUgc2l6ZShJbWFn
ZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uID0gSW1hZ2VPcmllbnRhdGlvbjo6RnJvbUltYWdlKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBtX3NvdXJjZS0+c2l6ZShvcmllbnRhdGlvbik7IH0KKyAg
ICBJbWFnZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
bV9zb3VyY2UtPm9yaWVudGF0aW9uKCk7IH0KICAgICBDb2xvciBzaW5nbGVQaXhlbFNvbGlkQ29s
b3IoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3NvdXJjZS0+c2luZ2xlUGl4ZWxTb2xpZENv
bG9yKCk7IH0KICAgICBib29sIGZyYW1lSXNCZWluZ0RlY29kZWRBbmRJc0NvbXBhdGlibGVXaXRo
T3B0aW9uc0F0SW5kZXgoc2l6ZV90IGluZGV4LCBjb25zdCBEZWNvZGluZ09wdGlvbnMmIGRlY29k
aW5nT3B0aW9ucykgY29uc3QgeyByZXR1cm4gbV9zb3VyY2UtPmZyYW1lSXNCZWluZ0RlY29kZWRB
bmRJc0NvbXBhdGlibGVXaXRoT3B0aW9uc0F0SW5kZXgoaW5kZXgsIGRlY29kaW5nT3B0aW9ucyk7
IH0KICAgICBEZWNvZGluZ1N0YXR1cyBmcmFtZURlY29kaW5nU3RhdHVzQXRJbmRleChzaXplX3Qg
aW5kZXgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlLT5mcmFtZURlY29kaW5nU3RhdHVzQXRJbmRl
eChpbmRleCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2Uu
aAkocmV2aXNpb24gMjUzNTcwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDYgKzExNiw3IEBAIHB1YmxpYzoKICAgICBm
bG9hdCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIHNpemUoKS53aWR0aCgpOyB9CiAgICAgZmxvYXQg
aGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gc2l6ZSgpLmhlaWdodCgpOyB9CiAgICAgdmlydHVhbCBP
cHRpb25hbDxJbnRQb2ludD4gaG90U3BvdCgpIGNvbnN0IHsgcmV0dXJuIFdURjo6bnVsbG9wdDsg
fQorICAgIHZpcnR1YWwgSW1hZ2VPcmllbnRhdGlvbiBvcmllbnRhdGlvbigpIGNvbnN0IHsgcmV0
dXJuIEltYWdlT3JpZW50YXRpb246OkZyb21JbWFnZTsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQg
RW5jb2RlZERhdGFTdGF0dXMgc2V0RGF0YShSZWZQdHI8U2hhcmVkQnVmZmVyPiYmIGRhdGEsIGJv
b2wgYWxsRGF0YVJlY2VpdmVkKTsKICAgICB2aXJ0dWFsIEVuY29kZWREYXRhU3RhdHVzIGRhdGFD
aGFuZ2VkKGJvb2wgLyphbGxEYXRhUmVjZWl2ZWQqLykgeyByZXR1cm4gRW5jb2RlZERhdGFTdGF0
dXM6OlVua25vd247IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzU3MCkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE5LTEyLTE2ICBT
YWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LnRleEltYWdlMkQoKSBzaG91bGQgcmVzcGVjdCBFWElGIG9yaWVu
dGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDUxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgdGVzdCBwYWdlIHVzZXMgaW1hZ2VzIHdpdGggZGlmZmVyZW50IEVYSUYgb3JpZW50YXRpb24u
IFRoZSBleHBlY3RlZAorICAgICAgICBwYWdlIHVzZXMgYSBzaW5nbGUgaW1hZ2Ugd2l0aCBubyBF
WElGIG9yaWVudGF0aW9uIHRoZW4gaXQgdHJhbnNmb3JtcyB0aGUKKyAgICAgICAgPGNhbnZhcz4g
ZWxlbWVudHMgc3VjaCB0aGF0IGl0IG1hdGNoZXMgdGhlIGltYWdlIGluIHRoZSB0ZXN0IHBhZ2Uu
CisKKyAgICAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0IHVzZXMgYSB0cmljayB3aGVuIGRyYXdp
bmcgYW4gU1ZHIGltYWdlIG9yIGltYWdlcyAKKyAgICAgICAgd2l0aCBFWElGIG9yaWVudGF0aW9u
IHRvIGEgV2ViR0wgdGV4dHVyZS4gSXQgZHJhd3MgdGhlIEltYWdlIHRvIGFuIEltYWdlLQorICAg
ICAgICBCdWZmZXIsIGNyZWF0ZXMgYW5vdGhlciBJbWFnZSBvdXQgb2YgdGhlIEltYWdlQnVmZmVy
IGFuZCB0aGVuIGRyYXdzIHRoZQorICAgICAgICBvdGhlciBJbWFnZSB0byB0aGUgV2ViR0wgdGV4
dHVyZS4KKworICAgICAgICBCdXQgdGhlcmUgY2FuIGJlIHNtYWxsIGdsaXRjaGVzIGJldHdlZW4g
ZHJhd2luZyBhbiBJbWFnZSBkaXJlY3RseSB2ZXJzdXMKKyAgICAgICAgZG9pbmcgdGhlIEltYWdl
QnVmZmVyIHRyaWNrLiBTbyB0aGUgZXhwZWN0ZWQgcGFnZSB3aWxsIHVzZSBhbiBTVkcgaW1hZ2Ug
CisgICAgICAgIHRvIGVuc3VyZSB0aGUgc2FtZSBjb2RlIHBhdGggaXMgdXNlZCBmb3IgYm90aCB0
aGUgdGVzdCBhbmQgdGhlIGV4cGVjdGVkCisgICAgICAgIHBhZ2VzLgorCisgICAgICAgIFRoaXMg
U1ZHIGltYWdlIGluY2x1ZGVzIHRoZSBqcGVnIGltYWdlIHdpdGggbm8gRVhJRiBvcmllbnRhdGlv
biBidXQgYXMgYQorICAgICAgICBkYXRhIHVyaS4gQWxzbyB0aGUgc2NyaXB0IGhhcyB0byB3YWl0
IGFmdGVyIGxvYWRpbmcgdGhlIFNWRyBpbWFnZSB0aWxsCisgICAgICAgIHRoZSBiaXRtYXAgaW1h
Z2UgaXMgbG9hZGVkIGZyb20gdGhlIGRhdGEgdXJpIGVuY29kZWQgZGF0YS4KKworICAgICAgICAq
IGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24td2ViZ2wtdGV4dHVyZS1leHBlY3RlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLXdlYmdsLXRl
eHR1cmUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvcmVzb3VyY2VzL3dlYmds
LWRyYXctaW1hZ2UuanM6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICBBbGwgd2ViZ2wgdGVzdHMgYXJlIHNraXBwZWQgb24gV2luZG93cy4K
KwogMjAxOS0xMi0xNiAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgQ29uc2lkZXIgdG9wLWxldmVsIGNvbnRleHQgd2hvc2Ugb3JpZ2luIGlzIHVuaXF1ZSBhcyBp
bnNlY3VyZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi13
ZWJnbC10ZXh0dXJlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi13ZWJnbC10ZXh0dXJlLWV4cGVjdGVkLmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi13
ZWJnbC10ZXh0dXJlLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisgICAgZGl2LmNvbnRhaW5lciB7
CisgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgICAgbWFyZ2luLXJpZ2h0OiAy
MHB4OyAKKyAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgCisgICAgICAgIHdpZHRoOiAxMDBw
eDsgCisgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CisgICAgfQorICAgIGRpdi5ob3Jpem9u
dGFsIHsKKyAgICAgICAgd2lkdGg6IDEwMnB4OworICAgICAgICBoZWlnaHQ6IDUycHg7CisgICAg
fQorICAgIGRpdi52ZXJ0aWNhbCB7CisgICAgICAgIHdpZHRoOiA1MnB4OworICAgICAgICBoZWln
aHQ6IDEwMnB4OworICAgIH0KKyAgICBjYW52YXMgeworICAgICAgICBib3JkZXI6IDFweCBzb2xp
ZCBibGFjazsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDUwcHg7Cisg
ICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxzY3JpcHQgaWQ9InZlcnRleFNoYWRlclNvdXJjZSIg
dHlwZT0idGV4dC9nbHNsIj4KKyAgICBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOworICAgIHZh
cnlpbmcgdmVjMiB2X3RleHR1cmVQb3NpdGlvbjsKKworICAgIHZvaWQgbWFpbigpIHsKKyAgICAg
ICAgdl90ZXh0dXJlUG9zaXRpb24gPSB2ZWMyKChhX3Bvc2l0aW9uLnggKyAxLjApIC8gMi4wLCAo
YV9wb3NpdGlvbi55ICsgMS4wKSAvIDIuMCk7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gYV9wb3Np
dGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZyYWdtZW50U2hhZGVyU291cmNl
IiB0eXBlPSJ0ZXh0L2dsc2wiPgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCisgICAg
dmFyeWluZyB2ZWMyIHZfdGV4dHVyZVBvc2l0aW9uOworCisgICAgdW5pZm9ybSBzYW1wbGVyMkQg
dGV4dHVyZTsKKworICAgIHZvaWQgbWFpbigpIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdGV4
dHVyZTJEKHRleHR1cmUsIHZfdGV4dHVyZVBvc2l0aW9uKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtZHJhdy1pbWFnZS5qcyI+PC9zY3JpcHQ+Cis8Ym9k
eT4KKyAgICA8Yj5XZWJHTFJlbmRlcmluZ0NvbnRleHQudGV4SW1hZ2UyRCgpIHNob3VsZCByb3Rh
dGUgdGhlIGltYWdlcyByZXNwZWN0aW5nIHRoZWlyIEVYSUYgb3JpZW50YXRpb24uPC9iPgorICAg
IDxicj4KKyAgICA8YnI+CisgICAgPGRpdiBjbGFzcyA9ImNvbnRhaW5lciI+CisgICAgICAgIDxk
aXYgY2xhc3MgPSJob3Jpem9udGFsIj4KKyAgICAgICAgICAgIDxjYW52YXMgY2xhc3M9Imhvcml6
b250YWwiIGlkPSJjYW52YXMyIiBzdHlsZT0idHJhbnNmb3JtOiBzY2FsZVgoLTEpOyI+PC9jYW52
YXM+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8YnI+RmxpcHBlZCBob3Jpem9udGFsbHkKKyAg
ICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzID0iY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFz
cyA9Imhvcml6b250YWwiPgorICAgICAgICAgICAgPGNhbnZhcyBjbGFzcz0iaG9yaXpvbnRhbCIg
aWQ9ImNhbnZhczMiIHN0eWxlPSJ0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyI+PC9jYW52YXM+
CisgICAgICAgIDwvZGl2PgorICAgICAgICA8YnI+Um90YXRlZCAxODAmZGVnOworICAgIDwvZGl2
PgorICAgIDxkaXYgY2xhc3MgPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzID0iaG9y
aXpvbnRhbCI+CisgICAgICAgICAgICA8Y2FudmFzIGNsYXNzPSJob3Jpem9udGFsIiBpZD0iY2Fu
dmFzNCIgc3R5bGU9InRyYW5zZm9ybTogc2NhbGVYKC0xKSByb3RhdGUoMTgwZGVnKTsiPjwvY2Fu
dmFzPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGJyPkZsaXBwZWQgdmVydGljYWxseQorICAg
IDwvZGl2PgorICAgIDxicj4KKyAgICA8ZGl2IGNsYXNzID0iY29udGFpbmVyIj4KKyAgICAgICAg
PGRpdiBjbGFzcyA9InZlcnRpY2FsIj4KKyAgICAgICAgICAgIDxjYW52YXMgY2xhc3M9InZlcnRp
Y2FsIiBpZD0iY2FudmFzNSIgc3R5bGU9InRyYW5zZm9ybTogdHJhbnNsYXRlKC0yNXB4LCAyNXB4
KSByb3RhdGUoOTBkZWcpIHNjYWxlWSgtMSk7Ij48L2NhbnZhcz4KKyAgICAgICAgPC9kaXY+Cisg
ICAgICAgIDxicj5Sb3RhdGVkIDkwJmRlZzsgQ0NXIGFuZCBmbGlwcGVkIHZlcnRpY2FsbHkKKyAg
ICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzID0iY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFz
cyA9InZlcnRpY2FsIj4KKyAgICAgICAgICAgIDxjYW52YXMgY2xhc3M9InZlcnRpY2FsIiBpZD0i
Y2FudmFzNiIgc3R5bGU9InRyYW5zZm9ybTogdHJhbnNsYXRlKC0yNXB4LCAyNXB4KSByb3RhdGUo
OTBkZWcpOyI+PC9jYW52YXM+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8YnI+Um90YXRlZCA5
MCZkZWc7IENDVworICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3MgPSJjb250YWluZXIiPgorICAg
ICAgICA8ZGl2IGNsYXNzID0idmVydGljYWwiPgorICAgICAgICAgICAgPGNhbnZhcyBjbGFzcz0i
dmVydGljYWwiIGlkPSJjYW52YXM3IiBzdHlsZT0idHJhbnNmb3JtOiB0cmFuc2xhdGUoLTI1cHgs
IDI1cHgpIHJvdGF0ZSgyNzBkZWcpIHNjYWxlWSgtMSk7Ij48L2NhbnZhcz4KKyAgICAgICAgPC9k
aXY+CisgICAgICAgIDxicj5Sb3RhdGVkIDkwJmRlZzsgQ1cgYW5kIGZsaXBwZWQgdmVydGljYWxs
eQorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3MgPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2
IGNsYXNzID0idmVydGljYWwiPgorICAgICAgICAgICAgPGNhbnZhcyBjbGFzcz0idmVydGljYWwi
IGlkPSJjYW52YXM4IiBzdHlsZT0idHJhbnNmb3JtOiB0cmFuc2xhdGUoLTI1cHgsIDI1cHgpIHJv
dGF0ZSgyNzBkZWcpOyI+PC9jYW52YXM+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8YnI+Um90
YXRlZCA5MCZkZWc7IENXCisgICAgPC9kaXY+CisgICAgPGJyPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKKworICAgICAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJjYW52YXMiKS5mb3JFYWNo
KGNhbnZhcyA9PiB7CisgICAgICAgICAgICAgICAgY2FudmFzLndpZHRoID0gMTAwICogd2luZG93
LmRldmljZVBpeGVsUmF0aW87CisgICAgICAgICAgICAgICAgY2FudmFzLmhlaWdodCA9IDUwICog
d2luZG93LmRldmljZVBpeGVsUmF0aW87CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAg
dmFyIGltYWdlID0gbmV3IEltYWdlOworICAgICAgICAgICAgaW1hZ2Uuc3JjID0gImRhdGE6aW1h
Z2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9
JzEwMCcgaGVpZ2h0PSc1MCc+PGltYWdlIGhyZWY9J2RhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlq
LzRBQVFTa1pKUmdBQkFRRUFTQUJJQUFELzRRQ0NSWGhwWmdBQVRVMEFLZ0FBQUFnQUJRRVNBQU1B
QUFBQkFBRUFBQUVhQUFVQUFBQUJBQUFBU2dFYkFBVUFBQUFCQUFBQVVnRW9BQU1BQUFBQkFBSUFB
SWRwQUFRQUFBQUJBQUFBV2dBQUFBQUFBQUJJQUFBQUFRQUFBRWdBQUFBQkFBS2dBZ0FFQUFBQUFR
QUFBR1NnQXdBRUFBQUFBUUFBQURJQUFBQUFBQUQvNGhuOFNVTkRYMUJTVDBaSlRFVUFBUUVBQUJu
c1lYQndiQUlRQUFCdGJuUnlVa2RDSUZoWldpQUgyZ0FLQUFvQURBQUpBRFZoWTNOd1FWQlFUQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE5dFlBQVFBQUFBRFRMV0Z3Y0d3QUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFC
RmtaWE5qQUFBQlVBQUFBR0prYzJOdEFBQUJ0QUFBQWtKamNISjBBQUFEK0FBQUFOQjNkSEIwQUFB
RXlBQUFBQlJ5V0ZsYUFBQUUzQUFBQUJSbldGbGFBQUFFOEFBQUFCUmlXRmxhQUFBRkJBQUFBQlJ5
VkZKREFBQUZHQUFBQ0F4aFlYSm5BQUFOSkFBQUFDQjJZMmQwQUFBTlJBQUFCaEp1WkdsdUFBQVRX
QUFBQmo1amFHRmtBQUFabUFBQUFDeHRiVzlrQUFBWnhBQUFBQ2hpVkZKREFBQUZHQUFBQ0F4blZG
SkRBQUFGR0FBQUNBeGhZV0puQUFBTkpBQUFBQ0JoWVdkbkFBQU5KQUFBQUNCa1pYTmpBQUFBQUFB
QUFBaEVhWE53YkdGNUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQWJXeDFZd0FBQUFBQUFBQVNBQUFBREc1c1Rrd0FBQUFXQUFBQTZHUmhSRXNBQUFBY0FB
QUEvbkJzVUV3QUFBQVNBQUFCR21WdVZWTUFBQUFTQUFBQkxHNWlUazhBQUFBU0FBQUJQbVp5UmxJ
QUFBQVdBQUFCVUhCMFFsSUFBQUFZQUFBQlpuQjBVRlFBQUFBV0FBQUJmbnBvUTA0QUFBQU1BQUFC
bEdWelJWTUFBQUFTQUFBQm9HcGhTbEFBQUFBT0FBQUJzbkoxVWxVQUFBQWtBQUFCd0hOMlUwVUFB
QUFRQUFBQjVIcG9WRmNBQUFBT0FBQUI5R1JsUkVVQUFBQVFBQUFDQW1acFJra0FBQUFRQUFBQ0Vt
bDBTVlFBQUFBVUFBQUNJbXR2UzFJQUFBQU1BQUFDTmdCTEFHd0FaUUIxQUhJQVpRQnVBQzBBVEFC
REFFUUFUQUJEQUVRQUxRQm1BR0VBY2dCMkFHVUFjd0JyQU9ZQWNnQnRBRXNBYndCc0FHOEFjZ0Fn
QUV3QVF3QkVBRU1BYndCc0FHOEFjZ0FnQUV3QVF3QkVBRVlBWVFCeUFHY0FaUUF0QUV3QVF3QkVB
RXdBUXdCRUFDQUFZd0J2QUhVQWJBQmxBSFVBY2dCTUFFTUFSQUFnQUVNQWJ3QnNBRzhBY2dCcEFH
UUFid0JNQUVNQVJBQWdBR0VBSUFCREFHOEFjZ0JsQUhOZmFZSnlBQ0FBVEFCREFFUUFUQUJEQUVR
QUlBQmpBRzhBYkFCdkFISXdxekRwTVB3QUlBQk1BRU1BUkFRbUJESUVOUVJDQkQwRVBnUTVBQ0FF
RmdRYUFDMEVOQVE0QkVFRVB3UTdCRFVFT1FCR0FPUUFjZ0JuQUMwQVRBQkRBRVJmYVlKeWJiSm1k
cGh2ZVRwV2FBQkdBR0VBY2dCaUFDMEFUQUJEQUVRQVZnRGtBSElBYVFBdEFFd0FRd0JFQUV3QVF3
QkVBQ0FBWXdCdkFHd0Fid0J5QUduTzdMZnNBQ0FBVEFCREFFUUFBSFJsZUhRQUFBQUFRMjl3ZVhK
cFoyaDBJRUZ3Y0d4bExDQkpibU11TENBeU1ERXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJZV1ZvZ0FBQUFBQUFBODFJQUFRQUFBQUVX
ejFoWldpQUFBQUFBQUFCbk1nQUFOZkVBQUFJbldGbGFJQUFBQUFBQUFHbVhBQUM3VGdBQUIzRllX
Vm9nQUFBQUFBQUFKZ3dBQUE3QkFBREpsR04xY25ZQUFBQUFBQUFFQUFBQUFBVUFDZ0FQQUJRQUdR
QWVBQ01BS0FBdEFESUFOZ0E3QUVBQVJRQktBRThBVkFCWkFGNEFZd0JvQUcwQWNnQjNBSHdBZ1FD
R0FJc0FrQUNWQUpvQW53Q2pBS2dBclFDeUFMY0F2QURCQU1ZQXl3RFFBTlVBMndEZ0FPVUE2d0R3
QVBZQSt3RUJBUWNCRFFFVEFSa0JId0VsQVNzQk1nRTRBVDRCUlFGTUFWSUJXUUZnQVdjQmJnRjFB
WHdCZ3dHTEFaSUJtZ0doQWFrQnNRRzVBY0VCeVFIUkFka0I0UUhwQWZJQitnSURBZ3dDRkFJZEFp
WUNMd0k0QWtFQ1N3SlVBbDBDWndKeEFub0NoQUtPQXBnQ29nS3NBcllDd1FMTEF0VUM0QUxyQXZV
REFBTUxBeFlESVFNdEF6Z0RRd05QQTFvRFpnTnlBMzREaWdPV0E2SURyZ082QThjRDB3UGdBK3dE
K1FRR0JCTUVJQVF0QkRzRVNBUlZCR01FY1FSK0JJd0VtZ1NvQkxZRXhBVFRCT0VFOEFUK0JRMEZI
QVVyQlRvRlNRVllCV2NGZHdXR0JaWUZwZ1cxQmNVRjFRWGxCZllHQmdZV0JpY0dOd1pJQmxrR2Fn
WjdCb3dHblFhdkJzQUcwUWJqQnZVSEJ3Y1pCeXNIUFFkUEIyRUhkQWVHQjVrSHJBZS9COUlINVFm
NENBc0lId2d5Q0VZSVdnaHVDSUlJbGdpcUNMNEkwZ2puQ1BzSkVBa2xDVG9KVHdsa0NYa0pqd21r
Q2JvSnp3bmxDZnNLRVFvbkNqMEtWQXBxQ29FS21BcXVDc1VLM0FyekN3c0xJZ3M1QzFFTGFRdUFD
NWdMc0F2SUMrRUwrUXdTRENvTVF3eGNESFVNamd5bkRNQU0yUXp6RFEwTkpnMUFEVm9OZEEyT0Rh
a053dzNlRGZnT0V3NHVEa2tPWkE1L0Rwc090ZzdTRHU0UENROGxEMEVQWGc5NkQ1WVBzdy9QRCt3
UUNSQW1FRU1RWVJCK0VKc1F1UkRYRVBVUkV4RXhFVThSYlJHTUVhb1J5UkhvRWdjU0poSkZFbVFT
aEJLakVzTVM0eE1ERXlNVFF4TmpFNE1UcEJQRkUrVVVCaFFuRkVrVWFoU0xGSzBVemhUd0ZSSVZO
QlZXRlhnVm14VzlGZUFXQXhZbUZra1diQmFQRnJJVzFoYjZGeDBYUVJkbEY0a1hyaGZTRi9jWUd4
aEFHR1VZaWhpdkdOVVkraGtnR1VVWmF4bVJHYmNaM1JvRUdpb2FVUnAzR3A0YXhScnNHeFFiT3h0
akc0b2JzaHZhSEFJY0toeFNISHNjb3h6TUhQVWRIaDFISFhBZG1SM0RIZXdlRmg1QUhtb2VsQjYr
SHVrZkV4OCtIMmtmbEIrL0grb2dGU0JCSUd3Z21DREVJUEFoSENGSUlYVWhvU0hPSWZzaUp5SlZJ
b0lpcnlMZEl3b2pPQ05tSTVRandpUHdKQjhrVFNSOEpLc2syaVVKSlRnbGFDV1hKY2NsOXlZbkps
Y21oeWEzSnVnbkdDZEpKM29ucXlmY0tBMG9QeWh4S0tJbzFDa0dLVGdwYXltZEtkQXFBaW8xS21n
cW15clBLd0lyTml0cEs1MHIwU3dGTERrc2JpeWlMTmN0REMxQkxYWXRxeTNoTGhZdVRDNkNMcmN1
N2k4a0wxb3ZrUy9ITC80d05UQnNNS1F3MnpFU01Vb3hnakc2TWZJeUtqSmpNcHN5MURNTk0wWXpm
ek80TS9FMEt6UmxOSjQwMkRVVE5VMDFoelhDTmYwMk56WnlOcTQyNlRja04yQTNuRGZYT0JRNFVE
aU1PTWc1QlRsQ09YODV2RG41T2pZNmREcXlPdTg3TFR0ck82bzc2RHduUEdVOHBEempQU0k5WVQy
aFBlQStJRDVnUHFBKzREOGhQMkUvb2ovaVFDTkFaRUNtUU9kQktVRnFRYXhCN2tJd1FuSkN0VUwz
UXpwRGZVUEFSQU5FUjBTS1JNNUZFa1ZWUlpwRjNrWWlSbWRHcTBid1J6VkhlMGZBU0FWSVMwaVJT
TmRKSFVsalNhbEo4RW8zU24xS3hFc01TMU5MbWt2aVRDcE1ja3k2VFFKTlNrMlRUZHhPSlU1dVRy
ZFBBRTlKVDVOUDNWQW5VSEZRdTFFR1VWQlJtMUhtVWpGU2ZGTEhVeE5UWDFPcVUvWlVRbFNQVk50
VktGVjFWY0pXRDFaY1ZxbFc5MWRFVjVKWDRGZ3ZXSDFZeTFrYVdXbFp1Rm9IV2xaYXBscjFXMFZi
bFZ2bFhEVmNobHpXWFNkZGVGM0pYaHBlYkY2OVh3OWZZVit6WUFWZ1YyQ3FZUHhoVDJHaVlmVmlT
V0tjWXZCalEyT1hZK3RrUUdTVVpPbGxQV1dTWmVkbVBXYVNadWhuUFdlVForbG9QMmlXYU94cFEy
bWFhZkZxU0dxZmF2ZHJUMnVuYS85c1YyeXZiUWh0WUcyNWJoSnVhMjdFYng1dmVHL1JjQ3R3aG5E
Z2NUcHhsWEh3Y2t0eXBuTUJjMTF6dUhRVWRIQjB6SFVvZFlWMTRYWStkcHQyK0hkV2Q3TjRFWGh1
ZU14NUtubUplZWQ2Um5xbGV3UjdZM3ZDZkNGOGdYemhmVUY5b1g0QmZtSit3bjhqZjRSLzVZQkhn
S2lCQ29GcmdjMkNNSUtTZ3ZTRFY0TzZoQjJFZ0lUamhVZUZxNFlPaG5LRzE0YzdoNStJQklocGlN
NkpNNG1aaWY2S1pJcktpekNMbG92OGpHT015bzB4alppTi80NW1qczZQTm8rZWtBYVFicERXa1Qr
UnFKSVJrbnFTNDVOTms3YVVJSlNLbFBTVlg1WEpsalNXbjVjS2wzV1g0SmhNbUxpWkpKbVFtZnlh
YUpyVm0wS2JyNXdjbkltYzk1MWtuZEtlUUo2dW54MmZpNS82b0dtZzJLRkhvYmFpSnFLV293YWpk
cVBtcEZha3g2VTRwYW1tR3FhTHB2Mm5icWZncUZLb3hLazNxYW1xSEtxUHF3S3JkYXZwckZ5czBL
MUVyYml1TGE2aHJ4YXZpN0FBc0hXdzZyRmdzZGF5UzdMQ3N6aXpyclFsdEp5MUU3V0t0Z0cyZWJi
d3QyaTM0TGhadU5HNVNybkN1anU2dGJzdXU2ZThJYnlidlJXOWo3NEt2b1MrLzc5NnYvWEFjTURz
d1dmQjQ4SmZ3dHZEV01QVXhGSEV6c1ZMeGNqR1JzYkR4MEhIdjhnOXlMekpPc201eWpqS3Q4czJ5
N2JNTmN5MXpUWE50YzQyenJiUE44KzQwRG5RdXRFODBiN1NQOUxCMDBUVHh0UkoxTXZWVHRYUjFs
WFcyTmRjMStEWVpOam8yV3paOGRwMjJ2dmJnTndGM0lyZEVOMlczaHplb3Q4cDM2L2dOdUM5NFVU
aHpPSlQ0dHZqWStQcjVIUGsvT1dFNWczbWx1Y2Y1Nm5vTXVpODZVYnAwT3BiNnVYcmNPdjc3SWJ0
RWUyYzdpanV0TzlBNzh6d1dQRGw4WEx4Ly9LTTh4bnpwL1EwOU1MMVVQWGU5bTMyKy9lSytCbjRx
UGs0K2NmNlYvcm4rM2Y4Qi95WS9Tbjl1djVML3R6L2JmLy9jR0Z5WVFBQUFBQUFBd0FBQUFKbVpn
QUE4cWNBQUExWkFBQVQwQUFBQ3NCMlkyZDBBQUFBQUFBQUFBQUFBd0VBQUFJQUFBQldBWWtDY1FN
NEJCWUU1UVhJQnFjSGp3aDVDV1VLV3d0VkRGRU5WZzVTRDFvUVlCRm9FbTRUaGhURkZoRVhXeGlt
R2ZFYlBCeUhIZGtmTUNCK0lkUWpLeVNESmQwbk9paVlLZllyVkN5MExoVXZlVERoTWt3enNqVWNO
b1kzN3psVU9ydzhJajJJUHU1QVVrRzFReGhFZUVYWlJ6aElsMG4xUzFSTXEwM2pUeE5RUVZGdFVw
ZFR3VlRtVmdwWEtWaEdXVjVhY2x1RFhKQmRtMTZoWDZaZ3FHR25ZcWRqbzJTZVpaQm1mMmR1YUY1
cFRtbzhheXRzRzIwTGJmcHU2Vy9ZY01keHQzS25jNVowaFhWMGRtTjNVbmhCZVN4NkYzc0JlK3g4
MTMzQmZxeC9sNENCZ1cyQ1dJTkRoQzZGR29ZRmh2R0gzSWpJaWJTS29JdU1qSTJOajQ2T2o0NlFq
cEdOa291VGlKU0NsWDJXZEpkc21HS1pWcHBKbXp1Y0xKMGNuZ3VlK3AvbW9NNmhzNktZbzN5a1lx
VklwaTZuRktmN3FPS3B5cXF4cTVxc2dxMXNybFd2UDdBcHNST3gvckxvczlPMHVMV2N0b0MzWTdo
RnVTZTZDTHJvdThlOHBiMkJ2bHkvTjhBUXdPbkJ3Y0tZdzI3RVE4VVp4ZkhHME1lenlKYkplc3Bl
eTBMTUtNME96ZlhPM00vRTBLelJsZEorMDJmVVVOVTYxaVBYRGRmMzJPSFowdHJDMjdMY290MlIz
b0RmYitCZDRVcmlOZU1nNUFyazh1WFo1ci9ucE9pSDZXdnFUZXN1N0F6czErMmc3bXZ2Ti9BRjhO
ZnhyUEtFODJEMFFmVWw5Zy8yL2ZmdytPajU0dnJpKytQODV2M3QvdlQvL3dBQUFGWUJSUUpCQXk4
RDdnVEJCWWNHVXdjdUNCVUk1d25HQ3FZTGpBeDJEVjhPU0E4M0VCMFJDeEgrRXk4VVhoV1VGc3dZ
QXhrM0dtZ2JvUnpkSGhvZlVTQ09JY3dqQ2lSSEpZVW15U2dJS1VvcWppdlVMUjh1YUMrMU1RTXlU
ek9aTk9NMkxUZDNPTUk2Q3p0VFBKczk0VDhwUUcxQnNrTDVSRDVGZzBhOFI5aEk2VW40U3daTUVV
MGVUaWRQTDFBelVUWlNObE16VkMxVkpWWWJWdzlZQUZqdldkNWF6VnU2WEtGZGdGNWJYelZnRDJE
cFljUmlvR043WkZWbEwyWUtadVZud0dpYmFYZHFVV3NzYkFkczRtMjlicGx2Y25CTWNTWnlBSExh
YzdOMGpYVm5ka0YzRzNmMGVNNTVwM3FDZTF0OE5IME1mZVordjMrWWdIT0JXSUkrZ3lPRUNJVHVo
ZFNHdW9lZ2lJV0phNHBRaXpXTUdZei9qZVNPeUkrdWtKS1JkcEpia3orVUlKVUFsZCtXdjVlZ21J
R1pZWnBDbXlPY0JKemxuY2VlcVorTG9HNmhVS0l6b3hXaitLVGJwYjZtb3FlQ3FHS3BRcW9pcXdP
cjQ2ekRyYVN1ZzY5a3NFU3hKTElFc3VTenhiU2x0WVMyWkxkRXVDUzVCcm5zdXRXN3ZyeXB2Wk8r
ZnI5cndGbkJSOEkzd3lqRUdzVU94Z0xHK01mdXlPWEozY3JXeTgvTXljM016cy9QMGREVDBkYlMy
TlBhMU56VjN0YmcxK0xZNU5ubTJ1ZmI2dHpzM2ZEZTg5LzI0UG5pQWVNbDVFN2xlZWFuNTlucEVl
cE82NUhzMmU0cTc0UHc0L0pNODd2MU0vYXYrRFA1dS90Ry9OZithZi8vQUFBQVZnRXVBZXNDblFO
VEJBZ0V1UVYyQmpZRzhRZTRDSDRKU0FvY0N2QUx4QXlXRFdvT1JROGhELzRSQmhJV0V5b1VPUlZG
RmxZWGFoaUFHWlVhclJ2RkhONGQraDhVSURBaFRpSnZJNDRrclNYUEp2TW9HQ2svS21jcmpDeXdM
ZGN1L1RBaE1VWXlhRE9LTkt3MXpUYnNPQXc1S0RwSU8yUThmejJjUHE0L3EwQ2VRWTlDZmtOclJG
aEZRRVltUndsSDZFakZTWjVLZEV0R1RCUk00RTJxVG5KUE5rLzZVTDFSZmxJNlV2VlRzRlJyVlNW
VjMxYWFWMVJZRGxqSFdZRmFPbHJ6VzZ4Y1oxMGZYZGRla0Y5SllBRmd2R0Y2WWpsaTkyTzJaSFJs
TW1YeFpxOW5iV2dxYU9ocHBtcGtheUJyM1d5YWJWWnVFMjdQYjR0d1NIRUZjY055Z1hNK2MveDB1
WFY0ZGpWMjhYZXVlR3Q1SjNuamVwOTdXM3dXZk5KOWpuNUlmd04vdzRDTWdWaUNKWUx4ZzcyRWlv
VldoaU9HNzRlN2lJZUpVb29laXVxTHRZeUFqVXVPRm83aGo2eVFkcEZDa2crUzNKT3BsSGFWUTVZ
Umx0NlhxNWg1bVVhYUZKcmhtNitjZloxTW5ocWU2Sisyb0lTaFU2SWxvdnVqMXFTd3BZcW1aS2Mv
cUJ1bzlxblNxcStyakt4cHJVZXVKcThFcitTd3c3R2pzb096WkxSS3RUcTJNTGNudUIrNUdMb1V1
eEc4RWIwVXZodS9KY0F5d1VUQ1djTnp4SS9GcjhiU3gvbkpJTXBkeStITmlNODAwT1hTb05SbjFq
N1lLdG90M0UzZWorRHk0MzNtTGVrQTYvUHZDdkpCOVkvNDgveHYvLzhBQUc1a2FXNEFBQUFBQUFB
R05nQUFwQklBQUZiVkFBQlZjd0FBcEJJQUFDVS9BQUFOekFBQVVBMEFBRlE1QUFLRkhnQUNGd29B
QVl6TUFBTUJBQUFDQUFBQUFRQUNBQVlBQ3dBU0FCb0FKQUF2QUR3QVNnQlpBR29BZXdDUEFLTUF1
UURRQU9rQkF3RWJBVElCU2dGakFYMEJtQUcwQWRFQjd3SU9BaTBDVFFKdkFwRUN0QUxZQXYwREln
TkpBM0FEbUFQQkErc0VGZ1JDQkc0RW5BVEtCUGtGS0FWWUJZb0Z2QVh2QmlNR1dBYU9Cc1lHL2dj
M0IzSUhyUWZxQ0NjSVpnaW1DT2NKS1FsdENiRUo5d28rQ29ZS3p3c2FDMlVMc1F3R0RHRU12UTBj
RFh3TjN3NUREcWtQRXc5K0QrMFFYaERURVVzUnhoSkZFc1lUVEJQVkZHRVU4UldERmhrV3NSZFNG
L2dZb0JsS0dmY2FweHRaSEEwY3hCMStIam9lK1IrNklIMGhReUlNSXRnanBpUjNKVW9tSkNjQkor
QW93aW1uS280cmVDeGxMVk11UlM4Nk1ERXhLakltTXlVMEp6VXJOakkzT3pneE9TazZKVHNqUENR
OUtENHZQenBBU2tGY1FuUkRqMFN1UmRKRytrZ21TVlpLaWt2Q1RQMU9SRStTVU9OU09GT05WT1pX
UVZlZldQOWFZVnZHWFMxZWxtQUJZVzlpMzJSU1pjZG5RR2k1YWtGcnpHMWNidkJ3aVhJbWM4bDFj
WGNmZU5SNmpueFBmaFIvMzRHd2c0ZUZZb2RBaVEySzE0eWlqbStRUUpJUmsrU1Z1WmVQbVdpYlE1
MGduditnNGFMRnBLNm1tS2lGcW5Xc1dxNURzQyt5SDdRU3RncTRCYm9HdkEyK0djQXJ3a1BFWWNh
R3lMTEs0czBaejFYUmx0UWExcWZaTTl1NzNqcmdzK01pNVlmbjR1b3o3SHJ1dVBEdTh5RDFTdmR6
K1puN3UvM2cvLzhBQUFBQkFBTUFCZ0FNQUJNQUhRQW9BRFFBUXdCVEFHVUFlQUNOQUtRQXZBRFhB
UE1CRUFFb0FVSUJYQUY0QVpRQnNnSFJBZklDRXdJMUFsZ0NmQUtpQXNnQzhBTVlBMElEYlFPWkE4
WUQ4d1FqQkZNRWhBUzJCT2tGSEFWUkJZWUZ2UVgwQmkwR1p3YWpCdDhISFFkY0I1d0gzUWdnQ0dR
SXFRandDVGdKZ1FuTUNoZ0taUXF6Q3dNTFZBdW1EQUlNWnd6T0RUZ05wQTRURG9NTzl3OXREK2NR
WXhEakVXY1I3aEo1RXdjVG1SUXZGTWdWWkJZREZxWVhWUmdLR01NWmZ4bzlHdjRid2h5S0hWUWVJ
Ujd4SDhVZ21pRjBJbEFqTHlRU0pQWWw0Q2JOSjd3b3J5bW1LcDhybkN5YkxaNHVwQyt1TUxveHlq
TGVNL1UxRHpZc04wczRYamwxT284N3F6ektQZXcvRVVBNlFXVkNsRVBHUlB0R01rZHVTS3RKN1Vz
eVRIaE54VThaVUhGUnpGTXBWSWhWN0ZkUldMcGFKbHVVWFFWZWVGL3VZV2hpNDJSalplUm5hbWp3
YW9Gc0ZHMnJiMFJ3NFhLQmRDUjF6SGQxZVNONjFIeUlmajkvK1lHNGczbUZQNGNHaU1hS2hJeERq
Z09QeDVHS2swNlZFNWJabUorYVpwd3RuZldmdmFHSG8xS2xINmJzcUx1cWk2eE9yaE92M2JHcHMz
ZTFTTGNidVBHNnk3eW12b1hBWmNKSnhDL0dGc2dCeWV6TDJzM0x6NzNSc2ROeTFTM1c1OWlnMmxm
Y0N0MjMzMlBoQ2VLcTVFamwzdWR1NlBycWd1d0Q3WUR1Ky9CdzhlUHpWUFRBOWl2M2x2a0ErbWY3
emYwMS9wdi8vd0FBQUFFQUJBQUpBQkVBR3dBbkFEWUFSZ0JaQUcwQWd3Q2JBTFlBMGdEd0FSQUJM
QUZKQVdjQmh3R3BBY3dCOEFJVkFqd0NaQUtOQXJnQzVBTVJBMEFEY0FPaEE5TUVCd1E4QkhNRXFn
VGpCUjBGV0FXVUJkSUdFZ1pUQnBVRzJRY2ZCMllIcndmNkNFWUlsQWprQ1RZSmlRbmZDalVLamdy
cEMwVUxvd3dMREgwTThnMXFEZVlPWkE3b0QyOFAreENNRVNNUnZ4SmlFd3NUdWhSdkZTc1Y2eGF4
RjRFWVZoa3dHZzRhOEJ2WEhNSWRzaDZtSDU4Z215R2RJcU1qcmlTOEpja20xeWZwS1FFcUhDczdM
Rjh0aUM2MUwrWXhIREpYTTVjMDJ6WWtOM0E0dmpvUk8yazh4VDRrUDRsQTgwSmlROVpGVDBiTVNF
OUoxa3RqVFBOT2JrL2xVVjlTM2xSZlZlWlhiMWorV3BCY0oxM0JYMkJoQkdLclpGZG1CbWU3YVhC
ckoyemhicUJ3WVhJbmMvRjF2bmVQZVdON1BIMFdmdldBMklLK2hLbUdsb2g2aWxXTU1vNFRqL2lS
M3BQSGxiS1hvSm1RbTRLZGRwOXNvV1dqWUtWZnAxNnBZYXRUclRHdkQ3RHRzc3kwcXJhSHVHSzZP
cndQdmVDL3JzRjR3ejNGQU1hL3lIdktOY3Z0emFMUFdkRU8wb25UeTlVQjFqZlhiTmlnMmRMYkFO
d3QzVlRlZDkrVzRLN2h3ZUxONDliazFlWFI1c1Ruc3VpYzZYM3FYK3MxN0F6czNlMm43bkx2TnUv
NDhMbnhkUEl1OHVuem5QUlA5UUwxc1BaZDl3cjN0UGhkK1FiNXJmcFMrdmo3bmZ3Ly9PSDlnLzRq
L3NML1lQLy9BQUJ6WmpNeUFBQUFBQUFCREVJQUFBWGUvLy96SmdBQUI1SUFBUDJSLy8vN292Ly8v
YU1BQUFQY0FBREFiRzF0YjJRQUFBQUFBQUFHRUFBQW5MY0FBQUFBeGtPRWdBQUFBQUFBQUFBQUFB
QUFBQUFBQUFELzJ3QkRBQUlCQVFJQkFRSUNBUUlDQWdJQ0F3VURBd01EQXdZRUJBTUZCd1lIQndj
R0JnWUhDQXNKQndnS0NBWUdDUTBKQ2dzTERBd01Cd2tORGcwTURnc01EQXYvMndCREFRSUNBZ01D
QXdVREF3VUxDQVlJQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xD
d3NMQ3dzTEN3c0xDd3NMQ3dzTEN3di93QUFSQ0FBeUFHUURBU0lBQWhFQkF4RUIvOFFBSHdBQUFR
VUJBUUVCQVFFQUFBQUFBQUFBQUFFQ0F3UUZCZ2NJQ1FvTC84UUF0UkFBQWdFREF3SUVBd1VGQkFR
QUFBRjlBUUlEQUFRUkJSSWhNVUVHRTFGaEJ5SnhGREtCa2FFSUkwS3h3UlZTMGZBa00ySnlnZ2tL
RmhjWUdSb2xKaWNvS1NvME5UWTNPRGs2UTBSRlJrZElTVXBUVkZWV1YxaFpXbU5rWldabmFHbHFj
M1IxZG5kNGVYcURoSVdHaDRpSmlwS1RsSldXbDVpWm1xS2pwS1dtcDZpcHFyS3p0TFcydDdpNXVz
TER4TVhHeDhqSnl0TFQxTlhXMTlqWjJ1SGk0K1RsNXVmbzZlcng4dlAwOWZiMytQbjYvOFFBSHdF
QUF3RUJBUUVCQVFFQkFRQUFBQUFBQUFFQ0F3UUZCZ2NJQ1FvTC84UUF0UkVBQWdFQ0JBUURCQWNG
QkFRQUFRSjNBQUVDQXhFRUJTRXhCaEpCVVFkaGNSTWlNb0VJRkVLUm9iSEJDU016VXZBVlluTFJD
aFlrTk9FbDhSY1lHUm9tSnlncEtqVTJOemc1T2tORVJVWkhTRWxLVTFSVlZsZFlXVnBqWkdWbVoy
aHBhbk4wZFhaM2VIbDZnb09FaFlhSGlJbUtrcE9VbFphWG1KbWFvcU9rcGFhbnFLbXFzck8wdGJh
M3VMbTZ3c1BFeGNiSHlNbkswdFBVMWRiWDJObmE0dVBrNWVibjZPbnE4dlAwOWZiMytQbjYvOW9B
REFNQkFBSVJBeEVBUHdENHJvb29yK1Z6K0p3b29vb0FLSzVIVi9qbDRiME8vTnRxTnpxQWsrMW14
VXg2VmR5cEpPQ1I1U09rUlYzNFBDa25nMXUrRi9GZGo0eTAxcnZRSkpaSVZsYUZ2TmdrZ2RIVTRa
V1NSVllFSDFGZE5UQjRpakJWS2xPU2krclRTKzg3SzJYNHJEMDFWcTBwUmkrcmkwdnZhc2Z1dC93
UjgvNVIwZkR2L3VKZituTzdyNlhyNW8vNEkrZjhvNlBoMy8zRXYvVG5kMTlKdzNjVnpKS2x2TEhJ
OEQrWEtxc0NZMjJodHJEc2RyS2NIc1FlOWY1bGNkcHZpWE5mK3dpdC93Q25KSDk5Y0YvOGs5bHYv
WGlsL3dDbTRrbEZGRmZKbjB3VVVVVUFGRkZGQUg4MGRGZkwzL0N3TmUvNkRlci9BUGdaSi84QUZV
ZjhMQTE3L29ONnYvNEdTZjhBeFZmOVFIL0ZOamlYL29mWWYvd1hVUDROL3dCUmEvOEF6K2o5elBx
R2l2bDcvaFlHdmY4QVFiMWYvd0FESlA4QTRxai9BSVdCcjMvUWIxZi9BTURKUC9pcVArS2JIRXYv
QUVQc1AvNExxQi9xTFgvNS9SKzVucnZ4eWdpdEx6d0lsdWtjU3Q0c3QzMnFBQVdaSnl4eDZra2tu
dVRWZjRuMzA5MzhTYkx3L2Jha21pVytvYWRQZHh1dHhKYU5kWFFaVkI4Mk1nczBhRE96T0dCK1lF
S0s4WDErNmw4VnpReWVLSkpOU2t0OGlKcnBqTTBXZVR0TFp4MEhUMHAydjZsY2VLN2FLSHhSY1Q2
bERDMjZPTzZrTXlvY1l5QXhJQnh4WHM0ZjluVHhCU1ZMbXoyZzNGU1QvZHozYnVtcnZXM25iOVQ2
REM4TnVpcUNuVnU0S2FidDFrMjAxZDYyODdlVFQxWDZ6ZnNsZkhieHA4SC9BTm1uNE9lSy9FR3Ur
Si9GbndwMEhTN0NIWHJyd2I0aW0wMi84STNUK0tkU3hxZDFwUUt4NnJZWDRqaXRteVpDaVF6TkVG
Snkvd0J1L3dEQkludzdwR2gzUHg0bmg4UWE3cWV1WFB4WjhUMmMxdHFYaVc3MUR5NExXK01jVEpi
VHpNc1RCSklsYVJVRE9QTDNzMkZ4K0pud08xbTh1dkJQaG5WN203dXBOVjBpUHliRzlhVmpjV1NS
WGt0eEVrVW1keUtrek5Lb1VnSzdGaGhqbXZUUENueHI4WitCUEdtditKUEEvaTd4UG8zaUx4Vzhj
bXQ2cFk2clBiM3VzTkdDSXpkVG80ZWNxR1lLWEp4dU9PdGY1RWVNdmdoV3dHYjUvd0FNd3hVWTFh
ZUpyVTVUakZ4ak4wcThrcnh2YTExS1Y0cUtmdVhwOC9QVWwvcWI0ZS9SU3pqUGVHY296T0dZMG93
clVNUFZVWENWMHBVTnRMTFRtam90THB0SkoyWDlHVkZmejVmOE5vZkdML29ySHhML0FQQ252djhB
NDdSL3cyaDhZdjhBb3JIeEwvOEFDbnZ2L2p0ZnpsL3hMWG1mL1FmVC93REFaSDMvQVB4S05tLy9B
RU02WC9nTXorZzJpdjU4ditHMFBqRi8wVmo0bC84QWhUMzMvd0Fkby80YlErTVgvUldQaVgvNFU5
OS84ZG8vNGxyelAvb1BwLzhBZ01nLzRsR3pmL29aMHY4QXdHWi9RYlJYOCtYL0FBMmg4WXYraXNm
RXYvd3A3Ny80N1JSL3hMWG1mL1FmVC84QUFaQi94S05tL3dEME02WC9BSURNL1BpaWlpdisyYy95
ZENpaWlnQW9vb29BK2pmZ1AveVNqU3YrMjMvbzU2Nit1UStBL3dEeVNqU3YrMjMvQUtPZXV2ci9B
SnJQSGIvazVYRkgvWWZqUC9VaW9mOEFRTjRNZjhtLzRjLzdBc0ovNllwaFJSUlg1VWZwUVVVVVVB
RkZGRkFIeUhSUlJYL1ZRZjhBTmVGRkZGQUJSUlJRQjlHL0FmOEE1SlJwWC9iYi93QkhQWFgwVVYv
eldlTzMvSnl1S1A4QXNQeG4vcVJVUCtnYndZLzVOL3c1L3dCZ1dFLzlNVXdvb29yOHFQMG9LS0tL
QUNpaWlnRC8yUT09JyB3aWR0aD0nMTAwJyBoZWlnaHQ9JzUwJy8+PC9zdmc+IjsKKyAgICAgICAg
ICAgIGltYWdlLmRlY29kZSgpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgIHNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3JBbGwoImNhbnZhcyIpLmZvckVhY2goY2FudmFzID0+IHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGNhbnZhcy53aWR0aCA9IGltYWdlLndpZHRoICogd2luZG93LmRldmljZVBpeGVsUmF0aW87
CisgICAgICAgICAgICAgICAgICAgICAgICBjYW52YXMuaGVpZ2h0ID0gaW1hZ2UuaGVpZ2h0ICog
d2luZG93LmRldmljZVBpeGVsUmF0aW87CisgICAgICAgICAgICAgICAgICAgICAgICB3ZWJnbERy
YXdJbWFnZShjYW52YXMsIGltYWdlKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgICAg
ICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgICAgIH0s
IDEwMCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9ib2R5
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi13ZWJnbC10
ZXh0dXJlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvZXhpZi1v
cmllbnRhdGlvbi13ZWJnbC10ZXh0dXJlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi13ZWJnbC10ZXh0dXJlLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8c3R5
bGU+CisgICAgZGl2LmNvbnRhaW5lciB7CisgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsK
KyAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OworICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4
OworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7Cisg
ICAgfQorICAgIGRpdi5ob3Jpem9udGFsIHsKKyAgICAgICAgd2lkdGg6IDEwMjsKKyAgICAgICAg
aGVpZ2h0OiA1MnB4OworICAgIH0KKyAgICBkaXYudmVydGljYWwgeworICAgICAgICB3aWR0aDog
NTJweDsKKyAgICAgICAgaGVpZ2h0OiAxMDJweDsKKyAgICB9CisgICAgY2FudmFzIHsKKyAgICAg
ICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgfQorICAgIGNhbnZhcy5ob3Jpem9udGFs
IHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDUwcHg7CisgICAgfQor
ICAgIGNhbnZhcy52ZXJ0aWNhbCB7CisgICAgICAgIHdpZHRoOiA1MHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0ZXhT
aGFkZXJTb3VyY2UiIHR5cGU9InRleHQvZ2xzbCI+CisgICAgYXR0cmlidXRlIHZlYzQgYV9wb3Np
dGlvbjsKKyAgICB2YXJ5aW5nIHZlYzIgdl90ZXh0dXJlUG9zaXRpb247CisKKyAgICB2b2lkIG1h
aW4oKSB7CisgICAgICAgIHZfdGV4dHVyZVBvc2l0aW9uID0gdmVjMigoYV9wb3NpdGlvbi54ICsg
MS4wKSAvIDIuMCwgKGFfcG9zaXRpb24ueSArIDEuMCkgLyAyLjApOworICAgICAgICBnbF9Qb3Np
dGlvbiA9IGFfcG9zaXRpb247CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnbWVu
dFNoYWRlclNvdXJjZSIgdHlwZT0idGV4dC9nbHNsIj4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKKworICAgIHZhcnlpbmcgdmVjMiB2X3RleHR1cmVQb3NpdGlvbjsKKworICAgIHVuaWZv
cm0gc2FtcGxlcjJEIHRleHR1cmU7CisKKyAgICB2b2lkIG1haW4oKSB7CisgICAgICAgIGdsX0Zy
YWdDb2xvciA9IHRleHR1cmUyRCh0ZXh0dXJlLCB2X3RleHR1cmVQb3NpdGlvbik7CisgICAgfQor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLWRyYXctaW1hZ2UuanMiPjwv
c2NyaXB0PgorPGJvZHk+CisgICAgPGI+V2ViR0xSZW5kZXJpbmdDb250ZXh0LnRleEltYWdlMkQo
KSBzaG91bGQgcm90YXRlIHRoZSBpbWFnZXMgcmVzcGVjdGluZyB0aGVpciBFWElGIG9yaWVudGF0
aW9uLjwvYj4KKyAgICA8YnI+CisgICAgPGJyPgorICAgIDxkaXYgY2xhc3MgPSJjb250YWluZXIi
PgorICAgICAgICA8ZGl2IGNsYXNzID0iaG9yaXpvbnRhbCI+CisgICAgICAgICAgICA8Y2FudmFz
IGNsYXNzPSJob3Jpem9udGFsIiBpZD0iY2FudmFzMiI+PC9jYW52YXM+CisgICAgICAgIDwvZGl2
PgorICAgICAgICA8YnI+RmxpcHBlZCBob3Jpem9udGFsbHkKKyAgICA8L2Rpdj4KKyAgICA8ZGl2
IGNsYXNzID0iY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcyA9Imhvcml6b250YWwiPgor
ICAgICAgICAgICAgPGNhbnZhcyBjbGFzcz0iaG9yaXpvbnRhbCIgaWQ9ImNhbnZhczMiPjwvY2Fu
dmFzPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGJyPlJvdGF0ZWQgMTgwJmRlZzsKKyAgICA8
L2Rpdj4KKyAgICA8ZGl2IGNsYXNzID0iY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcyA9
Imhvcml6b250YWwiPgorICAgICAgICAgICAgPGNhbnZhcyBjbGFzcz0iaG9yaXpvbnRhbCIgaWQ9
ImNhbnZhczQiPjwvY2FudmFzPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGJyPkZsaXBwZWQg
dmVydGljYWxseQorICAgIDwvZGl2PgorICAgIDxicj4KKyAgICA8ZGl2IGNsYXNzID0iY29udGFp
bmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcyA9InZlcnRpY2FsIj4KKyAgICAgICAgICAgIDxjYW52
YXMgY2xhc3M9InZlcnRpY2FsIiBpZD0iY2FudmFzNSI+PC9jYW52YXM+CisgICAgICAgIDwvZGl2
PgorICAgICAgICA8YnI+Um90YXRlZCA5MCZkZWc7IENDVyBhbmQgZmxpcHBlZCB2ZXJ0aWNhbGx5
CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcyA9ImNvbnRhaW5lciI+CisgICAgICAgIDxkaXYg
Y2xhc3MgPSJ2ZXJ0aWNhbCI+CisgICAgICAgICAgICA8Y2FudmFzIGNsYXNzPSJ2ZXJ0aWNhbCIg
aWQ9ImNhbnZhczYiPjwvY2FudmFzPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGJyPlJvdGF0
ZWQgOTAmZGVnOyBDQ1cKKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzID0iY29udGFpbmVyIj4K
KyAgICAgICAgPGRpdiBjbGFzcyA9InZlcnRpY2FsIj4KKyAgICAgICAgICAgIDxjYW52YXMgY2xh
c3M9InZlcnRpY2FsIiBpZD0iY2FudmFzNyI+PC9jYW52YXM+CisgICAgICAgIDwvZGl2PgorICAg
ICAgICA8YnI+Um90YXRlZCA5MCZkZWc7IENXIGFuZCBmbGlwcGVkIHZlcnRpY2FsbHkKKyAgICA8
L2Rpdj4KKyAgICA8ZGl2IGNsYXNzID0iY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcyA9
InZlcnRpY2FsIj4KKyAgICAgICAgICAgIDxjYW52YXMgY2xhc3M9InZlcnRpY2FsIiBpZD0iY2Fu
dmFzOCI+PC9jYW52YXM+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8YnI+Um90YXRlZCA5MCZk
ZWc7IENXCisgICAgPC9kaXY+CisgICAgPGJyPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKKworICAgICAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICB2YXIgbmFtZXMgPSBbCisgICAgICAgICAgICAgICAgeyByZXNvdXJjZTogInJlc291cmNl
cy9leGlmLW9yaWVudGF0aW9uLTItdXIuanBnIiwgIGlkIDogImNhbnZhczIiIH0sCisgICAgICAg
ICAgICAgICAgeyByZXNvdXJjZTogInJlc291cmNlcy9leGlmLW9yaWVudGF0aW9uLTMtbHIuanBn
IiwgIGlkIDogImNhbnZhczMiIH0sCisgICAgICAgICAgICAgICAgeyByZXNvdXJjZTogInJlc291
cmNlcy9leGlmLW9yaWVudGF0aW9uLTQtbG9sLmpwZyIsIGlkIDogImNhbnZhczQiIH0sCisgICAg
ICAgICAgICAgICAgeyByZXNvdXJjZTogInJlc291cmNlcy9leGlmLW9yaWVudGF0aW9uLTUtbHUu
anBnIiwgIGlkIDogImNhbnZhczUiIH0sCisgICAgICAgICAgICAgICAgeyByZXNvdXJjZTogInJl
c291cmNlcy9leGlmLW9yaWVudGF0aW9uLTYtcnUuanBnIiwgIGlkIDogImNhbnZhczYiIH0sCisg
ICAgICAgICAgICAgICAgeyByZXNvdXJjZTogInJlc291cmNlcy9leGlmLW9yaWVudGF0aW9uLTct
cmwuanBnIiwgIGlkIDogImNhbnZhczciIH0sCisgICAgICAgICAgICAgICAgeyByZXNvdXJjZTog
InJlc291cmNlcy9leGlmLW9yaWVudGF0aW9uLTgtbGxvLmpwZyIsIGlkIDogImNhbnZhczgiIH0s
CisgICAgICAgICAgICBdOworCisgICAgICAgICAgICB2YXIgZHJhd0NvdW50ID0gMDsKKworICAg
ICAgICAgICAgbmFtZXMuZm9yRWFjaChmdW5jdGlvbihuYW1lKSB7CisgICAgICAgICAgICAgICAg
dmFyIGltYWdlID0gbmV3IEltYWdlOworICAgICAgICAgICAgICAgIGltYWdlLnNyYyA9IG5hbWUu
cmVzb3VyY2U7CisgICAgICAgICAgICAgICAgaW1hZ2UuZGVjb2RlKCkudGhlbigoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChu
YW1lLmlkKTsKKyAgICAgICAgICAgICAgICAgICAgY2FudmFzLndpZHRoID0gaW1hZ2Uud2lkdGgg
KiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzsKKyAgICAgICAgICAgICAgICAgICAgY2FudmFzLmhl
aWdodCA9IGltYWdlLmhlaWdodCAqIHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOworICAgICAgICAg
ICAgICAgICAgICB3ZWJnbERyYXdJbWFnZShjYW52YXMsIGltYWdlKTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKCsrZHJhd0NvdW50ID09IG5hbWVzLmxlbmd0aCkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICA8
L3NjcmlwdD4KKzwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNl
cy93ZWJnbC1kcmF3LWltYWdlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvaW1h
Z2VzL3Jlc291cmNlcy93ZWJnbC1kcmF3LWltYWdlLmpzCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy93ZWJnbC1kcmF3LWltYWdlLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTEwIEBACitmdW5jdGlvbiB3ZWJnbERyYXdJbWFnZShjYW52YXMs
IGltYWdlKSB7CisKKyAgICB2YXIgZ2wgPSBjYW52YXMuZ2V0Q29udGV4dCgid2ViZ2wiKTsKKwor
ICAgIC8vIFNldCB0aGUgY2xlYXIgY29sb3IuCisgICAgZ2wuY2xlYXJDb2xvcigwLCAwLCAwLCAx
KTsKKworICAgIC8vIENyZWF0ZSB0aGUgdmVydGV4IHNoYWRlciBvYmplY3QuCisgICAgdmFyIHZl
cnRleFNoYWRlciA9IGdsLmNyZWF0ZVNoYWRlcihnbC5WRVJURVhfU0hBREVSKTsKKworICAgIC8v
IFRoZSBzb3VyY2UgY29kZSBmb3IgdGhlIHNoYWRlciBpcyBleHRyYWN0ZWQgZnJvbSB0aGUgPHNj
cmlwdD4gZWxlbWVudCBhYm92ZS4KKyAgICBnbC5zaGFkZXJTb3VyY2UodmVydGV4U2hhZGVyLCBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmVydGV4U2hhZGVyU291cmNlIikudGV4dENvbnRlbnQp
OworCisgICAgLy8gQ29tcGlsZSB0aGUgc2hhZGVyLgorICAgIGdsLmNvbXBpbGVTaGFkZXIodmVy
dGV4U2hhZGVyKTsKKyAgICBpZiAoIWdsLmdldFNoYWRlclBhcmFtZXRlcih2ZXJ0ZXhTaGFkZXIs
IGdsLkNPTVBJTEVfU1RBVFVTKSkgeworICAgICAgICAvLyBXZSBmYWlsZWQgdG8gY29tcGlsZS4g
T3V0cHV0IHRvIHRoZSBjb25zb2xlIGFuZCBxdWl0LgorICAgICAgICBjb25zb2xlLmVycm9yKCJW
ZXJ0ZXggU2hhZGVyIGZhaWxlZCB0byBjb21waWxlLiIpOworICAgICAgICBjb25zb2xlLmxvZyhn
bC5nZXRTaGFkZXJJbmZvTG9nKHZlcnRleFNoYWRlcikpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgLy8gRG8gdGhlIGZyYWdtZW50IHNoYWRlci4KKyAgICB2YXIgZnJhZ21lbnRTaGFk
ZXIgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICBnbC5zaGFkZXJT
b3VyY2UoZnJhZ21lbnRTaGFkZXIsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFnbWVudFNo
YWRlclNvdXJjZSIpLnRleHRDb250ZW50KTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZyYWdtZW50
U2hhZGVyKTsKKyAgICBpZiAoIWdsLmdldFNoYWRlclBhcmFtZXRlcihmcmFnbWVudFNoYWRlciwg
Z2wuQ09NUElMRV9TVEFUVVMpKSB7CisgICAgICAgIGNvbnNvbGUuZXJyb3IoIkZyYWdtZW50IFNo
YWRlciBmYWlsZWQgdG8gY29tcGlsZS4iKTsKKyAgICAgICAgY29uc29sZS5sb2coZ2wuZ2V0U2hh
ZGVySW5mb0xvZyhmcmFnbWVudFNoYWRlcikpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgLy8gTWFrZSB0aGUgcHJvZ3JhbS4KKyAgICB2YXIgcHJvZ3JhbSA9IGdsLmNyZWF0ZVByb2dy
YW0oKTsKKyAgICBnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdmVydGV4U2hhZGVyKTsKKyAgICBn
bC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgZnJhZ21lbnRTaGFkZXIpOworICAgIGdsLmxpbmtQcm9n
cmFtKHByb2dyYW0pOworCisgICAgaWYgKCFnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0s
IGdsLkxJTktfU1RBVFVTKSkgeworICAgICAgICBjb25zb2xlLmVycm9yKCJVbmFibGUgdG8gbGlu
ayBzaGFkZXJzIGludG8gcHJvZ3JhbS4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CisKKyAgICB2YXIgdGV4dHVyZVVuaWZvcm0gPSBnbC5n
ZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleHR1cmUiKTsKKworICAgIHZhciBwb3NpdGlv
bkF0dHJpYnV0ZSA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICJhX3Bvc2l0aW9uIik7
CisgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkocG9zaXRpb25BdHRyaWJ1dGUpOworCisg
ICAgLy8gVGhlIGRlZmF1bHQgY29vcmRpbmF0ZSBzcGFjZSBpcyBhIHNxdWFyZSBmcm9tIC0xIHRv
IDEuCisgICAgLy8gVGhlIHRyaWFuZ2xlIGlzIHRocmVlIHBvaW50cyBpbiB0aGF0IHNxdWFyZS4K
KyAgICB2YXIgdmVydGljZXMgPSBuZXcgRmxvYXQzMkFycmF5KFsKKyAgICAgICAgLTEsIC0xLAor
ICAgICAgICAgMSwgLTEsCisgICAgICAgICAxLCAgMSwKKyAgICAgICAgIDEsICAxLAorICAgICAg
ICAtMSwgIDEsCisgICAgICAgIC0xLCAtMQorICAgIF0pOworCisgICAgLy8gQ3JlYXRlIHRoZSBi
dWZmZXIgdGhhdCB3aWxsIGhvbGQgdGhlIHZlcnRleCBkYXRhIGFib3ZlLgorICAgIHZhciB0cmlh
bmdsZUJ1ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworCisgICAgLy8gTG9hZCB0aGUgdmVydGV4
IGRhdGEgaW50byB0aGUgYnVmZmVyLgorICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVS
LCB0cmlhbmdsZUJ1ZmZlcik7CisgICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIHZl
cnRpY2VzLCBnbC5TVEFUSUNfRFJBVyk7CisKKyAgICB2YXIgc3RpbGxUb0RyYXcgPSBmYWxzZTsK
KworICAgIHZhciB1cGRhdGVUZXh0dXJlID0gZnVuY3Rpb24gKHRleHR1cmUsIGRhdGEpIHsKKyAg
ICAgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSk7CisgICAgICAgIGds
LnBpeGVsU3RvcmVpKGdsLlVOUEFDS19GTElQX1lfV0VCR0wsIHRydWUpOworICAgICAgICBnbC50
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVE
X0JZVEUsIGRhdGEpOworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGds
LlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVy
aShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7CisgICAg
ICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGds
LkNMQU1QX1RPX0VER0UpOworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQs
IGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKworICAgICAgICBnbC5iaW5k
VGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICAgICAgc3RpbGxUb0RyYXcgPSB0cnVl
OworICAgIH0KKworICAgIHZhciB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIHVw
ZGF0ZVRleHR1cmUodGV4dHVyZSwgaW1hZ2UpOworCisgICAgLy8gQ2xlYXIgdG8gYmxhY2suCisg
ICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgICB2YXIgZHJhd0Z1bmN0aW9u
ID0gZnVuY3Rpb24gKCkgeworICAgICAgICBpZiAoIXN0aWxsVG9EcmF3KSB7CisgICAgICAgICAg
ICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGRyYXdGdW5jdGlvbik7CisgICAgICAgIH0K
KworICAgICAgICAvLyBDbGVhciB0byBibGFjay4KKyAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1Jf
QlVGRkVSX0JJVCk7CisKKyAgICAgICAgZ2wuYWN0aXZlVGV4dHVyZShnbC5URVhUVVJFMCk7Cisg
ICAgICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOworICAgICAgICBn
bC51bmlmb3JtMWkodGV4dHVyZVVuaWZvcm0sIDApOworCisgICAgICAgIC8vIEJpbmQgdGhlIHZl
cnRleCBhdHRyaWJ1dGVzIGZvciB0aGUgZHJhdyBvcGVyYXRpb24uCisgICAgICAgIGdsLmJpbmRC
dWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB0cmlhbmdsZUJ1ZmZlcik7CisgICAgICAgIGdsLnZlcnRl
eEF0dHJpYlBvaW50ZXIocG9zaXRpb25BdHRyaWJ1dGUsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwg
MCk7CisKKyAgICAgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpOworICAgIH07
CisKKyAgICBkcmF3RnVuY3Rpb24oKTsKK30KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNTM1NzApCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtMjAxNCw2ICsyMDE0
LDcgQEAgaHR0cC90ZXN0cy93ZWJnbC8gWyBTa2lwIF0KIGh0dHAvdGVzdHMvY2FudmFzL3dlYmds
LyBbIFNraXAgXQogY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtYmFja2dyb3VuZC1jb2xvci5odG1s
IFsgU2tpcCBdCiBjb21wb3NpdGluZy93ZWJnbC93ZWJnbC1yZWZsZWN0aW9uLmh0bWwgWyBTa2lw
IF0KK2Zhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24td2ViZ2wtdGV4dHVyZS5odG1sIFsgU2tp
cCBdCiBmYXN0L2ltYWdlcy93ZWJnbC10ZXhpbWFnZTJkLmh0bWwgWyBTa2lwIF0KICNbIFJlbGVh
c2UgXSBmYXN0L2NhbnZhcy93ZWJnbCBbIFNraXAgXQogaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJn
bC1yZW1vdGUtcmVhZC1yZW1vdGUtaW1hZ2UtYWxsb3dlZC5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>