<?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>164817</bug_id>
          
          <creation_ts>2016-11-16 03:11:45 -0800</creation_ts>
          <short_desc>[GTK][WebRTC] Switch to downstream OpenWebRTC and more recent GStreamer</short_desc>
          <delta_ts>2016-12-13 21:02:42 -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>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=165838</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>164776</dependson>
    
    <dependson>165837</dependson>
          <blocked>153828</blocked>
    
    <blocked>162333</blocked>
    
    <blocked>164587</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alex</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1251838</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-11-16 03:11:45 -0800</bug_when>
    <thetext>Our OpenWebRTC patches are not upstreamed yet. We also need recent GStreamer for the rtpbin bundling support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251839</commentid>
    <comment_count>1</comment_count>
      <attachid>294930</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-11-16 03:16:41 -0800</bug_when>
    <thetext>Created attachment 294930
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251840</commentid>
    <comment_count>2</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2016-11-16 03:26:17 -0800</bug_when>
    <thetext>Let&apos;s do it, I&apos;ll let michael or carlos review to make sure it is not bad point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251845</commentid>
    <comment_count>3</comment_count>
      <attachid>294931</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-11-16 04:03:09 -0800</bug_when>
    <thetext>Created attachment 294931
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251848</commentid>
    <comment_count>4</comment_count>
      <attachid>294931</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-11-16 04:26:53 -0800</bug_when>
    <thetext>Comment on attachment 294931
patch

I&apos;ll ditch openwebrtc.modules again and pick the gst patches we need instead of the drastic bump to gst git master.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251857</commentid>
    <comment_count>5</comment_count>
      <attachid>294936</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-11-16 07:12:19 -0800</bug_when>
    <thetext>Created attachment 294936
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251865</commentid>
    <comment_count>6</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-11-16 07:46:08 -0800</bug_when>
    <thetext>Dunno what is up with the EWS, the log is too small.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251870</commentid>
    <comment_count>7</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-11-16 08:17:39 -0800</bug_when>
    <thetext>Cloning into &apos;gst-plugins-openwebrtc&apos;...
done.
Fetching origin
fatal: reference is not a tree: 9b2199ea970369dbFailed to run &quot;[&apos;Tools/Scripts/build-webkit&apos;, &apos;--release&apos;, &apos;--gtk&apos;, &apos;--update-gtk&apos;, &apos;--makeargs=&quot;-j48&quot;&apos;]&quot; exit_code: 1

I suspect the DependenciesGTK/Source/gst-plugins-openwebrtc directory isn&apos;t removed beforehand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251875</commentid>
    <comment_count>8</comment_count>
      <attachid>294936</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-11-16 08:37:55 -0800</bug_when>
    <thetext>Comment on attachment 294936
patch

EWS is red:

Cloning into &apos;gst-plugins-openwebrtc&apos;...
done.
Fetching origin
fatal: reference is not a tree: 9b2199ea970369dbFailed to run &quot;[&apos;Tools/Scripts/build-webkit&apos;, &apos;--release&apos;, &apos;--gtk&apos;, &apos;--update-gtk&apos;, &apos;--makeargs=&quot;-j48&quot;&apos;]&quot; exit_code: 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251877</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-11-16 08:38:23 -0800</bug_when>
    <thetext>Looks like I didn&apos;t read Phil&apos;s comments, sorry :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251878</commentid>
    <comment_count>10</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-11-16 08:40:50 -0800</bug_when>
    <thetext>I made sure it builds here btw.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252224</commentid>
    <comment_count>11</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2016-11-16 22:54:58 -0800</bug_when>
    <thetext>It seems a problem with the git pull of the repository, probably it is not removing the directory and adding a new remote does not work. This could cause the same kind of problems in the bots?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252237</commentid>
    <comment_count>12</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-11-17 00:10:48 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; It seems a problem with the git pull of the repository, probably it is not
&gt; removing the directory and adding a new remote does not work. This could
&gt; cause the same kind of problems in the bots?

I think a clean build is triggered on bots when jhbuild changes, so I think this should be fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253190</commentid>
    <comment_count>13</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-11-21 00:09:31 -0800</bug_when>
    <thetext>Committed r208940: &lt;http://trac.webkit.org/changeset/208940&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294930</attachid>
            <date>2016-11-16 03:16:41 -0800</date>
            <delta_ts>2016-11-16 04:03:09 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>4181</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSA2ODY4MmM1ZWMxOWNkMGFkYTUyOTM4YjhkZGYyYjdlZDEzYmNkZDgwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBXZWQsIDE2IE5vdiAyMDE2IDEyOjE1OjE5ICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
cGF0Y2gKCi0tLQogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICB8IDE2ICsrKysrKysrKysr
KysrKysKIFRvb2xzL2d0ay9vcGVud2VicnRjLm1vZHVsZXMgfCAyNyArKysrKysrKysrKysrKysr
KysrKysrLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggZjc3NDlmNi4uNzM3OTIyMCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE2LTExLTE2ICBQaGlsaXBwZSBOb3Jt
YW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXZWJSVENdIFN3aXRj
aCB0byBkb3duc3RyZWFtIE9wZW5XZWJSVEMgYW5kIG1vcmUgcmVjZW50IEdTdHJlYW1lcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODE3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyB0ZW1w
b3JhcnksIGhvcGVmdWxseS4gVGhlIE9wZW5XZWJSVEMgcGF0Y2hlcyB3aWxsL3Nob3VsZAorICAg
ICAgICBiZSBzb29uIHJldmlld2VkIGFuZCB1cHN0cmVhbSBidXQgbWVhbndoaWxlIGl0IG1ha2Vz
IHNlbnNlIHRvIHVzZQorICAgICAgICB0aGUgSWdhbGlhIGRvd25zdHJlYW0gZm9yayBzbyB0aGF0
IHRoZSBXZWJSVEMgdGVzdGluZyBpcyBlYXNpZXIuCisKKyAgICAgICAgUmVjZW50IEdTdHJlYW1l
ciBnaXQgc25hcHNob3QgaXMgYWxzbyBuZWVkZWQgZm9yIFJUUCBidW5kbGluZworICAgICAgICBz
dXBwb3J0IGFuZCBSVFAgcmV0cmFuc21pc3Npb24gZml4ZXMuCisKKyAgICAgICAgKiBndGsvb3Bl
bndlYnJ0Yy5tb2R1bGVzOgorCiAyMDE2LTExLTE2ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBXZWJDb3JlIHRlc3QgaXMgZmFpbGluZy4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL2d0ay9vcGVud2VicnRjLm1vZHVsZXMgYi9Ub29scy9ndGsvb3Blbndl
YnJ0Yy5tb2R1bGVzCmluZGV4IGE0ZTUxYjguLjgxNTE2MDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0
ay9vcGVud2VicnRjLm1vZHVsZXMKKysrIGIvVG9vbHMvZ3RrL29wZW53ZWJydGMubW9kdWxlcwpA
QCAtNDEsNyArNDEsNyBAQAogICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICA8ZGVwIHBhY2thZ2U9
Im9yYyIvPgogICAgIDwvZGVwZW5kZW5jaWVzPgotICAgIDxicmFuY2ggcmVwbz0iZ3N0cmVhbWVy
IiBtb2R1bGU9ImdzdHJlYW1lciIgY2hlY2tvdXRkaXI9ImdzdHJlYW1lci1iNmU2OWZmZGZiM2Ji
MjFkYmFkYThmMDFiNDg4YWU4NzdmOGQyMDVjIiB0YWc9ImI2ZTY5ZmZkZmIzYmIyMWRiYWRhOGYw
MWI0ODhhZTg3N2Y4ZDIwNWMiLz4KKyAgICA8YnJhbmNoIHJlcG89ImdzdHJlYW1lciIgbW9kdWxl
PSJnc3RyZWFtZXIiIGNoZWNrb3V0ZGlyPSJnc3RyZWFtZXIiIHRhZz0iMmU1NzlhN2MxYmZkNTU1
ZmJiZjViMjcxNDJiZjE2YmM5MzQyOTY3MCIvPgogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rv
b2xzIGlkPSJnc3QtcGx1Z2lucy1iYXNlIgpAQCAtNTMsNyArNTMsNyBAQAogICAgIDxkZXBlbmRl
bmNpZXM+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImdzdHJlYW1lciIvPgogICAgIDwvZGVwZW5kZW5j
aWVzPgotICAgIDxicmFuY2ggcmVwbz0iZ3N0cmVhbWVyIiBtb2R1bGU9ImdzdC1wbHVnaW5zLWJh
c2UiIGNoZWNrb3V0ZGlyPSJnc3QtcGx1Z2lucy1iYXNlLWNmMThmYWU5ZGViMDJmMDg2N2I2NzU5
M2Y2NzhiOTMyZjhlYjkzMWEiIHRhZz0iY2YxOGZhZTlkZWIwMmYwODY3YjY3NTkzZjY3OGI5MzJm
OGViOTMxYSIvPgorICAgIDxicmFuY2ggcmVwbz0iZ3N0cmVhbWVyIiBtb2R1bGU9ImdzdC1wbHVn
aW5zLWJhc2UiIGNoZWNrb3V0ZGlyPSJnc3QtcGx1Z2lucy1iYXNlIiB0YWc9ImU3NDAxMDM2Njli
NzM5ZjFmNDM4NzlmZjY4MzEyNWIwYzBiNTU3YzIiLz4KICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1
dG90b29scyBpZD0iZ3N0LXBsdWdpbnMtZ29vZCIgYXV0b2dlbmFyZ3M9Ii0tZGlzYWJsZS1leGFt
cGxlcyAtLWRpc2FibGUtc291cCAtLWRpc2FibGUtZ3RrLWRvYyI+CkBAIC02NCw3ICs2NCw3IEBA
CiAgICAgIDxkZXAgcGFja2FnZT0ibGlidnB4Ii8+CiAgICAgIDxkZXAgcGFja2FnZT0iZ3N0LXBs
dWdpbnMtYmFzZSIvPgogICAgIDwvZGVwZW5kZW5jaWVzPgotICAgICA8YnJhbmNoIHJlcG89Imdz
dHJlYW1lciIgbW9kdWxlPSJnc3QtcGx1Z2lucy1nb29kIiBjaGVja291dGRpcj0iZ3N0LXBsdWdp
bnMtZ29vZC01NjdhZmRkNGQzZjJmYTA3ZmVjZjRjMDJhN2VjYTcwZjdhN2VmN2Y3IiB0YWc9IjU2
N2FmZGQ0ZDNmMmZhMDdmZWNmNGMwMmE3ZWNhNzBmN2E3ZWY3ZjciLz4KKyAgICAgPGJyYW5jaCBy
ZXBvPSJnc3RyZWFtZXIiIG1vZHVsZT0iZ3N0LXBsdWdpbnMtZ29vZCIgY2hlY2tvdXRkaXI9Imdz
dC1wbHVnaW5zLWdvb2QiIHRhZz0iZGNkM2NlOTc1MWNkZWYwYjVhYjFmYTExODM1NWY5MmJkZmU4
MmNiMyIvPgogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJnc3QtcGx1Z2lucy1i
YWQiIGF1dG9nZW5hcmdzPSItLWRpc2FibGUtZXhhbXBsZXMgLS1kaXNhYmxlLWd0ay1kb2MgLS1l
bmFibGUtb3BlbmgyNjQiPgpAQCAtNzUsNyArNzUsMjQgQEAKICAgICAgIDxkZXAgcGFja2FnZT0i
Z3N0LXBsdWdpbnMtYmFzZSIvPgogICAgICAgPGRlcCBwYWNrYWdlPSJvcGVuaDI2NCIvPgogICAg
IDwvZGVwZW5kZW5jaWVzPgotICAgIDxicmFuY2ggcmVwbz0iZ3N0cmVhbWVyIiBtb2R1bGU9Imdz
dC1wbHVnaW5zLWJhZCIgY2hlY2tvdXRkaXI9ImdzdC1wbHVnaW5zLWJhZC1hMDM2YjdlZjlmZmU5
ZmU1ZGFjNGE3ZTQ2ZmJjM2JhYzkyOTIxYTU0IiB0YWc9ImEwMzZiN2VmOWZmZTlmZTVkYWM0YTdl
NDZmYmMzYmFjOTI5MjFhNTQiLz4KKyAgICA8YnJhbmNoIHJlcG89ImdzdHJlYW1lciIgbW9kdWxl
PSJnc3QtcGx1Z2lucy1iYWQiIGNoZWNrb3V0ZGlyPSJnc3QtcGx1Z2lucy1iYWQiIHRhZz0iMWRk
YmQ3NzNmOGY2NjI5MjNiOTQwM2Q0ZTY2Y2Q2NmQ1YWZmMjQ3YyIvPgogICA8L2F1dG90b29scz4K
LSAgCisKKyAgIDxhdXRvdG9vbHMgaWQ9ImdzdC1wbHVnaW5zLW9wZW53ZWJydGMiIHN1cHBvcnRz
LXBhcmFsbGVsLWJ1aWxkcz0ibm8iIHN1cHBvcnRzLW5vbi1zcmNkaXItYnVpbGRzPSJubyIgYXV0
b2dlbi1zaD0iLi9hdXRvZ2VuLnNoOyAuL2NvbmZpZ3VyZSI+CisgICAgIDxkZXBlbmRlbmNpZXM+
CisgICAgICAgPGRlcCBwYWNrYWdlPSJnc3QtcGx1Z2lucy1iYXNlIi8+CisgICAgICAgPGRlcCBw
YWNrYWdlPSJsaWJ1c3JzY3RwIi8+CisgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgIDxicmFuY2gg
cmVwbz0iZ2l0aHViLmNvbSIgbW9kdWxlPSJJZ2FsaWEvb3BlbndlYnJ0Yy1nc3QtcGx1Z2lucy5n
aXQiIGNoZWNrb3V0ZGlyPSJnc3QtcGx1Z2lucy1vcGVud2VicnRjIiB0YWc9IjliMjE5OWVhOTcw
MzY5ZGJmMWQ5Y2EyZjhlNjFjOTVmMjFkYjJiNmUiLz4KKyAgIDwvYXV0b3Rvb2xzPgorCisgIDxh
dXRvdG9vbHMgaWQ9Im9wZW53ZWJydGMiIGF1dG9nZW5hcmdzPSItLWVuYWJsZS1icmlkZ2U9bm8g
LS1lbmFibGUtb3dyLWdzdD15ZXMiPgorICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICA8ZGVwIHBh
Y2thZ2U9ImdzdC1wbHVnaW5zLW9wZW53ZWJydGMiLz4KKyAgICAgIDxkZXAgcGFja2FnZT0iZ3N0
LXBsdWdpbnMtYmFkIi8+CisgICAgICA8ZGVwIHBhY2thZ2U9ImxpYm5pY2UiLz4KKyAgICAgPC9k
ZXBlbmRlbmNpZXM+CisgICAgPGJyYW5jaCByZXBvPSJnaXRodWIuY29tIiBtb2R1bGU9IklnYWxp
YS9vcGVud2VicnRjLmdpdCIgY2hlY2tvdXRkaXI9Im9wZW53ZWJydGMiIHRhZz0iZWMwZmQxNmNm
MjhmNWJhM2ZkMTljNGU5ZWYyYzlhYmZlY2QyZjQwMiIvPgorICA8L2F1dG90b29scz4KKwogPC9t
b2R1bGVzZXQ+Ci0tIAoyLjEwLjI=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294931</attachid>
            <date>2016-11-16 04:03:09 -0800</date>
            <delta_ts>2016-11-16 07:12:19 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>4181</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSAyNzFkNWVkOGU4MWYxODU3M2Y4NjdlZTBhMTkzYTg0ZTQ3YmEzMjkyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBXZWQsIDE2IE5vdiAyMDE2IDEyOjE1OjE5ICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
cGF0Y2gKCi0tLQogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICB8IDE2ICsrKysrKysrKysr
KysrKysKIFRvb2xzL2d0ay9vcGVud2VicnRjLm1vZHVsZXMgfCAyNyArKysrKysrKysrKysrKysr
KysrKysrLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggZjc3NDlmNi4uNzM3OTIyMCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE2LTExLTE2ICBQaGlsaXBwZSBOb3Jt
YW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXZWJSVENdIFN3aXRj
aCB0byBkb3duc3RyZWFtIE9wZW5XZWJSVEMgYW5kIG1vcmUgcmVjZW50IEdTdHJlYW1lcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODE3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyB0ZW1w
b3JhcnksIGhvcGVmdWxseS4gVGhlIE9wZW5XZWJSVEMgcGF0Y2hlcyB3aWxsL3Nob3VsZAorICAg
ICAgICBiZSBzb29uIHJldmlld2VkIGFuZCB1cHN0cmVhbSBidXQgbWVhbndoaWxlIGl0IG1ha2Vz
IHNlbnNlIHRvIHVzZQorICAgICAgICB0aGUgSWdhbGlhIGRvd25zdHJlYW0gZm9yayBzbyB0aGF0
IHRoZSBXZWJSVEMgdGVzdGluZyBpcyBlYXNpZXIuCisKKyAgICAgICAgUmVjZW50IEdTdHJlYW1l
ciBnaXQgc25hcHNob3QgaXMgYWxzbyBuZWVkZWQgZm9yIFJUUCBidW5kbGluZworICAgICAgICBz
dXBwb3J0IGFuZCBSVFAgcmV0cmFuc21pc3Npb24gZml4ZXMuCisKKyAgICAgICAgKiBndGsvb3Bl
bndlYnJ0Yy5tb2R1bGVzOgorCiAyMDE2LTExLTE2ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBXZWJDb3JlIHRlc3QgaXMgZmFpbGluZy4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL2d0ay9vcGVud2VicnRjLm1vZHVsZXMgYi9Ub29scy9ndGsvb3Blbndl
YnJ0Yy5tb2R1bGVzCmluZGV4IGE0ZTUxYjguLjhmNzY4ZDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0
ay9vcGVud2VicnRjLm1vZHVsZXMKKysrIGIvVG9vbHMvZ3RrL29wZW53ZWJydGMubW9kdWxlcwpA
QCAtNDEsNyArNDEsNyBAQAogICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICA8ZGVwIHBhY2thZ2U9
Im9yYyIvPgogICAgIDwvZGVwZW5kZW5jaWVzPgotICAgIDxicmFuY2ggcmVwbz0iZ3N0cmVhbWVy
IiBtb2R1bGU9ImdzdHJlYW1lciIgY2hlY2tvdXRkaXI9ImdzdHJlYW1lci1iNmU2OWZmZGZiM2Ji
MjFkYmFkYThmMDFiNDg4YWU4NzdmOGQyMDVjIiB0YWc9ImI2ZTY5ZmZkZmIzYmIyMWRiYWRhOGYw
MWI0ODhhZTg3N2Y4ZDIwNWMiLz4KKyAgICA8YnJhbmNoIHJlcG89ImdzdHJlYW1lciIgbW9kdWxl
PSJnc3RyZWFtZXIiIGNoZWNrb3V0ZGlyPSJnc3RyZWFtZXIiIHRhZz0iMmU1NzlhN2MxYmZkNTU1
ZmJiZjViMjcxNDJiZjE2YmM5MzQyOTY3MCIvPgogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rv
b2xzIGlkPSJnc3QtcGx1Z2lucy1iYXNlIgpAQCAtNTMsNyArNTMsNyBAQAogICAgIDxkZXBlbmRl
bmNpZXM+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImdzdHJlYW1lciIvPgogICAgIDwvZGVwZW5kZW5j
aWVzPgotICAgIDxicmFuY2ggcmVwbz0iZ3N0cmVhbWVyIiBtb2R1bGU9ImdzdC1wbHVnaW5zLWJh
c2UiIGNoZWNrb3V0ZGlyPSJnc3QtcGx1Z2lucy1iYXNlLWNmMThmYWU5ZGViMDJmMDg2N2I2NzU5
M2Y2NzhiOTMyZjhlYjkzMWEiIHRhZz0iY2YxOGZhZTlkZWIwMmYwODY3YjY3NTkzZjY3OGI5MzJm
OGViOTMxYSIvPgorICAgIDxicmFuY2ggcmVwbz0iZ3N0cmVhbWVyIiBtb2R1bGU9ImdzdC1wbHVn
aW5zLWJhc2UiIGNoZWNrb3V0ZGlyPSJnc3QtcGx1Z2lucy1iYXNlIiB0YWc9ImU3NDAxMDM2Njli
NzM5ZjFmNDM4NzlmZjY4MzEyNWIwYzBiNTU3YzIiLz4KICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1
dG90b29scyBpZD0iZ3N0LXBsdWdpbnMtZ29vZCIgYXV0b2dlbmFyZ3M9Ii0tZGlzYWJsZS1leGFt
cGxlcyAtLWRpc2FibGUtc291cCAtLWRpc2FibGUtZ3RrLWRvYyI+CkBAIC02NCw3ICs2NCw3IEBA
CiAgICAgIDxkZXAgcGFja2FnZT0ibGlidnB4Ii8+CiAgICAgIDxkZXAgcGFja2FnZT0iZ3N0LXBs
dWdpbnMtYmFzZSIvPgogICAgIDwvZGVwZW5kZW5jaWVzPgotICAgICA8YnJhbmNoIHJlcG89Imdz
dHJlYW1lciIgbW9kdWxlPSJnc3QtcGx1Z2lucy1nb29kIiBjaGVja291dGRpcj0iZ3N0LXBsdWdp
bnMtZ29vZC01NjdhZmRkNGQzZjJmYTA3ZmVjZjRjMDJhN2VjYTcwZjdhN2VmN2Y3IiB0YWc9IjU2
N2FmZGQ0ZDNmMmZhMDdmZWNmNGMwMmE3ZWNhNzBmN2E3ZWY3ZjciLz4KKyAgICAgPGJyYW5jaCBy
ZXBvPSJnc3RyZWFtZXIiIG1vZHVsZT0iZ3N0LXBsdWdpbnMtZ29vZCIgY2hlY2tvdXRkaXI9Imdz
dC1wbHVnaW5zLWdvb2QiIHRhZz0iZGNkM2NlOTc1MWNkZWYwYjVhYjFmYTExODM1NWY5MmJkZmU4
MmNiMyIvPgogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJnc3QtcGx1Z2lucy1i
YWQiIGF1dG9nZW5hcmdzPSItLWRpc2FibGUtZXhhbXBsZXMgLS1kaXNhYmxlLWd0ay1kb2MgLS1l
bmFibGUtb3BlbmgyNjQiPgpAQCAtNzUsNyArNzUsMjQgQEAKICAgICAgIDxkZXAgcGFja2FnZT0i
Z3N0LXBsdWdpbnMtYmFzZSIvPgogICAgICAgPGRlcCBwYWNrYWdlPSJvcGVuaDI2NCIvPgogICAg
IDwvZGVwZW5kZW5jaWVzPgotICAgIDxicmFuY2ggcmVwbz0iZ3N0cmVhbWVyIiBtb2R1bGU9Imdz
dC1wbHVnaW5zLWJhZCIgY2hlY2tvdXRkaXI9ImdzdC1wbHVnaW5zLWJhZC1hMDM2YjdlZjlmZmU5
ZmU1ZGFjNGE3ZTQ2ZmJjM2JhYzkyOTIxYTU0IiB0YWc9ImEwMzZiN2VmOWZmZTlmZTVkYWM0YTdl
NDZmYmMzYmFjOTI5MjFhNTQiLz4KKyAgICA8YnJhbmNoIHJlcG89ImdzdHJlYW1lciIgbW9kdWxl
PSJnc3QtcGx1Z2lucy1iYWQiIGNoZWNrb3V0ZGlyPSJnc3QtcGx1Z2lucy1iYWQiIHRhZz0iMWRk
YmQ3NzNmOGY2NjI5MjNiOTQwM2Q0ZTY2Y2Q2NmQ1YWZmMjQ3YyIvPgogICA8L2F1dG90b29scz4K
LSAgCisKKyAgIDxhdXRvdG9vbHMgaWQ9ImdzdC1wbHVnaW5zLW9wZW53ZWJydGMiIHN1cHBvcnRz
LXBhcmFsbGVsLWJ1aWxkcz0ibm8iIHN1cHBvcnRzLW5vbi1zcmNkaXItYnVpbGRzPSJubyIgYXV0
b2dlbi1zaD0iLi9hdXRvZ2VuLnNoOyAuL2NvbmZpZ3VyZSI+CisgICAgIDxkZXBlbmRlbmNpZXM+
CisgICAgICAgPGRlcCBwYWNrYWdlPSJnc3QtcGx1Z2lucy1iYXNlIi8+CisgICAgICAgPGRlcCBw
YWNrYWdlPSJsaWJ1c3JzY3RwIi8+CisgICAgIDwvZGVwZW5kZW5jaWVzPgorICAgIDxicmFuY2gg
cmVwbz0iZ2l0aHViLmNvbSIgbW9kdWxlPSJJZ2FsaWEvb3BlbndlYnJ0Yy1nc3QtcGx1Z2lucy5n
aXQiIGNoZWNrb3V0ZGlyPSJnc3QtcGx1Z2lucy1vcGVud2VicnRjIiB0YWc9IjliMjE5OWVhOTcw
MzY5ZGJmMWQ5Y2EyZjhlNjFjOTVmMjFkYjJiNmUiLz4KKyAgIDwvYXV0b3Rvb2xzPgorCisgIDxh
dXRvdG9vbHMgaWQ9Im9wZW53ZWJydGMiIGF1dG9nZW5hcmdzPSItLWVuYWJsZS1icmlkZ2U9bm8g
LS1lbmFibGUtb3dyLWdzdD15ZXMiPgorICAgIDxkZXBlbmRlbmNpZXM+CisgICAgICA8ZGVwIHBh
Y2thZ2U9ImdzdC1wbHVnaW5zLW9wZW53ZWJydGMiLz4KKyAgICAgIDxkZXAgcGFja2FnZT0iZ3N0
LXBsdWdpbnMtYmFkIi8+CisgICAgICA8ZGVwIHBhY2thZ2U9ImxpYm5pY2UiLz4KKyAgICAgPC9k
ZXBlbmRlbmNpZXM+CisgICAgPGJyYW5jaCByZXBvPSJnaXRodWIuY29tIiBtb2R1bGU9IklnYWxp
YS9vcGVud2VicnRjLmdpdCIgY2hlY2tvdXRkaXI9Im9wZW53ZWJydGMiIHRhZz0iNzViNTMwODdi
MGFmZTY1ZjJlNmE3ZmM1ZTQ1MjcwODRhNGQxMmY4MiIvPgorICA8L2F1dG90b29scz4KKwogPC9t
b2R1bGVzZXQ+Ci0tIAoyLjEwLjI=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294936</attachid>
            <date>2016-11-16 07:12:19 -0800</date>
            <delta_ts>2016-11-17 04:17:49 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>55731</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSA1N2NlZWQ0NGE0YTIxNDkzOWZmYTU5NjkxMDk3YjdmOTViOGM3ZmI4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBXZWQsIDE2IE5vdiAyMDE2IDE2OjAxOjUzICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
cGF0Y2gKCi0tLQogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDIwICsKIFRvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAzMiArLQogVG9vbHMvZ3RrL29wZW53ZWJydGMubW9kdWxlcyAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDgxIC0tCiAuLi5saW5lLWdldHMtYW4tRU9TLXdoZW4tYW55LXJ0
cHNvdXJjZXMtYnllcy5wYXRjaCB8ICAxNTYgKysrCiAuLi5kLWdlbmVyYXRpbmctZXJyb3JzLXdo
ZW4tcnRjcC1tZXNzYWdlcy1hci5wYXRjaCB8ICAgNjEgKysKIC4uLnMtZ29vZC0wMDAzLXJ0cGJp
bi1yZWNlaXZlLWJ1bmRsZS1zdXBwb3J0LnBhdGNoIHwgMTAxOCArKysrKysrKysrKysrKysrKysr
KwogNiBmaWxlcyBjaGFuZ2VkLCAxMjgyIGluc2VydGlvbnMoKyksIDg2IGRlbGV0aW9ucygtKQog
ZGVsZXRlIG1vZGUgMTAwNjQ0IFRvb2xzL2d0ay9vcGVud2VicnRjLm1vZHVsZXMKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBUb29scy9ndGsvcGF0Y2hlcy9nc3QtcGx1Z2lucy1nb29kLTAwMDEtcnRwYmlu
LXBpcGVsaW5lLWdldHMtYW4tRU9TLXdoZW4tYW55LXJ0cHNvdXJjZXMtYnllcy5wYXRjaAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IFRvb2xzL2d0ay9wYXRjaGVzL2dzdC1wbHVnaW5zLWdvb2QtMDAwMi1y
dHBiaW4tYXZvaWQtZ2VuZXJhdGluZy1lcnJvcnMtd2hlbi1ydGNwLW1lc3NhZ2VzLWFyLnBhdGNo
CiBjcmVhdGUgbW9kZSAxMDA2NDQgVG9vbHMvZ3RrL3BhdGNoZXMvZ3N0LXBsdWdpbnMtZ29vZC0w
MDAzLXJ0cGJpbi1yZWNlaXZlLWJ1bmRsZS1zdXBwb3J0LnBhdGNoCgpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY3NzQ5ZjYuLjJjMzgyY2IgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMyBAQAorMjAxNi0xMS0xNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5j
b20+CisKKyAgICAgICAgW0dUS11bV2ViUlRDXSBTd2l0Y2ggdG8gZG93bnN0cmVhbSBPcGVuV2Vi
UlRDIGFuZCBtb3JlIHJlY2VudCBHU3RyZWFtZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDgxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgdGVtcG9yYXJ5LCBob3BlZnVsbHkuIFRoZSBP
cGVuV2ViUlRDIHBhdGNoZXMgd2lsbC9zaG91bGQKKyAgICAgICAgYmUgc29vbiByZXZpZXdlZCBh
bmQgdXBzdHJlYW0gYnV0IG1lYW53aGlsZSBpdCBtYWtlcyBzZW5zZSB0byB1c2UKKyAgICAgICAg
dGhlIElnYWxpYSBkb3duc3RyZWFtIGZvcmsgc28gdGhhdCB0aGUgV2ViUlRDIHRlc3RpbmcgaXMg
ZWFzaWVyLgorCisgICAgICAgIFJlY2VudCBHU3RyZWFtZXIgcGF0Y2hlcyBhcmUgYWxzbyBuZWVk
ZWQgZm9yIFJUUCBidW5kbGluZyBzdXBwb3J0CisgICAgICAgIGFuZCBSVFAgcmV0cmFuc21pc3Np
b24gZml4ZXMuCisKKyAgICAgICAgKiBndGsvamhidWlsZC5tb2R1bGVzOgorICAgICAgICAqIGd0
ay9vcGVud2VicnRjLm1vZHVsZXM6IFJlbW92ZWQuCisgICAgICAgICogZ3RrL3BhdGNoZXMvZ3N0
LXBsdWdpbnMtZ29vZC0wMDAxLXJ0cGJpbi1waXBlbGluZS1nZXRzLWFuLUVPUy13aGVuLWFueS1y
dHBzb3VyY2VzLWJ5ZXMucGF0Y2g6IEFkZGVkLgorICAgICAgICAqIGd0ay9wYXRjaGVzL2dzdC1w
bHVnaW5zLWdvb2QtMDAwMi1ydHBiaW4tYXZvaWQtZ2VuZXJhdGluZy1lcnJvcnMtd2hlbi1ydGNw
LW1lc3NhZ2VzLWFyLnBhdGNoOiBBZGRlZC4KKyAgICAgICAgKiBndGsvcGF0Y2hlcy9nc3QtcGx1
Z2lucy1nb29kLTAwMDMtcnRwYmluLXJlY2VpdmUtYnVuZGxlLXN1cHBvcnQucGF0Y2g6IEFkZGVk
LgorCiAyMDE2LTExLTE2ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbV2luXSBXZWJDb3JlIHRlc3QgaXMgZmFpbGluZy4KZGlmZiAtLWdpdCBhL1Rvb2xz
L2d0ay9qaGJ1aWxkLm1vZHVsZXMgYi9Ub29scy9ndGsvamhidWlsZC5tb2R1bGVzCmluZGV4IGU0
ZWVmMmEuLmJmOTM5YWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKKysr
IGIvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcwpAQCAtNDgsNiArNDgsOCBAQAogICA8IS0tIFBs
ZWFzZSB1c2UgaHR0cC9odHRwcyB0byBhY2Nlc3MgcmVwb3NpdG9yaWVzIHRvIGJlIGZyaWVuZGx5
IHRvIHVzZXJzIHN0dWNrIGJlaGluZCBmaXJld2FsbHMuIC0tPgogICA8cmVwb3NpdG9yeSB0eXBl
PSJnaXQiIG5hbWU9ImdpdGh1Yi5jb20iCiAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20i
Lz4KKyAgPHJlcG9zaXRvcnkgdHlwZT0idGFyYmFsbCIgbmFtZT0iZ2l0aHViLXRhcmJhbGwiCisg
ICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vIi8+CiAgIDxyZXBvc2l0b3J5IHR5cGU9InRh
cmJhbGwiIG5hbWU9InNvdXJjZXdhcmUub3JnLW1pcnJvciIKICAgICAgIGhyZWY9Imh0dHA6Ly9t
aXJyb3JzLmtlcm5lbC5vcmcvc291cmNlcy5yZWRoYXQuY29tLyIvPgogICA8cmVwb3NpdG9yeSB0
eXBlPSJ0YXJiYWxsIiBuYW1lPSJmdHAuZ25vbWUub3JnIgpAQCAtMzg1LDYgKzM4Nyw5IEBACiAg
ICAgICAgICAgICBtZDVzdW09IjkxZWQ0NjQ5YzdjMmU0M2E2MWY3MzFkMTQ0ZjZmNmQwIj4KICAg
ICAgIDxwYXRjaCBmaWxlPSJnc3QtcGx1Z2lucy1nb29kLXVzZS10aGUtdGZkdC1kZWNvZGUtdGlt
ZS5wYXRjaCIgc3RyaXA9IjEiLz4KICAgICAgIDxwYXRjaCBmaWxlPSJnc3QtcGx1Z2lucy1nb29k
LVJldmVydC1xdGRlbXV4LWV4cG9zZS1zdHJlYW1zLXdpdGgtZmlyc3QtbW9vZi1mb3ItZnIucGF0
Y2giIHN0cmlwPSIxIi8+CisgICAgICA8cGF0Y2ggZmlsZT0iZ3N0LXBsdWdpbnMtZ29vZC0wMDAx
LXJ0cGJpbi1waXBlbGluZS1nZXRzLWFuLUVPUy13aGVuLWFueS1ydHBzb3VyY2VzLWJ5ZXMucGF0
Y2giIHN0cmlwPSIxIi8+CisgICAgICA8cGF0Y2ggZmlsZT0iZ3N0LXBsdWdpbnMtZ29vZC0wMDAy
LXJ0cGJpbi1hdm9pZC1nZW5lcmF0aW5nLWVycm9ycy13aGVuLXJ0Y3AtbWVzc2FnZXMtYXIucGF0
Y2giIHN0cmlwPSIxIi8+CisgICAgICA8cGF0Y2ggZmlsZT0iZ3N0LXBsdWdpbnMtZ29vZC0wMDAz
LXJ0cGJpbi1yZWNlaXZlLWJ1bmRsZS1zdXBwb3J0LnBhdGNoIiBzdHJpcD0iMSIvPgogICAgIDwv
YnJhbmNoPgogICA8L2F1dG90b29scz4KIApAQCAtNDkyLDIxICs0OTcsMzggQEAKIAogICA8YXV0
b3Rvb2xzIGlkPSJsaWJ1c3JzY3RwIiBzdXBwb3J0cy1ub24tc3JjZGlyLWJ1aWxkcz0ibm8iIGF1
dG9nZW4tc2g9Ii4vYm9vdHN0cmFwOyAuL2NvbmZpZ3VyZSAtLWRpc2FibGUtd2FybmluZ3MtYXMt
ZXJyb3JzIj4KICAgICA8YnJhbmNoIHJlcG89ImdpdGh1Yi5jb20iIG1vZHVsZT0ic2N0cGxhYi91
c3JzY3RwLmdpdCIgY2hlY2tvdXRkaXI9InVzcnNjdHAiIHRhZz0iMDc4ZmYzMjUyZjczMzI3ZTBh
YzExZDZmZDVlZmY2MjAxMWY2NjQ2ZSIvPgotICAgPC9hdXRvdG9vbHM+CisgIDwvYXV0b3Rvb2xz
PgorCisgIDxhdXRvdG9vbHMgaWQ9Im9wZW5oMjY0IiBzdXBwb3J0cy1ub24tc3JjZGlyLWJ1aWxk
cz0ibm8iIGF1dG9nZW4tc2g9InBzZXVkby1jb25maWd1cmUiPgorICAgIDxicmFuY2ggbW9kdWxl
PSJjaXNjby9vcGVuaDI2NC9hcmNoaXZlL3Yke3ZlcnNpb259LnRhci5neiIgdmVyc2lvbj0iMS41
LjAiCisgICAgICAgICAgICBjaGVja291dGRpcj0ib3BlbmgyNjQtJHt2ZXJzaW9ufSIgcmVwbz0i
Z2l0aHViLXRhcmJhbGwiPgorICAgICAgPHBhdGNoIGZpbGU9Im9wZW5oMjY0LWNvbmZpZ3VyZS5w
YXRjaCIgc3RyaXA9IjAiLz4KKyAgICA8L2JyYW5jaD4KKyAgPC9hdXRvdG9vbHM+CisKKyAgPGF1
dG90b29scyBpZD0ibGlidnB4IgorICAgIGF1dG9nZW4tdGVtcGxhdGU9IiUoc3JjZGlyKXMvY29u
ZmlndXJlIC0tcHJlZml4PSUocHJlZml4KXMgLS1lbmFibGUtcGljIC0tYXM9eWFzbSAtLWRpc2Fi
bGUtdW5pdC10ZXN0cyAtLXNpemUtbGltaXQ9MTYzODR4MTYzODQgLS1lbmFibGUtcG9zdHByb2Mg
LS1lbmFibGUtbXVsdGktcmVzLWVuY29kaW5nIC0tZW5hYmxlLXRlbXBvcmFsLWRlbm9pc2luZyAt
LWVuYWJsZS12cDktdGVtcG9yYWwtZGVub2lzaW5nIC0tZW5hYmxlLXZwOS1wb3N0cHJvYyAtLWVu
YWJsZS1zaGFyZWQiPgorICAgIDxicmFuY2ggcmVwbz0iZ2l0aHViLmNvbSIgbW9kdWxlPSJ3ZWJt
cHJvamVjdC9saWJ2cHguZ2l0IiB2ZXJzaW9uPSIxLjYuMCIgY2hlY2tvdXRkaXI9ImxpYnZweC0x
LjYuMCI+CisgICAgPC9icmFuY2g+CisgIDwvYXV0b3Rvb2xzPgogCiAgICA8YXV0b3Rvb2xzIGlk
PSJnc3QtcGx1Z2lucy1vcGVud2VicnRjIiBzdXBwb3J0cy1wYXJhbGxlbC1idWlsZHM9Im5vIiBz
dXBwb3J0cy1ub24tc3JjZGlyLWJ1aWxkcz0ibm8iIGF1dG9nZW4tc2g9Ii4vYXV0b2dlbi5zaDsg
Li9jb25maWd1cmUiPgogICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgIDxkZXAgcGFja2FnZT0i
Z3N0LXBsdWdpbnMtYmFzZSIvPgogICAgICAgIDxkZXAgcGFja2FnZT0ibGlidXNyc2N0cCIvPgog
ICAgICA8L2RlcGVuZGVuY2llcz4KLSAgICA8YnJhbmNoIHJlcG89ImdpdGh1Yi5jb20iIG1vZHVs
ZT0iRXJpY3Nzb25SZXNlYXJjaC9vcGVud2VicnRjLWdzdC1wbHVnaW5zLmdpdCIgY2hlY2tvdXRk
aXI9ImdzdC1wbHVnaW5zLW9wZW53ZWJydGMiIHRhZz0iZjQwZjMzMDIwMDdkYTAwZjBiZmI4MjA2
NWQ3MDViNjJjMmVhMWFmZCIvPgorICAgIDxicmFuY2ggcmVwbz0iZ2l0aHViLmNvbSIgbW9kdWxl
PSJJZ2FsaWEvb3BlbndlYnJ0Yy1nc3QtcGx1Z2lucy5naXQiIGNoZWNrb3V0ZGlyPSJnc3QtcGx1
Z2lucy1vcGVud2VicnRjIiB0YWc9IjliMjE5OWVhOTcwMzY5ZGJmMWQ5Y2EyZjhlNjFjOTVmMjFk
YjJiNmUiLz4KICAgIDwvYXV0b3Rvb2xzPgogCi0gICA8YXV0b3Rvb2xzIGlkPSJsaWJuaWNlIiBz
dXBwb3J0cy1ub24tc3JjZGlyLWJ1aWxkcz0ibm8iPgorICA8YXV0b3Rvb2xzIGlkPSJsaWJuaWNl
IiBzdXBwb3J0cy1ub24tc3JjZGlyLWJ1aWxkcz0ibm8iPgogICAgIDxkZXBlbmRlbmNpZXM+CiAg
ICAgICA8ZGVwIHBhY2thZ2U9ImdzdHJlYW1lciIvPgogICAgIDwvZGVwZW5kZW5jaWVzPgotICAg
IDxicmFuY2ggcmVwbz0iZnJlZWRlc2t0b3AtZ2l0IiBtb2R1bGU9ImxpYm5pY2UvbGlibmljZS5n
aXQiIHRhZz0iMC4xLjEzIiBjaGVja291dGRpcj0ibGlibmljZSIvPgorICAgIDxicmFuY2ggbW9k
dWxlPSJsaWJuaWNlL2xpYm5pY2UvYXJjaGl2ZS8ke3ZlcnNpb259LnRhci5neiIgdmVyc2lvbj0i
MjgwM2EwYjRiNzBhZjk2ODRlMDVlZjVlZDNmMGMyZmJjYTRiNmM5MyIKKyAgICAgICAgICAgIGNo
ZWNrb3V0ZGlyPSJsaWJuaWNlLSR7dmVyc2lvbn0iIHJlcG89ImdpdGh1Yi10YXJiYWxsIj4KKyAg
ICAgIDxwYXRjaCBmaWxlPSJsaWJuaWNlLTAwMDEtbmljZXNyYy1zcGluLXRoZS1hZ2VudC1tYWlu
bG9vcC1pbi1hLXNlcGFyYXRlLXRocmVhZC5wYXRjaCIgc3RyaXA9IjEiLz4KKyAgICAgIDxwYXRj
aCBmaWxlPSJsaWJuaWNlLTAwMDEtVFVSTi1hbGxvdy1SRUFMTS10by1iZS1lbXB0eS5wYXRjaCIg
c3RyaXA9IjEiLz4KKyAgICA8L2JyYW5jaD4KICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29s
cyBpZD0ib3BlbndlYnJ0YyIgYXV0b2dlbmFyZ3M9Ii0tZW5hYmxlLWJyaWRnZT1ubyAtLWVuYWJs
ZS1vd3ItZ3N0PXllcyI+CkBAIC01MTUsNyArNTM3LDcgQEAKICAgICAgIDxkZXAgcGFja2FnZT0i
Z3N0LXBsdWdpbnMtYmFkIi8+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImxpYm5pY2UiLz4KICAgICAg
PC9kZXBlbmRlbmNpZXM+Ci0gICAgPGJyYW5jaCByZXBvPSJnaXRodWIuY29tIiBtb2R1bGU9IkVy
aWNzc29uUmVzZWFyY2gvb3BlbndlYnJ0Yy5naXQiIGNoZWNrb3V0ZGlyPSJvcGVud2VicnRjIiB0
YWc9IjBiMjhiMDgwZDYxYWYzYWRiMWY3NzllNjkzZmMwMjlmOWMxYWQ0OTkiLz4KKyAgICA8YnJh
bmNoIHJlcG89ImdpdGh1Yi5jb20iIG1vZHVsZT0iSWdhbGlhL29wZW53ZWJydGMuZ2l0IiBjaGVj
a291dGRpcj0ib3BlbndlYnJ0YyIgdGFnPSI3NWI1MzA4N2IwYWZlNjVmMmU2YTdmYzVlNDUyNzA4
NGE0ZDEyZjgyIi8+CiAgIDwvYXV0b3Rvb2xzPgogCiAgIDxhdXRvdG9vbHMgaWQ9Imxsdm0iCmRp
ZmYgLS1naXQgYS9Ub29scy9ndGsvb3BlbndlYnJ0Yy5tb2R1bGVzIGIvVG9vbHMvZ3RrL29wZW53
ZWJydGMubW9kdWxlcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTRlNTFiOC4uMDAw
MDAwMAotLS0gYS9Ub29scy9ndGsvb3BlbndlYnJ0Yy5tb2R1bGVzCisrKyAvZGV2L251bGwKQEAg
LTEsODEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgbW9kdWxlc2V0
IFNZU1RFTSAibW9kdWxlc2V0LmR0ZCI+Ci08P3htbC1zdHlsZXNoZWV0IHR5cGU9InRleHQveHNs
IiBocmVmPSJtb2R1bGVzZXQueHNsIj8+Ci08bW9kdWxlc2V0PgotCi0gIDxyZXBvc2l0b3J5IHR5
cGU9InRhcmJhbGwiIG5hbWU9ImdpdGh1Yi10YXJiYWxsIgotICAgICAgaHJlZj0iaHR0cHM6Ly9n
aXRodWIuY29tLyIvPgotICA8cmVwb3NpdG9yeSB0eXBlPSJnaXQiIG5hbWU9ImdzdHJlYW1lciIK
LSAgICAgIGhyZWY9ImdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIv
Ii8+Ci0gIDxyZXBvc2l0b3J5IHR5cGU9ImdpdCIgbmFtZT0iZ2l0aHViLmNvbSIKLSAgICAgIGhy
ZWY9Imh0dHBzOi8vZ2l0aHViLmNvbSIvPgotCi0gIDxhdXRvdG9vbHMgaWQ9Im9wZW5oMjY0IiBz
dXBwb3J0cy1ub24tc3JjZGlyLWJ1aWxkcz0ibm8iIGF1dG9nZW4tc2g9InBzZXVkby1jb25maWd1
cmUiPgotICAgIDxicmFuY2ggbW9kdWxlPSJjaXNjby9vcGVuaDI2NC9hcmNoaXZlL3Yke3ZlcnNp
b259LnRhci5neiIgdmVyc2lvbj0iMS41LjAiCi0gICAgICAgICAgICBjaGVja291dGRpcj0ib3Bl
bmgyNjQtJHt2ZXJzaW9ufSIgcmVwbz0iZ2l0aHViLXRhcmJhbGwiPgotICAgICAgPHBhdGNoIGZp
bGU9Im9wZW5oMjY0LWNvbmZpZ3VyZS5wYXRjaCIgc3RyaXA9IjAiLz4KLSAgICA8L2JyYW5jaD4K
LSAgPC9hdXRvdG9vbHM+Ci0KLSAgPGF1dG90b29scyBpZD0ibGlidnB4IgotICAgIGF1dG9nZW4t
dGVtcGxhdGU9IiUoc3JjZGlyKXMvY29uZmlndXJlIC0tcHJlZml4PSUocHJlZml4KXMgLS1lbmFi
bGUtcGljIC0tYXM9eWFzbSAtLWRpc2FibGUtdW5pdC10ZXN0cyAtLXNpemUtbGltaXQ9MTYzODR4
MTYzODQgLS1lbmFibGUtcG9zdHByb2MgLS1lbmFibGUtbXVsdGktcmVzLWVuY29kaW5nIC0tZW5h
YmxlLXRlbXBvcmFsLWRlbm9pc2luZyAtLWVuYWJsZS12cDktdGVtcG9yYWwtZGVub2lzaW5nIC0t
ZW5hYmxlLXZwOS1wb3N0cHJvYyAtLWVuYWJsZS1zaGFyZWQiPgotICAgIDxicmFuY2ggcmVwbz0i
Z2l0aHViLmNvbSIgbW9kdWxlPSJ3ZWJtcHJvamVjdC9saWJ2cHguZ2l0IiB2ZXJzaW9uPSIxLjYu
MCIgY2hlY2tvdXRkaXI9ImxpYnZweC0xLjYuMCI+Ci0gICAgPC9icmFuY2g+Ci0gIDwvYXV0b3Rv
b2xzPgotCi0gIDxhdXRvdG9vbHMgaWQ9ImxpYm5pY2UiIHN1cHBvcnRzLW5vbi1zcmNkaXItYnVp
bGRzPSJubyI+Ci0gICAgPGRlcGVuZGVuY2llcz4KLSAgICAgIDxkZXAgcGFja2FnZT0iZ3N0cmVh
bWVyIi8+Ci0gICAgPC9kZXBlbmRlbmNpZXM+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImxpYm5pY2Uv
bGlibmljZS9hcmNoaXZlLyR7dmVyc2lvbn0udGFyLmd6IiB2ZXJzaW9uPSIyODAzYTBiNGI3MGFm
OTY4NGUwNWVmNWVkM2YwYzJmYmNhNGI2YzkzIgotICAgICAgICAgICAgY2hlY2tvdXRkaXI9Imxp
Ym5pY2UtJHt2ZXJzaW9ufSIgcmVwbz0iZ2l0aHViLXRhcmJhbGwiPgotICAgICAgPHBhdGNoIGZp
bGU9ImxpYm5pY2UtMDAwMS1uaWNlc3JjLXNwaW4tdGhlLWFnZW50LW1haW5sb29wLWluLWEtc2Vw
YXJhdGUtdGhyZWFkLnBhdGNoIiBzdHJpcD0iMSIvPgotICAgICAgPHBhdGNoIGZpbGU9ImxpYm5p
Y2UtMDAwMS1UVVJOLWFsbG93LVJFQUxNLXRvLWJlLWVtcHR5LnBhdGNoIiBzdHJpcD0iMSIvPgot
ICAgIDwvYnJhbmNoPgotICA8L2F1dG90b29scz4KLQotICA8YXV0b3Rvb2xzIGlkPSJnc3RyZWFt
ZXIiIGF1dG9nZW5hcmdzPSItLWRpc2FibGUtZ3RrLWRvYyI+Ci0gICAgPGlmIGNvbmRpdGlvbi1z
ZXQ9Im1hY29zIj4KLSAgICAgIDxhdXRvZ2VuYXJncyB2YWx1ZT0iLS1kaXNhYmxlLWludHJvc3Bl
Y3Rpb24iLz4KLSAgICA8L2lmPgotICAgIDxkZXBlbmRlbmNpZXM+Ci0gICAgICA8ZGVwIHBhY2th
Z2U9Im9yYyIvPgotICAgIDwvZGVwZW5kZW5jaWVzPgotICAgIDxicmFuY2ggcmVwbz0iZ3N0cmVh
bWVyIiBtb2R1bGU9ImdzdHJlYW1lciIgY2hlY2tvdXRkaXI9ImdzdHJlYW1lci1iNmU2OWZmZGZi
M2JiMjFkYmFkYThmMDFiNDg4YWU4NzdmOGQyMDVjIiB0YWc9ImI2ZTY5ZmZkZmIzYmIyMWRiYWRh
OGYwMWI0ODhhZTg3N2Y4ZDIwNWMiLz4KLSAgPC9hdXRvdG9vbHM+Ci0KLSAgPGF1dG90b29scyBp
ZD0iZ3N0LXBsdWdpbnMtYmFzZSIKLSAgICAgICAgICAgICBhdXRvZ2VuLXNoPSJhdXRvZ2VuLnNo
IgotICAgICAgICAgICAgIGF1dG9nZW5hcmdzPSItLWRpc2FibGUtZXhhbXBsZXMgLS1kaXNhYmxl
LWd0ay1kb2MiPgotICAgIDxpZiBjb25kaXRpb24tc2V0PSJtYWNvcyI+Ci0gICAgICA8YXV0b2dl
bmFyZ3MgdmFsdWU9Ii0tZGlzYWJsZS1pbnRyb3NwZWN0aW9uIi8+Ci0gICAgPC9pZj4KLSAgICA8
ZGVwZW5kZW5jaWVzPgotICAgICAgPGRlcCBwYWNrYWdlPSJnc3RyZWFtZXIiLz4KLSAgICA8L2Rl
cGVuZGVuY2llcz4KLSAgICA8YnJhbmNoIHJlcG89ImdzdHJlYW1lciIgbW9kdWxlPSJnc3QtcGx1
Z2lucy1iYXNlIiBjaGVja291dGRpcj0iZ3N0LXBsdWdpbnMtYmFzZS1jZjE4ZmFlOWRlYjAyZjA4
NjdiNjc1OTNmNjc4YjkzMmY4ZWI5MzFhIiB0YWc9ImNmMThmYWU5ZGViMDJmMDg2N2I2NzU5M2Y2
NzhiOTMyZjhlYjkzMWEiLz4KLSAgPC9hdXRvdG9vbHM+Ci0KLSAgPGF1dG90b29scyBpZD0iZ3N0
LXBsdWdpbnMtZ29vZCIgYXV0b2dlbmFyZ3M9Ii0tZGlzYWJsZS1leGFtcGxlcyAtLWRpc2FibGUt
c291cCAtLWRpc2FibGUtZ3RrLWRvYyI+Ci0gICAgPGlmIGNvbmRpdGlvbi1zZXQ9Im1hY29zIj4K
LSAgICAgIDxhdXRvZ2VuYXJncyB2YWx1ZT0iLS1kaXNhYmxlLWludHJvc3BlY3Rpb24iLz4KLSAg
ICA8L2lmPgotICAgIDxkZXBlbmRlbmNpZXM+Ci0gICAgIDxkZXAgcGFja2FnZT0ibGlidnB4Ii8+
Ci0gICAgIDxkZXAgcGFja2FnZT0iZ3N0LXBsdWdpbnMtYmFzZSIvPgotICAgIDwvZGVwZW5kZW5j
aWVzPgotICAgICA8YnJhbmNoIHJlcG89ImdzdHJlYW1lciIgbW9kdWxlPSJnc3QtcGx1Z2lucy1n
b29kIiBjaGVja291dGRpcj0iZ3N0LXBsdWdpbnMtZ29vZC01NjdhZmRkNGQzZjJmYTA3ZmVjZjRj
MDJhN2VjYTcwZjdhN2VmN2Y3IiB0YWc9IjU2N2FmZGQ0ZDNmMmZhMDdmZWNmNGMwMmE3ZWNhNzBm
N2E3ZWY3ZjciLz4KLSAgPC9hdXRvdG9vbHM+Ci0KLSAgPGF1dG90b29scyBpZD0iZ3N0LXBsdWdp
bnMtYmFkIiBhdXRvZ2VuYXJncz0iLS1kaXNhYmxlLWV4YW1wbGVzIC0tZGlzYWJsZS1ndGstZG9j
IC0tZW5hYmxlLW9wZW5oMjY0Ij4KLSAgICA8aWYgY29uZGl0aW9uLXNldD0ibWFjb3MiPgotICAg
ICAgPGF1dG9nZW5hcmdzIHZhbHVlPSItLWRpc2FibGUtaW50cm9zcGVjdGlvbiIvPgotICAgIDwv
aWY+Ci0gICAgPGRlcGVuZGVuY2llcz4KLSAgICAgIDxkZXAgcGFja2FnZT0iZ3N0LXBsdWdpbnMt
YmFzZSIvPgotICAgICAgPGRlcCBwYWNrYWdlPSJvcGVuaDI2NCIvPgotICAgIDwvZGVwZW5kZW5j
aWVzPgotICAgIDxicmFuY2ggcmVwbz0iZ3N0cmVhbWVyIiBtb2R1bGU9ImdzdC1wbHVnaW5zLWJh
ZCIgY2hlY2tvdXRkaXI9ImdzdC1wbHVnaW5zLWJhZC1hMDM2YjdlZjlmZmU5ZmU1ZGFjNGE3ZTQ2
ZmJjM2JhYzkyOTIxYTU0IiB0YWc9ImEwMzZiN2VmOWZmZTlmZTVkYWM0YTdlNDZmYmMzYmFjOTI5
MjFhNTQiLz4KLSAgPC9hdXRvdG9vbHM+Ci0gIAotPC9tb2R1bGVzZXQ+CmRpZmYgLS1naXQgYS9U
b29scy9ndGsvcGF0Y2hlcy9nc3QtcGx1Z2lucy1nb29kLTAwMDEtcnRwYmluLXBpcGVsaW5lLWdl
dHMtYW4tRU9TLXdoZW4tYW55LXJ0cHNvdXJjZXMtYnllcy5wYXRjaCBiL1Rvb2xzL2d0ay9wYXRj
aGVzL2dzdC1wbHVnaW5zLWdvb2QtMDAwMS1ydHBiaW4tcGlwZWxpbmUtZ2V0cy1hbi1FT1Mtd2hl
bi1hbnktcnRwc291cmNlcy1ieWVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmYwZjkwZDEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9ndGsvcGF0Y2hlcy9nc3Qt
cGx1Z2lucy1nb29kLTAwMDEtcnRwYmluLXBpcGVsaW5lLWdldHMtYW4tRU9TLXdoZW4tYW55LXJ0
cHNvdXJjZXMtYnllcy5wYXRjaApAQCAtMCwwICsxLDE1NiBAQAorRnJvbSBlZWVhMmE3ZmU4OGEx
N2IxNTMxOGQ1YjZhZTZlMTkwYjJmNzc3MDMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv
bTogIkFsZWphbmRybyBHLiBDYXN0cm8iIDxhbGV4QGlnYWxpYS5jb20+CitEYXRlOiBXZWQsIDI2
IE9jdCAyMDE2IDEzOjIxOjI5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHJ0cGJpbjogcGlwZWxp
bmUgZ2V0cyBhbiBFT1Mgd2hlbiBhbnkgcnRwc291cmNlcyBieWVzCisKK0luc3RlYWQgb2Ygc2Vu
ZGluZyBFT1Mgd2hlbiBhIHNvdXJjZSBieWVzIHdlIGhhdmUgdG8gd2FpdCBmb3IKK2FsbCB0aGUg
c291cmNlcyB0byBiZSBnb25lLCB3aGljaCBtZWFucyB0aGV5IGFscmVhZHkgc2VudCBCWUUgYW5k
Cit3ZXJlIHJlbW92ZWQgZnJvbSB0aGUgc2Vzc2lvbi4gV2Ugbm93IGhhbmRsZSB0aGUgRU9TIGlu
IHRoZSBydGNwCitsb29wIGNoZWNraW5nIHRoZSBhbW91bnQgb2Ygc291cmNlcyBpbiB0aGUgc2Vz
c2lvbi4KKworaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzIx
OAorLS0tCisgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jIHwgMjkgKysrKysrKysrKysr
KysrKysrKy0tLS0tLS0tLS0KKyBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmMgICAgfCAgNiAr
LS0tLS0KKyBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmggICAgfCAgMyArLS0KKyAzIGZpbGVz
IGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0
IGEvZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jIGIvZ3N0L3J0cG1hbmFnZXIvZ3N0cnRw
c2Vzc2lvbi5jCitpbmRleCAzNjg4ZTg1Li5mZDFmMmIxIDEwMDY0NAorLS0tIGEvZ3N0L3J0cG1h
bmFnZXIvZ3N0cnRwc2Vzc2lvbi5jCisrKysgYi9nc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9u
LmMKK0BAIC0yOTMsNyArMjkzLDcgQEAgc3RhdGljIEdzdEZsb3dSZXR1cm4gZ3N0X3J0cF9zZXNz
aW9uX3Byb2Nlc3NfcnRwIChSVFBTZXNzaW9uICogc2VzcywKKyBzdGF0aWMgR3N0Rmxvd1JldHVy
biBnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHAgKFJUUFNlc3Npb24gKiBzZXNzLAorICAgICBSVFBT
b3VyY2UgKiBzcmMsIGdwb2ludGVyIGRhdGEsIGdwb2ludGVyIHVzZXJfZGF0YSk7Cisgc3RhdGlj
IEdzdEZsb3dSZXR1cm4gZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCAoUlRQU2Vzc2lvbiAqIHNl
c3MsCistICAgIFJUUFNvdXJjZSAqIHNyYywgR3N0QnVmZmVyICogYnVmZmVyLCBnYm9vbGVhbiBl
b3MsIGdwb2ludGVyIHVzZXJfZGF0YSk7CisrICAgIFJUUFNvdXJjZSAqIHNyYywgR3N0QnVmZmVy
ICogYnVmZmVyLCBncG9pbnRlciB1c2VyX2RhdGEpOworIHN0YXRpYyBHc3RGbG93UmV0dXJuIGdz
dF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3AgKFJUUFNlc3Npb24gKiBzZXNzLAorICAgICBHc3RCdWZm
ZXIgKiBidWZmZXIsIGdwb2ludGVyIHVzZXJfZGF0YSk7Cisgc3RhdGljIGdpbnQgZ3N0X3J0cF9z
ZXNzaW9uX2Nsb2NrX3JhdGUgKFJUUFNlc3Npb24gKiBzZXNzLCBndWludDggcGF5bG9hZCwKK0BA
IC0xMTU2LDYgKzExNTYsMjIgQEAgcnRjcF90aHJlYWQgKEdzdFJ0cFNlc3Npb24gKiBydHBzZXNz
aW9uKQorICAgICBHU1RfUlRQX1NFU1NJT05fVU5MT0NLIChydHBzZXNzaW9uKTsKKyAgICAgcnRw
X3Nlc3Npb25fb25fdGltZW91dCAoc2Vzc2lvbiwgY3VycmVudF90aW1lLCBudHBuc3RpbWUsIHJ1
bm5pbmdfdGltZSk7CisgICAgIEdTVF9SVFBfU0VTU0lPTl9MT0NLIChydHBzZXNzaW9uKTsKKysK
KysgICAgaWYgKCFydHBfc2Vzc2lvbl9nZXRfbnVtX3NvdXJjZXMgKHNlc3Npb24pKSB7CisrICAg
ICAgLyogd2hlbiBubyBzb3VyY2VzIGxlZnQgaW4gdGhlIHNlc3Npb24sIGFsbCBvZiB0aGUgdGhl
bSBoYXZlIHdlbnQKKysgICAgICAgKiBCWUUgYXQgc29tZSBwb2ludCBhbmQgcmVtb3ZlZCwgd2Ug
Y2FuIHNlbmQgRU9TIHRvIHRoZQorKyAgICAgICAqIHBpcGVsaW5lLiAqLworKyAgICAgIEdzdFBh
ZCAqcnRjcF9zcmMgPSBydHBzZXNzaW9uLT5zZW5kX3J0Y3Bfc3JjOworKworKyAgICAgIGlmIChy
dGNwX3NyYykgeworKyAgICAgICAgZ3N0X29iamVjdF9yZWYgKHJ0Y3Bfc3JjKTsKKysgICAgICAg
IEdTVF9MT0dfT0JKRUNUIChydHBzZXNzaW9uLCAic2VuZGluZyBFT1MiKTsKKysgICAgICAgIEdT
VF9SVFBfU0VTU0lPTl9VTkxPQ0sgKHJ0cHNlc3Npb24pOworKyAgICAgICAgZ3N0X3BhZF9wdXNo
X2V2ZW50IChydHBzZXNzaW9uLT5zZW5kX3J0Y3Bfc3JjLCBnc3RfZXZlbnRfbmV3X2VvcyAoKSk7
CisrICAgICAgICBHU1RfUlRQX1NFU1NJT05fTE9DSyAocnRwc2Vzc2lvbik7CisrICAgICAgICBn
c3Rfb2JqZWN0X3VucmVmIChydGNwX3NyYyk7CisrICAgICAgfQorKyAgICB9CisgICB9CisgICAv
KiBtYXJrIHRoZSB0aHJlYWQgYXMgc3RvcHBlZCBub3cgKi8KKyAgIHJ0cHNlc3Npb24tPnByaXYt
PnRocmVhZF9zdG9wcGVkID0gVFJVRTsKK0BAIC0xNDEzLDExICsxNDI5LDEwIEBAIGRvX3J0Y3Bf
ZXZlbnRzIChHc3RSdHBTZXNzaW9uICogcnRwc2Vzc2lvbiwgR3N0UGFkICogc3JjcGFkKQorIH0K
KyAKKyAvKiBjYWxsZWQgd2hlbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyIGhhcyBhbiBSVENQIHBhY2tl
dCByZWFkeSBmb3IgZnVydGhlcgorLSAqIHNlbmRpbmcuIFRoZSBlb3MgZmxhZyBpcyBzZXQgd2hl
biBhbiBFT1MgZXZlbnQgc2hvdWxkIGJlIHNlbnQgZG93bnN0cmVhbSBhcworLSAqIHdlbGwuICov
CisrICogc2VuZGluZy4gKi8KKyBzdGF0aWMgR3N0Rmxvd1JldHVybgorIGdzdF9ydHBfc2Vzc2lv
bl9zZW5kX3J0Y3AgKFJUUFNlc3Npb24gKiBzZXNzLCBSVFBTb3VyY2UgKiBzcmMsCistICAgIEdz
dEJ1ZmZlciAqIGJ1ZmZlciwgZ2Jvb2xlYW4gZW9zLCBncG9pbnRlciB1c2VyX2RhdGEpCisrICAg
IEdzdEJ1ZmZlciAqIGJ1ZmZlciwgZ3BvaW50ZXIgdXNlcl9kYXRhKQorIHsKKyAgIEdzdEZsb3dS
ZXR1cm4gcmVzdWx0OworICAgR3N0UnRwU2Vzc2lvbiAqcnRwc2Vzc2lvbjsKK0BAIC0xNDQwLDEx
ICsxNDU1LDYgQEAgZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCAoUlRQU2Vzc2lvbiAqIHNlc3Ms
IFJUUFNvdXJjZSAqIHNyYywKKyAgICAgR1NUX0xPR19PQkpFQ1QgKHJ0cHNlc3Npb24sICJzZW5k
aW5nIFJUQ1AiKTsKKyAgICAgcmVzdWx0ID0gZ3N0X3BhZF9wdXNoIChydGNwX3NyYywgYnVmZmVy
KTsKKyAKKy0gICAgLyogd2UgaGF2ZSB0byBzZW5kIEVPUyBhZnRlciB0aGlzIHBhY2tldCAqLwor
LSAgICBpZiAoZW9zKSB7CistICAgICAgR1NUX0xPR19PQkpFQ1QgKHJ0cHNlc3Npb24sICJzZW5k
aW5nIEVPUyIpOworLSAgICAgIGdzdF9wYWRfcHVzaF9ldmVudCAocnRjcF9zcmMsIGdzdF9ldmVu
dF9uZXdfZW9zICgpKTsKKy0gICAgfQorICAgICBnc3Rfb2JqZWN0X3VucmVmIChydGNwX3NyYyk7
CisgICB9IGVsc2UgeworICAgICBHU1RfUlRQX1NFU1NJT05fVU5MT0NLIChydHBzZXNzaW9uKTsK
K0BAIC0yMDU2LDcgKzIwNjYsNiBAQCBnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydGNwX3Ny
YyAoR3N0UGFkICogcGFkLCBHc3RPYmplY3QgKiBwYXJlbnQsCisgICByZXR1cm4gcmV0OworIH0K
KyAKKy0KKyBzdGF0aWMgZ2Jvb2xlYW4KKyBnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBf
c2luayAoR3N0UGFkICogcGFkLCBHc3RPYmplY3QgKiBwYXJlbnQsCisgICAgIEdzdEV2ZW50ICog
ZXZlbnQpCitkaWZmIC0tZ2l0IGEvZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jIGIvZ3N0L3J0
cG1hbmFnZXIvcnRwc2Vzc2lvbi5jCitpbmRleCA4YjMzYjZiLi5hYThiNDBiIDEwMDY0NAorLS0t
IGEvZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jCisrKysgYi9nc3QvcnRwbWFuYWdlci9ydHBz
ZXNzaW9uLmMKK0BAIC0zMjYzLDcgKzMyNjMsNiBAQCBlYXJseV9leGl0OgorIHR5cGVkZWYgc3Ry
dWN0CisgeworICAgUlRQU291cmNlICpzb3VyY2U7CistICBnYm9vbGVhbiBpc19ieWU7CisgICBH
c3RCdWZmZXIgKmJ1ZmZlcjsKKyB9IFJlcG9ydE91dHB1dDsKKyAKK0BAIC0zODc0LDcgKzM4NzMs
NiBAQCBzdGF0aWMgdm9pZAorIGdlbmVyYXRlX3J0Y3AgKGNvbnN0IGdjaGFyICoga2V5LCBSVFBT
b3VyY2UgKiBzb3VyY2UsIFJlcG9ydERhdGEgKiBkYXRhKQorIHsKKyAgIFJUUFNlc3Npb24gKnNl
c3MgPSBkYXRhLT5zZXNzOworLSAgZ2Jvb2xlYW4gaXNfYnllID0gRkFMU0U7CisgICBSZXBvcnRP
dXRwdXQgKm91dHB1dDsKKyAKKyAgIC8qIG9ubHkgZ2VuZXJhdGUgUlRDUCBmb3IgYWN0aXZlIGlu
dGVybmFsIHNvdXJjZXMgKi8KK0BAIC0zODkzLDcgKzM4OTEsNiBAQCBnZW5lcmF0ZV9ydGNwIChj
b25zdCBnY2hhciAqIGtleSwgUlRQU291cmNlICogc291cmNlLCBSZXBvcnREYXRhICogZGF0YSkK
KyAgIGlmIChzb3VyY2UtPm1hcmtlZF9ieWUpIHsKKyAgICAgLyogc2VuZCBCWUUgKi8KKyAgICAg
bWFrZV9zb3VyY2VfYnllIChzZXNzLCBzb3VyY2UsIGRhdGEpOworLSAgICBpc19ieWUgPSBUUlVF
OworICAgfSBlbHNlIGlmICghZGF0YS0+aXNfZWFybHkpIHsKKyAgICAgLyogbG9vcCBvdmVyIGFs
bCBrbm93biBzb3VyY2VzIGFuZCBhZGQgcmVwb3J0IGJsb2Nrcy4gSWYgd2UgYXJlIGVhcmx5LCB3
ZQorICAgICAgKiBqdXN0IG1ha2UgYSBtaW5pbWFsIFJUQ1AgcGFja2V0IGFuZCBza2lwIHRoaXMg
c3RlcCAqLworQEAgLTM5MTgsNyArMzkxNSw2IEBAIGdlbmVyYXRlX3J0Y3AgKGNvbnN0IGdjaGFy
ICoga2V5LCBSVFBTb3VyY2UgKiBzb3VyY2UsIFJlcG9ydERhdGEgKiBkYXRhKQorIAorICAgb3V0
cHV0ID0gZ19zbGljZV9uZXcgKFJlcG9ydE91dHB1dCk7CisgICBvdXRwdXQtPnNvdXJjZSA9IGdf
b2JqZWN0X3JlZiAoc291cmNlKTsKKy0gIG91dHB1dC0+aXNfYnllID0gaXNfYnllOworICAgb3V0
cHV0LT5idWZmZXIgPSBkYXRhLT5ydGNwOworICAgLyogcXVldWUgdGhlIFJUQ1AgcGFja2V0IHRv
IHB1c2ggbGF0ZXIgKi8KKyAgIGdfcXVldWVfcHVzaF90YWlsICgmZGF0YS0+b3V0cHV0LCBvdXRw
dXQpOworQEAgLTQwOTgsNyArNDA5NCw3IEBAIGRvbmU6CisgICAgICAgR1NUX0RFQlVHICgiJXAs
IHNlbmRpbmcgUlRDUCBwYWNrZXQsIGF2ZyBzaXplICV1LCAldSIsICZzZXNzLT5zdGF0cywKKyAg
ICAgICAgICAgc2Vzcy0+c3RhdHMuYXZnX3J0Y3BfcGFja2V0X3NpemUsIHBhY2tldF9zaXplKTsK
KyAgICAgICByZXN1bHQgPQorLSAgICAgICAgICBzZXNzLT5jYWxsYmFja3Muc2VuZF9ydGNwIChz
ZXNzLCBzb3VyY2UsIGJ1ZmZlciwgb3V0cHV0LT5pc19ieWUsCisrICAgICAgICAgIHNlc3MtPmNh
bGxiYWNrcy5zZW5kX3J0Y3AgKHNlc3MsIHNvdXJjZSwgYnVmZmVyLAorICAgICAgICAgICBzZXNz
LT5zZW5kX3J0Y3BfdXNlcl9kYXRhKTsKKyAKKyAgICAgICBSVFBfU0VTU0lPTl9MT0NLIChzZXNz
KTsKK2RpZmYgLS1naXQgYS9nc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmggYi9nc3QvcnRwbWFu
YWdlci9ydHBzZXNzaW9uLmgKK2luZGV4IDlmYTkzMjcuLmMyNTk4MWEgMTAwNjQ0CistLS0gYS9n
c3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmgKKysrKyBiL2dzdC9ydHBtYW5hZ2VyL3J0cHNlc3Np
b24uaAorQEAgLTcxLDcgKzcxLDYgQEAgdHlwZWRlZiBHc3RGbG93UmV0dXJuICgqUlRQU2Vzc2lv
blNlbmRSVFApIChSVFBTZXNzaW9uICpzZXNzLCBSVFBTb3VyY2UgKnNyYywgZ3AKKyAgKiBAc2Vz
czogYW4gI1JUUFNlc3Npb24KKyAgKiBAc3JjOiB0aGUgI1JUUFNvdXJjZQorICAqIEBidWZmZXI6
IHRoZSBSVENQIGJ1ZmZlciByZWFkeSBmb3Igc2VuZGluZworLSAqIEBlb3M6IGlmIGFuIEVPUyBl
dmVudCBzaG91bGQgYmUgcHVzaGVkCisgICogQHVzZXJfZGF0YTogdXNlciBkYXRhIHNwZWNpZmll
ZCB3aGVuIHJlZ2lzdGVyaW5nCisgICoKKyAgKiBUaGlzIGNhbGxiYWNrIHdpbGwgYmUgY2FsbGVk
IHdoZW4gQHNlc3MgaGFzIEBidWZmZXIgcmVhZHkgZm9yIHNlbmRpbmcgdG8KK0BAIC04MCw3ICs3
OSw3IEBAIHR5cGVkZWYgR3N0Rmxvd1JldHVybiAoKlJUUFNlc3Npb25TZW5kUlRQKSAoUlRQU2Vz
c2lvbiAqc2VzcywgUlRQU291cmNlICpzcmMsIGdwCisgICogUmV0dXJuczogYSAjR3N0Rmxvd1Jl
dHVybi4KKyAgKi8KKyB0eXBlZGVmIEdzdEZsb3dSZXR1cm4gKCpSVFBTZXNzaW9uU2VuZFJUQ1Ap
IChSVFBTZXNzaW9uICpzZXNzLCBSVFBTb3VyY2UgKnNyYywgR3N0QnVmZmVyICpidWZmZXIsCist
ICAgIGdib29sZWFuIGVvcywgZ3BvaW50ZXIgdXNlcl9kYXRhKTsKKysgICAgZ3BvaW50ZXIgdXNl
cl9kYXRhKTsKKyAKKyAvKioKKyAgKiBSVFBTZXNzaW9uU3luY1JUQ1A6CistLSAKKzIuMTAuMgor
CmRpZmYgLS1naXQgYS9Ub29scy9ndGsvcGF0Y2hlcy9nc3QtcGx1Z2lucy1nb29kLTAwMDItcnRw
YmluLWF2b2lkLWdlbmVyYXRpbmctZXJyb3JzLXdoZW4tcnRjcC1tZXNzYWdlcy1hci5wYXRjaCBi
L1Rvb2xzL2d0ay9wYXRjaGVzL2dzdC1wbHVnaW5zLWdvb2QtMDAwMi1ydHBiaW4tYXZvaWQtZ2Vu
ZXJhdGluZy1lcnJvcnMtd2hlbi1ydGNwLW1lc3NhZ2VzLWFyLnBhdGNoCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhZDA0ODMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9n
dGsvcGF0Y2hlcy9nc3QtcGx1Z2lucy1nb29kLTAwMDItcnRwYmluLWF2b2lkLWdlbmVyYXRpbmct
ZXJyb3JzLXdoZW4tcnRjcC1tZXNzYWdlcy1hci5wYXRjaApAQCAtMCwwICsxLDYxIEBACitGcm9t
IGRhYjZjNDczYzNlMWIyYjQwMGVlMThhZmM3MDE0MGMyZjg0MmRlYmYgTW9uIFNlcCAxNyAwMDow
MDowMCAyMDAxCitGcm9tOiAiQWxlamFuZHJvIEcuIENhc3RybyIgPGFsZXhAaWdhbGlhLmNvbT4K
K0RhdGU6IFRodSwgMjAgT2N0IDIwMTYgMTM6MTQ6MTMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0g
cnRwYmluOiBhdm9pZCBnZW5lcmF0aW5nIGVycm9ycyB3aGVuIHJ0Y3AgbWVzc2FnZXMgYXJlIGVt
cHR5CisgYW5kIGNoZWNrIHRoZSBxdWV1ZSBpcyBub3QgZW1wdHkKKworQWRkIGEgY2hlY2sgdG8g
dmVyaWZ5IGFsbCB0aGUgb3V0cHV0IGJ1ZmZlcnMgd2VyZSBlbXB0eSBmb3IgdGhlCitzZXNzaW9u
IGluIGEgdGltb3V0IGFuZCBsb2cgYW4gZXJyb3IuCisKK2h0dHBzOi8vYnVnemlsbGEuZ25vbWUu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NzMyNjkKKy0tLQorIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Np
b24uYyB8IDEyICsrKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCsp
LCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lv
bi5jIGIvZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jCitpbmRleCA3NTkwOGMwLi5mMWQ5MjEw
IDEwMDY0NAorLS0tIGEvZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jCisrKysgYi9nc3QvcnRw
bWFuYWdlci9ydHBzZXNzaW9uLmMKK0BAIC0zOTIzLDYgKzM5MjMsNyBAQCBydHBfc2Vzc2lvbl9v
bl90aW1lb3V0IChSVFBTZXNzaW9uICogc2VzcywgR3N0Q2xvY2tUaW1lIGN1cnJlbnRfdGltZSwK
KyAgIFJlcG9ydERhdGEgZGF0YSA9IHsgR1NUX1JUQ1BfQlVGRkVSX0lOSVQgfTsKKyAgIEdIYXNo
VGFibGUgKnRhYmxlX2NvcHk7CisgICBSZXBvcnRPdXRwdXQgKm91dHB1dDsKKysgIGdib29sZWFu
IGFsbF9lbXB0eSA9IEZBTFNFOworIAorICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKFJUUF9JU19T
RVNTSU9OIChzZXNzKSwgR1NUX0ZMT1dfRVJST1IpOworIAorQEAgLTM5ODksNiArMzk5MCw5IEBA
IHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQgKFJUUFNlc3Npb24gKiBzZXNzLCBHc3RDbG9ja1RpbWUg
Y3VycmVudF90aW1lLAorICAgaWYgKCFpc19ydGNwX3RpbWUgKHNlc3MsIGN1cnJlbnRfdGltZSwg
JmRhdGEpKQorICAgICBnb3RvIGRvbmU7CisgCisrICAvKiBjaGVjayBpZiBhbGwgdGhlIGJ1ZmZl
cnMgYXJlIGVtcHR5IGFmZXIgZ2VuZXJhdGlvbiAqLworKyAgYWxsX2VtcHR5ID0gVFJVRTsKKysK
KyAgIEdTVF9ERUJVRworICAgICAgICgiZG9pbmcgUlRDUCBnZW5lcmF0aW9uICV1IGZvciAldSBz
b3VyY2VzLCBlYXJseSAlZCwgbWF5IHN1cHByZXNzICVkIiwKKyAgICAgICBzZXNzLT5nZW5lcmF0
aW9uLCBkYXRhLm51bV90b19yZXBvcnQsIGRhdGEuaXNfZWFybHksIGRhdGEubWF5X3N1cHByZXNz
KTsKK0BAIC00MDM2LDggKzQwNDAsOCBAQCBkb25lOgorIAorICAgICBlbXB0eV9idWZmZXIgPSBn
c3RfYnVmZmVyX2dldF9zaXplIChidWZmZXIpID09IDA7CisgCistICAgIGlmIChlbXB0eV9idWZm
ZXIpCistICAgICAgZ193YXJuaW5nICgicnRwc2Vzc2lvbjogVHJ5aW5nIHRvIHNlbmQgYW4gZW1w
dHkgUlRDUCBwYWNrZXQiKTsKKysgICAgaWYgKCFlbXB0eV9idWZmZXIpCisrICAgICAgYWxsX2Vt
cHR5ID0gRkFMU0U7CisgCisgICAgIGlmIChzZXNzLT5jYWxsYmFja3Muc2VuZF9ydGNwICYmCisg
ICAgICAgICAhZW1wdHlfYnVmZmVyICYmIChkb19ub3Rfc3VwcHJlc3MgfHwgIWRhdGEubWF5X3N1
cHByZXNzKSkgeworQEAgLTQwNjgsNiArNDA3MiwxMCBAQCBkb25lOgorICAgICBnX29iamVjdF91
bnJlZiAoc291cmNlKTsKKyAgICAgZ19zbGljZV9mcmVlIChSZXBvcnRPdXRwdXQsIG91dHB1dCk7
CisgICB9CisrCisrICBpZiAoYWxsX2VtcHR5KQorKyAgICBHU1RfRVJST1IgKCJnZW5lcmF0ZWQg
ZW1wdHkgUlRDUCBtZXNzYWdlcyBmb3IgYWxsIHRoZSBzb3VyY2VzIik7CisrCisgICByZXR1cm4g
cmVzdWx0OworIH0KKyAKKy0tIAorMi4xMC4yCisKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9wYXRj
aGVzL2dzdC1wbHVnaW5zLWdvb2QtMDAwMy1ydHBiaW4tcmVjZWl2ZS1idW5kbGUtc3VwcG9ydC5w
YXRjaCBiL1Rvb2xzL2d0ay9wYXRjaGVzL2dzdC1wbHVnaW5zLWdvb2QtMDAwMy1ydHBiaW4tcmVj
ZWl2ZS1idW5kbGUtc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5mZjg5YzgxCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvZ3RrL3BhdGNoZXMvZ3N0LXBs
dWdpbnMtZ29vZC0wMDAzLXJ0cGJpbi1yZWNlaXZlLWJ1bmRsZS1zdXBwb3J0LnBhdGNoCkBAIC0w
LDAgKzEsMTAxOCBAQAorRnJvbSBkY2QzY2U5NzUxY2RlZjBiNWFiMWZhMTE4MzU1ZjkyYmRmZTgy
Y2IzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGhpbGlwcGUgTm9ybWFuZCA8cGhp
bG5AaWdhbGlhLmNvbT4KK0RhdGU6IFdlZCwgMTYgTm92IDIwMTYgMDg6NTY6MzQgKzAxMDAKK1N1
YmplY3Q6IFtQQVRDSF0gcnRwYmluOiByZWNlaXZlIGJ1bmRsZSBzdXBwb3J0CisKK0EgbmV3IHNp
Z25hbCBuYW1lZCBvbi1idW5kbGVkLXNzcmMgaXMgcHJvdmlkZWQgYW5kIGNhbiBiZQordXNlZCBi
eSB0aGUgYXBwbGljYXRpb24gdG8gcmVkaXJlY3QgYSBzdHJlYW0gdG8gYSBkaWZmZXJlbnQKK0dz
dFJ0cFNlc3Npb24gb3IgdG8ga2VlcCB0aGUgUlRYIHN0cmVhbSBncm91cGVkIHdpdGhpbiB0aGUK
K0dzdFJ0cFNlc3Npb24gb2YgdGhlIHNhbWUgbWVkaWEgdHlwZS4KKworaHR0cHM6Ly9idWd6aWxs
YS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Mjc0MAorLS0tCisgZG9jcy9wbHVnaW5zL2dz
dC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzIHwgICA4ICsKKyBnc3QvcnRwbWFuYWdlci9n
c3RydHBiaW4uYyAgICAgICAgICAgICAgICAgICAgfCA1NjIgKysrKysrKysrKysrKysrKysrLS0t
LS0tLS0KKyBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaCAgICAgICAgICAgICAgICAgICAgfCAg
IDIgKworIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICB8ICAg
NCArCisgdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZSAgICAgICAgICAgICAgIHwgICAx
ICsKKyB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBidW5kbGUuYyAgICAgICAgICAgICAgfCAzOTAg
KysrKysrKysrKysrKysrKysrCisgdGVzdHMvY2hlY2svbWVzb24uYnVpbGQgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAxICsKKyB0ZXN0cy9leGFtcGxlcy9ydHAvLmdpdGlnbm9yZSAgICAgICAg
ICAgICAgICAgfCAgIDIgKworIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbSAgICAgICAg
ICAgICAgICB8ICAxMCArLQorIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtcnRwYnVuZGxlLmMg
ICAgICAgICB8IDI2NiArKysrKysrKysrKysKKyB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0
cGJ1bmRsZS5jICAgICAgICAgfCAxNzkgKysrKysrKysKKyAxMSBmaWxlcyBjaGFuZ2VkLCAxMjY1
IGluc2VydGlvbnMoKyksIDE2MCBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVz
dHMvY2hlY2svZWxlbWVudHMvcnRwYnVuZGxlLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMv
ZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBidW5kbGUuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0
cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0cGJ1bmRsZS5jCisKK2RpZmYgLS1naXQgYS9kb2NzL3Bs
dWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHMgYi9kb2NzL3BsdWdpbnMvZ3N0
LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHMKK2luZGV4IDNkYjE3ZTkuLjQ0YmJkZGEgMTAw
NjQ0CistLS0gYS9kb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHMK
KysrKyBiL2RvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFscworQEAg
LTM3NSw2ICszNzUsMTQgQEAgZ3VpbnQgIGFyZzEKKyA8L1NJR05BTD4KKyAKKyA8U0lHTkFMPgor
KzxOQU1FPkdzdFJ0cEJpbjo6b24tYnVuZGxlZC1zc3JjPC9OQU1FPgorKzxSRVRVUk5TPmd1aW50
PC9SRVRVUk5TPgorKzxGTEFHUz5sPC9GTEFHUz4KKytHc3RSdHBCaW4gKmdzdHJ0cGJpbgorK2d1
aW50ICBhcmcxCisrPC9TSUdOQUw+CisrCisrPFNJR05BTD4KKyA8TkFNRT5Hc3RSdHBKaXR0ZXJC
dWZmZXI6OmNsZWFyLXB0LW1hcDwvTkFNRT4KKyA8UkVUVVJOUz52b2lkPC9SRVRVUk5TPgorIDxG
TEFHUz5sYTwvRkxBR1M+CitkaWZmIC0tZ2l0IGEvZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmMg
Yi9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYworaW5kZXggNjQ4YWRiOS4uZjU4ZGUwMSAxMDA2
NDQKKy0tLSBhL2dzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jCisrKysgYi9nc3QvcnRwbWFuYWdl
ci9nc3RydHBiaW4uYworQEAgLTUzLDYgKzUzLDEzIEBACisgICogU1NSQyBpbiB0aGUgUlRQIHBh
Y2tldHMgdG8gaXRzIG93biBTU1JDIGFuZCB3aWwgZm9yd2FyZCB0aGUgcGFja2V0cyBvbiB0aGUK
KyAgKiBzZW5kX3J0cF9zcmNfXCV1IHBhZCBhZnRlciB1cGRhdGluZyBpdHMgaW50ZXJuYWwgc3Rh
dGUuCisgICoKKysgKiAjR3N0UnRwQmluIGNhbiBhbHNvIGRlbXVsdGlwbGV4IGluY29taW5nIGJ1
bmRsZWQgc3RyZWFtcy4gVGhlIGZpcnN0CisrICogI0dzdFJ0cFNlc3Npb24gd2lsbCBoYXZlIGEg
I0dzdFJ0cFNzcmNEZW11eCBlbGVtZW50IHNwbGl0dGluZyB0aGUgc3RyZWFtcworKyAqIGJhc2Vk
IG9uIHRoZWlyIFNTUkMgYW5kIHBvdGVudGlhbGx5IGRpc3BhdGNoZWQgdG8gYSBkaWZmZXJlbnQg
I0dzdFJ0cFNlc3Npb24uCisrICogQmVjYXVzZSByZXRyYW5zbWlzc2lvbiBTU1JDcyBuZWVkIHRv
IGJlIG1lcmdlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIG1lZGlhCisrICogc3RyZWFtIHRoZSAj
R3N0UnRwQmluOjpvbi1idW5kbGVkLXNzcmMgc2lnbmFsIGlzIGVtaXR0ZWQgc28gdGhhdCB0aGUK
KysgKiBhcHBsaWNhdGlvbiBjYW4gZmluZCBvdXQgdG8gd2hpY2ggc2Vzc2lvbiB0aGUgU1NSQyBi
ZWxvbmdzLgorKyAqCisgICogVGhlIHNlc3Npb24gbWFuYWdlciBuZWVkcyB0aGUgY2xvY2stcmF0
ZSBvZiB0aGUgcGF5bG9hZCB0eXBlcyBpdCBpcyBoYW5kbGluZworICAqIGFuZCB3aWxsIHNpZ25h
bCB0aGUgI0dzdFJ0cFNlc3Npb246OnJlcXVlc3QtcHQtbWFwIHNpZ25hbCB3aGVuIGl0IG5lZWRz
IHN1Y2ggYQorICAqIG1hcHBpbmcuIE9uZSBjYW4gY2xlYXIgdGhlIGNhY2hlZCB2YWx1ZXMgd2l0
aCB0aGUgI0dzdFJ0cFNlc3Npb246OmNsZWFyLXB0LW1hcAorQEAgLTI3Niw2ICsyODMsOCBAQCBl
bnVtCisgICBTSUdOQUxfT05fTkVXX1NFTkRFUl9TU1JDLAorICAgU0lHTkFMX09OX1NFTkRFUl9T
U1JDX0FDVElWRSwKKyAKKysgIFNJR05BTF9PTl9CVU5ETEVEX1NTUkMsCisrCisgICBMQVNUX1NJ
R05BTAorIH07CisgCitAQCAtMzYyLDYgKzM3MSwxNCBAQCBzdGF0aWMgdm9pZCByZW1vdmVfc2Vu
ZF9ydHAgKEdzdFJ0cEJpbiAqIHJ0cGJpbiwgR3N0UnRwQmluU2Vzc2lvbiAqIHNlc3Npb24pOwor
IHN0YXRpYyB2b2lkIHJlbW92ZV9ydGNwIChHc3RSdHBCaW4gKiBydHBiaW4sIEdzdFJ0cEJpblNl
c3Npb24gKiBzZXNzaW9uKTsKKyBzdGF0aWMgdm9pZCBmcmVlX2NsaWVudCAoR3N0UnRwQmluQ2xp
ZW50ICogY2xpZW50LCBHc3RSdHBCaW4gKiBiaW4pOworIHN0YXRpYyB2b2lkIGZyZWVfc3RyZWFt
IChHc3RSdHBCaW5TdHJlYW0gKiBzdHJlYW0sIEdzdFJ0cEJpbiAqIGJpbik7Cisrc3RhdGljIEdz
dFJ0cEJpblNlc3Npb24gKmNyZWF0ZV9zZXNzaW9uIChHc3RSdHBCaW4gKiBydHBiaW4sIGdpbnQg
aWQpOworK3N0YXRpYyBHc3RQYWQgKmNvbXBsZXRlX3Nlc3Npb25fc2luayAoR3N0UnRwQmluICog
cnRwYmluLAorKyAgICBHc3RSdHBCaW5TZXNzaW9uICogc2Vzc2lvbiwgZ2Jvb2xlYW4gYnVuZGxl
X2RlbXV4ZXJfbmVlZGVkKTsKKytzdGF0aWMgdm9pZAorK2NvbXBsZXRlX3Nlc3Npb25fcmVjZWl2
ZXIgKEdzdFJ0cEJpbiAqIHJ0cGJpbiwgR3N0UnRwQmluU2Vzc2lvbiAqIHNlc3Npb24sCisrICAg
IGd1aW50IHNlc3NpZCk7Cisrc3RhdGljIEdzdFBhZCAqY29tcGxldGVfc2Vzc2lvbl9ydGNwIChH
c3RSdHBCaW4gKiBydHBiaW4sCisrICAgIEdzdFJ0cEJpblNlc3Npb24gKiBzZXNzaW9uLCBndWlu
dCBzZXNzaWQsIGdib29sZWFuIGJ1bmRsZV9kZW11eGVyX25lZWRlZCk7CisgCisgLyogTWFuYWdl
cyB0aGUgUlRQIHN0cmVhbSBmb3Igb25lIFNTUkMuCisgICoKK0BAIC00MjgsNiArNDQ1LDEyIEBA
IHN0cnVjdCBfR3N0UnRwQmluU2Vzc2lvbgorICAgZ3Vsb25nIGRlbXV4X25ld3BhZF9zaWc7Cisg
ICBndWxvbmcgZGVtdXhfcGFkcmVtb3ZlZF9zaWc7CisgCisrICAvKiBCdW5kbGluZyBzdXBwb3J0
ICovCisrICBHc3RFbGVtZW50ICpydHBfZnVubmVsOworKyAgR3N0RWxlbWVudCAqcnRjcF9mdW5u
ZWw7CisrICBHc3RFbGVtZW50ICpidW5kbGVfZGVtdXg7CisrICBndWxvbmcgYnVuZGxlX2RlbXV4
X25ld3BhZF9zaWc7CisrCisgICBHTXV0ZXggbG9jazsKKyAKKyAgIC8qIGxpc3Qgb2YgR3N0UnRw
QmluU3RyZWFtICovCitAQCAtNjI5LDYgKzY1Miw5NiBAQCBzc3JjX2RlbXV4X3BhZF9yZW1vdmVk
IChHc3RFbGVtZW50ICogZWxlbWVudCwgZ3VpbnQgc3NyYywgR3N0UGFkICogcGFkLAorICAgR1NU
X1JUUF9CSU5fVU5MT0NLIChydHBiaW4pOworIH0KKyAKKytzdGF0aWMgdm9pZAorK25ld19idW5k
bGVkX3NzcmNfcGFkX2ZvdW5kIChHc3RFbGVtZW50ICogZWxlbWVudCwgZ3VpbnQgc3NyYywgR3N0
UGFkICogcGFkLAorKyAgICBHc3RSdHBCaW5TZXNzaW9uICogc2Vzc2lvbikKKyt7CisrICBHVmFs
dWUgcmVzdWx0ID0gR19WQUxVRV9JTklUOworKyAgR1ZhbHVlIHBhcmFtc1syXSA9IHsgR19WQUxV
RV9JTklULCBHX1ZBTFVFX0lOSVQgfTsKKysgIGd1aW50IHNlc3Npb25faWQgPSAwOworKyAgR3N0
UnRwQmluU2Vzc2lvbiAqdGFyZ2V0X3Nlc3Npb24gPSBOVUxMOworKyAgR3N0UnRwQmluICpydHBi
aW4gPSBzZXNzaW9uLT5iaW47CisrICBnY2hhciAqbmFtZTsKKysgIEdzdFBhZCAqc3JjX3BhZDsK
KysgIEdzdFBhZCAqcmVjdl9ydHBfc2luayA9IE5VTEw7CisrICBHc3RQYWQgKnJlY3ZfcnRjcF9z
aW5rID0gTlVMTDsKKysgIEdzdFBhZExpbmtSZXR1cm4gcmV0OworKworKyAgR1NUX1JUUF9CSU5f
RFlOX0xPQ0sgKHJ0cGJpbik7CisrICBHU1RfREVCVUdfT0JKRUNUIChydHBiaW4sICJuZXcgYnVu
ZGxlZCBTU1JDIHBhZCAlMDh4LCAlczolcyIsIHNzcmMsCisrICAgICAgR1NUX0RFQlVHX1BBRF9O
QU1FIChwYWQpKTsKKysKKysgIGdfdmFsdWVfaW5pdCAoJnJlc3VsdCwgR19UWVBFX1VJTlQpOwor
KyAgZ192YWx1ZV9pbml0ICgmcGFyYW1zWzBdLCBHU1RfVFlQRV9FTEVNRU5UKTsKKysgIGdfdmFs
dWVfc2V0X29iamVjdCAoJnBhcmFtc1swXSwgcnRwYmluKTsKKysgIGdfdmFsdWVfaW5pdCAoJnBh
cmFtc1sxXSwgR19UWVBFX1VJTlQpOworKyAgZ192YWx1ZV9zZXRfdWludCAoJnBhcmFtc1sxXSwg
c3NyYyk7CisrCisrICBnX3NpZ25hbF9lbWl0diAocGFyYW1zLAorKyAgICAgIGdzdF9ydHBfYmlu
X3NpZ25hbHNbU0lHTkFMX09OX0JVTkRMRURfU1NSQ10sIDAsICZyZXN1bHQpOworKyAgZ192YWx1
ZV91bnNldCAoJnBhcmFtc1swXSk7CisrCisrICBzZXNzaW9uX2lkID0gZ192YWx1ZV9nZXRfdWlu
dCAoJnJlc3VsdCk7CisrICBpZiAoc2Vzc2lvbl9pZCA9PSAwKSB7CisrICAgIHRhcmdldF9zZXNz
aW9uID0gc2Vzc2lvbjsKKysgIH0gZWxzZSB7CisrICAgIHRhcmdldF9zZXNzaW9uID0gZmluZF9z
ZXNzaW9uX2J5X2lkIChydHBiaW4sIChnaW50KSBzZXNzaW9uX2lkKTsKKysgICAgaWYgKCF0YXJn
ZXRfc2Vzc2lvbikgeworKyAgICAgIHRhcmdldF9zZXNzaW9uID0gY3JlYXRlX3Nlc3Npb24gKHJ0
cGJpbiwgc2Vzc2lvbl9pZCk7CisrICAgIH0KKysgICAgaWYgKCF0YXJnZXRfc2Vzc2lvbi0+cmVj
dl9ydHBfc2luaykgeworKyAgICAgIHJlY3ZfcnRwX3NpbmsgPSBjb21wbGV0ZV9zZXNzaW9uX3Np
bmsgKHJ0cGJpbiwgdGFyZ2V0X3Nlc3Npb24sIEZBTFNFKTsKKysgICAgfQorKworKyAgICBpZiAo
IXRhcmdldF9zZXNzaW9uLT5yZWN2X3J0cF9zcmMpCisrICAgICAgY29tcGxldGVfc2Vzc2lvbl9y
ZWNlaXZlciAocnRwYmluLCB0YXJnZXRfc2Vzc2lvbiwgc2Vzc2lvbl9pZCk7CisrCisrICAgIGlm
ICghdGFyZ2V0X3Nlc3Npb24tPnJlY3ZfcnRjcF9zaW5rKSB7CisrICAgICAgcmVjdl9ydGNwX3Np
bmsgPQorKyAgICAgICAgICBjb21wbGV0ZV9zZXNzaW9uX3J0Y3AgKHJ0cGJpbiwgdGFyZ2V0X3Nl
c3Npb24sIHNlc3Npb25faWQsIEZBTFNFKTsKKysgICAgfQorKyAgfQorKworKyAgR1NUX0RFQlVH
X09CSkVDVCAocnRwYmluLCAiQXNzaWduaW5nIGJ1bmRsZWQgc3NyYyAldSB0byBzZXNzaW9uICV1
Iiwgc3NyYywKKysgICAgICBzZXNzaW9uX2lkKTsKKysKKysgIGlmICghcmVjdl9ydHBfc2luaykg
eworKyAgICByZWN2X3J0cF9zaW5rID0KKysgICAgICAgIGdzdF9lbGVtZW50X2dldF9yZXF1ZXN0
X3BhZCAodGFyZ2V0X3Nlc3Npb24tPnJ0cF9mdW5uZWwsICJzaW5rXyV1Iik7CisrICB9CisrCisr
ICBpZiAoIXJlY3ZfcnRjcF9zaW5rKSB7CisrICAgIHJlY3ZfcnRjcF9zaW5rID0KKysgICAgICAg
IGdzdF9lbGVtZW50X2dldF9yZXF1ZXN0X3BhZCAodGFyZ2V0X3Nlc3Npb24tPnJ0Y3BfZnVubmVs
LCAic2lua18ldSIpOworKyAgfQorKworKyAgbmFtZSA9IGdfc3RyZHVwX3ByaW50ZiAoInNyY18l
dSIsIHNzcmMpOworKyAgc3JjX3BhZCA9IGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFkIChlbGVt
ZW50LCBuYW1lKTsKKysgIHJldCA9IGdzdF9wYWRfbGluayAoc3JjX3BhZCwgcmVjdl9ydHBfc2lu
ayk7CisrICBnX2ZyZWUgKG5hbWUpOworKyAgZ3N0X29iamVjdF91bnJlZiAoc3JjX3BhZCk7Cisr
ICBnc3Rfb2JqZWN0X3VucmVmIChyZWN2X3J0cF9zaW5rKTsKKysgIGlmIChyZXQgIT0gR1NUX1BB
RF9MSU5LX09LKSB7CisrICAgIGdfd2FybmluZworKyAgICAgICAgKCJydHBiaW46IGZhaWxlZCB0
byBsaW5rIGJ1bmRsZSBkZW11eGVyIHRvIHJlY2VpdmUgcnRwIGZ1bm5lbCBmb3Igc2Vzc2lvbiAl
dSIsCisrICAgICAgICBzZXNzaW9uX2lkKTsKKysgIH0KKysKKysgIG5hbWUgPSBnX3N0cmR1cF9w
cmludGYgKCJydGNwX3NyY18ldSIsIHNzcmMpOworKyAgc3JjX3BhZCA9IGdzdF9lbGVtZW50X2dl
dF9zdGF0aWNfcGFkIChlbGVtZW50LCBuYW1lKTsKKysgIGdzdF9wYWRfbGluayAoc3JjX3BhZCwg
cmVjdl9ydGNwX3NpbmspOworKyAgZ19mcmVlIChuYW1lKTsKKysgIGdzdF9vYmplY3RfdW5yZWYg
KHNyY19wYWQpOworKyAgZ3N0X29iamVjdF91bnJlZiAocmVjdl9ydGNwX3NpbmspOworKyAgaWYg
KHJldCAhPSBHU1RfUEFEX0xJTktfT0spIHsKKysgICAgZ193YXJuaW5nCisrICAgICAgICAoInJ0
cGJpbjogZmFpbGVkIHRvIGxpbmsgYnVuZGxlIGRlbXV4ZXIgdG8gcmVjZWl2ZSBydGNwIHNpbmsg
cGFkIGZvciBzZXNzaW9uICV1IiwKKysgICAgICAgIHNlc3Npb25faWQpOworKyAgfQorKworKyAg
R1NUX1JUUF9CSU5fRFlOX1VOTE9DSyAocnRwYmluKTsKKyt9CisrCisgLyogY3JlYXRlIGEgc2Vz
c2lvbiB3aXRoIHRoZSBnaXZlbiBpZC4gIE11c3QgYmUgY2FsbGVkIHdpdGggUlRQX0JJTl9MT0NL
ICovCisgc3RhdGljIEdzdFJ0cEJpblNlc3Npb24gKgorIGNyZWF0ZV9zZXNzaW9uIChHc3RSdHBC
aW4gKiBydHBiaW4sIGdpbnQgaWQpCitAQCAtNjQ5LDYgKzc2MiwxMCBAQCBjcmVhdGVfc2Vzc2lv
biAoR3N0UnRwQmluICogcnRwYmluLCBnaW50IGlkKQorICAgc2Vzcy0+YmluID0gcnRwYmluOwor
ICAgc2Vzcy0+c2Vzc2lvbiA9IHNlc3Npb247CisgICBzZXNzLT5kZW11eCA9IGRlbXV4OworKwor
KyAgc2Vzcy0+cnRwX2Z1bm5lbCA9IGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSAoImZ1bm5lbCIs
IE5VTEwpOworKyAgc2Vzcy0+cnRjcF9mdW5uZWwgPSBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2Ug
KCJmdW5uZWwiLCBOVUxMKTsKKysKKyAgIHNlc3MtPnB0bWFwID0gZ19oYXNoX3RhYmxlX25ld19m
dWxsIChOVUxMLCBOVUxMLCBOVUxMLAorICAgICAgIChHRGVzdHJveU5vdGlmeSkgZ3N0X2NhcHNf
dW5yZWYpOworICAgcnRwYmluLT5zZXNzaW9ucyA9IGdfc2xpc3RfcHJlcGVuZCAocnRwYmluLT5z
ZXNzaW9ucywgc2Vzcyk7CitAQCAtNjk2LDYgKzgxMyw4IEBAIGNyZWF0ZV9zZXNzaW9uIChHc3RS
dHBCaW4gKiBydHBiaW4sIGdpbnQgaWQpCisgCisgICBnc3RfYmluX2FkZCAoR1NUX0JJTl9DQVNU
IChydHBiaW4pLCBzZXNzaW9uKTsKKyAgIGdzdF9iaW5fYWRkIChHU1RfQklOX0NBU1QgKHJ0cGJp
biksIGRlbXV4KTsKKysgIGdzdF9iaW5fYWRkIChHU1RfQklOX0NBU1QgKHJ0cGJpbiksIHNlc3Mt
PnJ0cF9mdW5uZWwpOworKyAgZ3N0X2Jpbl9hZGQgKEdTVF9CSU5fQ0FTVCAocnRwYmluKSwgc2Vz
cy0+cnRjcF9mdW5uZWwpOworIAorICAgR1NUX09CSkVDVF9MT0NLIChydHBiaW4pOworICAgdGFy
Z2V0ID0gR1NUX1NUQVRFX1RBUkdFVCAocnRwYmluKTsKK0BAIC03MDQsNiArODIzLDggQEAgY3Jl
YXRlX3Nlc3Npb24gKEdzdFJ0cEJpbiAqIHJ0cGJpbiwgZ2ludCBpZCkKKyAgIC8qIGNoYW5nZSBz
dGF0ZSBvbmx5IHRvIHdoYXQncyBuZWVkZWQgKi8KKyAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZSAo
ZGVtdXgsIHRhcmdldCk7CisgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUgKHNlc3Npb24sIHRhcmdl
dCk7CisrICBnc3RfZWxlbWVudF9zZXRfc3RhdGUgKHNlc3MtPnJ0cF9mdW5uZWwsIHRhcmdldCk7
CisrICBnc3RfZWxlbWVudF9zZXRfc3RhdGUgKHNlc3MtPnJ0Y3BfZnVubmVsLCB0YXJnZXQpOwor
IAorICAgcmV0dXJuIHNlc3M7CisgCitAQCAtODA3LDcgKzkyOCw3IEBAIGdldF9wdF9tYXAgKEdz
dFJ0cEJpblNlc3Npb24gKiBzZXNzaW9uLCBndWludCBwdCkKKyAgIEdWYWx1ZSByZXQgPSB7IDAg
fTsKKyAgIEdWYWx1ZSBhcmdzWzNdID0geyB7MH0sIHswfSwgezB9IH07CisgCistICBHU1RfREVC
VUcgKCJzZWFyY2hpbmcgcHQgJWQgaW4gY2FjaGUiLCBwdCk7CisrICBHU1RfREVCVUcgKCJzZWFy
Y2hpbmcgcHQgJXUgaW4gY2FjaGUiLCBwdCk7CisgCisgICBHU1RfUlRQX1NFU1NJT05fTE9DSyAo
c2Vzc2lvbik7CisgCitAQCAtODIwLDcgKzk0MSw3IEBAIGdldF9wdF9tYXAgKEdzdFJ0cEJpblNl
c3Npb24gKiBzZXNzaW9uLCBndWludCBwdCkKKyAKKyAgIGJpbiA9IHNlc3Npb24tPmJpbjsKKyAK
Ky0gIEdTVF9ERUJVRyAoImVtaXRpbmcgc2lnbmFsIGZvciBwdCAlZCBpbiBzZXNzaW9uICVkIiwg
cHQsIHNlc3Npb24tPmlkKTsKKysgIEdTVF9ERUJVRyAoImVtaXRpbmcgc2lnbmFsIGZvciBwdCAl
dSBpbiBzZXNzaW9uICV1IiwgcHQsIHNlc3Npb24tPmlkKTsKKyAKKyAgIC8qIG5vdCBpbiBjYWNo
ZSwgc2VuZCBzaWduYWwgdG8gcmVxdWVzdCBjYXBzICovCisgICBnX3ZhbHVlX2luaXQgKCZhcmdz
WzBdLCBHU1RfVFlQRV9FTEVNRU5UKTsKK0BAIC04NTYsNyArOTc3LDcgQEAgZ2V0X3B0X21hcCAo
R3N0UnRwQmluU2Vzc2lvbiAqIHNlc3Npb24sIGd1aW50IHB0KQorICAgaWYgKCFjYXBzKQorICAg
ICBnb3RvIG5vX2NhcHM7CisgCistICBHU1RfREVCVUcgKCJjYWNoaW5nIHB0ICVkIGFzICUiIEdT
VF9QVFJfRk9STUFULCBwdCwgY2Fwcyk7CisrICBHU1RfREVCVUcgKCJjYWNoaW5nIHB0ICV1IGFz
ICUiIEdTVF9QVFJfRk9STUFULCBwdCwgY2Fwcyk7CisgCisgICAvKiBzdG9yZSBpbiBjYWNoZSwg
dGFrZSBhZGRpdGlvbmFsIHJlZiAqLworICAgZ19oYXNoX3RhYmxlX2luc2VydCAoc2Vzc2lvbi0+
cHRtYXAsIEdJTlRfVE9fUE9JTlRFUiAocHQpLAorQEAgLTk0Nyw3ICsxMDY4LDcgQEAgZ3N0X3J0
cF9iaW5fZ2V0X3Nlc3Npb24gKEdzdFJ0cEJpbiAqIGJpbiwgZ3VpbnQgc2Vzc2lvbl9pZCkKKyAg
IEdzdEVsZW1lbnQgKnJldCA9IE5VTEw7CisgCisgICBHU1RfUlRQX0JJTl9MT0NLIChiaW4pOwor
LSAgR1NUX0RFQlVHX09CSkVDVCAoYmluLCAicmV0cmlldmluZyBHc3RSdHBTZXNzaW9uLCBpbmRl
eDogJWQiLCBzZXNzaW9uX2lkKTsKKysgIEdTVF9ERUJVR19PQkpFQ1QgKGJpbiwgInJldHJpZXZp
bmcgR3N0UnRwU2Vzc2lvbiwgaW5kZXg6ICV1Iiwgc2Vzc2lvbl9pZCk7CisgICBzZXNzaW9uID0g
ZmluZF9zZXNzaW9uX2J5X2lkIChiaW4sIChnaW50KSBzZXNzaW9uX2lkKTsKKyAgIGlmIChzZXNz
aW9uKSB7CisgICAgIHJldCA9IGdzdF9vYmplY3RfcmVmIChzZXNzaW9uLT5zZXNzaW9uKTsKK0BA
IC05NjQsNyArMTA4NSw3IEBAIGdzdF9ydHBfYmluX2dldF9pbnRlcm5hbF9zZXNzaW9uIChHc3RS
dHBCaW4gKiBiaW4sIGd1aW50IHNlc3Npb25faWQpCisgICBHc3RSdHBCaW5TZXNzaW9uICpzZXNz
aW9uOworIAorICAgR1NUX1JUUF9CSU5fTE9DSyAoYmluKTsKKy0gIEdTVF9ERUJVR19PQkpFQ1Qg
KGJpbiwgInJldHJpZXZpbmcgaW50ZXJuYWwgUlRQU2Vzc2lvbiBvYmplY3QsIGluZGV4OiAlZCIs
CisrICBHU1RfREVCVUdfT0JKRUNUIChiaW4sICJyZXRyaWV2aW5nIGludGVybmFsIFJUUFNlc3Np
b24gb2JqZWN0LCBpbmRleDogJXUiLAorICAgICAgIHNlc3Npb25faWQpOworICAgc2Vzc2lvbiA9
IGZpbmRfc2Vzc2lvbl9ieV9pZCAoYmluLCAoZ2ludCkgc2Vzc2lvbl9pZCk7CisgICBpZiAoc2Vz
c2lvbikgeworQEAgLTIxOTQsNiArMjMxNSwyOSBAQCBnc3RfcnRwX2Jpbl9jbGFzc19pbml0IChH
c3RSdHBCaW5DbGFzcyAqIGtsYXNzKQorICAgICAgICAgICBvbl9zZW5kZXJfc3NyY19hY3RpdmUp
LCBOVUxMLCBOVUxMLCBnX2NjbG9zdXJlX21hcnNoYWxfZ2VuZXJpYywKKyAgICAgICBHX1RZUEVf
Tk9ORSwgMiwgR19UWVBFX1VJTlQsIEdfVFlQRV9VSU5UKTsKKyAKKysKKysgIC8qKgorKyAgICog
R3N0UnRwQmluOjpvbi1idW5kbGVkLXNzcmM6CisrICAgKiBAcnRwYmluOiB0aGUgb2JqZWN0IHdo
aWNoIHJlY2VpdmVkIHRoZSBzaWduYWwKKysgICAqIEBzc3JjOiB0aGUgYnVuZGxlZCBTU1JDCisr
ICAgKgorKyAgICogTm90aWZ5IG9mIGEgbmV3IGluY29taW5nIGJ1bmRsZWQgU1NSQy4gSWYgbm8g
aGFuZGxlciBpcyBjb25uZWN0ZWQgdG8gdGhlCisrICAgKiBzaWduYWwgdGhlbiB0aGUgI0dzdFJ0
cFNlc3Npb24gY3JlYXRlZCBmb3IgdGhlIHJlY3ZfcnRwX3NpbmtfXCV1CisrICAgKiByZXF1ZXN0
IHBhZCB3aWxsIGJlIG1hbmFnaW5nIHRoaXMgbmV3IFNTUkMuIEhvd2V2ZXIgaWYgdGhlcmUgaXMg
YSBoYW5kbGVyCisrICAgKiBjb25uZWN0ZWQgdGhlbiB0aGUgYXBwbGljYXRpb24gY2FuIGRlY2lk
ZWQgdG8gZGlzcGF0Y2ggdGhpcyBuZXcgc3RyZWFtIHRvCisrICAgKiBhbm90aGVyIHNlc3Npb24g
YnkgcHJvdmlkaW5nIGl0cyBJRCBhcyByZXR1cm4gdmFsdWUgb2YgdGhlIGhhbmRsZXIuIFRoaXMK
KysgICAqIGNhbiBiZSBwYXJ0aWN1bGFybHkgdXNlZnVsIHRvIGtlZXAgcmV0cmFuc21pc3Npb24g
U1NSQ3MgZ3JvdXBlZCB3aXRoIHRoZQorKyAgICogc2Vzc2lvbiBmb3Igd2hpY2ggdGhleSBoYW5k
bGUgcmV0cmFuc21pc3Npb24uCisrICAgKgorKyAgICogU2luY2U6IDEuMTIKKysgICAqLworKyAg
Z3N0X3J0cF9iaW5fc2lnbmFsc1tTSUdOQUxfT05fQlVORExFRF9TU1JDXSA9CisrICAgICAgZ19z
aWduYWxfbmV3ICgib24tYnVuZGxlZC1zc3JjIiwgR19UWVBFX0ZST01fQ0xBU1MgKGtsYXNzKSwK
KysgICAgICBHX1NJR05BTF9SVU5fTEFTVCwgR19TVFJVQ1RfT0ZGU0VUIChHc3RSdHBCaW5DbGFz
cywKKysgICAgICAgICAgb25fYnVuZGxlZF9zc3JjKSwgTlVMTCwgTlVMTCwKKysgICAgICBnX2Nj
bG9zdXJlX21hcnNoYWxfZ2VuZXJpYywgR19UWVBFX1VJTlQsIDEsIEdfVFlQRV9VSU5UKTsKKysK
KysKKyAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkgKGdvYmplY3RfY2xhc3MsIFBS
T1BfU0RFUywKKyAgICAgICBnX3BhcmFtX3NwZWNfYm94ZWQgKCJzZGVzIiwgIlNERVMiLAorICAg
ICAgICAgICAiVGhlIFNERVMgaXRlbXMgb2YgdGhpcyBzZXNzaW9uIiwKK0BAIC0zMDIxLDcgKzMx
NjUsNyBAQCBuZXdfcGF5bG9hZF9mb3VuZCAoR3N0RWxlbWVudCAqIGVsZW1lbnQsIGd1aW50IHB0
LCBHc3RQYWQgKiBwYWQsCisgCisgICBydHBiaW4gPSBzdHJlYW0tPmJpbjsKKyAKKy0gIEdTVF9E
RUJVRyAoIm5ldyBwYXlsb2FkIHBhZCAlZCIsIHB0KTsKKysgIEdTVF9ERUJVR19PQkpFQ1QgKHJ0
cGJpbiwgIm5ldyBwYXlsb2FkIHBhZCAldSIsIHB0KTsKKyAKKyAgIEdTVF9SVFBfQklOX1NIVVRE
T1dOX0xPQ0sgKHJ0cGJpbiwgc2h1dGRvd24pOworIAorQEAgLTMwNzgsNyArMzIyMiw3IEBAIHB0
X21hcF9yZXF1ZXN0ZWQgKEdzdEVsZW1lbnQgKiBlbGVtZW50LCBndWludCBwdCwgR3N0UnRwQmlu
U2Vzc2lvbiAqIHNlc3Npb24pCisgCisgICBydHBiaW4gPSBzZXNzaW9uLT5iaW47CisgCistICBH
U1RfREVCVUdfT0JKRUNUIChydHBiaW4sICJwYXlsb2FkIG1hcCByZXF1ZXN0ZWQgZm9yIHB0ICVk
IGluIHNlc3Npb24gJWQiLCBwdCwKKysgIEdTVF9ERUJVR19PQkpFQ1QgKHJ0cGJpbiwgInBheWxv
YWQgbWFwIHJlcXVlc3RlZCBmb3IgcHQgJXUgaW4gc2Vzc2lvbiAldSIsIHB0LAorICAgICAgIHNl
c3Npb24tPmlkKTsKKyAKKyAgIGNhcHMgPSBnZXRfcHRfbWFwIChzZXNzaW9uLCBwdCk7CitAQCAt
MzA5OSw3ICszMjQzLDcgQEAgc3RhdGljIHZvaWQKKyBwYXlsb2FkX3R5cGVfY2hhbmdlIChHc3RF
bGVtZW50ICogZWxlbWVudCwgZ3VpbnQgcHQsIEdzdFJ0cEJpblNlc3Npb24gKiBzZXNzaW9uKQor
IHsKKyAgIEdTVF9ERUJVR19PQkpFQ1QgKHNlc3Npb24tPmJpbiwKKy0gICAgICAiZW1pdGluZyBz
aWduYWwgZm9yIHB0IHR5cGUgY2hhbmdlZCB0byAlZCBpbiBzZXNzaW9uICVkIiwgcHQsCisrICAg
ICAgImVtaXRpbmcgc2lnbmFsIGZvciBwdCB0eXBlIGNoYW5nZWQgdG8gJXUgaW4gc2Vzc2lvbiAl
dSIsIHB0LAorICAgICAgIHNlc3Npb24tPmlkKTsKKyAKKyAgIGdfc2lnbmFsX2VtaXQgKHNlc3Np
b24tPmJpbiwgZ3N0X3J0cF9iaW5fc2lnbmFsc1tTSUdOQUxfUEFZTE9BRF9UWVBFX0NIQU5HRV0s
CitAQCAtMzI0NiwxNSArMzM5MCw0MiBAQCBub19zdHJlYW06CisgICB9CisgfQorIAorLXN0YXRp
YyBnYm9vbGVhbgorLWNvbXBsZXRlX3Nlc3Npb25fc2luayAoR3N0UnRwQmluICogcnRwYmluLCBH
c3RSdHBCaW5TZXNzaW9uICogc2Vzc2lvbikKKytzdGF0aWMgdm9pZAorK3Nlc3Npb25fbWF5YmVf
Y3JlYXRlX2J1bmRsZV9kZW11eGVyIChHc3RSdHBCaW5TZXNzaW9uICogc2Vzc2lvbikKKyt7Cisr
ICBHc3RSdHBCaW4gKnJ0cGJpbjsKKysKKysgIGlmIChzZXNzaW9uLT5idW5kbGVfZGVtdXgpCisr
ICAgIHJldHVybjsKKysKKysgIHJ0cGJpbiA9IHNlc3Npb24tPmJpbjsKKysgIGlmIChnX3NpZ25h
bF9oYXNfaGFuZGxlcl9wZW5kaW5nIChydHBiaW4sCisrICAgICAgICAgIGdzdF9ydHBfYmluX3Np
Z25hbHNbU0lHTkFMX09OX0JVTkRMRURfU1NSQ10sIDAsIFRSVUUpKSB7CisrICAgIEdTVF9ERUJV
R19PQkpFQ1QgKHJ0cGJpbiwgIkFkZGluZyBhIGJ1bmRsZSBTU1JDIGRlbXV4ZXIgdG8gc2Vzc2lv
biAldSIsCisrICAgICAgICBzZXNzaW9uLT5pZCk7CisrICAgIHNlc3Npb24tPmJ1bmRsZV9kZW11
eCA9IGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSAoInJ0cHNzcmNkZW11eCIsIE5VTEwpOworKyAg
ICBzZXNzaW9uLT5idW5kbGVfZGVtdXhfbmV3cGFkX3NpZyA9IGdfc2lnbmFsX2Nvbm5lY3QgKHNl
c3Npb24tPmJ1bmRsZV9kZW11eCwKKysgICAgICAgICJuZXctc3NyYy1wYWQiLCAoR0NhbGxiYWNr
KSBuZXdfYnVuZGxlZF9zc3JjX3BhZF9mb3VuZCwgc2Vzc2lvbik7CisrCisrICAgIGdzdF9iaW5f
YWRkIChHU1RfQklOX0NBU1QgKHJ0cGJpbiksIHNlc3Npb24tPmJ1bmRsZV9kZW11eCk7CisrICAg
IGdzdF9lbGVtZW50X3N5bmNfc3RhdGVfd2l0aF9wYXJlbnQgKHNlc3Npb24tPmJ1bmRsZV9kZW11
eCk7CisrICB9IGVsc2UgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChydHBiaW4sCisrICAgICAg
ICAiTm8gaGFuZGxlciBmb3IgdGhlIG9uLWJ1bmRsZWQtc3NyYyBzaWduYWwgc28gbm8gbmVlZCBm
b3IgYSBidW5kbGUgU1NSQyBkZW11eGVyIGluIHNlc3Npb24gJXUiLAorKyAgICAgICAgc2Vzc2lv
bi0+aWQpOworKyAgfQorK30KKysKKytzdGF0aWMgR3N0UGFkICoKKytjb21wbGV0ZV9zZXNzaW9u
X3NpbmsgKEdzdFJ0cEJpbiAqIHJ0cGJpbiwgR3N0UnRwQmluU2Vzc2lvbiAqIHNlc3Npb24sCisr
ICAgIGdib29sZWFuIGJ1bmRsZV9kZW11eGVyX25lZWRlZCkKKyB7CistICBnY2hhciAqZ25hbWU7
CisgICBndWludCBzZXNzaWQgPSBzZXNzaW9uLT5pZDsKKyAgIEdzdFBhZCAqcmVjdl9ydHBfc2lu
azsKKysgIEdzdFBhZCAqZnVubmVsX3NyYzsKKyAgIEdzdEVsZW1lbnQgKmRlY29kZXI7CistICBH
c3RFbGVtZW50Q2xhc3MgKmtsYXNzOworLSAgR3N0UGFkVGVtcGxhdGUgKnRlbXBsOworKworKyAg
Z19hc3NlcnQgKCFzZXNzaW9uLT5yZWN2X3J0cF9zaW5rKTsKKyAKKyAgIC8qIGdldCByZWN2X3J0
cCBwYWQgYW5kIHN0b3JlICovCisgICBzZXNzaW9uLT5yZWN2X3J0cF9zaW5rID0KK0BAIC0zMjY1
LDYgKzM0MzYsOSBAQCBjb21wbGV0ZV9zZXNzaW9uX3NpbmsgKEdzdFJ0cEJpbiAqIHJ0cGJpbiwg
R3N0UnRwQmluU2Vzc2lvbiAqIHNlc3Npb24pCisgICBnX3NpZ25hbF9jb25uZWN0IChzZXNzaW9u
LT5yZWN2X3J0cF9zaW5rLCAibm90aWZ5OjpjYXBzIiwKKyAgICAgICAoR0NhbGxiYWNrKSBjYXBz
X2NoYW5nZWQsIHNlc3Npb24pOworIAorKyAgaWYgKGJ1bmRsZV9kZW11eGVyX25lZWRlZCkKKysg
ICAgc2Vzc2lvbl9tYXliZV9jcmVhdGVfYnVuZGxlX2RlbXV4ZXIgKHNlc3Npb24pOworKworICAg
R1NUX0RFQlVHX09CSkVDVCAocnRwYmluLCAicmVxdWVzdGluZyBSVFAgZGVjb2RlciIpOworICAg
ZGVjb2RlciA9IHNlc3Npb25fcmVxdWVzdF9lbGVtZW50IChzZXNzaW9uLCBTSUdOQUxfUkVRVUVT
VF9SVFBfREVDT0RFUik7CisgICBpZiAoZGVjb2RlcikgeworQEAgLTMyODIsNyArMzQ1NiwxNCBA
QCBjb21wbGV0ZV9zZXNzaW9uX3NpbmsgKEdzdFJ0cEJpbiAqIHJ0cGJpbiwgR3N0UnRwQmluU2Vz
c2lvbiAqIHNlc3Npb24pCisgICAgIGlmIChkZWNzcmMgPT0gTlVMTCkKKyAgICAgICBnb3RvIGRl
Y19zcmNfZmFpbGVkOworIAorLSAgICByZXQgPSBnc3RfcGFkX2xpbmsgKGRlY3NyYywgc2Vzc2lv
bi0+cmVjdl9ydHBfc2luayk7CisrICAgIGlmIChzZXNzaW9uLT5idW5kbGVfZGVtdXgpIHsKKysg
ICAgICBHc3RQYWQgKmRlbXV4X3Npbms7CisrICAgICAgZGVtdXhfc2luayA9IGdzdF9lbGVtZW50
X2dldF9zdGF0aWNfcGFkIChzZXNzaW9uLT5idW5kbGVfZGVtdXgsICJzaW5rIik7CisrICAgICAg
cmV0ID0gZ3N0X3BhZF9saW5rIChkZWNzcmMsIGRlbXV4X3NpbmspOworKyAgICAgIGdzdF9vYmpl
Y3RfdW5yZWYgKGRlbXV4X3NpbmspOworKyAgICB9IGVsc2UgeworKyAgICAgIHJldCA9IGdzdF9w
YWRfbGluayAoZGVjc3JjLCBzZXNzaW9uLT5yZWN2X3J0cF9zaW5rKTsKKysgICAgfQorICAgICBn
c3Rfb2JqZWN0X3VucmVmIChkZWNzcmMpOworIAorICAgICBpZiAocmV0ICE9IEdTVF9QQURfTElO
S19PSykKK0BAIC0zMjkwLDgxICszNDcxLDU0IEBAIGNvbXBsZXRlX3Nlc3Npb25fc2luayAoR3N0
UnRwQmluICogcnRwYmluLCBHc3RSdHBCaW5TZXNzaW9uICogc2Vzc2lvbikKKyAKKyAgIH0gZWxz
ZSB7CisgICAgIEdTVF9ERUJVR19PQkpFQ1QgKHJ0cGJpbiwgIm5vIFJUUCBkZWNvZGVyIGdpdmVu
Iik7CistICAgIHJlY3ZfcnRwX3NpbmsgPSBnc3Rfb2JqZWN0X3JlZiAoc2Vzc2lvbi0+cmVjdl9y
dHBfc2luayk7CisrICAgIGlmIChzZXNzaW9uLT5idW5kbGVfZGVtdXgpIHsKKysgICAgICByZWN2
X3J0cF9zaW5rID0KKysgICAgICAgICAgZ3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQgKHNlc3Np
b24tPmJ1bmRsZV9kZW11eCwgInNpbmsiKTsKKysgICAgfSBlbHNlIHsKKysgICAgICByZWN2X3J0
cF9zaW5rID0KKysgICAgICAgICAgZ3N0X2VsZW1lbnRfZ2V0X3JlcXVlc3RfcGFkIChzZXNzaW9u
LT5ydHBfZnVubmVsLCAic2lua18ldSIpOworKyAgICB9CisgICB9CisgCistICBHU1RfREVCVUdf
T0JKRUNUIChydHBiaW4sICJnaG9zdGluZyBzZXNzaW9uIHNpbmsgcGFkIik7CistICBrbGFzcyA9
IEdTVF9FTEVNRU5UX0dFVF9DTEFTUyAocnRwYmluKTsKKy0gIGduYW1lID0gZ19zdHJkdXBfcHJp
bnRmICgicmVjdl9ydHBfc2lua18ldSIsIHNlc3NpZCk7CistICB0ZW1wbCA9IGdzdF9lbGVtZW50
X2NsYXNzX2dldF9wYWRfdGVtcGxhdGUgKGtsYXNzLCAicmVjdl9ydHBfc2lua18ldSIpOworLSAg
c2Vzc2lvbi0+cmVjdl9ydHBfc2lua19naG9zdCA9CistICAgICAgZ3N0X2dob3N0X3BhZF9uZXdf
ZnJvbV90ZW1wbGF0ZSAoZ25hbWUsIHJlY3ZfcnRwX3NpbmssIHRlbXBsKTsKKy0gIGdzdF9vYmpl
Y3RfdW5yZWYgKHJlY3ZfcnRwX3NpbmspOworLSAgZ3N0X3BhZF9zZXRfYWN0aXZlIChzZXNzaW9u
LT5yZWN2X3J0cF9zaW5rX2dob3N0LCBUUlVFKTsKKy0gIGdzdF9lbGVtZW50X2FkZF9wYWQgKEdT
VF9FTEVNRU5UX0NBU1QgKHJ0cGJpbiksIHNlc3Npb24tPnJlY3ZfcnRwX3NpbmtfZ2hvc3QpOwor
LSAgZ19mcmVlIChnbmFtZSk7CisrICBmdW5uZWxfc3JjID0gZ3N0X2VsZW1lbnRfZ2V0X3N0YXRp
Y19wYWQgKHNlc3Npb24tPnJ0cF9mdW5uZWwsICJzcmMiKTsKKysgIGdzdF9wYWRfbGluayAoZnVu
bmVsX3NyYywgc2Vzc2lvbi0+cmVjdl9ydHBfc2luayk7CisrICBnc3Rfb2JqZWN0X3VucmVmIChm
dW5uZWxfc3JjKTsKKyAKKy0gIHJldHVybiBUUlVFOworKyAgcmV0dXJuIHJlY3ZfcnRwX3Npbms7
CisgCisgICAvKiBFUlJPUlMgKi8KKyBwYWRfZmFpbGVkOgorICAgeworICAgICBnX3dhcm5pbmcg
KCJydHBiaW46IGZhaWxlZCB0byBnZXQgc2Vzc2lvbiByZWN2X3J0cF9zaW5rIHBhZCIpOworLSAg
ICByZXR1cm4gRkFMU0U7CisrICAgIHJldHVybiBOVUxMOworICAgfQorIGRlY19zaW5rX2ZhaWxl
ZDoKKyAgIHsKKy0gICAgZ193YXJuaW5nICgicnRwYmluOiBmYWlsZWQgdG8gZ2V0IGRlY29kZXIg
c2luayBwYWQgZm9yIHNlc3Npb24gJWQiLCBzZXNzaWQpOworLSAgICByZXR1cm4gRkFMU0U7Cisr
ICAgIGdfd2FybmluZyAoInJ0cGJpbjogZmFpbGVkIHRvIGdldCBkZWNvZGVyIHNpbmsgcGFkIGZv
ciBzZXNzaW9uICV1Iiwgc2Vzc2lkKTsKKysgICAgcmV0dXJuIE5VTEw7CisgICB9CisgZGVjX3Ny
Y19mYWlsZWQ6CisgICB7CistICAgIGdfd2FybmluZyAoInJ0cGJpbjogZmFpbGVkIHRvIGdldCBk
ZWNvZGVyIHNyYyBwYWQgZm9yIHNlc3Npb24gJWQiLCBzZXNzaWQpOworKyAgICBnX3dhcm5pbmcg
KCJydHBiaW46IGZhaWxlZCB0byBnZXQgZGVjb2RlciBzcmMgcGFkIGZvciBzZXNzaW9uICV1Iiwg
c2Vzc2lkKTsKKyAgICAgZ3N0X29iamVjdF91bnJlZiAocmVjdl9ydHBfc2luayk7CistICAgIHJl
dHVybiBGQUxTRTsKKysgICAgcmV0dXJuIE5VTEw7CisgICB9CisgZGVjX2xpbmtfZmFpbGVkOgor
ICAgeworLSAgICBnX3dhcm5pbmcgKCJydHBiaW46IGZhaWxlZCB0byBsaW5rIHJ0cCBkZWNvZGVy
IGZvciBzZXNzaW9uICVkIiwgc2Vzc2lkKTsKKysgICAgZ193YXJuaW5nICgicnRwYmluOiBmYWls
ZWQgdG8gbGluayBydHAgZGVjb2RlciBmb3Igc2Vzc2lvbiAldSIsIHNlc3NpZCk7CisgICAgIGdz
dF9vYmplY3RfdW5yZWYgKHJlY3ZfcnRwX3NpbmspOworLSAgICByZXR1cm4gRkFMU0U7CisrICAg
IHJldHVybiBOVUxMOworICAgfQorIH0KKyAKKy0vKiBDcmVhdGUgYSBwYWQgZm9yIHJlY2Vpdmlu
ZyBSVFAgZm9yIHRoZSBzZXNzaW9uIGluIEBuYW1lLiBNdXN0IGJlIGNhbGxlZCB3aXRoCistICog
UlRQX0JJTl9MT0NLLgorLSAqLworLXN0YXRpYyBHc3RQYWQgKgorLWNyZWF0ZV9yZWN2X3J0cCAo
R3N0UnRwQmluICogcnRwYmluLCBHc3RQYWRUZW1wbGF0ZSAqIHRlbXBsLCBjb25zdCBnY2hhciAq
IG5hbWUpCisrc3RhdGljIHZvaWQKKytjb21wbGV0ZV9zZXNzaW9uX3JlY2VpdmVyIChHc3RSdHBC
aW4gKiBydHBiaW4sIEdzdFJ0cEJpblNlc3Npb24gKiBzZXNzaW9uLAorKyAgICBndWludCBzZXNz
aWQpCisgeworLSAgZ3VpbnQgc2Vzc2lkOworICAgR3N0RWxlbWVudCAqYXV4OworICAgR3N0UGFk
ICpyZWN2X3J0cF9zcmM7CistICBHc3RSdHBCaW5TZXNzaW9uICpzZXNzaW9uOworLQorLSAgLyog
Zmlyc3QgZ2V0IHRoZSBzZXNzaW9uIG51bWJlciAqLworLSAgaWYgKG5hbWUgPT0gTlVMTCB8fCBz
c2NhbmYgKG5hbWUsICJyZWN2X3J0cF9zaW5rXyV1IiwgJnNlc3NpZCkgIT0gMSkKKy0gICAgZ290
byBub19uYW1lOworLQorLSAgR1NUX0RFQlVHX09CSkVDVCAocnRwYmluLCAiZmluZGluZyBzZXNz
aW9uICVkIiwgc2Vzc2lkKTsKKyAKKy0gIC8qIGdldCBvciBjcmVhdGUgc2Vzc2lvbiAqLworLSAg
c2Vzc2lvbiA9IGZpbmRfc2Vzc2lvbl9ieV9pZCAocnRwYmluLCBzZXNzaWQpOworLSAgaWYgKCFz
ZXNzaW9uKSB7CistICAgIEdTVF9ERUJVR19PQkpFQ1QgKHJ0cGJpbiwgImNyZWF0aW5nIHNlc3Np
b24gJWQiLCBzZXNzaWQpOworLSAgICAvKiBjcmVhdGUgc2Vzc2lvbiBub3cgKi8KKy0gICAgc2Vz
c2lvbiA9IGNyZWF0ZV9zZXNzaW9uIChydHBiaW4sIHNlc3NpZCk7CistICAgIGlmIChzZXNzaW9u
ID09IE5VTEwpCistICAgICAgZ290byBjcmVhdGVfZXJyb3I7CistICB9CistCistICAvKiBjaGVj
ayBpZiBwYWQgd2FzIHJlcXVlc3RlZCAqLworLSAgaWYgKHNlc3Npb24tPnJlY3ZfcnRwX3Npbmtf
Z2hvc3QgIT0gTlVMTCkKKy0gICAgcmV0dXJuIHNlc3Npb24tPnJlY3ZfcnRwX3NpbmtfZ2hvc3Q7
CistCistICAvKiBzZXR1cCB0aGUgc2Vzc2lvbiBzaW5rIHBhZCAqLworLSAgaWYgKCFjb21wbGV0
ZV9zZXNzaW9uX3NpbmsgKHJ0cGJpbiwgc2Vzc2lvbikpCistICAgIGdvdG8gc2Vzc2lvbl9zaW5r
X2ZhaWxlZDsKKysgIGdfYXNzZXJ0ICghc2Vzc2lvbi0+cmVjdl9ydHBfc3JjKTsKKyAKKyAgIHNl
c3Npb24tPnJlY3ZfcnRwX3NyYyA9CisgICAgICAgZ3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQg
KHNlc3Npb24tPnNlc3Npb24sICJyZWN2X3J0cF9zcmMiKTsKK0BAIC0zMzgxLDcgKzM1MzUsNyBA
QCBjcmVhdGVfcmVjdl9ydHAgKEdzdFJ0cEJpbiAqIHJ0cGJpbiwgR3N0UGFkVGVtcGxhdGUgKiB0
ZW1wbCwgY29uc3QgZ2NoYXIgKiBuYW1lKQorIAorICAgICBHU1RfREVCVUdfT0JKRUNUIChydHBi
aW4sICJsaW5raW5nIEFVWCByZWNlaXZlciIpOworIAorLSAgICBwbmFtZSA9IGdfc3RyZHVwX3By
aW50ZiAoInNpbmtfJWQiLCBzZXNzaWQpOworKyAgICBwbmFtZSA9IGdfc3RyZHVwX3ByaW50ZiAo
InNpbmtfJXUiLCBzZXNzaWQpOworICAgICBhdXhzaW5rID0gZ3N0X2VsZW1lbnRfZ2V0X3N0YXRp
Y19wYWQgKGF1eCwgcG5hbWUpOworICAgICBnX2ZyZWUgKHBuYW1lKTsKKyAgICAgaWYgKGF1eHNp
bmsgPT0gTlVMTCkKK0BAIC0zMzk0LDcgKzM1NDgsNyBAQCBjcmVhdGVfcmVjdl9ydHAgKEdzdFJ0
cEJpbiAqIHJ0cGJpbiwgR3N0UGFkVGVtcGxhdGUgKiB0ZW1wbCwgY29uc3QgZ2NoYXIgKiBuYW1l
KQorIAorICAgICAvKiB0aGlzIGNhbiBiZSBOVUxMIHdoZW4gdGhpcyBBVVggZWxlbWVudCBpcyBu
b3QgdG8gYmUgbGlua2VkIHRvCisgICAgICAqIGFuIFNTUkMgZGVtdXhlciAqLworLSAgICBwbmFt
ZSA9IGdfc3RyZHVwX3ByaW50ZiAoInNyY18lZCIsIHNlc3NpZCk7CisrICAgIHBuYW1lID0gZ19z
dHJkdXBfcHJpbnRmICgic3JjXyV1Iiwgc2Vzc2lkKTsKKyAgICAgcmVjdl9ydHBfc3JjID0gZ3N0
X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQgKGF1eCwgcG5hbWUpOworICAgICBnX2ZyZWUgKHBuYW1l
KTsKKyAgIH0gZWxzZSB7CitAQCAtMzQwOCw4ICszNTYyLDggQEAgY3JlYXRlX3JlY3ZfcnRwIChH
c3RSdHBCaW4gKiBydHBiaW4sIEdzdFBhZFRlbXBsYXRlICogdGVtcGwsIGNvbnN0IGdjaGFyICog
bmFtZSkKKyAgICAgc2lua2RwYWQgPSBnc3RfZWxlbWVudF9nZXRfc3RhdGljX3BhZCAoc2Vzc2lv
bi0+ZGVtdXgsICJzaW5rIik7CisgICAgIEdTVF9ERUJVR19PQkpFQ1QgKHJ0cGJpbiwgImxpbmtp
bmcgZGVtdXhlciBSVFAgc2luayBwYWQiKTsKKyAgICAgZ3N0X3BhZF9saW5rX2Z1bGwgKHJlY3Zf
cnRwX3NyYywgc2lua2RwYWQsIEdTVF9QQURfTElOS19DSEVDS19OT1RISU5HKTsKKy0gICAgZ3N0
X29iamVjdF91bnJlZiAocmVjdl9ydHBfc3JjKTsKKyAgICAgZ3N0X29iamVjdF91bnJlZiAoc2lu
a2RwYWQpOworKyAgICBnc3Rfb2JqZWN0X3VucmVmIChyZWN2X3J0cF9zcmMpOworIAorICAgICAv
KiBjb25uZWN0IHRvIHRoZSBuZXctc3NyYy1wYWQgc2lnbmFsIG9mIHRoZSBTU1JDIGRlbXV4ZXIg
Ki8KKyAgICAgc2Vzc2lvbi0+ZGVtdXhfbmV3cGFkX3NpZyA9IGdfc2lnbmFsX2Nvbm5lY3QgKHNl
c3Npb24tPmRlbXV4LAorQEAgLTM0MTcsNiArMzU3MSw3MSBAQCBjcmVhdGVfcmVjdl9ydHAgKEdz
dFJ0cEJpbiAqIHJ0cGJpbiwgR3N0UGFkVGVtcGxhdGUgKiB0ZW1wbCwgY29uc3QgZ2NoYXIgKiBu
YW1lKQorICAgICBzZXNzaW9uLT5kZW11eF9wYWRyZW1vdmVkX3NpZyA9IGdfc2lnbmFsX2Nvbm5l
Y3QgKHNlc3Npb24tPmRlbXV4LAorICAgICAgICAgInJlbW92ZWQtc3NyYy1wYWQiLCAoR0NhbGxi
YWNrKSBzc3JjX2RlbXV4X3BhZF9yZW1vdmVkLCBzZXNzaW9uKTsKKyAgIH0KKysKKysgIHJldHVy
bjsKKysKKytwYWRfZmFpbGVkOgorKyAgeworKyAgICBnX3dhcm5pbmcgKCJydHBiaW46IGZhaWxl
ZCB0byBnZXQgc2Vzc2lvbiByZWN2X3J0cF9zcmMgcGFkIik7CisrICAgIHJldHVybjsKKysgIH0K
KythdXhfc2lua19mYWlsZWQ6CisrICB7CisrICAgIGdfd2FybmluZyAoInJ0cGJpbjogZmFpbGVk
IHRvIGdldCBBVVggc2luayBwYWQgZm9yIHNlc3Npb24gJXUiLCBzZXNzaWQpOworKyAgICByZXR1
cm47CisrICB9CisrYXV4X2xpbmtfZmFpbGVkOgorKyAgeworKyAgICBnX3dhcm5pbmcgKCJydHBi
aW46IGZhaWxlZCB0byBsaW5rIEFVWCBwYWQgdG8gc2Vzc2lvbiAldSIsIHNlc3NpZCk7CisrICAg
IHJldHVybjsKKysgIH0KKyt9CisrCisrLyogQ3JlYXRlIGEgcGFkIGZvciByZWNlaXZpbmcgUlRQ
IGZvciB0aGUgc2Vzc2lvbiBpbiBAbmFtZS4gTXVzdCBiZSBjYWxsZWQgd2l0aAorKyAqIFJUUF9C
SU5fTE9DSy4KKysgKi8KKytzdGF0aWMgR3N0UGFkICoKKytjcmVhdGVfcmVjdl9ydHAgKEdzdFJ0
cEJpbiAqIHJ0cGJpbiwgR3N0UGFkVGVtcGxhdGUgKiB0ZW1wbCwgY29uc3QgZ2NoYXIgKiBuYW1l
KQorK3sKKysgIGd1aW50IHNlc3NpZDsKKysgIEdzdFJ0cEJpblNlc3Npb24gKnNlc3Npb247Cisr
ICBHc3RQYWQgKnJlY3ZfcnRwX3Npbms7CisrCisrICAvKiBmaXJzdCBnZXQgdGhlIHNlc3Npb24g
bnVtYmVyICovCisrICBpZiAobmFtZSA9PSBOVUxMIHx8IHNzY2FuZiAobmFtZSwgInJlY3ZfcnRw
X3NpbmtfJXUiLCAmc2Vzc2lkKSAhPSAxKQorKyAgICBnb3RvIG5vX25hbWU7CisrCisrICBHU1Rf
REVCVUdfT0JKRUNUIChydHBiaW4sICJmaW5kaW5nIHNlc3Npb24gJXUiLCBzZXNzaWQpOworKwor
KyAgLyogZ2V0IG9yIGNyZWF0ZSBzZXNzaW9uICovCisrICBzZXNzaW9uID0gZmluZF9zZXNzaW9u
X2J5X2lkIChydHBiaW4sIHNlc3NpZCk7CisrICBpZiAoIXNlc3Npb24pIHsKKysgICAgR1NUX0RF
QlVHX09CSkVDVCAocnRwYmluLCAiY3JlYXRpbmcgc2Vzc2lvbiAldSIsIHNlc3NpZCk7CisrICAg
IC8qIGNyZWF0ZSBzZXNzaW9uIG5vdyAqLworKyAgICBzZXNzaW9uID0gY3JlYXRlX3Nlc3Npb24g
KHJ0cGJpbiwgc2Vzc2lkKTsKKysgICAgaWYgKHNlc3Npb24gPT0gTlVMTCkKKysgICAgICBnb3Rv
IGNyZWF0ZV9lcnJvcjsKKysgIH0KKysKKysgIC8qIGNoZWNrIGlmIHBhZCB3YXMgcmVxdWVzdGVk
ICovCisrICBpZiAoc2Vzc2lvbi0+cmVjdl9ydHBfc2lua19naG9zdCAhPSBOVUxMKQorKyAgICBy
ZXR1cm4gc2Vzc2lvbi0+cmVjdl9ydHBfc2lua19naG9zdDsKKysKKysgIC8qIHNldHVwIHRoZSBz
ZXNzaW9uIHNpbmsgcGFkICovCisrICByZWN2X3J0cF9zaW5rID0gY29tcGxldGVfc2Vzc2lvbl9z
aW5rIChydHBiaW4sIHNlc3Npb24sIFRSVUUpOworKyAgaWYgKCFyZWN2X3J0cF9zaW5rKQorKyAg
ICBnb3RvIHNlc3Npb25fc2lua19mYWlsZWQ7CisrCisrCisrICBHU1RfREVCVUdfT0JKRUNUIChy
dHBiaW4sICJnaG9zdGluZyBzZXNzaW9uIHNpbmsgcGFkIik7CisrICBzZXNzaW9uLT5yZWN2X3J0
cF9zaW5rX2dob3N0ID0KKysgICAgICBnc3RfZ2hvc3RfcGFkX25ld19mcm9tX3RlbXBsYXRlIChu
YW1lLCByZWN2X3J0cF9zaW5rLCB0ZW1wbCk7CisrICBnc3Rfb2JqZWN0X3VucmVmIChyZWN2X3J0
cF9zaW5rKTsKKysgIGdzdF9wYWRfc2V0X2FjdGl2ZSAoc2Vzc2lvbi0+cmVjdl9ydHBfc2lua19n
aG9zdCwgVFJVRSk7CisrICBnc3RfZWxlbWVudF9hZGRfcGFkIChHU1RfRUxFTUVOVF9DQVNUIChy
dHBiaW4pLCBzZXNzaW9uLT5yZWN2X3J0cF9zaW5rX2dob3N0KTsKKysKKysgIGNvbXBsZXRlX3Nl
c3Npb25fcmVjZWl2ZXIgKHJ0cGJpbiwgc2Vzc2lvbiwgc2Vzc2lkKTsKKysKKyAgIHJldHVybiBz
ZXNzaW9uLT5yZWN2X3J0cF9zaW5rX2dob3N0OworIAorICAgLyogRVJST1JTICovCitAQCAtMzQz
NSwyMSArMzY1NCw2IEBAIHNlc3Npb25fc2lua19mYWlsZWQ6CisgICAgIC8qIHdhcm5pbmcgYWxy
ZWFkeSBkb25lICovCisgICAgIHJldHVybiBOVUxMOworICAgfQorLXBhZF9mYWlsZWQ6CistICB7
CistICAgIGdfd2FybmluZyAoInJ0cGJpbjogZmFpbGVkIHRvIGdldCBzZXNzaW9uIHJlY3ZfcnRw
X3NyYyBwYWQiKTsKKy0gICAgcmV0dXJuIE5VTEw7CistICB9CistYXV4X3NpbmtfZmFpbGVkOgor
LSAgeworLSAgICBnX3dhcm5pbmcgKCJydHBiaW46IGZhaWxlZCB0byBnZXQgQVVYIHNpbmsgcGFk
IGZvciBzZXNzaW9uICVkIiwgc2Vzc2lkKTsKKy0gICAgcmV0dXJuIE5VTEw7CistICB9CistYXV4
X2xpbmtfZmFpbGVkOgorLSAgeworLSAgICBnX3dhcm5pbmcgKCJydHBiaW46IGZhaWxlZCB0byBs
aW5rIEFVWCBwYWQgdG8gc2Vzc2lvbiAlZCIsIHNlc3NpZCk7CistICAgIHJldHVybiBOVUxMOwor
LSAgfQorIH0KKyAKKyBzdGF0aWMgdm9pZAorQEAgLTM0NjMsNiArMzY2NywxMSBAQCByZW1vdmVf
cmVjdl9ydHAgKEdzdFJ0cEJpbiAqIHJ0cGJpbiwgR3N0UnRwQmluU2Vzc2lvbiAqIHNlc3Npb24p
CisgICAgIGdfc2lnbmFsX2hhbmRsZXJfZGlzY29ubmVjdCAoc2Vzc2lvbi0+ZGVtdXgsIHNlc3Np
b24tPmRlbXV4X3BhZHJlbW92ZWRfc2lnKTsKKyAgICAgc2Vzc2lvbi0+ZGVtdXhfcGFkcmVtb3Zl
ZF9zaWcgPSAwOworICAgfQorKyAgaWYgKHNlc3Npb24tPmJ1bmRsZV9kZW11eF9uZXdwYWRfc2ln
KSB7CisrICAgIGdfc2lnbmFsX2hhbmRsZXJfZGlzY29ubmVjdCAoc2Vzc2lvbi0+YnVuZGxlX2Rl
bXV4LAorKyAgICAgICAgc2Vzc2lvbi0+YnVuZGxlX2RlbXV4X25ld3BhZF9zaWcpOworKyAgICBz
ZXNzaW9uLT5idW5kbGVfZGVtdXhfbmV3cGFkX3NpZyA9IDA7CisrICB9CisgICBpZiAoc2Vzc2lv
bi0+cmVjdl9ydHBfc3JjKSB7CisgICAgIGdzdF9vYmplY3RfdW5yZWYgKHNlc3Npb24tPnJlY3Zf
cnRwX3NyYyk7CisgICAgIHNlc3Npb24tPnJlY3ZfcnRwX3NyYyA9IE5VTEw7CitAQCAtMzQ4MCwz
NyArMzY4OSwxNCBAQCByZW1vdmVfcmVjdl9ydHAgKEdzdFJ0cEJpbiAqIHJ0cGJpbiwgR3N0UnRw
QmluU2Vzc2lvbiAqIHNlc3Npb24pCisgICB9CisgfQorIAorLS8qIENyZWF0ZSBhIHBhZCBmb3Ig
cmVjZWl2aW5nIFJUQ1AgZm9yIHRoZSBzZXNzaW9uIGluIEBuYW1lLiBNdXN0IGJlIGNhbGxlZCB3
aXRoCistICogUlRQX0JJTl9MT0NLLgorLSAqLworIHN0YXRpYyBHc3RQYWQgKgorLWNyZWF0ZV9y
ZWN2X3J0Y3AgKEdzdFJ0cEJpbiAqIHJ0cGJpbiwgR3N0UGFkVGVtcGxhdGUgKiB0ZW1wbCwKKy0g
ICAgY29uc3QgZ2NoYXIgKiBuYW1lKQorK2NvbXBsZXRlX3Nlc3Npb25fcnRjcCAoR3N0UnRwQmlu
ICogcnRwYmluLCBHc3RSdHBCaW5TZXNzaW9uICogc2Vzc2lvbiwKKysgICAgZ3VpbnQgc2Vzc2lk
LCBnYm9vbGVhbiBidW5kbGVfZGVtdXhlcl9uZWVkZWQpCisgeworLSAgZ3VpbnQgc2Vzc2lkOwor
ICAgR3N0RWxlbWVudCAqZGVjb2RlcjsKKy0gIEdzdFJ0cEJpblNlc3Npb24gKnNlc3Npb247Cist
ICBHc3RQYWQgKnNpbmtkcGFkLCAqZGVjc2luazsKKy0KKy0gIC8qIGZpcnN0IGdldCB0aGUgc2Vz
c2lvbiBudW1iZXIgKi8KKy0gIGlmIChuYW1lID09IE5VTEwgfHwgc3NjYW5mIChuYW1lLCAicmVj
dl9ydGNwX3NpbmtfJXUiLCAmc2Vzc2lkKSAhPSAxKQorLSAgICBnb3RvIG5vX25hbWU7CistCist
ICBHU1RfREVCVUdfT0JKRUNUIChydHBiaW4sICJmaW5kaW5nIHNlc3Npb24gJWQiLCBzZXNzaWQp
OworLQorLSAgLyogZ2V0IG9yIGNyZWF0ZSB0aGUgc2Vzc2lvbiAqLworLSAgc2Vzc2lvbiA9IGZp
bmRfc2Vzc2lvbl9ieV9pZCAocnRwYmluLCBzZXNzaWQpOworLSAgaWYgKCFzZXNzaW9uKSB7Cist
ICAgIEdTVF9ERUJVR19PQkpFQ1QgKHJ0cGJpbiwgImNyZWF0aW5nIHNlc3Npb24gJWQiLCBzZXNz
aWQpOworLSAgICAvKiBjcmVhdGUgc2Vzc2lvbiBub3cgKi8KKy0gICAgc2Vzc2lvbiA9IGNyZWF0
ZV9zZXNzaW9uIChydHBiaW4sIHNlc3NpZCk7CistICAgIGlmIChzZXNzaW9uID09IE5VTEwpCist
ICAgICAgZ290byBjcmVhdGVfZXJyb3I7CistICB9CistCistICAvKiBjaGVjayBpZiBwYWQgd2Fz
IHJlcXVlc3RlZCAqLworLSAgaWYgKHNlc3Npb24tPnJlY3ZfcnRjcF9zaW5rX2dob3N0ICE9IE5V
TEwpCistICAgIHJldHVybiBzZXNzaW9uLT5yZWN2X3J0Y3Bfc2lua19naG9zdDsKKysgIEdzdFBh
ZCAqc2lua2RwYWQ7CisrICBHc3RQYWQgKmRlY3NpbmsgPSBOVUxMOworKyAgR3N0UGFkICpmdW5u
ZWxfc3JjOworIAorICAgLyogZ2V0IHJlY3ZfcnRwIHBhZCBhbmQgc3RvcmUgKi8KKyAgIEdTVF9E
RUJVR19PQkpFQ1QgKHJ0cGJpbiwgImdldHRpbmcgUlRDUCBzaW5rIHBhZCIpOworQEAgLTM1MTks
NiArMzcwNSw5IEBAIGNyZWF0ZV9yZWN2X3J0Y3AgKEdzdFJ0cEJpbiAqIHJ0cGJpbiwgR3N0UGFk
VGVtcGxhdGUgKiB0ZW1wbCwKKyAgIGlmIChzZXNzaW9uLT5yZWN2X3J0Y3Bfc2luayA9PSBOVUxM
KQorICAgICBnb3RvIHBhZF9mYWlsZWQ7CisgCisrICBpZiAoYnVuZGxlX2RlbXV4ZXJfbmVlZGVk
KQorKyAgICBzZXNzaW9uX21heWJlX2NyZWF0ZV9idW5kbGVfZGVtdXhlciAoc2Vzc2lvbik7Cisr
CisgICBHU1RfREVCVUdfT0JKRUNUIChydHBiaW4sICJnZXR0aW5nIFJUQ1AgZGVjb2RlciIpOwor
ICAgZGVjb2RlciA9IHNlc3Npb25fcmVxdWVzdF9lbGVtZW50IChzZXNzaW9uLCBTSUdOQUxfUkVR
VUVTVF9SVENQX0RFQ09ERVIpOworICAgaWYgKGRlY29kZXIpIHsKK0BAIC0zNTM1LDE0ICszNzI0
LDI2IEBAIGNyZWF0ZV9yZWN2X3J0Y3AgKEdzdFJ0cEJpbiAqIHJ0cGJpbiwgR3N0UGFkVGVtcGxh
dGUgKiB0ZW1wbCwKKyAgICAgaWYgKGRlY3NyYyA9PSBOVUxMKQorICAgICAgIGdvdG8gZGVjX3Ny
Y19mYWlsZWQ7CisgCistICAgIHJldCA9IGdzdF9wYWRfbGluayAoZGVjc3JjLCBzZXNzaW9uLT5y
ZWN2X3J0Y3Bfc2luayk7CisrICAgIGlmIChzZXNzaW9uLT5idW5kbGVfZGVtdXgpIHsKKysgICAg
ICBHc3RQYWQgKmRlbXV4X3Npbms7CisrICAgICAgZGVtdXhfc2luayA9CisrICAgICAgICAgIGdz
dF9lbGVtZW50X2dldF9zdGF0aWNfcGFkIChzZXNzaW9uLT5idW5kbGVfZGVtdXgsICJydGNwX3Np
bmsiKTsKKysgICAgICByZXQgPSBnc3RfcGFkX2xpbmsgKGRlY3NyYywgZGVtdXhfc2luayk7Cisr
ICAgICAgZ3N0X29iamVjdF91bnJlZiAoZGVtdXhfc2luayk7CisrICAgIH0gZWxzZSB7CisrICAg
ICAgcmV0ID0gZ3N0X3BhZF9saW5rIChkZWNzcmMsIHNlc3Npb24tPnJlY3ZfcnRjcF9zaW5rKTsK
KysgICAgfQorICAgICBnc3Rfb2JqZWN0X3VucmVmIChkZWNzcmMpOworIAorICAgICBpZiAocmV0
ICE9IEdTVF9QQURfTElOS19PSykKKyAgICAgICBnb3RvIGRlY19saW5rX2ZhaWxlZDsKKyAgIH0g
ZWxzZSB7CisgICAgIEdTVF9ERUJVR19PQkpFQ1QgKHJ0cGJpbiwgIm5vIFJUQ1AgZGVjb2RlciBn
aXZlbiIpOworLSAgICBkZWNzaW5rID0gZ3N0X29iamVjdF9yZWYgKHNlc3Npb24tPnJlY3ZfcnRj
cF9zaW5rKTsKKysgICAgaWYgKHNlc3Npb24tPmJ1bmRsZV9kZW11eCkgeworKyAgICAgIGRlY3Np
bmsgPSBnc3RfZWxlbWVudF9nZXRfc3RhdGljX3BhZCAoc2Vzc2lvbi0+YnVuZGxlX2RlbXV4LCAi
cnRjcF9zaW5rIik7CisrICAgIH0gZWxzZSB7CisrICAgICAgZGVjc2luayA9IGdzdF9lbGVtZW50
X2dldF9yZXF1ZXN0X3BhZCAoc2Vzc2lvbi0+cnRjcF9mdW5uZWwsICJzaW5rXyV1Iik7CisrICAg
IH0KKyAgIH0KKyAKKyAgIC8qIGdldCBzcmNwYWQsIGxpbmsgdG8gU1NSQ0RlbXV4ICovCitAQCAt
MzU1NiwyNiArMzc1NywxMiBAQCBjcmVhdGVfcmVjdl9ydGNwIChHc3RSdHBCaW4gKiBydHBiaW4s
IEdzdFBhZFRlbXBsYXRlICogdGVtcGwsCisgICBnc3RfcGFkX2xpbmtfZnVsbCAoc2Vzc2lvbi0+
c3luY19zcmMsIHNpbmtkcGFkLCBHU1RfUEFEX0xJTktfQ0hFQ0tfTk9USElORyk7CisgICBnc3Rf
b2JqZWN0X3VucmVmIChzaW5rZHBhZCk7CisgCistICBzZXNzaW9uLT5yZWN2X3J0Y3Bfc2lua19n
aG9zdCA9CistICAgICAgZ3N0X2dob3N0X3BhZF9uZXdfZnJvbV90ZW1wbGF0ZSAobmFtZSwgZGVj
c2luaywgdGVtcGwpOworLSAgZ3N0X29iamVjdF91bnJlZiAoZGVjc2luayk7CistICBnc3RfcGFk
X3NldF9hY3RpdmUgKHNlc3Npb24tPnJlY3ZfcnRjcF9zaW5rX2dob3N0LCBUUlVFKTsKKy0gIGdz
dF9lbGVtZW50X2FkZF9wYWQgKEdTVF9FTEVNRU5UX0NBU1QgKHJ0cGJpbiksCistICAgICAgc2Vz
c2lvbi0+cmVjdl9ydGNwX3NpbmtfZ2hvc3QpOworKyAgZnVubmVsX3NyYyA9IGdzdF9lbGVtZW50
X2dldF9zdGF0aWNfcGFkIChzZXNzaW9uLT5ydGNwX2Z1bm5lbCwgInNyYyIpOworKyAgZ3N0X3Bh
ZF9saW5rIChmdW5uZWxfc3JjLCBzZXNzaW9uLT5yZWN2X3J0Y3Bfc2luayk7CisrICBnc3Rfb2Jq
ZWN0X3VucmVmIChmdW5uZWxfc3JjKTsKKyAKKy0gIHJldHVybiBzZXNzaW9uLT5yZWN2X3J0Y3Bf
c2lua19naG9zdDsKKysgIHJldHVybiBkZWNzaW5rOworIAorLSAgLyogRVJST1JTICovCistbm9f
bmFtZToKKy0gIHsKKy0gICAgZ193YXJuaW5nICgicnRwYmluOiBpbnZhbGlkIG5hbWUgZ2l2ZW4i
KTsKKy0gICAgcmV0dXJuIE5VTEw7CistICB9CistY3JlYXRlX2Vycm9yOgorLSAgeworLSAgICAv
KiBjcmVhdGVfc2Vzc2lvbiBhbHJlYWR5IHdhcm5lZCAqLworLSAgICByZXR1cm4gTlVMTDsKKy0g
IH0KKyBwYWRfZmFpbGVkOgorICAgeworICAgICBnX3dhcm5pbmcgKCJydHBiaW46IGZhaWxlZCB0
byBnZXQgc2Vzc2lvbiBydGNwX3NpbmsgcGFkIik7CitAQCAtMzU4MywyNSArMzc3MCw4MiBAQCBw
YWRfZmFpbGVkOgorICAgfQorIGRlY19zaW5rX2ZhaWxlZDoKKyAgIHsKKy0gICAgZ193YXJuaW5n
ICgicnRwYmluOiBmYWlsZWQgdG8gZ2V0IGRlY29kZXIgc2luayBwYWQgZm9yIHNlc3Npb24gJWQi
LCBzZXNzaWQpOworKyAgICBnX3dhcm5pbmcgKCJydHBiaW46IGZhaWxlZCB0byBnZXQgZGVjb2Rl
ciBzaW5rIHBhZCBmb3Igc2Vzc2lvbiAldSIsIHNlc3NpZCk7CisgICAgIHJldHVybiBOVUxMOwor
ICAgfQorIGRlY19zcmNfZmFpbGVkOgorICAgeworLSAgICBnX3dhcm5pbmcgKCJydHBiaW46IGZh
aWxlZCB0byBnZXQgZGVjb2RlciBzcmMgcGFkIGZvciBzZXNzaW9uICVkIiwgc2Vzc2lkKTsKKy0g
ICAgZ3N0X29iamVjdF91bnJlZiAoZGVjc2luayk7CistICAgIHJldHVybiBOVUxMOworKyAgICBn
X3dhcm5pbmcgKCJydHBiaW46IGZhaWxlZCB0byBnZXQgZGVjb2RlciBzcmMgcGFkIGZvciBzZXNz
aW9uICV1Iiwgc2Vzc2lkKTsKKysgICAgZ290byBjbGVhbnVwOworICAgfQorIGRlY19saW5rX2Zh
aWxlZDoKKyAgIHsKKy0gICAgZ193YXJuaW5nICgicnRwYmluOiBmYWlsZWQgdG8gbGluayBydGNw
IGRlY29kZXIgZm9yIHNlc3Npb24gJWQiLCBzZXNzaWQpOworLSAgICBnc3Rfb2JqZWN0X3VucmVm
IChkZWNzaW5rKTsKKy0gICAgcmV0dXJuIE5VTEw7CisrICAgIGdfd2FybmluZyAoInJ0cGJpbjog
ZmFpbGVkIHRvIGxpbmsgcnRjcCBkZWNvZGVyIGZvciBzZXNzaW9uICV1Iiwgc2Vzc2lkKTsKKysg
ICAgZ290byBjbGVhbnVwOworICAgfQorIHNyY19wYWRfZmFpbGVkOgorICAgeworICAgICBnX3dh
cm5pbmcgKCJydHBiaW46IGZhaWxlZCB0byBnZXQgc2Vzc2lvbiBzeW5jX3NyYyBwYWQiKTsKKy0g
ICAgZ3N0X29iamVjdF91bnJlZiAoZGVjc2luayk7CisrICB9CisrCisrY2xlYW51cDoKKysgIGdz
dF9vYmplY3RfdW5yZWYgKGRlY3NpbmspOworKyAgcmV0dXJuIE5VTEw7CisrfQorKworKy8qIENy
ZWF0ZSBhIHBhZCBmb3IgcmVjZWl2aW5nIFJUQ1AgZm9yIHRoZSBzZXNzaW9uIGluIEBuYW1lLiBN
dXN0IGJlIGNhbGxlZCB3aXRoCisrICogUlRQX0JJTl9MT0NLLgorKyAqLworK3N0YXRpYyBHc3RQ
YWQgKgorK2NyZWF0ZV9yZWN2X3J0Y3AgKEdzdFJ0cEJpbiAqIHJ0cGJpbiwgR3N0UGFkVGVtcGxh
dGUgKiB0ZW1wbCwKKysgICAgY29uc3QgZ2NoYXIgKiBuYW1lKQorK3sKKysgIGd1aW50IHNlc3Np
ZDsKKysgIEdzdFJ0cEJpblNlc3Npb24gKnNlc3Npb247CisrICBHc3RQYWQgKmRlY3NpbmsgPSBO
VUxMOworKworKyAgLyogZmlyc3QgZ2V0IHRoZSBzZXNzaW9uIG51bWJlciAqLworKyAgaWYgKG5h
bWUgPT0gTlVMTCB8fCBzc2NhbmYgKG5hbWUsICJyZWN2X3J0Y3Bfc2lua18ldSIsICZzZXNzaWQp
ICE9IDEpCisrICAgIGdvdG8gbm9fbmFtZTsKKysKKysgIEdTVF9ERUJVR19PQkpFQ1QgKHJ0cGJp
biwgImZpbmRpbmcgc2Vzc2lvbiAldSIsIHNlc3NpZCk7CisrCisrICAvKiBnZXQgb3IgY3JlYXRl
IHRoZSBzZXNzaW9uICovCisrICBzZXNzaW9uID0gZmluZF9zZXNzaW9uX2J5X2lkIChydHBiaW4s
IHNlc3NpZCk7CisrICBpZiAoIXNlc3Npb24pIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAocnRw
YmluLCAiY3JlYXRpbmcgc2Vzc2lvbiAldSIsIHNlc3NpZCk7CisrICAgIC8qIGNyZWF0ZSBzZXNz
aW9uIG5vdyAqLworKyAgICBzZXNzaW9uID0gY3JlYXRlX3Nlc3Npb24gKHJ0cGJpbiwgc2Vzc2lk
KTsKKysgICAgaWYgKHNlc3Npb24gPT0gTlVMTCkKKysgICAgICBnb3RvIGNyZWF0ZV9lcnJvcjsK
KysgIH0KKysKKysgIC8qIGNoZWNrIGlmIHBhZCB3YXMgcmVxdWVzdGVkICovCisrICBpZiAoc2Vz
c2lvbi0+cmVjdl9ydGNwX3NpbmtfZ2hvc3QgIT0gTlVMTCkKKysgICAgcmV0dXJuIHNlc3Npb24t
PnJlY3ZfcnRjcF9zaW5rX2dob3N0OworKworKyAgZGVjc2luayA9IGNvbXBsZXRlX3Nlc3Npb25f
cnRjcCAocnRwYmluLCBzZXNzaW9uLCBzZXNzaWQsIFRSVUUpOworKyAgaWYgKCFkZWNzaW5rKQor
KyAgICBnb3RvIGNyZWF0ZV9lcnJvcjsKKysKKysgIHNlc3Npb24tPnJlY3ZfcnRjcF9zaW5rX2do
b3N0ID0KKysgICAgICBnc3RfZ2hvc3RfcGFkX25ld19mcm9tX3RlbXBsYXRlIChuYW1lLCBkZWNz
aW5rLCB0ZW1wbCk7CisrICBnc3Rfb2JqZWN0X3VucmVmIChkZWNzaW5rKTsKKysgIGdzdF9wYWRf
c2V0X2FjdGl2ZSAoc2Vzc2lvbi0+cmVjdl9ydGNwX3NpbmtfZ2hvc3QsIFRSVUUpOworKyAgZ3N0
X2VsZW1lbnRfYWRkX3BhZCAoR1NUX0VMRU1FTlRfQ0FTVCAocnRwYmluKSwKKysgICAgICBzZXNz
aW9uLT5yZWN2X3J0Y3Bfc2lua19naG9zdCk7CisrCisrICByZXR1cm4gc2Vzc2lvbi0+cmVjdl9y
dGNwX3NpbmtfZ2hvc3Q7CisrCisrICAvKiBFUlJPUlMgKi8KKytub19uYW1lOgorKyAgeworKyAg
ICBnX3dhcm5pbmcgKCJydHBiaW46IGludmFsaWQgbmFtZSBnaXZlbiIpOworKyAgICByZXR1cm4g
TlVMTDsKKysgIH0KKytjcmVhdGVfZXJyb3I6CisrICB7CisrICAgIC8qIGNyZWF0ZV9zZXNzaW9u
IGFscmVhZHkgd2FybmVkICovCisgICAgIHJldHVybiBOVUxMOworICAgfQorIH0KK0BAIC0zNjUx
LDcgKzM4OTUsNyBAQCBjb21wbGV0ZV9zZXNzaW9uX3NyYyAoR3N0UnRwQmluICogcnRwYmluLCBH
c3RSdHBCaW5TZXNzaW9uICogc2Vzc2lvbikKKyAgICAgR3N0UGFkTGlua1JldHVybiByZXQ7Cisg
CisgICAgIEdTVF9ERUJVR19PQkpFQ1QgKHJ0cGJpbiwgImxpbmtpbmcgUlRQIGVuY29kZXIiKTsK
Ky0gICAgZW5hbWUgPSBnX3N0cmR1cF9wcmludGYgKCJydHBfc3JjXyVkIiwgc2Vzc2lkKTsKKysg
ICAgZW5hbWUgPSBnX3N0cmR1cF9wcmludGYgKCJydHBfc3JjXyV1Iiwgc2Vzc2lkKTsKKyAgICAg
ZW5jc3JjID0gZ3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQgKGVuY29kZXIsIGVuYW1lKTsKKyAg
ICAgZ19mcmVlIChlbmFtZSk7CisgCitAQCAtMzY2MCw3ICszOTA0LDcgQEAgY29tcGxldGVfc2Vz
c2lvbl9zcmMgKEdzdFJ0cEJpbiAqIHJ0cGJpbiwgR3N0UnRwQmluU2Vzc2lvbiAqIHNlc3Npb24p
CisgCisgICAgIHNlbmRfcnRwX3NyYyA9IGVuY3NyYzsKKyAKKy0gICAgZW5hbWUgPSBnX3N0cmR1
cF9wcmludGYgKCJydHBfc2lua18lZCIsIHNlc3NpZCk7CisrICAgIGVuYW1lID0gZ19zdHJkdXBf
cHJpbnRmICgicnRwX3NpbmtfJXUiLCBzZXNzaWQpOworICAgICBlbmNzaW5rID0gZ3N0X2VsZW1l
bnRfZ2V0X3N0YXRpY19wYWQgKGVuY29kZXIsIGVuYW1lKTsKKyAgICAgZ19mcmVlIChlbmFtZSk7
CisgICAgIGlmIChlbmNzaW5rID09IE5VTEwpCitAQCAtMzY5NCwyMyArMzkzOCwyMyBAQCBjb21w
bGV0ZV9zZXNzaW9uX3NyYyAoR3N0UnRwQmluICogcnRwYmluLCBHc3RSdHBCaW5TZXNzaW9uICog
c2Vzc2lvbikKKyAgIC8qIEVSUk9SUyAqLworIG5vX3NyY3BhZDoKKyAgIHsKKy0gICAgZ193YXJu
aW5nICgicnRwYmluOiBmYWlsZWQgdG8gZ2V0IHJ0cCBzb3VyY2UgcGFkIGZvciBzZXNzaW9uICVk
Iiwgc2Vzc2lkKTsKKysgICAgZ193YXJuaW5nICgicnRwYmluOiBmYWlsZWQgdG8gZ2V0IHJ0cCBz
b3VyY2UgcGFkIGZvciBzZXNzaW9uICV1Iiwgc2Vzc2lkKTsKKyAgICAgcmV0dXJuIEZBTFNFOwor
ICAgfQorIGVuY19zcmNfZmFpbGVkOgorICAgeworLSAgICBnX3dhcm5pbmcgKCJydHBiaW46IGZh
aWxlZCB0byBnZXQgZW5jb2RlciBzcmMgcGFkIGZvciBzZXNzaW9uICVkIiwgc2Vzc2lkKTsKKysg
ICAgZ193YXJuaW5nICgicnRwYmluOiBmYWlsZWQgdG8gZ2V0IGVuY29kZXIgc3JjIHBhZCBmb3Ig
c2Vzc2lvbiAldSIsIHNlc3NpZCk7CisgICAgIHJldHVybiBGQUxTRTsKKyAgIH0KKyBlbmNfc2lu
a19mYWlsZWQ6CisgICB7CistICAgIGdfd2FybmluZyAoInJ0cGJpbjogZmFpbGVkIHRvIGdldCBl
bmNvZGVyIHNpbmsgcGFkIGZvciBzZXNzaW9uICVkIiwgc2Vzc2lkKTsKKysgICAgZ193YXJuaW5n
ICgicnRwYmluOiBmYWlsZWQgdG8gZ2V0IGVuY29kZXIgc2luayBwYWQgZm9yIHNlc3Npb24gJXUi
LCBzZXNzaWQpOworICAgICBnc3Rfb2JqZWN0X3VucmVmIChzZW5kX3J0cF9zcmMpOworICAgICBy
ZXR1cm4gRkFMU0U7CisgICB9CisgZW5jX2xpbmtfZmFpbGVkOgorICAgeworLSAgICBnX3dhcm5p
bmcgKCJydHBiaW46IGZhaWxlZCB0byBsaW5rIHJ0cCBlbmNvZGVyIGZvciBzZXNzaW9uICVkIiwg
c2Vzc2lkKTsKKysgICAgZ193YXJuaW5nICgicnRwYmluOiBmYWlsZWQgdG8gbGluayBydHAgZW5j
b2RlciBmb3Igc2Vzc2lvbiAldSIsIHNlc3NpZCk7CisgICAgIGdzdF9vYmplY3RfdW5yZWYgKHNl
bmRfcnRwX3NyYyk7CisgICAgIHJldHVybiBGQUxTRTsKKyAgIH0KK0BAIC0zNzcyLDIyICs0MDE2
LDIyIEBAIGNyZWF0ZV9lcnJvcjoKKyAgIH0KKyBleGlzdGluZ19zZXNzaW9uOgorICAgeworLSAg
ICBnX3dhcm5pbmcgKCJydHBiaW46IHNlc3Npb24gJWQgaXMgYWxyZWFkeSBhIHNlbmRlciIsIHNl
c3NpZCk7CisrICAgIGdfd2FybmluZyAoInJ0cGJpbjogc2Vzc2lvbiAldSBpcyBhbHJlYWR5IGEg
c2VuZGVyIiwgc2Vzc2lkKTsKKyAgICAgcmV0dXJuIEZBTFNFOworICAgfQorIHBhZF9mYWlsZWQ6
CisgICB7CistICAgIGdfd2FybmluZyAoInJ0cGJpbjogZmFpbGVkIHRvIGdldCBzZXNzaW9uIHBh
ZCBmb3Igc2Vzc2lvbiAlZCIsIHNlc3NpZCk7CisrICAgIGdfd2FybmluZyAoInJ0cGJpbjogZmFp
bGVkIHRvIGdldCBzZXNzaW9uIHBhZCBmb3Igc2Vzc2lvbiAldSIsIHNlc3NpZCk7CisgICAgIHJl
dHVybiBGQUxTRTsKKyAgIH0KKyBhdXhfbGlua19mYWlsZWQ6CisgICB7CistICAgIGdfd2Fybmlu
ZyAoInJ0cGJpbjogZmFpbGVkIHRvIGxpbmsgQVVYIGZvciBzZXNzaW9uICVkIiwgc2Vzc2lkKTsK
KysgICAgZ193YXJuaW5nICgicnRwYmluOiBmYWlsZWQgdG8gbGluayBBVVggZm9yIHNlc3Npb24g
JXUiLCBzZXNzaWQpOworICAgICByZXR1cm4gRkFMU0U7CisgICB9Cisgc2Vzc2lvbl9zcmNfZmFp
bGVkOgorICAgeworLSAgICBnX3dhcm5pbmcgKCJydHBiaW46IGZhaWxlZCB0byBjb21wbGV0ZSBB
VVggZm9yIHNlc3Npb24gJWQiLCBzZXNzaWQpOworKyAgICBnX3dhcm5pbmcgKCJydHBiaW46IGZh
aWxlZCB0byBjb21wbGV0ZSBBVVggZm9yIHNlc3Npb24gJXUiLCBzZXNzaWQpOworICAgICByZXR1
cm4gRkFMU0U7CisgICB9CisgfQorQEAgLTM4NDcsNyArNDA5MSw3IEBAIGNyZWF0ZV9zZW5kX3J0
cCAoR3N0UnRwQmluICogcnRwYmluLCBHc3RQYWRUZW1wbGF0ZSAqIHRlbXBsLCBjb25zdCBnY2hh
ciAqIG5hbWUpCisgICAgIGlmICghc2V0dXBfYXV4X3NlbmRlciAocnRwYmluLCBzZXNzaW9uLCBh
dXgpKQorICAgICAgIGdvdG8gYXV4X3Nlc3Npb25fZmFpbGVkOworIAorLSAgICBwbmFtZSA9IGdf
c3RyZHVwX3ByaW50ZiAoInNpbmtfJWQiLCBzZXNzaWQpOworKyAgICBwbmFtZSA9IGdfc3RyZHVw
X3ByaW50ZiAoInNpbmtfJXUiLCBzZXNzaWQpOworICAgICBzZW5kX3J0cF9zaW5rID0gZ3N0X2Vs
ZW1lbnRfZ2V0X3N0YXRpY19wYWQgKGF1eCwgcG5hbWUpOworICAgICBnX2ZyZWUgKHBuYW1lKTsK
KyAKK0BAIC0zODg3LDI3ICs0MTMxLDI3IEBAIGNyZWF0ZV9lcnJvcjoKKyAgIH0KKyBleGlzdGlu
Z19zZXNzaW9uOgorICAgeworLSAgICBnX3dhcm5pbmcgKCJydHBiaW46IHNlc3Npb24gJWQgaXMg
YWxyZWFkeSBpbiB1c2UiLCBzZXNzaWQpOworKyAgICBnX3dhcm5pbmcgKCJydHBiaW46IHNlc3Np
b24gJXUgaXMgYWxyZWFkeSBpbiB1c2UiLCBzZXNzaWQpOworICAgICByZXR1cm4gTlVMTDsKKyAg
IH0KKyBhdXhfc2Vzc2lvbl9mYWlsZWQ6CisgICB7CistICAgIGdfd2FybmluZyAoInJ0cGJpbjog
ZmFpbGVkIHRvIGdldCBBVVggc2luayBwYWQgZm9yIHNlc3Npb24gJWQiLCBzZXNzaWQpOworKyAg
ICBnX3dhcm5pbmcgKCJydHBiaW46IGZhaWxlZCB0byBnZXQgQVVYIHNpbmsgcGFkIGZvciBzZXNz
aW9uICV1Iiwgc2Vzc2lkKTsKKyAgICAgcmV0dXJuIE5VTEw7CisgICB9CisgYXV4X3NpbmtfZmFp
bGVkOgorICAgeworLSAgICBnX3dhcm5pbmcgKCJydHBiaW46IGZhaWxlZCB0byBnZXQgQVVYIHNp
bmsgcGFkIGZvciBzZXNzaW9uICVkIiwgc2Vzc2lkKTsKKysgICAgZ193YXJuaW5nICgicnRwYmlu
OiBmYWlsZWQgdG8gZ2V0IEFVWCBzaW5rIHBhZCBmb3Igc2Vzc2lvbiAldSIsIHNlc3NpZCk7Cisg
ICAgIHJldHVybiBOVUxMOworICAgfQorIHBhZF9mYWlsZWQ6CisgICB7CistICAgIGdfd2Fybmlu
ZyAoInJ0cGJpbjogZmFpbGVkIHRvIGdldCBzZXNzaW9uIHBhZCBmb3Igc2Vzc2lvbiAlZCIsIHNl
c3NpZCk7CisrICAgIGdfd2FybmluZyAoInJ0cGJpbjogZmFpbGVkIHRvIGdldCBzZXNzaW9uIHBh
ZCBmb3Igc2Vzc2lvbiAldSIsIHNlc3NpZCk7CisgICAgIHJldHVybiBOVUxMOworICAgfQorIHNl
c3Npb25fc3JjX2ZhaWxlZDoKKyAgIHsKKy0gICAgZ193YXJuaW5nICgicnRwYmluOiBmYWlsZWQg
dG8gc2V0dXAgc291cmNlIHBhZHMgZm9yIHNlc3Npb24gJWQiLCBzZXNzaWQpOworKyAgICBnX3dh
cm5pbmcgKCJydHBiaW46IGZhaWxlZCB0byBzZXR1cCBzb3VyY2UgcGFkcyBmb3Igc2Vzc2lvbiAl
dSIsIHNlc3NpZCk7CisgICAgIHJldHVybiBOVUxMOworICAgfQorIH0KK0BAIC0zOTc4LDEzICs0
MjIyLDEzIEBAIGNyZWF0ZV9ydGNwIChHc3RSdHBCaW4gKiBydHBiaW4sIEdzdFBhZFRlbXBsYXRl
ICogdGVtcGwsIGNvbnN0IGdjaGFyICogbmFtZSkKKyAKKyAgICAgR1NUX0RFQlVHX09CSkVDVCAo
cnRwYmluLCAibGlua2luZyBSVENQIGVuY29kZXIiKTsKKyAKKy0gICAgZW5hbWUgPSBnX3N0cmR1
cF9wcmludGYgKCJydGNwX3NyY18lZCIsIHNlc3NpZCk7CisrICAgIGVuYW1lID0gZ19zdHJkdXBf
cHJpbnRmICgicnRjcF9zcmNfJXUiLCBzZXNzaWQpOworICAgICBlbmNzcmMgPSBnc3RfZWxlbWVu
dF9nZXRfc3RhdGljX3BhZCAoZW5jb2RlciwgZW5hbWUpOworICAgICBnX2ZyZWUgKGVuYW1lKTsK
KyAgICAgaWYgKGVuY3NyYyA9PSBOVUxMKQorICAgICAgIGdvdG8gZW5jX3NyY19mYWlsZWQ7Cisg
CistICAgIGVuYW1lID0gZ19zdHJkdXBfcHJpbnRmICgicnRjcF9zaW5rXyVkIiwgc2Vzc2lkKTsK
KysgICAgZW5hbWUgPSBnX3N0cmR1cF9wcmludGYgKCJydGNwX3NpbmtfJXUiLCBzZXNzaWQpOwor
ICAgICBlbmNzaW5rID0gZ3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQgKGVuY29kZXIsIGVuYW1l
KTsKKyAgICAgZ19mcmVlIChlbmFtZSk7CisgICAgIGlmIChlbmNzaW5rID09IE5VTEwpCitAQCAt
NDAyMSwyMyArNDI2NSwyMyBAQCBub19zZXNzaW9uOgorICAgfQorIHBhZF9mYWlsZWQ6CisgICB7
CistICAgIGdfd2FybmluZyAoInJ0cGJpbjogZmFpbGVkIHRvIGdldCBydGNwIHBhZCBmb3Igc2Vz
c2lvbiAlZCIsIHNlc3NpZCk7CisrICAgIGdfd2FybmluZyAoInJ0cGJpbjogZmFpbGVkIHRvIGdl
dCBydGNwIHBhZCBmb3Igc2Vzc2lvbiAldSIsIHNlc3NpZCk7CisgICAgIHJldHVybiBOVUxMOwor
ICAgfQorIGVuY19zcmNfZmFpbGVkOgorICAgeworLSAgICBnX3dhcm5pbmcgKCJydHBiaW46IGZh
aWxlZCB0byBnZXQgZW5jb2RlciBzcmMgcGFkIGZvciBzZXNzaW9uICVkIiwgc2Vzc2lkKTsKKysg
ICAgZ193YXJuaW5nICgicnRwYmluOiBmYWlsZWQgdG8gZ2V0IGVuY29kZXIgc3JjIHBhZCBmb3Ig
c2Vzc2lvbiAldSIsIHNlc3NpZCk7CisgICAgIHJldHVybiBOVUxMOworICAgfQorIGVuY19zaW5r
X2ZhaWxlZDoKKyAgIHsKKy0gICAgZ193YXJuaW5nICgicnRwYmluOiBmYWlsZWQgdG8gZ2V0IGVu
Y29kZXIgc2luayBwYWQgZm9yIHNlc3Npb24gJWQiLCBzZXNzaWQpOworKyAgICBnX3dhcm5pbmcg
KCJydHBiaW46IGZhaWxlZCB0byBnZXQgZW5jb2RlciBzaW5rIHBhZCBmb3Igc2Vzc2lvbiAldSIs
IHNlc3NpZCk7CisgICAgIGdzdF9vYmplY3RfdW5yZWYgKGVuY3NyYyk7CisgICAgIHJldHVybiBO
VUxMOworICAgfQorIGVuY19saW5rX2ZhaWxlZDoKKyAgIHsKKy0gICAgZ193YXJuaW5nICgicnRw
YmluOiBmYWlsZWQgdG8gbGluayBydGNwIGVuY29kZXIgZm9yIHNlc3Npb24gJWQiLCBzZXNzaWQp
OworKyAgICBnX3dhcm5pbmcgKCJydHBiaW46IGZhaWxlZCB0byBsaW5rIHJ0Y3AgZW5jb2RlciBm
b3Igc2Vzc2lvbiAldSIsIHNlc3NpZCk7CisgICAgIGdzdF9vYmplY3RfdW5yZWYgKGVuY3NyYyk7
CisgICAgIHJldHVybiBOVUxMOworICAgfQorZGlmZiAtLWdpdCBhL2dzdC9ydHBtYW5hZ2VyL2dz
dHJ0cGJpbi5oIGIvZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmgKK2luZGV4IGZiMTNhNDcuLjM4
NGI3NmQgMTAwNjQ0CistLS0gYS9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaAorKysrIGIvZ3N0
L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmgKK0BAIC0xMjcsNiArMTI3LDggQEAgc3RydWN0IF9Hc3RS
dHBCaW5DbGFzcyB7CisgCisgICB2b2lkICAgICAoKm9uX25ld19zZW5kZXJfc3NyYykgICAgICAo
R3N0UnRwQmluICpydHBiaW4sIGd1aW50IHNlc3Npb24sIGd1aW50MzIgc3NyYyk7CisgICB2b2lk
ICAgICAoKm9uX3NlbmRlcl9zc3JjX2FjdGl2ZSkgICAoR3N0UnRwQmluICpydHBiaW4sIGd1aW50
IHNlc3Npb24sIGd1aW50MzIgc3NyYyk7CisrCisrICBndWludCAgICAoKm9uX2J1bmRsZWRfc3Ny
YykgICAgICAgICAoR3N0UnRwQmluICpydHBiaW4sIGd1aW50IHNzcmMpOworIH07CisgCisgR1R5
cGUgZ3N0X3J0cF9iaW5fZ2V0X3R5cGUgKHZvaWQpOwotLSAKMi4xMC4y
</data>
<flag name="review"
          id="317587"
          type_id="1"
          status="+"
          setter="alex"
    />
          </attachment>
      

    </bug>

</bugzilla>