<?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>101131</bug_id>
          
          <creation_ts>2012-11-02 17:08:02 -0700</creation_ts>
          <short_desc>Get rid of USE(CFURLSTORAGESESSIONS)</short_desc>
          <delta_ts>2012-11-03 17:35:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>jberlin</cc>
    
    <cc>mifenton</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>757774</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-02 17:08:02 -0700</bug_when>
    <thetext>It&apos;s always enabled on all CFNetwork-based platforms, and I&apos;m not aware of any plans to disable it. Please stop me if this still needs to be optional.

These ifdefs make understanding networking code substantially more difficult.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757804</commentid>
    <comment_count>1</comment_count>
      <attachid>172186</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-02 17:50:00 -0700</bug_when>
    <thetext>Created attachment 172186
proposed patch

In Mac code, it can be just removed. Elsewhere, it can be replaced with different conditions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758031</commentid>
    <comment_count>2</comment_count>
      <attachid>172186</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-03 17:35:54 -0700</bug_when>
    <thetext>Comment on attachment 172186
proposed patch

Clearing flags on attachment: 172186

Committed r133410: &lt;http://trac.webkit.org/changeset/133410&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758032</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-03 17:35:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172186</attachid>
            <date>2012-11-02 17:50:00 -0700</date>
            <delta_ts>2012-11-03 17:35:53 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>RemoveUSE.txt</filename>
            <type>text/plain</type>
            <size>39238</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMzMzNzcpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDEyLTExLTAyICBBbGV4ZXkgUHJvc2t1cnlha292
ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEdldCByaWQgb2YgVVNFKENGVVJMU1RPUkFHRVNF
U1NJT05TKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAxMTMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB3dGYvUGxhdGZvcm0uaDoKKwogMjAxMi0xMS0wMiAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNs
b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTk1JIGluc3RydW1lbnQg
Tm9kZVJhcmVEYXRhOjpNYXAuIEl0IHVzZXMgfjI1MGsgb24gbnl0aW1lcy5jb20KSW5kZXg6IFNv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUGxh
dGZvcm0uaAkocmV2aXNpb24gMTMzMzY1KQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAko
d29ya2luZyBjb3B5KQpAQCAtNjIyLDcgKzYyMiw2IEBACiAKICNpZiBVU0UoQ0ZORVRXT1JLKSB8
fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykKICNkZWZpbmUgV1RGX1VTRV9DRlVSTENB
Q0hFIDEKLSNkZWZpbmUgV1RGX1VTRV9DRlVSTFNUT1JBR0VTRVNTSU9OUyAxCiAjZW5kaWYKIAog
I2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYm
ICFQTEFURk9STShRVCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMzM3NykKKysrIFNvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ5IEBACisyMDEy
LTExLTAyICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEdl
dCByaWQgb2YgVVNFKENGVVJMU1RPUkFHRVNFU1NJT05TKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMTMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhbHdheXMgZW5hYmxlZCBvbiBDRk5l
dHdvcmsgYmFzZWQgcGxhdGZvcm1zLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAg
ICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL0Nvb2tpZUph
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNvb2tpZXMpOgorICAgICAgICAoV2ViQ29yZTo6Y29v
a2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6c2V0Q29va2ll
cyk6CisgICAgICAgIChXZWJDb3JlOjpjb29raWVzRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpnZXRSYXdDb29raWVzKToKKyAgICAgICAgKFdlYkNvcmU6OmRlbGV0ZUNvb2tpZSk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAgICAgICAoUmVzb3Vy
Y2VIYW5kbGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvQ29va2llU3RvcmFnZUNG
TmV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Y3VycmVudENG
SFRUUENvb2tpZVN0b3JhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvQ29va2ll
U3RvcmFnZUNGTmV0Lmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhh
bmRsZUNGTmV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OndpbGxTZW5kUmVxdWVzdCk6CisgICAg
ICAgIChXZWJDb3JlOjptYWtlRmluYWxSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlSGFuZGxlOjp3aWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaDoKKyAgICAgICAgKFJlc291
cmNlUmVxdWVzdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVl
c3RDRk5ldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRl
UGxhdGZvcm1SZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL0Nvb2tpZVN0b3JhZ2VNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpzZXRD
b29raWVTdG9yYWdlUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpzaG91
bGRSZWxheFRoaXJkUGFydHlDb29raWVQb2xpY3kpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OmNyZWF0ZU5TVVJMQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUhhbmRsZTo6d2lsbFNlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpzZXRTdG9yYWdl
U2Vzc2lvbik6CisKIDIwMTItMTEtMDIgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5j
b20+CiAKICAgICAgICAgQ3Jhc2ggY2FsbGluZyBpczhCaXQoKSBpbiB2aXNpdGVkTGlua0hhc2go
KQpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDEzMzM2NSkKKysrIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMTkzLDE3ICsyMTkzLDEx
IEBAIF9fWk43V2ViQ29yZTEyU2NoZWR1bGVQYWlyQzFFUDlOU1J1bkxvb3AKIF9fWk43V2ViQ29y
ZTE0UmVzb3VyY2VIYW5kbGUxMnJlbGVhc2VQcm94eUV2CiAjZW5kaWYKIAotI2lmIFVTRShDRlVS
TFNUT1JBR0VTRVNTSU9OUykKIF9fWk43V2ViQ29yZTE0UmVzb3VyY2VIYW5kbGU0NnNldFByaXZh
dGVCcm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRpZmllckJhc2VFUktOM1dURjZTdHJpbmdFCiBf
X1pON1dlYkNvcmUxNFJlc291cmNlSGFuZGxlMjFjdXJyZW50U3RvcmFnZVNlc3Npb25FdgogX19a
TjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTI5cHJpdmF0ZUJyb3dzaW5nU3RvcmFnZVNlc3Npb25F
dgogX19aTjdXZWJDb3JlMjZjdXJyZW50Q0ZIVFRQQ29va2llU3RvcmFnZUV2Ci0jaWYgIVBMQVRG
T1JNKElPUykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA9PSAxMDYwCi1fX1pO
N1dlYkNvcmUxNFJlc291cmNlSGFuZGxlMjRzZXREZWZhdWx0U3RvcmFnZVNlc3Npb25FUDIxX19D
RlVSTFN0b3JhZ2VTZXNzaW9uCi0jZWxzZQogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTI0
c2V0RGVmYXVsdFN0b3JhZ2VTZXNzaW9uRVBLMjFfX0NGVVJMU3RvcmFnZVNlc3Npb24KLSNlbmRp
ZgotI2VuZGlmCiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKIF9fWk43V2ViQ29yZTExQ29u
dGV4dE1lbnUyMnNldFBsYXRmb3JtRGVzY3JpcHRpb25FUDE0TlNNdXRhYmxlQXJyYXkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCShyZXZpc2lvbiAxMzMzNjUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTkwLDcgKzU5MCw3IEBA
IHZvaWQgU2V0dGluZ3M6OnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQKICAgICAvLyA0LiBUaGUg
V2ViUGFnZSBzZXR0aW5ncyBnZXQgYXBwbGllZCB0byB0aGUgbmV3IFBhZ2UgYW5kIHNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpCiAgICAgLy8gICAgaXMgY2FsbGVkLCBidXQgYW4gaWYg
KG1fcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCA9PSBwcml2YXRlQnJvd3NpbmdFbmFibGVkKSBlYXJs
eSByZXR1cm4KICAgICAvLyAgICBwcmV2ZW50cyB0aGUgZ2xvYmFsIHZhbHVlcyBmcm9tIGdldHRp
bmcgY2hhbmdlZCBmcm9tIHRydWUgdG8gZmFsc2UuCi0jaWYgVVNFKENGVVJMU1RPUkFHRVNFU1NJ
T05TKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKICAgICBSZXNvdXJjZUhh
bmRsZTo6c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChwcml2YXRlQnJvd3NpbmdFbmFibGVkKTsK
ICNlbmRpZgogICAgIHNldENvb2tpZVN0b3JhZ2VQcml2YXRlQnJvd3NpbmdFbmFibGVkKHByaXZh
dGVCcm93c2luZ0VuYWJsZWQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Nv
b2tpZUphci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ29v
a2llSmFyLm1tCShyZXZpc2lvbiAxMzMzNjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvQ29va2llSmFyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04MiwxMSArODIsOSBAQCBTdHJpbmcg
Y29va2llcyhjb25zdCBEb2N1bWVudCosIGNvbnN0IEtVCiAKICAgICBOU1VSTCAqY29va2llVVJM
ID0gdXJsOwogICAgIE5TQXJyYXkgKmNvb2tpZXM7Ci0jaWYgVVNFKENGVVJMU1RPUkFHRVNFU1NJ
T05TKQogICAgIGlmIChSZXRhaW5QdHI8Q0ZIVFRQQ29va2llU3RvcmFnZVJlZj4gY2ZDb29raWVT
dG9yYWdlID0gY3VycmVudENGSFRUUENvb2tpZVN0b3JhZ2UoKSkKICAgICAgICAgY29va2llcyA9
IHdrSFRUUENvb2tpZXNGb3JVUkwoY2ZDb29raWVTdG9yYWdlLmdldCgpLCBjb29raWVVUkwpOwog
ICAgIGVsc2UKLSNlbmRpZgogICAgICAgICBjb29raWVzID0gW1tOU0hUVFBDb29raWVTdG9yYWdl
IHNoYXJlZEhUVFBDb29raWVTdG9yYWdlXSBjb29raWVzRm9yVVJMOmNvb2tpZVVSTF07CiAKICAg
ICByZXR1cm4gW1tOU0hUVFBDb29raWUgcmVxdWVzdEhlYWRlckZpZWxkc1dpdGhDb29raWVzOmZp
bHRlckNvb2tpZXMoY29va2llcykuZ2V0KCldIG9iamVjdEZvcktleTpAIkNvb2tpZSJdOwpAQCAt
MTAxLDExICs5OSw5IEBAIFN0cmluZyBjb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1ZShjb24K
IAogICAgIE5TVVJMICpjb29raWVVUkwgPSB1cmw7CiAgICAgTlNBcnJheSAqY29va2llczsKLSNp
ZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMpCiAgICAgaWYgKFJldGFpblB0cjxDRkhUVFBDb29r
aWVTdG9yYWdlUmVmPiBjZkNvb2tpZVN0b3JhZ2UgPSBjdXJyZW50Q0ZIVFRQQ29va2llU3RvcmFn
ZSgpKQogICAgICAgICBjb29raWVzID0gd2tIVFRQQ29va2llc0ZvclVSTChjZkNvb2tpZVN0b3Jh
Z2UuZ2V0KCksIGNvb2tpZVVSTCk7CiAgICAgZWxzZQotI2VuZGlmCiAgICAgICAgIGNvb2tpZXMg
PSBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2VdIGNvb2tpZXNG
b3JVUkw6Y29va2llVVJMXTsKIAogICAgIHJldHVybiBbW05TSFRUUENvb2tpZSByZXF1ZXN0SGVh
ZGVyRmllbGRzV2l0aENvb2tpZXM6Y29va2llc10gb2JqZWN0Rm9yS2V5OkAiQ29va2llIl07CkBA
IC0xMzAsMTEgKzEyNiw5IEBAIHZvaWQgc2V0Q29va2llcyhEb2N1bWVudCogZG9jdW1lbnQsIGNv
bnMKICAgICBOU1VSTCAqY29va2llVVJMID0gdXJsOyAgICAKICAgICBSZXRhaW5QdHI8TlNBcnJh
eT4gZmlsdGVyZWRDb29raWVzID0gZmlsdGVyQ29va2llcyhbTlNIVFRQQ29va2llIGNvb2tpZXNX
aXRoUmVzcG9uc2VIZWFkZXJGaWVsZHM6W05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVj
dDpjb29raWVTdHJpbmcgZm9yS2V5OkAiU2V0LUNvb2tpZSJdIGZvclVSTDpjb29raWVVUkxdKTsK
IAotI2lmIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykKICAgICBpZiAoUmV0YWluUHRyPENGSFRU
UENvb2tpZVN0b3JhZ2VSZWY+IGNmQ29va2llU3RvcmFnZSA9IGN1cnJlbnRDRkhUVFBDb29raWVT
dG9yYWdlKCkpCiAgICAgICAgIHdrU2V0SFRUUENvb2tpZXNGb3JVUkwoY2ZDb29raWVTdG9yYWdl
LmdldCgpLCBmaWx0ZXJlZENvb2tpZXMuZ2V0KCksIGNvb2tpZVVSTCwgZG9jdW1lbnQtPmZpcnN0
UGFydHlGb3JDb29raWVzKCkpOwogICAgIGVsc2UKLSNlbmRpZgogICAgICAgICBbW05TSFRUUENv
b2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2VdIHNldENvb2tpZXM6ZmlsdGVyZWRD
b29raWVzLmdldCgpIGZvclVSTDpjb29raWVVUkwgbWFpbkRvY3VtZW50VVJMOmRvY3VtZW50LT5m
aXJzdFBhcnR5Rm9yQ29va2llcygpXTsKIAogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7
CkBAIC0xNDUsMTEgKzEzOSw5IEBAIGJvb2wgY29va2llc0VuYWJsZWQoY29uc3QgRG9jdW1lbnQq
KQogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIAogICAgIE5TSFRUUENvb2tpZUFj
Y2VwdFBvbGljeSBjb29raWVBY2NlcHRQb2xpY3k7Ci0jaWYgVVNFKENGVVJMU1RPUkFHRVNFU1NJ
T05TKQogICAgIGlmIChSZXRhaW5QdHI8Q0ZIVFRQQ29va2llU3RvcmFnZVJlZj4gY2ZDb29raWVT
dG9yYWdlID0gY3VycmVudENGSFRUUENvb2tpZVN0b3JhZ2UoKSkKICAgICAgICAgY29va2llQWNj
ZXB0UG9saWN5ID0gc3RhdGljX2Nhc3Q8TlNIVFRQQ29va2llQWNjZXB0UG9saWN5Pih3a0dldEhU
VFBDb29raWVBY2NlcHRQb2xpY3koY2ZDb29raWVTdG9yYWdlLmdldCgpKSk7CiAgICAgZWxzZQot
I2VuZGlmCiAgICAgICAgIGNvb2tpZUFjY2VwdFBvbGljeSA9IFtbTlNIVFRQQ29va2llU3RvcmFn
ZSBzaGFyZWRIVFRQQ29va2llU3RvcmFnZV0gY29va2llQWNjZXB0UG9saWN5XTsKIAogICAgIHJl
dHVybiBjb29raWVBY2NlcHRQb2xpY3kgPT0gTlNIVFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlz
IHx8IGNvb2tpZUFjY2VwdFBvbGljeSA9PSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJv
bU1haW5Eb2N1bWVudERvbWFpbjsKQEAgLTE2NSwxMSArMTU3LDkgQEAgYm9vbCBnZXRSYXdDb29r
aWVzKGNvbnN0IERvY3VtZW50KiwgY29ucwogCiAgICAgTlNVUkwgKmNvb2tpZVVSTCA9IHVybDsK
ICAgICBOU0FycmF5ICpjb29raWVzOwotI2lmIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykKICAg
ICBpZiAoUmV0YWluUHRyPENGSFRUUENvb2tpZVN0b3JhZ2VSZWY+IGNmQ29va2llU3RvcmFnZSA9
IGN1cnJlbnRDRkhUVFBDb29raWVTdG9yYWdlKCkpCiAgICAgICAgIGNvb2tpZXMgPSB3a0hUVFBD
b29raWVzRm9yVVJMKGNmQ29va2llU3RvcmFnZS5nZXQoKSwgY29va2llVVJMKTsKICAgICBlbHNl
Ci0jZW5kaWYKICAgICAgICAgY29va2llcyA9IFtbTlNIVFRQQ29va2llU3RvcmFnZSBzaGFyZWRI
VFRQQ29va2llU3RvcmFnZV0gY29va2llc0ZvclVSTDpjb29raWVVUkxdOwogCiAgICAgTlNVSW50
ZWdlciBjb3VudCA9IFtjb29raWVzIGNvdW50XTsKQEAgLTE5OCwxMiArMTg4LDEwIEBAIHZvaWQg
ZGVsZXRlQ29va2llKGNvbnN0IERvY3VtZW50KiwgY29uc3QKICAgICBOU1VSTCAqY29va2llVVJM
ID0gdXJsOwogICAgIE5TSFRUUENvb2tpZVN0b3JhZ2UgKmNvb2tpZVN0b3JhZ2UgPSBbTlNIVFRQ
Q29va2llU3RvcmFnZSBzaGFyZWRIVFRQQ29va2llU3RvcmFnZV07CiAgICAgTlNBcnJheSAqY29v
a2llczsKLSNpZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMpCiAgICAgUmV0YWluUHRyPENGSFRU
UENvb2tpZVN0b3JhZ2VSZWY+IGNmQ29va2llU3RvcmFnZSA9IGN1cnJlbnRDRkhUVFBDb29raWVT
dG9yYWdlKCk7CiAgICAgaWYgKGNmQ29va2llU3RvcmFnZSkKICAgICAgICAgY29va2llcyA9IHdr
SFRUUENvb2tpZXNGb3JVUkwoY2ZDb29raWVTdG9yYWdlLmdldCgpLCBjb29raWVVUkwpOwogICAg
IGVsc2UKLSNlbmRpZgogICAgICAgICBjb29raWVzID0gW2Nvb2tpZVN0b3JhZ2UgY29va2llc0Zv
clVSTDpjb29raWVVUkxdOwogCiAgICAgTlNTdHJpbmcgKmNvb2tpZU5hbWVTdHJpbmcgPSAoTlNT
dHJpbmcgKikgY29va2llTmFtZTsKQEAgLTIxMiwxMSArMjAwLDkgQEAgdm9pZCBkZWxldGVDb29r
aWUoY29uc3QgRG9jdW1lbnQqLCBjb25zdAogICAgIGZvciAoTlNVSW50ZWdlciBpID0gMDsgaSA8
IGNvdW50OyArK2kpIHsKICAgICAgICAgTlNIVFRQQ29va2llICpjb29raWUgPSAoTlNIVFRQQ29v
a2llICopW2Nvb2tpZXMgb2JqZWN0QXRJbmRleDppXTsKICAgICAgICAgaWYgKFtbY29va2llIG5h
bWVdIGlzRXF1YWxUb1N0cmluZzpjb29raWVOYW1lU3RyaW5nXSkgewotI2lmIFVTRShDRlVSTFNU
T1JBR0VTRVNTSU9OUykKICAgICAgICAgICAgIGlmIChjZkNvb2tpZVN0b3JhZ2UpCiAgICAgICAg
ICAgICAgICAgd2tEZWxldGVIVFRQQ29va2llKGNmQ29va2llU3RvcmFnZS5nZXQoKSwgY29va2ll
KTsKICAgICAgICAgICAgIGVsc2UKLSNlbmRpZgogICAgICAgICAgICAgICAgIFtjb29raWVTdG9y
YWdlIGRlbGV0ZUNvb2tpZTpjb29raWVdOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmgJKHJldmlzaW9uIDEzMzM2NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNyBAQCB0eXBl
ZGVmIHZvaWQqIExQVk9JRDsKIHR5cGVkZWYgTFBWT0lEIEhJTlRFUk5FVDsKICNlbmRpZgogCi0j
aWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMpCisjaWYgUExBVEZP
Uk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNl
bmRpZgogCkBAIC02OCw5ICs2OCw3IEBAIHR5cGVkZWYgaW50IENGSFRUUENvb2tpZVN0b3JhZ2VB
Y2NlcHRQb2wKIHR5cGVkZWYgc3RydWN0IE9wYXF1ZUNGSFRUUENvb2tpZVN0b3JhZ2UqIENGSFRU
UENvb2tpZVN0b3JhZ2VSZWY7CiAjZW5kaWYKIAotI2lmIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9O
UykgJiYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEIDw9IDEwNjAKLXR5cGVkZWYgc3RydWN0IF9fQ0ZVUkxTdG9yYWdlU2Vz
c2lvbiogQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZjsKLSNlbGlmIFVTRShDRlVSTFNUT1JBR0VTRVNT
SU9OUykKKyNpZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCiB0eXBlZGVmIGNvbnN0
IHN0cnVjdCBfX0NGVVJMU3RvcmFnZVNlc3Npb24qIENGVVJMU3RvcmFnZVNlc3Npb25SZWY7CiAj
ZW5kaWYKIApAQCAtMjAzLDcgKzIwMSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZmlyZUZhaWx1
cmUoVGltZXI8UmVzb3VyY2VIYW5kbGU+Kik7CiAKLSNpZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lP
TlMpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQogICAgIHN0YXRpYyBDRlVS
TFN0b3JhZ2VTZXNzaW9uUmVmIGN1cnJlbnRTdG9yYWdlU2Vzc2lvbigpOwogICAgIHN0YXRpYyB2
b2lkIHNldERlZmF1bHRTdG9yYWdlU2Vzc2lvbihDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmKTsKICAg
ICBzdGF0aWMgQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBkZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsK
QEAgLTIxMSw3ICsyMDksNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBzZXRQcml2YXRl
QnJvd3NpbmdTdG9yYWdlU2Vzc2lvbklkZW50aWZpZXJCYXNlKGNvbnN0IFN0cmluZyYpOwogICAg
IHN0YXRpYyBSZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gY3JlYXRlUHJpdmF0ZUJy
b3dzaW5nU3RvcmFnZVNlc3Npb24oQ0ZTdHJpbmdSZWYgaWRlbnRpZmllcik7Ci0jZW5kaWYgLy8g
VVNFKENGVVJMU1RPUkFHRVNFU1NJT05TKQorI2VuZGlmCiAKICAgICB1c2luZyBSZWZDb3VudGVk
PFJlc291cmNlSGFuZGxlPjo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ8UmVzb3VyY2VIYW5k
bGU+OjpkZXJlZjsKQEAgLTI1Miw3ICsyNTAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRl
Q0ZVUkxDb25uZWN0aW9uKGJvb2wgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UsIGJvb2wgc2hv
dWxkQ29udGVudFNuaWZmKTsKICNlbmRpZgogCi0jaWYgVVNFKENGVVJMU1RPUkFHRVNFU1NJT05T
KQorI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKICAgICBzdGF0aWMgU3RyaW5n
IHByaXZhdGVCcm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRpZmllckRlZmF1bHRCYXNlKCk7CiAg
ICAgc3RhdGljIENGVVJMU3RvcmFnZVNlc3Npb25SZWYgcHJpdmF0ZUJyb3dzaW5nU3RvcmFnZVNl
c3Npb24oKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
Zi9Db29raWVTdG9yYWdlQ0ZOZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvQ29va2llU3RvcmFnZUNGTmV0LmNwcAkocmV2aXNpb24gMTMzMzY1
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Db29raWVTdG9yYWdlQ0ZO
ZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCw2IEBACiAKICNpbmNsdWRlICJDb29r
aWVTdG9yYWdlQ0ZOZXQuaCIKIAotI2lmIFVTRShDRk5FVFdPUkspIHx8IFVTRShDRlVSTFNUT1JB
R0VTRVNTSU9OUykKLQogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSA8d3Rm
L01haW5UaHJlYWQuaD4KIApAQCAtNDYsOCArNDQsNiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
YXRlZ2llcy5oIgogI2VuZGlmCiAKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNp
ZiBQTEFURk9STShXSU4pCkBAIC02MCw4ICs1Niw2IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0ZIVFRQ
Q29va2llU3RvcmFnZVJlZj4KIAogI2VuZGlmCiAKLSNpZiBVU0UoQ0ZORVRXT1JLKSB8fCBVU0Uo
Q0ZVUkxTVE9SQUdFU0VTU0lPTlMpCi0KIFJldGFpblB0cjxDRkhUVFBDb29raWVTdG9yYWdlUmVm
PiBjdXJyZW50Q0ZIVFRQQ29va2llU3RvcmFnZSgpCiB7CiAjaWYgUExBVEZPUk0oV0lOKQpAQCAt
NjksMTAgKzYzLDggQEAgUmV0YWluUHRyPENGSFRUUENvb2tpZVN0b3JhZ2VSZWY+IGN1cnJlbgog
ICAgICAgICByZXR1cm4gb3ZlcnJpZGU7CiAjZW5kaWYKIAotI2lmIFVTRShDRk5FVFdPUkspIHx8
IFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykKICAgICBpZiAoQ0ZVUkxTdG9yYWdlU2Vzc2lvblJl
ZiBzZXNzaW9uID0gUmVzb3VyY2VIYW5kbGU6OmN1cnJlbnRTdG9yYWdlU2Vzc2lvbigpKQogICAg
ICAgICByZXR1cm4gUmV0YWluUHRyPENGSFRUUENvb2tpZVN0b3JhZ2VSZWY+KEFkb3B0Q0YsIHdr
Q29weUhUVFBDb29raWVTdG9yYWdlKHNlc3Npb24pKTsKLSNlbmRpZgogCiAjaWYgVVNFKENGTkVU
V09SSykKICAgICByZXR1cm4gd2tHZXREZWZhdWx0SFRUUENvb2tpZVN0b3JhZ2UoKTsKQEAgLTgy
LDkgKzc0LDcgQEAgUmV0YWluUHRyPENGSFRUUENvb2tpZVN0b3JhZ2VSZWY+IGN1cnJlbgogI2Vu
ZGlmCiB9CiAKLSNlbmRpZiAvLyBVU0UoQ0ZORVRXT1JLKSB8fCBVU0UoQ0ZVUkxTVE9SQUdFU0VT
U0lPTlMpCi0KLSNpZiBVU0UoQ0ZORVRXT1JLKSAmJiBQTEFURk9STShXSU4pCisjaWYgUExBVEZP
Uk0oV0lOKQogCiB2b2lkIG92ZXJyaWRlQ29va2llU3RvcmFnZShDRkhUVFBDb29raWVTdG9yYWdl
UmVmIGNvb2tpZVN0b3JhZ2UpCiB7CkBAIC0xNTYsNiArMTQ2LDYgQEAgdm9pZCBzdG9wT2JzZXJ2
aW5nQ29va2llQ2hhbmdlcygpCiAgICAgQ0ZIVFRQQ29va2llU3RvcmFnZVVuc2NoZWR1bGVGcm9t
UnVuTG9vcChjb29raWVTdG9yYWdlLmdldCgpLCBydW5Mb29wLCBrQ0ZSdW5Mb29wQ29tbW9uTW9k
ZXMpOwogfQogCi0jZW5kaWYgLy8gVVNFKENGTkVUV09SSykgJiYgUExBVEZPUk0oV0lOKQorI2Vu
ZGlmIC8vIFBMQVRGT1JNKFdJTikKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Db29raWVTdG9yYWdlQ0ZOZXQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Nvb2tpZVN0b3Jh
Z2VDRk5ldC5oCShyZXZpc2lvbiAxMzMzNjUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NmL0Nvb2tpZVN0b3JhZ2VDRk5ldC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw4ICsy
Niw2IEBACiAjaWZuZGVmIENvb2tpZVN0b3JhZ2VDRk5ldF9oCiAjZGVmaW5lIENvb2tpZVN0b3Jh
Z2VDRk5ldF9oCiAKLSNpZiBVU0UoQ0ZORVRXT1JLKSB8fCBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lP
TlMpCi0KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKIHR5cGVkZWYgc3RydWN0IE9wYXF1
ZUNGSFRUUENvb2tpZVN0b3JhZ2UqICBDRkhUVFBDb29raWVTdG9yYWdlUmVmOwpAQCAtNDMsNiAr
NDEsNCBAQCB2b2lkIG92ZXJyaWRlQ29va2llU3RvcmFnZShDRkhUVFBDb29raWVTCiAKIH0KIAot
I2VuZGlmIC8vIFVTRShDRk5FVFdPUkspIHx8IFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykKLQog
I2VuZGlmIC8vIENvb2tpZVN0b3JhZ2VDRk5ldF9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAJ
KHJldmlzaW9uIDEzMzM2NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
UmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NSw5ICsxNjUsNyBA
QCBzdGF0aWMgQ0ZVUkxSZXF1ZXN0UmVmIHdpbGxTZW5kUmVxdWVzdChDCiAgICAgICAgICAgICBS
ZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IG5ld01ldGhvZCA9IGFkb3B0Q0YoQ0ZVUkxSZXF1ZXN0Q29w
eUhUVFBSZXF1ZXN0TWV0aG9kKGNmUmVxdWVzdCkpOwogICAgICAgICAgICAgaWYgKENGU3RyaW5n
Q29tcGFyZVdpdGhPcHRpb25zKGxhc3RIVFRQTWV0aG9kLmdldCgpLCBuZXdNZXRob2QuZ2V0KCks
IENGUmFuZ2VNYWtlKDAsIENGU3RyaW5nR2V0TGVuZ3RoKGxhc3RIVFRQTWV0aG9kLmdldCgpKSks
IGtDRkNvbXBhcmVDYXNlSW5zZW5zaXRpdmUpKSB7CiAgICAgICAgICAgICAgICAgUmV0YWluUHRy
PENGTXV0YWJsZVVSTFJlcXVlc3RSZWY+IG11dGFibGVSZXF1ZXN0KEFkb3B0Q0YsIENGVVJMUmVx
dWVzdENyZWF0ZU11dGFibGVDb3B5KDAsIGNmUmVxdWVzdCkpOwotI2lmIFVTRShDRlVSTFNUT1JB
R0VTRVNTSU9OUykKICAgICAgICAgICAgICAgICB3a1NldFJlcXVlc3RTdG9yYWdlU2Vzc2lvbihS
ZXNvdXJjZUhhbmRsZTo6Y3VycmVudFN0b3JhZ2VTZXNzaW9uKCksIG11dGFibGVSZXF1ZXN0Lmdl
dCgpKTsKLSNlbmRpZgogICAgICAgICAgICAgICAgIENGVVJMUmVxdWVzdFNldEhUVFBSZXF1ZXN0
TWV0aG9kKG11dGFibGVSZXF1ZXN0LmdldCgpLCBsYXN0SFRUUE1ldGhvZC5nZXQoKSk7CiAKICAg
ICAgICAgICAgICAgICBGb3JtRGF0YSogYm9keSA9IGhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkuaHR0
cEJvZHkoKTsKQEAgLTM5Nyw5ICszOTUsNyBAQCBSZXNvdXJjZUhhbmRsZTo6flJlc291cmNlSGFu
ZGxlKCkKIHN0YXRpYyBDRlVSTFJlcXVlc3RSZWYgbWFrZUZpbmFsUmVxdWVzdChjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmKQogewogICAgIENG
TXV0YWJsZVVSTFJlcXVlc3RSZWYgbmV3UmVxdWVzdCA9IENGVVJMUmVxdWVzdENyZWF0ZU11dGFi
bGVDb3B5KGtDRkFsbG9jYXRvckRlZmF1bHQsIHJlcXVlc3QuY2ZVUkxSZXF1ZXN0KCkpOwotI2lm
IFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykKICAgICB3a1NldFJlcXVlc3RTdG9yYWdlU2Vzc2lv
bihSZXNvdXJjZUhhbmRsZTo6Y3VycmVudFN0b3JhZ2VTZXNzaW9uKCksIG5ld1JlcXVlc3QpOwot
I2VuZGlmCiAgICAgCiAgICAgaWYgKCFzaG91bGRDb250ZW50U25pZmYpCiAgICAgICAgIHdrU2V0
Q0ZVUkxSZXF1ZXN0U2hvdWxkQ29udGVudFNuaWZmKG5ld1JlcXVlc3QsIGZhbHNlKTsKQEAgLTU3
MCw5ICs1NjYsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjp3aWxsU2VuZFJlcXVlc3QoUmVzCiAg
ICAgICAgIH0KICAgICB9CiAKLSNpZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMpCiAgICAgIHJl
cXVlc3Quc2V0U3RvcmFnZVNlc3Npb24oUmVzb3VyY2VIYW5kbGU6OmN1cnJlbnRTdG9yYWdlU2Vz
c2lvbigpKTsKLSNlbmRpZgogCiAgICAgY2xpZW50KCktPndpbGxTZW5kUmVxdWVzdCh0aGlzLCBy
ZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKIH0KQEAgLTk0NCw4ICs5MzgsNiBAQCB2b2lkIFJl
c291cmNlSGFuZGxlOjpoYW5kbGVEYXRhQXJyYXkoQ0ZBCiB9CiAjZW5kaWYKIAotI2lmIFVTRShD
RlVSTFNUT1JBR0VTRVNTSU9OUykKLQogUmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+
IFJlc291cmNlSGFuZGxlOjpjcmVhdGVQcml2YXRlQnJvd3NpbmdTdG9yYWdlU2Vzc2lvbihDRlN0
cmluZ1JlZiBpZGVudGlmaWVyKQogewogI2lmIFBMQVRGT1JNKFdJTikKQEAgLTEwMjUsNyArMTAx
Nyw1IEBAIFN0cmluZyBSZXNvdXJjZUhhbmRsZTo6cHJpdmF0ZUJyb3dzaW5nU3QKIAogI2VuZGlm
IC8vIFBMQVRGT1JNKFdJTikKIAotI2VuZGlmIC8vIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykK
LQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0LmgJKHJldmlzaW9uIDEzMzM2
NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDkgKzM2LDcgQEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3Qg
X0NGVVJMUmVxdWVzdCogQ0ZVUgogCiBPQkpDX0NMQVNTIE5TVVJMUmVxdWVzdDsKIAotI2lmIFVT
RShDRlVSTFNUT1JBR0VTRVNTSU9OUykgJiYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9T
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDw9IDEwNjAKLXR5cGVkZWYgc3Ry
dWN0IF9fQ0ZVUkxTdG9yYWdlU2Vzc2lvbiogQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZjsKLSNlbGlm
IFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykKKyNpZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5F
VFdPUkspCiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NGVVJMU3RvcmFnZVNlc3Npb24qIENGVVJM
U3RvcmFnZVNlc3Npb25SZWY7CiAjZW5kaWYKIApAQCAtOTYsNyArOTQsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIE5TVVJMUmVxdWVzdCAqbnNVUkxSZXF1ZXN0KCkgY29uc3Q7CiAj
ZW5kaWYKIAotI2lmIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykKKyNpZiBQTEFURk9STShNQUMp
IHx8IFVTRShDRk5FVFdPUkspCiAgICAgICAgIHZvaWQgc2V0U3RvcmFnZVNlc3Npb24oQ0ZVUkxT
dG9yYWdlU2Vzc2lvblJlZik7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHAJ
KHJldmlzaW9uIDEzMzM2NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
UmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzYsOSArMTM2LDcg
QEAgdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZvcm1SZQogICAgICAgICBDRlVS
TFJlcXVlc3RTZXRUaW1lb3V0SW50ZXJ2YWwoY2ZSZXF1ZXN0LCB0aW1lb3V0SW50ZXJ2YWwoKSk7
CiAgICAgfSBlbHNlCiAgICAgICAgIGNmUmVxdWVzdCA9IENGVVJMUmVxdWVzdENyZWF0ZU11dGFi
bGUoMCwgdXJsLmdldCgpLCAoQ0ZVUkxSZXF1ZXN0Q2FjaGVQb2xpY3kpY2FjaGVQb2xpY3koKSwg
dGltZW91dEludGVydmFsKCksIGZpcnN0UGFydHlGb3JDb29raWVzLmdldCgpKTsKLSNpZiBVU0Uo
Q0ZVUkxTVE9SQUdFU0VTU0lPTlMpCiAgICAgd2tTZXRSZXF1ZXN0U3RvcmFnZVNlc3Npb24oUmVz
b3VyY2VIYW5kbGU6OmN1cnJlbnRTdG9yYWdlU2Vzc2lvbigpLCBjZlJlcXVlc3QpOwotI2VuZGlm
CiAKICAgICBDRlVSTFJlcXVlc3RTZXRIVFRQUmVxdWVzdE1ldGhvZChjZlJlcXVlc3QsIGh0dHBN
ZXRob2QoKS5jcmVhdGVDRlN0cmluZygpLmdldCgpKTsKIApAQCAtMjI0LDggKzIyMiw2IEBAIHZv
aWQgUmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVJlc291cmNlUmUKICAgICBtX2h0dHBCb2R5ID0g
aHR0cEJvZHlGcm9tUmVxdWVzdChtX2NmUmVxdWVzdC5nZXQoKSk7CiB9CiAKLSNpZiBVU0UoQ0ZV
UkxTVE9SQUdFU0VTU0lPTlMpCi0KIHZvaWQgUmVzb3VyY2VSZXF1ZXN0OjpzZXRTdG9yYWdlU2Vz
c2lvbihDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmIHN0b3JhZ2VTZXNzaW9uKQogewogICAgIENGTXV0
YWJsZVVSTFJlcXVlc3RSZWYgY2ZSZXF1ZXN0ID0gQ0ZVUkxSZXF1ZXN0Q3JlYXRlTXV0YWJsZUNv
cHkoMCwgbV9jZlJlcXVlc3QuZ2V0KCkpOwpAQCAtMjM2LDggKzIzMiw2IEBAIHZvaWQgUmVzb3Vy
Y2VSZXF1ZXN0OjpzZXRTdG9yYWdlU2Vzc2lvbigKICNlbmRpZgogfQogCi0jZW5kaWYKLQogI2lm
IFBMQVRGT1JNKE1BQykKIHZvaWQgUmVzb3VyY2VSZXF1ZXN0OjphcHBseVdlYkFyY2hpdmVIYWNr
Rm9yTWFpbCgpCiB7CkBAIC0yNjUsNyArMjU5LDYgQEAgdW5zaWduZWQgaW5pdGlhbGl6ZU1heGlt
dW1IVFRQQ29ubmVjdGlvbgogICAgIC8vIEFsd2F5cyBzZXQgdGhlIGNvbm5lY3Rpb24gY291bnQg
cGVyIGhvc3QsIGV2ZW4gd2hlbiBwaXBlbGluaW5nLgogICAgIHVuc2lnbmVkIG1heGltdW1IVFRQ
Q29ubmVjdGlvbkNvdW50UGVySG9zdCA9IHdrSW5pdGlhbGl6ZU1heGltdW1IVFRQQ29ubmVjdGlv
bkNvdW50UGVySG9zdChwcmVmZXJyZWRDb25uZWN0aW9uQ291bnQpOwogCi0jaWYgVVNFKENGTkVU
V09SSykgfHwgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwNzAKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgdW5saW1pdGVkQ29ubmVjdGlvbkNv
dW50ID0gMTAwMDA7CiAKICAgICBCb29sZWFuIGtleUV4aXN0c0FuZEhhc1ZhbGlkRm9ybWF0ID0g
ZmFsc2U7CkBAIC0yODIsNyArMjc1LDYgQEAgdW5zaWduZWQgaW5pdGlhbGl6ZU1heGltdW1IVFRQ
Q29ubmVjdGlvbgogICAgICAgICAvLyBXaGVuIHBpcGVsaW5pbmcgZG8gbm90IHJhdGUtbGltaXQg
cmVxdWVzdHMgc2VudCBmcm9tIFdlYkNvcmUgc2luY2UgQ0ZOZXR3b3JrIGhhbmRsZXMgdGhhdC4K
ICAgICAgICAgcmV0dXJuIHVubGltaXRlZENvbm5lY3Rpb25Db3VudDsKICAgICB9Ci0jZW5kaWYK
IAogICAgIHJldHVybiBtYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3Q7CiB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9Db29raWVTdG9yYWdlTWFjLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0Nvb2tp
ZVN0b3JhZ2VNYWMubW0JKHJldmlzaW9uIDEzMzM2NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL0Nvb2tpZVN0b3JhZ2VNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTc5
LDE1ICs3OSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBzZXRDb29raWVTdG9yYWdl
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7Ci0jaWYgIVBMQVRGT1JNKElP
UykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA9PSAxMDYwICYmIFVTRShDRlVS
TFNUT1JBR0VTRVNTSU9OUykKLSAgICAvLyBEb24ndCBjYWxsIHdrU2V0Q29va2llU3RvcmFnZVBy
aXZhdGVCcm93c2luZ0VuYWJsZWQoKSB3aGVuIGNvb2tpZSBzdG9yYWdlIGlzIHNldCB1cCB2aWEg
c2Vzc2lvbnMuCi0gICAgLy8gVGhhdCB3b3VsZCBtYWtlIE5TVVJMQ29ubmVjdCB1c2UgZ2xvYmFs
IHByaXZhdGUgYnJvd3NpbmcgY29va2llIHN0b3JhZ2UgcmVnYXJkbGVzcyBvZiByZXF1ZXN0IHNl
c3Npb24uCi0gICAgLy8gVGhlIGdsb2JhbCBwcml2YXRlIGNvb2tpZSBzdG9yYWdlIGhhcyBkaWZm
ZXJlbnQgc2VtYW50aWNzIC0gaXQgbWFrZXMgbmV3IGNvb2tpZXMgbm9uLXBlcnNpc3RlbnQsCi0g
ICAgLy8gYnV0IGRvZXNuJ3Qgc3RhcnQgd2l0aCBhIGNsZWFuIHN0YXRlLgotICAgIGlmIChlbmFi
bGVkICYmIGN1cnJlbnRDRkhUVFBDb29raWVTdG9yYWdlKCkpCi0gICAgICAgIHJldHVybjsKLSNl
bmRpZgotCiAgICAgLy8gRklYTUU6IFdoZW4gUHJpdmF0ZSBCcm93c2luZyBpcyBlbmFibGVkLCB0
aGUgUHJpdmF0ZSBCcm93c2luZyBDb29raWUgU3RvcmFnZSBzaG91bGQgYmUKICAgICAvLyBvYnNl
cnZlZCBmb3IgY2hhbmdlcywgbm90IHRoZSBkZWZhdWx0IENvb2tpZSBTdG9yYWdlLgogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNv
dXJjZUhhbmRsZU1hYy5tbQkocmV2aXNpb24gMTMzMzY2KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0JKHdvcmtpbmcgY29weSkKQEAg
LTE1MCwyMyArMTUwLDE5IEBAIHN0YXRpYyBib29sIHNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tp
ZVAKICAgICBOU0hUVFBDb29raWVTdG9yYWdlICpzaGFyZWRTdG9yYWdlID0gW05TSFRUUENvb2tp
ZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2VdOwogCiAgICAgTlNIVFRQQ29va2llQWNj
ZXB0UG9saWN5IGNvb2tpZUFjY2VwdFBvbGljeTsKLSNpZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lP
TlMpCiAgICAgUmV0YWluUHRyPENGSFRUUENvb2tpZVN0b3JhZ2VSZWY+IGNmQ29va2llU3RvcmFn
ZSA9IGN1cnJlbnRDRkhUVFBDb29raWVTdG9yYWdlKCk7CiAgICAgaWYgKGNmQ29va2llU3RvcmFn
ZSkKICAgICAgICAgY29va2llQWNjZXB0UG9saWN5ID0gc3RhdGljX2Nhc3Q8TlNIVFRQQ29va2ll
QWNjZXB0UG9saWN5Pih3a0dldEhUVFBDb29raWVBY2NlcHRQb2xpY3koY2ZDb29raWVTdG9yYWdl
LmdldCgpKSk7CiAgICAgZWxzZQotI2VuZGlmCiAgICAgICAgIGNvb2tpZUFjY2VwdFBvbGljeSA9
IFtzaGFyZWRTdG9yYWdlIGNvb2tpZUFjY2VwdFBvbGljeV07CiAKICAgICBpZiAoY29va2llQWNj
ZXB0UG9saWN5ICE9IE5TSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50
RG9tYWluKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBOU0FycmF5ICpjb29raWVzOwot
I2lmIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykKICAgICBpZiAoY2ZDb29raWVTdG9yYWdlKQog
ICAgICAgICBjb29raWVzID0gd2tIVFRQQ29va2llc0ZvclVSTChjZkNvb2tpZVN0b3JhZ2UuZ2V0
KCksIHVybCk7CiAgICAgZWxzZQotI2VuZGlmCiAgICAgICAgIGNvb2tpZXMgPSBbc2hhcmVkU3Rv
cmFnZSBjb29raWVzRm9yVVJMOnVybF07CiAKICAgICByZXR1cm4gW2Nvb2tpZXMgY291bnRdOwpA
QCAtMjE3LDEwICsyMTMsOCBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpjcmVhdGVOU1VSTENvbm5l
Y3RpCiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNTZXR0aW5nQ29ubmVjdGlvblByb3BlcnRpZXMg
PSBbTlNVUkxDb25uZWN0aW9uIGluc3RhbmNlc1Jlc3BvbmRUb1NlbGVjdG9yOkBzZWxlY3Rvcihf
aW5pdFdpdGhSZXF1ZXN0OmRlbGVnYXRlOnVzZXNDYWNoZTptYXhDb250ZW50TGVuZ3RoOnN0YXJ0
SW1tZWRpYXRlbHk6Y29ubmVjdGlvblByb3BlcnRpZXM6KV07CiAjZW5kaWYKIAotI2lmIFVTRShD
RlVSTFNUT1JBR0VTRVNTSU9OUykKICAgICBpZiAoQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBzdG9y
YWdlU2Vzc2lvbiA9IGN1cnJlbnRTdG9yYWdlU2Vzc2lvbigpKQogICAgICAgICBuc1JlcXVlc3Qg
PSBbd2tDb3B5UmVxdWVzdFdpdGhTdG9yYWdlU2Vzc2lvbihzdG9yYWdlU2Vzc2lvbiwgbnNSZXF1
ZXN0KSBhdXRvcmVsZWFzZV07Ci0jZW5kaWYKIAogICAgIGlmIChzdXBwb3J0c1NldHRpbmdDb25u
ZWN0aW9uUHJvcGVydGllcykgewogICAgICAgICBOU0RpY3Rpb25hcnkgKnNlc3Npb25JRCA9IHNo
b3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlID8gW05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5XSA6IFtO
U0RpY3Rpb25hcnkgZGljdGlvbmFyeVdpdGhPYmplY3Q6QCJXZWJLaXRQcml2YXRlU2Vzc2lvbiIg
Zm9yS2V5OkAiX2tDRlVSTENvbm5lY3Rpb25TZXNzaW9uSUQiXTsKQEAgLTQ4MiwxMCArNDc2LDgg
QEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6d2lsbFNlbmRSZXF1ZXN0KFJlcwogICAgICAgICB9CiAg
ICAgfQogCi0jaWYgVVNFKENGVVJMU1RPUkFHRVNFU1NJT05TKQogICAgIGlmIChDRlVSTFN0b3Jh
Z2VTZXNzaW9uUmVmIHN0b3JhZ2VTZXNzaW9uID0gY3VycmVudFN0b3JhZ2VTZXNzaW9uKCkpCiAg
ICAgICAgIHJlcXVlc3Quc2V0U3RvcmFnZVNlc3Npb24oc3RvcmFnZVNlc3Npb24pOwotI2VuZGlm
CiAKICAgICBjbGllbnQoKS0+d2lsbFNlbmRSZXF1ZXN0KHRoaXMsIHJlcXVlc3QsIHJlZGlyZWN0
UmVzcG9uc2UpOwogfQpAQCAtNjMxLDE1ICs2MjMsMTEgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6
cmVjZWl2ZWRDYW5jZWxsYXRpbwogICAgICAgICBjbGllbnQoKS0+cmVjZWl2ZWRDYW5jZWxsYXRp
b24odGhpcywgY2hhbGxlbmdlKTsKIH0KIAotI2lmIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykK
LQogU3RyaW5nIFJlc291cmNlSGFuZGxlOjpwcml2YXRlQnJvd3NpbmdTdG9yYWdlU2Vzc2lvbklk
ZW50aWZpZXJEZWZhdWx0QmFzZSgpCiB7CiAgICAgcmV0dXJuIFN0cmluZyhbW05TQnVuZGxlIG1h
aW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdKTsKIH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogQGltcGxlbWVudGF0aW9uIFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVs
ZWdhdGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNl
UmVxdWVzdE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW0JKHJldmlzaW9uIDEzMzM2NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbQkod29y
a2luZyBjb3B5KQpAQCAtMTg1LDE0ICsxODUsMTAgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmFw
cGx5V2ViQXJjaGl2ZUhhYwogICAgIFtOU1VSTFByb3RvY29sIHNldFByb3BlcnR5OkAiIiBmb3JL
ZXk6QCJXZWJEYXRhUmVxdWVzdCIgaW5SZXF1ZXN0OihOU011dGFibGVVUkxSZXF1ZXN0ICopbnNV
UkxSZXF1ZXN0KCldOwogfQogCi0jaWYgVVNFKENGVVJMU1RPUkFHRVNFU1NJT05TKQotCiB2b2lk
IFJlc291cmNlUmVxdWVzdDo6c2V0U3RvcmFnZVNlc3Npb24oQ0ZVUkxTdG9yYWdlU2Vzc2lvblJl
ZiBzdG9yYWdlU2Vzc2lvbikKIHsKICAgICBtX25zUmVxdWVzdC5hZG9wdE5TKHdrQ29weVJlcXVl
c3RXaXRoU3RvcmFnZVNlc3Npb24oc3RvcmFnZVNlc3Npb24sIG1fbnNSZXF1ZXN0LmdldCgpKSk7
CiB9Ci0KLSNlbmRpZgogICAgIAogI2VuZGlmIC8vIFVTRShDRk5FVFdPUkspCiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cJKHJldmlzaW9uIDEzMzM3NykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTExLTAyICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEdldCByaWQgb2YgVVNFKENGVVJMU1RPUkFH
RVNFU1NJT05TKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAxMTMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICog
U2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViQ29udGV4
dFdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OnBsYXRmb3JtSW5pdGlhbGl6
ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvQ29va2llcy9tYWMvV2ViQ29va2ll
TWFuYWdlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29va2llTWFuYWdlcjo6cGxhdGZv
cm1TZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGU6OnN3aXRjaE5ldHdvcmtMb2FkZXJUb05ld1Rlc3RpbmdTZXNzaW9uKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OnBsYXRmb3JtSGFzTG9jYWxEYXRhRm9yVVJMKToKKyAgICAgICAgKFdlYktpdDo6
Y2FjaGVkUmVzcG9uc2VGb3JVUkwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS93aW4v
V2ViUGFnZVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OmNhY2hlZFJlc3BvbnNlRm9yVVJMKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy93
aW4vV2ViUHJvY2Vzc1dpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRm
b3JtU2V0Q2FjaGVNb2RlbCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3Jt
Q2xlYXJSZXNvdXJjZUNhY2hlcyk6CisKIDIwMTItMTEtMDIgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBEb24ndCBpbnN0YW50aWF0ZSB0aGUgSmF2YSBw
bHVnLWluIGlmIGl0J3MgaW5hY3RpdmUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDEzMzM2
NSkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgIldlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKIAogI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzLmgiCi0j
aWYgVVNFKENGVVJMU1RPUkFHRVNFU1NJT05TKSAmJiBQTEFURk9STShXSU4pCisjaWYgUExBVEZP
Uk0oV0lOKSAmJiBVU0UoQ0ZORVRXT1JLKQogI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzQ0YuaCIK
ICNlbmRpZgogCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVyczo6ZW5jb2QKICAgICBlbmNvZGVyIDw8IHRleHRDaGVja2VyU3RhdGU7CiAgICAgZW5jb2Rl
ciA8PCBmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkOwogICAgIGVuY29kZXIgPDwgZGVmYXVsdFJl
cXVlc3RUaW1lb3V0SW50ZXJ2YWw7Ci0jaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZVUkxTVE9S
QUdFU0VTU0lPTlMpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQogICAgIGVu
Y29kZXIgPDwgdWlQcm9jZXNzQnVuZGxlSWRlbnRpZmllcjsKICNlbmRpZgogI2lmIFBMQVRGT1JN
KE1BQykKQEAgLTEwMSwxMiArMTAxLDEyIEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVyczo6ZW5jb2QKICAgICBlbmNvZGVyIDw8IGNmVVJMQ2FjaGVEaXNrQ2FwYWNpdHk7CiAgICAg
ZW5jb2RlciA8PCBjZlVSTENhY2hlTWVtb3J5Q2FwYWNpdHk7CiAgICAgZW5jb2RlciA8PCBpbml0
aWFsSFRUUENvb2tpZUFjY2VwdFBvbGljeTsKLSNpZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMp
CisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQogICAgIENGRGF0YVJlZiBzdG9y
YWdlU2Vzc2lvbiA9IHNlcmlhbGl6ZWREZWZhdWx0U3RvcmFnZVNlc3Npb24uZ2V0KCk7CiAgICAg
ZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxib29sPihzdG9yYWdlU2Vzc2lvbik7CiAgICAgaWYgKHN0
b3JhZ2VTZXNzaW9uKQogICAgICAgICBDb3JlSVBDOjplbmNvZGUoZW5jb2Rlciwgc3RvcmFnZVNl
c3Npb24pOwotI2VuZGlmIC8vIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykKKyNlbmRpZgogI2Vu
ZGlmCiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQpAQCAtMTc4LDcgKzE3OCw3IEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVyczo6ZGVjb2QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci0+ZGVj
b2RlKHBhcmFtZXRlcnMuZGVmYXVsdFJlcXVlc3RUaW1lb3V0SW50ZXJ2YWwpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0jaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lP
TlMpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQogICAgIGlmICghZGVjb2Rl
ci0+ZGVjb2RlKHBhcmFtZXRlcnMudWlQcm9jZXNzQnVuZGxlSWRlbnRpZmllcikpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICNlbmRpZgpAQCAtMjExLDEzICsyMTEsMTMgQEAgYm9vbCBXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
aWYgKCFkZWNvZGVyLT5kZWNvZGUocGFyYW1ldGVycy5pbml0aWFsSFRUUENvb2tpZUFjY2VwdFBv
bGljeSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSNpZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lP
TlMpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQogICAgIGJvb2wgaGFzU3Rv
cmFnZVNlc3Npb24gPSBmYWxzZTsKICAgICBpZiAoIWRlY29kZXItPmRlY29kZShoYXNTdG9yYWdl
U2Vzc2lvbikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaGFzU3RvcmFnZVNlc3Np
b24gJiYgIUNvcmVJUEM6OmRlY29kZShkZWNvZGVyLCBwYXJhbWV0ZXJzLnNlcmlhbGl6ZWREZWZh
dWx0U3RvcmFnZVNlc3Npb24pKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYgLy8gVVNF
KENGVVJMU1RPUkFHRVNFU1NJT05TKQorI2VuZGlmCiAjZW5kaWYKIAogI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgJ
KHJldmlzaW9uIDEzMzM2NSkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTkxLDcgKzkxLDcgQEAgc3RydWN0
IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogCiAgICAgZG91YmxlIGRlZmF1bHRSZXF1
ZXN0VGltZW91dEludGVydmFsOwogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZVUkxTVE9S
QUdFU0VTU0lPTlMpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQogICAgIFN0
cmluZyB1aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyOwogI2VuZGlmCiAKQEAgLTExOSw5ICsxMTks
OSBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAKICAgICBib29sIHNo
b3VsZFBhaW50TmF0aXZlQ29udHJvbHM7CiAKLSNpZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMp
CisjaWYgVVNFKENGTkVUV09SSykKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBzZXJpYWxpemVk
RGVmYXVsdFN0b3JhZ2VTZXNzaW9uOwotI2VuZGlmIC8vIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9O
UykKKyNlbmRpZgogI2VuZGlmIC8vIFBMQVRGT1JNKFdJTikKIAogI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3Mvd2luL1dlYkNvbnRleHRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViQ29udGV4dFdpbi5jcHAJKHJldmlzaW9uIDEzMzM2
NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViQ29udGV4dFdpbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTY4LDEwICs2OCw4IEBAIHZvaWQgV2ViQ29udGV4dDo6cGxhdGZvcm1J
bml0aWFsaXplV2ViUHIKICAgICBpZiAocGFyYW1ldGVycy5kaXNrQ2FjaGVEaXJlY3RvcnkuZW5k
c1dpdGgoVUNoYXIoJ1xcJykpKQogICAgICAgICBwYXJhbWV0ZXJzLmRpc2tDYWNoZURpcmVjdG9y
eS5yZW1vdmUocGFyYW1ldGVycy5kaXNrQ2FjaGVEaXJlY3RvcnkubGVuZ3RoKCkgLSAxKTsKIAot
I2lmIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykKICAgICBwYXJhbWV0ZXJzLnVpUHJvY2Vzc0J1
bmRsZUlkZW50aWZpZXIgPSBTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxDRlN0cmluZ1JlZj4oQ0ZC
dW5kbGVHZXRWYWx1ZUZvckluZm9EaWN0aW9uYXJ5S2V5KENGQnVuZGxlR2V0TWFpbkJ1bmRsZSgp
LCBrQ0ZCdW5kbGVJZGVudGlmaWVyS2V5KSkpOwogICAgIHBhcmFtZXRlcnMuc2VyaWFsaXplZERl
ZmF1bHRTdG9yYWdlU2Vzc2lvbi5hZG9wdENGKHdrQ29weVNlcmlhbGl6ZWREZWZhdWx0U3RvcmFn
ZVNlc3Npb24oKSk7Ci0jZW5kaWYgLy8gVVNFKENGVVJMU1RPUkFHRVNFU1NJT05TKQogCiAgICAg
cGFyYW1ldGVycy5pbml0aWFsSFRUUENvb2tpZUFjY2VwdFBvbGljeSA9IG1faW5pdGlhbEhUVFBD
b29raWVBY2NlcHRQb2xpY3k7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAkocmV2aXNpb24gMTMzMzY1KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc0LDcgKzI3NCw4IEBAIHZvaWQg
V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MoY28KICAgICBpZiAocGFyYW1ldGVycy5z
aG91bGRVc2VGb250U21vb3RoaW5nKQogICAgICAgICBzZXRTaG91bGRVc2VGb250U21vb3RoaW5n
KHRydWUpOwogCi0jaWYgVVNFKENGVVJMU1RPUkFHRVNFU1NJT05TKQorI2lmIFBMQVRGT1JNKE1B
QykgfHwgVVNFKENGTkVUV09SSykKKyAgICAvLyBGSVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBTZW5k
IHRoaXMgaWRlbnRpZmllciB0byBuZXR3b3JrIHByb2Nlc3MuCiAgICAgV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OnNldFByaXZhdGVCcm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRpZmllckJhc2Uo
cGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyKTsKICNlbmRpZgogCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvbWFjL1dlYkNvb2tpZU1hbmFnZXJNYWMu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL21hYy9X
ZWJDb29raWVNYW5hZ2VyTWFjLm1tCShyZXZpc2lvbiAxMzMzNjUpCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvbWFjL1dlYkNvb2tpZU1hbmFnZXJNYWMubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTM2LDEwICszNiw4IEBAIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1T
ZXRIVFRQQ28KIHsKICAgICBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0
b3JhZ2VdIHNldENvb2tpZUFjY2VwdFBvbGljeTpzdGF0aWNfY2FzdDxOU0hUVFBDb29raWVBY2Nl
cHRQb2xpY3k+KHBvbGljeSldOwogCi0jaWYgVVNFKENGVVJMU1RPUkFHRVNFU1NJT05TKQogICAg
IGlmIChSZXRhaW5QdHI8Q0ZIVFRQQ29va2llU3RvcmFnZVJlZj4gY29va2llU3RvcmFnZSA9IGN1
cnJlbnRDRkhUVFBDb29raWVTdG9yYWdlKCkpCiAgICAgICAgIFdLU2V0SFRUUENvb2tpZUFjY2Vw
dFBvbGljeShjb29raWVTdG9yYWdlLmdldCgpLCBwb2xpY3kpOwotI2VuZGlmCiB9CiAKIEhUVFBD
b29raWVBY2NlcHRQb2xpY3kgV2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1HZXRIVFRQQ29va2ll
QWNjZXB0UG9saWN5KCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCShyZXZpc2lvbiAxMzMz
NjUpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgzLDcgKzI4Myw3IEBAIHZvaWQgSW5qZWN0
ZWRCdW5kbGU6OnNldFBvcHVwQmxvY2tpbmdFbmEKIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6c3dp
dGNoTmV0d29ya0xvYWRlclRvTmV3VGVzdGluZ1Nlc3Npb24oKQogewotI2lmIFVTRShDRlVSTFNU
T1JBR0VTRVNTSU9OUykKKyNpZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCiAgICAg
Ly8gU2V0IGEgcHJpdmF0ZSBzZXNzaW9uIGZvciB0ZXN0aW5nIHRvIGF2b2lkIGludGVyZmVyaW5n
IHdpdGggZ2xvYmFsIGNvb2tpZXMuIFRoaXMgc2hvdWxkIGJlIGRpZmZlcmVudCBmcm9tIHByaXZh
dGUgYnJvd3Npbmcgc2Vzc2lvbi4KICAgICBSZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJl
Zj4gc2Vzc2lvbiA9IFJlc291cmNlSGFuZGxlOjpjcmVhdGVQcml2YXRlQnJvd3NpbmdTdG9yYWdl
U2Vzc2lvbihDRlNUUigiUHJpdmF0ZSBXZWJLaXQgU2Vzc2lvbiIpKTsKICAgICBSZXNvdXJjZUhh
bmRsZTo6c2V0RGVmYXVsdFN0b3JhZ2VTZXNzaW9uKHNlc3Npb24uZ2V0KCkpOwpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5t
bQkocmV2aXNpb24gMTMzMzY1KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9XZWJQYWdlTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02NzksMTEgKzY3OSw5IEBAIGJv
b2wgV2ViUGFnZTo6cGxhdGZvcm1IYXNMb2NhbERhdGFGb3JVUkwKICAgICBOU011dGFibGVVUkxS
ZXF1ZXN0KiByZXF1ZXN0ID0gW1tOU011dGFibGVVUkxSZXF1ZXN0IGFsbG9jXSBpbml0V2l0aFVS
TDp1cmxdOwogICAgIFtyZXF1ZXN0IHNldFZhbHVlOihOU1N0cmluZyopdXNlckFnZW50KCkgZm9y
SFRUUEhlYWRlckZpZWxkOkAiVXNlci1BZ2VudCJdOwogICAgIE5TQ2FjaGVkVVJMUmVzcG9uc2Ug
KmNhY2hlZFJlc3BvbnNlOwotI2lmIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykKICAgICBpZiAo
Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBzdG9yYWdlU2Vzc2lvbiA9IFJlc291cmNlSGFuZGxlOjpj
dXJyZW50U3RvcmFnZVNlc3Npb24oKSkKICAgICAgICAgY2FjaGVkUmVzcG9uc2UgPSBXS0NhY2hl
ZFJlc3BvbnNlRm9yUmVxdWVzdChzdG9yYWdlU2Vzc2lvbiwgcmVxdWVzdCk7CiAgICAgZWxzZQot
I2VuZGlmCiAgICAgICAgIGNhY2hlZFJlc3BvbnNlID0gW1tOU1VSTENhY2hlIHNoYXJlZFVSTENh
Y2hlXSBjYWNoZWRSZXNwb25zZUZvclJlcXVlc3Q6cmVxdWVzdF07CiAgICAgW3JlcXVlc3QgcmVs
ZWFzZV07CiAgICAgCkBAIC02OTUsMTAgKzY5Myw4IEBAIHN0YXRpYyBOU0NhY2hlZFVSTFJlc3Bv
bnNlICpjYWNoZWRSZXNwb24KICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlVVJMUmVxdWVzdD4gcmVx
dWVzdChBZG9wdE5TLCBbW05TTXV0YWJsZVVSTFJlcXVlc3QgYWxsb2NdIGluaXRXaXRoVVJMOnVy
bF0pOwogICAgIFtyZXF1ZXN0LmdldCgpIHNldFZhbHVlOihOU1N0cmluZyAqKXdlYlBhZ2UtPnVz
ZXJBZ2VudCgpIGZvckhUVFBIZWFkZXJGaWVsZDpAIlVzZXItQWdlbnQiXTsKIAotI2lmIFVTRShD
RlVSTFNUT1JBR0VTRVNTSU9OUykKICAgICBpZiAoQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBzdG9y
YWdlU2Vzc2lvbiA9IFJlc291cmNlSGFuZGxlOjpjdXJyZW50U3RvcmFnZVNlc3Npb24oKSkKICAg
ICAgICAgcmV0dXJuIFdLQ2FjaGVkUmVzcG9uc2VGb3JSZXF1ZXN0KHN0b3JhZ2VTZXNzaW9uLCBy
ZXF1ZXN0LmdldCgpKTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIFtbTlNVUkxDYWNoZSBzaGFyZWRV
UkxDYWNoZV0gY2FjaGVkUmVzcG9uc2VGb3JSZXF1ZXN0OnJlcXVlc3QuZ2V0KCldOwogfQpJbmRl
eDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBh
Z2VXaW4uY3BwCShyZXZpc2lvbiAxMzMzNjUpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjYsMTggKzI2
NiwxNCBAQCBzdGF0aWMgUmV0YWluUHRyPENGQ2FjaGVkVVJMUmVzcG9uc2VSZWY+CiB7CiAgICAg
UmV0YWluUHRyPENGVVJMUmVmPiBjZlVSTChBZG9wdENGLCB1cmwuY3JlYXRlQ0ZVUkwoKSk7CiAg
ICAgUmV0YWluUHRyPENGTXV0YWJsZVVSTFJlcXVlc3RSZWY+IHJlcXVlc3QoQWRvcHRDRiwgQ0ZV
UkxSZXF1ZXN0Q3JlYXRlTXV0YWJsZSgwLCBjZlVSTC5nZXQoKSwga0NGVVJMUmVxdWVzdENhY2hl
UG9saWN5UmVsb2FkSWdub3JpbmdDYWNoZSwgNjAsIDApKTsKLSNpZiBVU0UoQ0ZVUkxTVE9SQUdF
U0VTU0lPTlMpCiAgICAgd2tTZXRSZXF1ZXN0U3RvcmFnZVNlc3Npb24oUmVzb3VyY2VIYW5kbGU6
OmN1cnJlbnRTdG9yYWdlU2Vzc2lvbigpLCByZXF1ZXN0LmdldCgpKTsKLSNlbmRpZgogCiAgICAg
Q0ZVUkxSZXF1ZXN0U2V0SFRUUEhlYWRlckZpZWxkVmFsdWUocmVxdWVzdC5nZXQoKSwgQ0ZTVFIo
IlVzZXItQWdlbnQiKSwgd2ViUGFnZS0+dXNlckFnZW50KCkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQo
KSk7CiAKICAgICBSZXRhaW5QdHI8Q0ZVUkxDYWNoZVJlZj4gY2FjaGU7Ci0jaWYgVVNFKENGVVJM
U1RPUkFHRVNFU1NJT05TKQogICAgIGlmIChDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmIGN1cnJlbnRT
dG9yYWdlU2Vzc2lvbiA9IFJlc291cmNlSGFuZGxlOjpjdXJyZW50U3RvcmFnZVNlc3Npb24oKSkK
ICAgICAgICAgY2FjaGUuYWRvcHRDRih3a0NvcHlVUkxDYWNoZShjdXJyZW50U3RvcmFnZVNlc3Np
b24pKTsKICAgICBlbHNlCi0jZW5kaWYKICAgICAgICAgY2FjaGUuYWRvcHRDRihDRlVSTENhY2hl
Q29weVNoYXJlZFVSTENhY2hlKCkpOwogCiAgICAgUmV0YWluUHRyPENGQ2FjaGVkVVJMUmVzcG9u
c2VSZWY+IHJlc3BvbnNlKEFkb3B0Q0YsIENGVVJMQ2FjaGVDb3B5UmVzcG9uc2VGb3JSZXF1ZXN0
KGNhY2hlLmdldCgpLCByZXF1ZXN0LmdldCgpKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL3dpbi9XZWJQcm9jZXNzV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL3dpbi9XZWJQcm9jZXNzV2luLmNwcAkocmV2aXNpb24gMTMzMzY1KQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1dpbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTcxLDExICs3MSw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1TZXRDYWNo
ZU1vZGVsKEMKIHsKICNpZiBVU0UoQ0ZORVRXT1JLKQogICAgIFJldGFpblB0cjxDRlN0cmluZ1Jl
Zj4gY2Z1cmxDYWNoZURpcmVjdG9yeTsKLSNpZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMpCiAg
ICAgaWYgKENGVVJMU3RvcmFnZVNlc3Npb25SZWYgZGVmYXVsdFN0b3JhZ2VTZXNzaW9uID0gUmVz
b3VyY2VIYW5kbGU6OmRlZmF1bHRTdG9yYWdlU2Vzc2lvbigpKQogICAgICAgICBjZnVybENhY2hl
RGlyZWN0b3J5LmFkb3B0Q0Yod2tDb3B5Rm91bmRhdGlvbkNhY2hlRGlyZWN0b3J5KGRlZmF1bHRT
dG9yYWdlU2Vzc2lvbikpOwogICAgIGVsc2UKLSNlbmRpZgogICAgICAgICBjZnVybENhY2hlRGly
ZWN0b3J5LmFkb3B0Q0Yod2tDb3B5Rm91bmRhdGlvbkNhY2hlRGlyZWN0b3J5KDApKTsKIAogICAg
IGlmICghY2Z1cmxDYWNoZURpcmVjdG9yeSkKQEAgLTEwMywxMSArMTAxLDkgQEAgdm9pZCBXZWJQ
cm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwoQwogICAgIHBhZ2VDYWNoZSgpLT5zZXRDYXBh
Y2l0eShwYWdlQ2FjaGVDYXBhY2l0eSk7CiAKICAgICBSZXRhaW5QdHI8Q0ZVUkxDYWNoZVJlZj4g
Y2Z1cmxDYWNoZTsKLSNpZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMpCiAgICAgaWYgKENGVVJM
U3RvcmFnZVNlc3Npb25SZWYgZGVmYXVsdFN0b3JhZ2VTZXNzaW9uID0gUmVzb3VyY2VIYW5kbGU6
OmRlZmF1bHRTdG9yYWdlU2Vzc2lvbigpKQogICAgICAgICBjZnVybENhY2hlLmFkb3B0Q0Yod2tD
b3B5VVJMQ2FjaGUoZGVmYXVsdFN0b3JhZ2VTZXNzaW9uKSk7CiAgICAgZWxzZQotI2VuZGlmIC8v
IFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykKICAgICAgICAgY2Z1cmxDYWNoZS5hZG9wdENGKENG
VVJMQ2FjaGVDb3B5U2hhcmVkVVJMQ2FjaGUoKSk7CiAKICAgICBDRlVSTENhY2hlU2V0TWVtb3J5
Q2FwYWNpdHkoY2Z1cmxDYWNoZS5nZXQoKSwgdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSk7CkBAIC0x
MjIsMTEgKzExOCw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1DbGVhclJlc291cmNlQ2EK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgUmV0YWluUHRyPENGVVJMQ2FjaGVSZWY+IGNhY2hlOwot
I2lmIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykKICAgICBpZiAoQ0ZVUkxTdG9yYWdlU2Vzc2lv
blJlZiBkZWZhdWx0U3RvcmFnZVNlc3Npb24gPSBSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFN0b3Jh
Z2VTZXNzaW9uKCkpCiAgICAgICAgIGNhY2hlLmFkb3B0Q0Yod2tDb3B5VVJMQ2FjaGUoZGVmYXVs
dFN0b3JhZ2VTZXNzaW9uKSk7CiAgICAgZWxzZQotI2VuZGlmIC8vIFVTRShDRlVSTFNUT1JBR0VT
RVNTSU9OUykKICAgICAgICAgY2FjaGUuYWRvcHRDRihDRlVSTENhY2hlQ29weVNoYXJlZFVSTENh
Y2hlKCkpOwogCiAgICAgQ0ZVUkxDYWNoZVJlbW92ZUFsbENhY2hlZFJlc3BvbnNlcyhjYWNoZS5n
ZXQoKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMzM3
NykKKysrIFNvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMS0wMiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFw
cGxlLmNvbT4KKworICAgICAgICBHZXQgcmlkIG9mIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTEzMQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvQWJvdXREYXRhVXNlRmVhdHVyZXMuaW46IE5vdCBzdXJlIHdoYXQgdGhpcyBsaXN0
IGlzIGFib3V0LCBidXQKKyAgICAgICAgQ0ZVUkxTVE9SQUdFU0VTU0lPTlMgcHJvYmFibHkgZG9l
c24ndCBuZWVkIHRvIHN0YXkgaGVyZS4KKwogMjAxMi0xMS0wMiAgTmltYSBHaGFuYXZhdGlhbiAg
PG5naGFuYXZhdGlhbkByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBGaXggY29tcGls
ZS10aW1lIHdhcm5pbmcgb2YgYSBwb3NzaWJsZSBlbXB0eS1ib2R5IGlmIHN0YXRlbWVudApJbmRl
eDogU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Fib3V0RGF0YVVzZUZl
YXR1cmVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9BYm91dERhdGFVc2VGZWF0dXJlcy5pbgkocmV2aXNpb24gMTMzMzY1KQorKysgU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Fib3V0RGF0YVVzZUZlYXR1cmVz
LmluCSh3b3JraW5nIGNvcHkpCkBAIC0xNyw3ICsxNyw2IEBAIENGCiBDRk5FVFdPUksKIENGX05F
VFdPUksKIENGVVJMQ0FDSEUKLUNGVVJMU1RPUkFHRVNFU1NJT05TCiBDRwogQ0dfSU5URVJQT0xB
VElPTl9NRURJVU0KIENIUk9NSVVNX05FVApJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24g
MTMzMzc3KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTItMTEtMDIgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDExMzEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIF9zd2l0Y2hOZXR3
b3JrTG9hZGVyVG9OZXdUZXN0aW5nU2Vzc2lvbl0pOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNl
cyBfc2V0Q3VycmVudE5ldHdvcmtMb2FkZXJTZXNzaW9uQ29va2llQWNjZXB0UG9saWN5Ol0pOgor
ICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY2FjaGVk
UmVzcG9uc2VGb3JVUkw6XSk6CisKIDIwMTItMTEtMDIgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBEb24ndCBpbnN0YW50aWF0ZSB0aGUgSmF2YSBwbHVn
LWluIGlmIGl0J3MgaW5hY3RpdmUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNpb24gMTMzMzY1KQorKysgU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTI4NSwyMSArMTI4
NSwxNyBAQCArICh2b2lkKV9zZXRJQkNyZWF0b3JJRDooTlNTdHJpbmcgKilzdHJpCiAKICsgKHZv
aWQpX3N3aXRjaE5ldHdvcmtMb2FkZXJUb05ld1Rlc3RpbmdTZXNzaW9uCiB7Ci0jaWYgVVNFKENG
VVJMU1RPUkFHRVNFU1NJT05TKQogICAgIC8vIFNldCBhIHByaXZhdGUgc2Vzc2lvbiBmb3IgdGVz
dGluZyB0byBhdm9pZCBpbnRlcmZlcmluZyB3aXRoIGdsb2JhbCBjb29raWVzLiBUaGlzIHNob3Vs
ZCBiZSBkaWZmZXJlbnQgZnJvbSBwcml2YXRlIGJyb3dzaW5nIHNlc3Npb24uCiAgICAgUmV0YWlu
UHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+IHNlc3Npb24gPSBSZXNvdXJjZUhhbmRsZTo6Y3Jl
YXRlUHJpdmF0ZUJyb3dzaW5nU3RvcmFnZVNlc3Npb24oQ0ZTVFIoIldlYktpdCBUZXN0aW5nIFNl
c3Npb24iKSk7CiAgICAgUmVzb3VyY2VIYW5kbGU6OnNldERlZmF1bHRTdG9yYWdlU2Vzc2lvbihz
ZXNzaW9uLmdldCgpKTsKLSNlbmRpZgogfQogCiArICh2b2lkKV9zZXRDdXJyZW50TmV0d29ya0xv
YWRlclNlc3Npb25Db29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFjY2VwdFBvbGljeSlw
b2xpY3kKIHsKICAgICBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3Jh
Z2VdIHNldENvb2tpZUFjY2VwdFBvbGljeTpwb2xpY3ldOwogCi0jaWYgVVNFKENGVVJMU1RPUkFH
RVNFU1NJT05TKQogICAgIGlmIChSZXRhaW5QdHI8Q0ZIVFRQQ29va2llU3RvcmFnZVJlZj4gY29v
a2llU3RvcmFnZSA9IGN1cnJlbnRDRkhUVFBDb29raWVTdG9yYWdlKCkpCiAgICAgICAgIFdLU2V0
SFRUUENvb2tpZUFjY2VwdFBvbGljeShjb29raWVTdG9yYWdlLmdldCgpLCBwb2xpY3kpOwotI2Vu
ZGlmCiB9CiAKIC0gKEJPT0wpaXNET01QYXN0ZUFsbG93ZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDEzMzM2NSkKKysrIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjAwMCwxMSArMjAwMCw5IEBA
IC0gKE5TQ2FjaGVkVVJMUmVzcG9uc2UgKilfY2FjaGVkUmVzcG9uc2UKICAgICBOU011dGFibGVV
UkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW1tOU011dGFibGVVUkxSZXF1ZXN0IGFsbG9jXSBpbml0V2l0
aFVSTDpVUkxdOwogICAgIFtyZXF1ZXN0IF93ZWJfc2V0SFRUUFVzZXJBZ2VudDpbc2VsZiB1c2Vy
QWdlbnRGb3JVUkw6VVJMXV07CiAgICAgTlNDYWNoZWRVUkxSZXNwb25zZSAqY2FjaGVkUmVzcG9u
c2U7Ci0jaWYgVVNFKENGVVJMU1RPUkFHRVNFU1NJT05TKQogICAgIGlmIChDRlVSTFN0b3JhZ2VT
ZXNzaW9uUmVmIHN0b3JhZ2VTZXNzaW9uID0gUmVzb3VyY2VIYW5kbGU6OmN1cnJlbnRTdG9yYWdl
U2Vzc2lvbigpKQogICAgICAgICBjYWNoZWRSZXNwb25zZSA9IFdLQ2FjaGVkUmVzcG9uc2VGb3JS
ZXF1ZXN0KHN0b3JhZ2VTZXNzaW9uLCByZXF1ZXN0KTsKICAgICBlbHNlCi0jZW5kaWYKICAgICAg
ICAgY2FjaGVkUmVzcG9uc2UgPSBbW05TVVJMQ2FjaGUgc2hhcmVkVVJMQ2FjaGVdIGNhY2hlZFJl
c3BvbnNlRm9yUmVxdWVzdDpyZXF1ZXN0XTsKICAgICBbcmVxdWVzdCByZWxlYXNlXTsKICAgICBy
ZXR1cm4gY2FjaGVkUmVzcG9uc2U7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>