<?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>10824</bug_id>
          
          <creation_ts>2006-09-12 13:59:57 -0700</creation_ts>
          <short_desc>REGRESSION: &quot;no file selected&quot; placeholder text missing from file upload control</short_desc>
          <delta_ts>2006-09-19 10:39: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>Forms</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>data:text/html,Look:%20&lt;input%20type=&quot;file&quot;&gt;</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Adam Roben (:aroben)">aroben</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>55315</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2006-09-12 13:59:57 -0700</bug_when>
    <thetext>About 50% of the time, the URL renders without the &quot;no file selected&quot; placeholder text. Reloading sometimes makes it appear and sometimes makes it disappear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55770</commentid>
    <comment_count>1</comment_count>
      <attachid>10610</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2006-09-17 16:47:36 -0700</bug_when>
    <thetext>Created attachment 10610
Use a RenderBlock instead of a RenderFlexibleBox to hold the filename

(Fix suggested by Hyatt) This patch fixes the problem by making RenderFileUploadInnerFileBox a subclass of RenderBlock instead of RenderFlexibleBox. Ultimately, we should handle the truncation of the filename in the engine, which would get rid of this problem in a much better way and we wouldn&apos;t need to call updateIconAndFilename() from within layout(). See rdar://problem/4736216 for more info.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55771</commentid>
    <comment_count>2</comment_count>
      <attachid>10611</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2006-09-17 16:49:27 -0700</bug_when>
    <thetext>Created attachment 10611
Same fix, without change to project.pbxproj</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55772</commentid>
    <comment_count>3</comment_count>
      <attachid>10612</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2006-09-17 16:50:22 -0700</bug_when>
    <thetext>Created attachment 10612
For real this time</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55779</commentid>
    <comment_count>4</comment_count>
      <attachid>10612</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2006-09-17 20:49:31 -0700</bug_when>
    <thetext>Comment on attachment 10612
For real this time

Need to update some test results. Coming soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55865</commentid>
    <comment_count>5</comment_count>
      <attachid>10635</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2006-09-18 17:38:30 -0700</bug_when>
    <thetext>Created attachment 10635
Remove RenderFileUploadInnerFileBox and draw text ourselves, update layout tests

This patch takes a completely different approach (also suggested by Hyatt). This does away with RenderFileUploadInnerFileBox and draws the filename text within paintObject() using drawText().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55880</commentid>
    <comment_count>6</comment_count>
      <attachid>10635</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2006-09-18 22:16:59 -0700</bug_when>
    <thetext>Comment on attachment 10635
Remove RenderFileUploadInnerFileBox and draw text ourselves, update layout tests

I think we still need to set white-space: nowrap on the button.  Adam and I discussed this, and he&apos;s going to check that out before checking in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55929</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2006-09-19 10:18:51 -0700</bug_when>
    <thetext>Added back the NOWRAP rule.

WebCore changes landed as r16448. LayoutTests changes landed as r16449.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10610</attachid>
            <date>2006-09-17 16:47:36 -0700</date>
            <delta_ts>2006-09-17 16:49:27 -0700</delta_ts>
            <desc>Use a RenderBlock instead of a RenderFlexibleBox to hold the filename</desc>
            <filename>bugzilla-10824-file-upload-default-text.diff</filename>
            <type>text/plain</type>
            <size>11555</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjQxMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMDYtMDktMTcgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVz
IGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4MjQKKyAg
ICAgICAgIm5vIGZpbGUgc2VsZWN0ZWQiIHBsYWNlaG9sZGVyIHRleHQgbWlzc2luZyBmcm9tIGZp
bGUgdXBsb2FkIGNvbnRyb2wKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3Bw
OiBNYWtlCisgICAgICAgIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCb3ggYSBzdWJjbGFzcyBv
ZiBSZW5kZXJCbG9jayBpbnN0ZWFkIG9mCisgICAgICAgIFJlbmRlckZsZXhpYmxlQm94LCBhbmQg
cmVuYW1lIHRvIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCbG9jay4gQWxzbworICAgICAgICBy
ZW5hbWUgbV9maWxlQm94IHRvIG1fZmlsZUJsb2NrLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RmlsZVVwbG9hZElubmVyRmlsZUJsb2NrOjpyZW5kZXJOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6c2V0U3R5bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnVwZGF0ZUljb25BbmRGaWxlbmFt
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6dXBkYXRlRnJv
bUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6Om1h
eEZpbGVuYW1lV2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRy
b2w6OnBhaW50T2JqZWN0KTogUmVtb3ZlIHJlZHVuZGFudAorICAgICAgICBjaGVjayBvZiBpLnAt
PnBhaW50aW5nRGlzYWJsZWQoKSBub3cgdGhhdCBJY29uOjpwYWludCgpIGRvZXMgaXQuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2s6OlJlbmRlckZpbGVV
cGxvYWRJbm5lckZpbGVCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2Fk
SW5uZXJGaWxlQmxvY2s6OnNldFN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVV
cGxvYWRJbm5lckZpbGVCbG9jazo6bGF5b3V0KTogQWRkIGEgRklYTUUuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2s6OnNldEhhc0ljb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrOjpzZXRGaWxlbmFtZSk6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2Nr
OjpjYWxjTWluTWF4V2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbC5oOiBSZW5hbWUgbV9maWxlQm94IHRvCisgICAgICAgIG1fZmlsZUJsb2NrPgorCiAy
MDA2LTA5LTE3ICBCcmFkeSBFaWRzb24gPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFNhcmdlCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkocmV2aXNpb24gMTY0MDgpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjE1MiwyMyArMjE1Miw2IEBACiAJCUZB
RTA0MTkwMDk3NTk2QzkwMDA1NDBCRSAvKiBTVkdJbWFnZUxvYWRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFFMDQxOEUwOTc1OTZDOTAwMDU0MEJF
IC8qIFNWR0ltYWdlTG9hZGVyLmggKi87IH07CiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24g
Ki8KIAotLyogQmVnaW4gUEJYQnVpbGRTdHlsZSBzZWN0aW9uICovCi0JCUJDRkFENDVGMEFCRDNB
QkEwMEI3NjYzRCAvKiBEZXZlbG9wbWVudCAqLyA9IHsKLQkJCWlzYSA9IFBCWEJ1aWxkU3R5bGU7
Ci0JCQlidWlsZFNldHRpbmdzID0gewotCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKLQkJCX07
Ci0JCQluYW1lID0gRGV2ZWxvcG1lbnQ7Ci0JCX07Ci0JCUJDRkFENDYwMEFCRDNBQkEwMEI3NjYz
RCAvKiBEZXBsb3ltZW50ICovID0gewotCQkJaXNhID0gUEJYQnVpbGRTdHlsZTsKLQkJCWJ1aWxk
U2V0dGluZ3MgPSB7Ci0JCQkJQ09QWV9QSEFTRV9TVFJJUCA9IFlFUzsKLQkJCX07Ci0JCQluYW1l
ID0gRGVwbG95bWVudDsKLQkJfTsKLS8qIEVuZCBQQlhCdWlsZFN0eWxlIHNlY3Rpb24gKi8KLQog
LyogQmVnaW4gUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24gKi8KIAkJREQwNDFGRjAwOUQ5
RTMyNTAwMTBBRjJBIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKIAkJCWlzYSA9IFBC
WENvbnRhaW5lckl0ZW1Qcm94eTsKQEAgLTg0NDAsMTIgKzg0MjMsNiBAQAogCQkwODY3RDY5MEZF
ODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi8gPSB7CiAJCQlpc2EgPSBQQlhQcm9q
ZWN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyODQzMDg5MDJCMTEwMDhBOUVG
QyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIldlYkNvcmUiICov
OwotCQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJCX07Ci0JCQlidWlsZFN0eWxlcyA9ICgKLQkJCQlC
Q0ZBRDQ1RjBBQkQzQUJBMDBCNzY2M0QgLyogRGV2ZWxvcG1lbnQgKi8sCi0JCQkJQkNGQUQ0NjAw
QUJEM0FCQTAwQjc2NjNEIC8qIERlcGxveW1lbnQgKi8sCi0JCQkpOwogCQkJaGFzU2Nhbm5lZEZv
ckVuY29kaW5ncyA9IDE7CiAJCQlrbm93blJlZ2lvbnMgPSAoCiAJCQkJRW5nbGlzaCwKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAJKHJldmlz
aW9uIDE2NDA4KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0Nyw5IEBAIGNvbnN0IGludCBkZWZhdWx0Rmls
ZW5hbWVOdW1DaGFycyA9IDIyOwogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1jbGFz
cyBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94IDogcHVibGljIFJlbmRlckZsZXhpYmxlQm94
IHsKK2NsYXNzIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCbG9jayA6IHB1YmxpYyBSZW5kZXJC
bG9jayB7CiBwdWJsaWM6Ci0gICAgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveChOb2RlKiwg
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wqKTsKKyAgICBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxl
QmxvY2soTm9kZSosIFJlbmRlckZpbGVVcGxvYWRDb250cm9sKik7CiAgICAgCiAgICAgdmlydHVh
bCB2b2lkIHNldFN0eWxlKFJlbmRlclN0eWxlKik7CiAgICAgdmlydHVhbCB2b2lkIGNhbGNNaW5N
YXhXaWR0aCgpOwpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBzZXRG
aWxlbmFtZShjb25zdCBTdHJpbmcmKTsKICAgICAKLSAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJl
bmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveCI7
IH0KKyAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAi
UmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrIjsgfQogICAgIAogcHJpdmF0ZToKICAgICBS
ZW5kZXJGaWxlVXBsb2FkQ29udHJvbCogbV91cGxvYWRDb250cm9sOwpAQCAtODUsNyArODUsNyBA
QCBwcml2YXRlOgogUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OlJlbmRlckZpbGVVcGxvYWRDb250
cm9sKE5vZGUqIG5vZGUpCiAgICAgOiBSZW5kZXJGbGV4aWJsZUJveChub2RlKQogICAgICwgbV9i
dXR0b24oMCkKLSAgICAsIG1fZmlsZUJveCgwKQorICAgICwgbV9maWxlQmxvY2soMCkKICAgICAs
IG1fZmlsZUNob29zZXIobmV3IEZpbGVDaG9vc2VyKGRvY3VtZW50KCksIHRoaXMpKQogewogfQpA
QCAtMTA1LDEwICsxMDUsMTAgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6c2V0U3R5
bGUoUgogICAgIFJlbmRlckZsZXhpYmxlQm94OjpzZXRTdHlsZShzKTsKICAgICBpZiAobV9idXR0
b24pCiAgICAgICAgIG1fYnV0dG9uLT5yZW5kZXJlcigpLT5zZXRTdHlsZShjcmVhdGVCdXR0b25T
dHlsZShzKSk7Ci0gICAgaWYgKG1fZmlsZUJveCkgeworICAgIGlmIChtX2ZpbGVCbG9jaykgewog
ICAgICAgICBSZW5kZXJTdHlsZSogZmlsZUJveFN0eWxlID0gbmV3IChyZW5kZXJBcmVuYSgpKSBS
ZW5kZXJTdHlsZSgpOwogICAgICAgICBmaWxlQm94U3R5bGUtPmluaGVyaXRGcm9tKHMpOwotICAg
ICAgICBtX2ZpbGVCb3gtPnNldFN0eWxlKGZpbGVCb3hTdHlsZSk7CisgICAgICAgIG1fZmlsZUJs
b2NrLT5zZXRTdHlsZShmaWxlQm94U3R5bGUpOwogICAgIH0KICAgICBzZXRSZXBsYWNlZChpc0lu
bGluZSgpKTsKIH0KQEAgLTEyMywxMiArMTIzLDEyIEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENv
bnRyb2w6OnZhbHVlQ2hhbmcKIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnVwZGF0ZUlj
b25BbmRGaWxlbmFtZSgpCiB7CiAgICAgaWYgKG1fZmlsZUNob29zZXItPmljb24oKSkKLSAgICAg
ICAgbV9maWxlQm94LT5zZXRIYXNJY29uKCk7CisgICAgICAgIG1fZmlsZUJsb2NrLT5zZXRIYXNJ
Y29uKCk7CiAgICAgZWxzZQotICAgICAgICBtX2ZpbGVCb3gtPnNldEhhc0ljb24oZmFsc2UpOwor
ICAgICAgICBtX2ZpbGVCbG9jay0+c2V0SGFzSWNvbihmYWxzZSk7CiAgICAgCiAgICAgLy8gRklY
TUU6IFdlIGRvbid0IGFjdHVhbGx5IHNlZW0gdG8gdHJ1bmNhdGUgdGhlIHN0cmluZyB3aGVuIG91
ciB3aWR0aCBpcyBsZXNzIHRoYW4gdGhlIGJ1dHRvbiB3aWR0aCBhbmQgd2UncmUgaW4gUlRMCi0g
ICAgbV9maWxlQm94LT5zZXRGaWxlbmFtZShtX2ZpbGVDaG9vc2VyLT5iYXNlbmFtZUZvcldpZHRo
KG1heEZpbGVuYW1lV2lkdGgoKSkpOworICAgIG1fZmlsZUJsb2NrLT5zZXRGaWxlbmFtZShtX2Zp
bGVDaG9vc2VyLT5iYXNlbmFtZUZvcldpZHRoKG1heEZpbGVuYW1lV2lkdGgoKSkpOwogfQogCiB2
b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpjbGljayhib29sIHNlbmRNb3VzZUV2ZW50cykK
QEAgLTE1MCwxMiArMTUwLDEyIEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnVwZGF0
ZUZyb20KICAgICAgICAgYWRkQ2hpbGQobV9idXR0b24tPnJlbmRlcmVyKCkpOwogICAgIH0KIAot
ICAgIGlmICghbV9maWxlQm94KSB7Ci0gICAgICAgIG1fZmlsZUJveCA9IG5ldyAocmVuZGVyQXJl
bmEoKSkgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveChkb2N1bWVudCgpLCB0aGlzKTsKKyAg
ICBpZiAoIW1fZmlsZUJsb2NrKSB7CisgICAgICAgIG1fZmlsZUJsb2NrID0gbmV3IChyZW5kZXJB
cmVuYSgpKSBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2soZG9jdW1lbnQoKSwgdGhpcyk7
CiAgICAgICAgIFJlbmRlclN0eWxlKiBmaWxlQm94U3R5bGUgPSBuZXcgKHJlbmRlckFyZW5hKCkp
IFJlbmRlclN0eWxlKCk7CiAgICAgICAgIGZpbGVCb3hTdHlsZS0+aW5oZXJpdEZyb20oc3R5bGUo
KSk7Ci0gICAgICAgIG1fZmlsZUJveC0+c2V0U3R5bGUoZmlsZUJveFN0eWxlKTsKLSAgICAgICAg
YWRkQ2hpbGQobV9maWxlQm94KTsKKyAgICAgICAgbV9maWxlQmxvY2stPnNldFN0eWxlKGZpbGVC
b3hTdHlsZSk7CisgICAgICAgIGFkZENoaWxkKG1fZmlsZUJsb2NrKTsKICAgICB9CiAKICAgICB1
cGRhdGVJY29uQW5kRmlsZW5hbWUoKTsKQEAgLTE2Myw3ICsxNjMsNyBAQCB2b2lkIFJlbmRlckZp
bGVVcGxvYWRDb250cm9sOjp1cGRhdGVGcm9tCiAKIGludCBSZW5kZXJGaWxlVXBsb2FkQ29udHJv
bDo6bWF4RmlsZW5hbWVXaWR0aCgpCiB7Ci0gICAgcmV0dXJuIG1heCgwLCBtX2ZpbGVCb3gtPmNv
bnRlbnRXaWR0aCgpKTsKKyAgICByZXR1cm4gbWF4KDAsIG1fZmlsZUJsb2NrLT5jb250ZW50V2lk
dGgoKSk7CiB9CiAKIFJlbmRlclN0eWxlKiBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y3JlYXRl
QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKQpAQCAtMTg3LDExICsxODcsNiBA
QCBSZW5kZXJTdHlsZSogUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNyCiAKIHZvaWQgUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2w6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgaSwgaW50IHR4LCBpbnQg
dHkpCiB7Ci0gICAgLy8gU2luY2Ugd2UgZHJhdyB0aGUgZmlsZSBpY29uIHdpdGhvdXQgZ29pbmcg
dGhyb3VnaCB0aGUgZ3JhcGhpY3MgY29udGV4dCwKLSAgICAvLyB3ZSBuZWVkIHRvIG1ha2Ugc3Vy
ZSBwYWludGluZyBpcyBub3QgZGlzYWJsZWQgYmVmb3JlIGRyYXdpbmcKLSAgICBpZiAoaS5wLT5w
YWludGluZ0Rpc2FibGVkKCkpCi0gICAgICAgIHJldHVybjsKLSAgICAKICAgICAvLyBQdXNoIGEg
Y2xpcC4KICAgICBpZiAoaS5waGFzZSA9PSBQYWludFBoYXNlRm9yZWdyb3VuZCB8fCBpLnBoYXNl
ID09IFBhaW50UGhhc2VDaGlsZEJsb2NrQmFja2dyb3VuZHMpIHsKICAgICAgICAgSW50UmVjdCBj
bGlwUmVjdCh0eCArIGJvcmRlckxlZnQoKSwgdHkgKyBib3JkZXJUb3AoKSwKQEAgLTIwNCwxMiAr
MTk5LDEyIEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnBhaW50T2JqZWMKICAgICAK
ICAgICBpZiAoaS5waGFzZSA9PSBQYWludFBoYXNlRm9yZWdyb3VuZCAmJiBtX2ZpbGVDaG9vc2Vy
LT5pY29uKCkpIHsKICAgICAgICAgLy8gRHJhdyB0aGUgZmlsZSBpY29uCi0gICAgICAgIGludCB0
b3AgPSBtX2ZpbGVCb3gtPmFic29sdXRlQm91bmRpbmdCb3hSZWN0KCkueSgpICsgKG1fZmlsZUJv
eC0+YWJzb2x1dGVCb3VuZGluZ0JveFJlY3QoKS5oZWlnaHQoKSAtIGljb25IZWlnaHQpIC8gMjsK
KyAgICAgICAgaW50IHRvcCA9IG1fZmlsZUJsb2NrLT5hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdCgp
LnkoKSArIChtX2ZpbGVCbG9jay0+YWJzb2x1dGVCb3VuZGluZ0JveFJlY3QoKS5oZWlnaHQoKSAt
IGljb25IZWlnaHQpIC8gMjsKICAgICAgICAgaW50IGxlZnQ7CiAgICAgICAgIGlmIChzdHlsZSgp
LT5kaXJlY3Rpb24oKSA9PSBMVFIpCi0gICAgICAgICAgICBsZWZ0ID0gbV9maWxlQm94LT5hYnNv
bHV0ZUJvdW5kaW5nQm94UmVjdCgpLngoKSArIGFmdGVyQnV0dG9uU3BhY2luZzsKKyAgICAgICAg
ICAgIGxlZnQgPSBtX2ZpbGVCbG9jay0+YWJzb2x1dGVCb3VuZGluZ0JveFJlY3QoKS54KCkgKyBh
ZnRlckJ1dHRvblNwYWNpbmc7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxlZnQgPSBtX2Zp
bGVCb3gtPmFic29sdXRlQm91bmRpbmdCb3hSZWN0KCkucmlnaHQoKSAtIGFmdGVyQnV0dG9uU3Bh
Y2luZyAtIGljb25XaWR0aDsKKyAgICAgICAgICAgIGxlZnQgPSBtX2ZpbGVCbG9jay0+YWJzb2x1
dGVCb3VuZGluZ0JveFJlY3QoKS5yaWdodCgpIC0gYWZ0ZXJCdXR0b25TcGFjaW5nIC0gaWNvbldp
ZHRoOwogICAgICAgICBtX2ZpbGVDaG9vc2VyLT5pY29uKCktPnBhaW50KGkucCwgSW50UmVjdChs
ZWZ0LCB0b3AsIGljb25XaWR0aCwgaWNvbkhlaWdodCkpOwogICAgIH0KICAgICAKQEAgLTIyMSwx
NCArMjE2LDE0IEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnBhaW50T2JqZWMKICAg
ICAgICAgaS5wLT5yZXN0b3JlKCk7CiB9CiAKLVJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCb3g6
OlJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCb3goTm9kZSogbm9kZSwgUmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2wqIHVwbG9hZENvbnRyb2wpCi0gICAgOiBSZW5kZXJGbGV4aWJsZUJveChub2RlKQor
UmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrOjpSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxl
QmxvY2soTm9kZSogbm9kZSwgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wqIHVwbG9hZENvbnRyb2wp
CisgICAgOiBSZW5kZXJCbG9jayhub2RlKQogICAgICwgbV91cGxvYWRDb250cm9sKHVwbG9hZENv
bnRyb2wpCiAgICAgLCBtX2ZpbGVuYW1lVGV4dCgwKQogewogfQogCi12b2lkIFJlbmRlckZpbGVV
cGxvYWRJbm5lckZpbGVCb3g6OnNldFN0eWxlKFJlbmRlclN0eWxlKiBzKQordm9pZCBSZW5kZXJG
aWxlVXBsb2FkSW5uZXJGaWxlQmxvY2s6OnNldFN0eWxlKFJlbmRlclN0eWxlKiBzKQogewogICAg
IGlmIChtX2ZpbGVuYW1lVGV4dCkKICAgICAgICAgbV9maWxlbmFtZVRleHQtPnNldFN0eWxlKHMp
OwpAQCAtMjQ0LDE5ICsyMzksMjMgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94
OjpzZXRTdAogICAgIAogICAgIHNldFJlcGxhY2VkKGlzSW5saW5lKCkpOwogICAgIAotICAgIFJl
bmRlckZsZXhpYmxlQm94OjpzZXRTdHlsZShzKTsKKyAgICBSZW5kZXJCbG9jazo6c2V0U3R5bGUo
cyk7CiB9CiAKLXZvaWQgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveDo6bGF5b3V0KCkKK3Zv
aWQgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrOjpsYXlvdXQoKQogewotICAgIFJlbmRl
ckZsZXhpYmxlQm94OjpsYXlvdXQoKTsKKyAgICBSZW5kZXJCbG9jazo6bGF5b3V0KCk7CiAgICAg
CiAgICAgQVNTRVJUKG1pbk1heEtub3duKCkpOwotICAgIC8vIFdlIHNob3VsZCBrbm93IG91ciB3
aWR0aCBub3csIHNvIGRpc3BsYXkgdGhlIGZpbGVuYW1lCisgICAgLy8gV2Ugc2hvdWxkIGtub3cg
b3VyIHdpZHRoIG5vdywgc28gdXBkYXRlIHRoZSAocG9zc2libHkgdHJ1bmNhdGVkKSBmaWxlbmFt
ZQorICAgIC8vIEZJWE1FOiA8cmRhcjovL3Byb2JsZW0vNDczNjIxNj4gVGhpcyBjYWxsIHRyaWVz
IHRvIGZvcmNlIGFub3RoZXIgbGF5b3V0CisgICAgLy8gKGJ5IGNhbGxpbmcgc2V0VGV4dCgpKSwg
YnV0IHNpbmNlIHdlJ3JlIGN1cnJlbnRseSBkb2luZyBhIGxheW91dCBpdCBtYXkgbm90CisgICAg
Ly8gd29yayBhcyBleHBlY3RlZC4gSWRlYWxseSB0aGUgZW5naW5lIHdvdWxkIGhhbmRsZSB0aGUg
Y2VudGVyLXRydW5jYXRpb24gb2YKKyAgICAvLyB0aGUgZmlsZW5hbWUgZm9yIHVzLgogICAgIG1f
dXBsb2FkQ29udHJvbC0+dXBkYXRlSWNvbkFuZEZpbGVuYW1lKCk7CiB9CiAKLXZvaWQgUmVuZGVy
RmlsZVVwbG9hZElubmVyRmlsZUJveDo6c2V0SGFzSWNvbihib29sIGhhc0ljb24pCit2b2lkIFJl
bmRlckZpbGVVcGxvYWRJbm5lckZpbGVCbG9jazo6c2V0SGFzSWNvbihib29sIGhhc0ljb24pCiB7
CiAgICAgaW50IHBhZGRpbmcgPSBhZnRlckJ1dHRvblNwYWNpbmc7CiAgICAgCkBAIC0yNjksNyAr
MjY4LDcgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94OjpzZXRIYQogICAgICAg
ICBzdHlsZSgpLT5zZXRQYWRkaW5nUmlnaHQoTGVuZ3RoKHBhZGRpbmcsIEZpeGVkKSk7CiB9CiAK
LXZvaWQgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveDo6c2V0RmlsZW5hbWUoY29uc3QgU3Ry
aW5nJiBmaWxlbmFtZSkKK3ZvaWQgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrOjpzZXRG
aWxlbmFtZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQogewogICAgIGlmICghbV9maWxlbmFtZVRl
eHQpIHsKICAgICAgICAgbV9maWxlbmFtZVRleHQgPSBuZXcgKHJlbmRlckFyZW5hKCkpIFJlbmRl
clRleHQoZG9jdW1lbnQoKSwgU3RyaW5nKCIiKS5pbXBsKCkpOwpAQCAtMjgwLDExICsyNzksMTIg
QEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94OjpzZXRGaQogICAgIGlmIChmaWxl
bmFtZSAhPSBtX2ZpbGVuYW1lKSB7CiAgICAgICAgIG1fZmlsZW5hbWVUZXh0LT5zZXRUZXh0KGZp
bGVuYW1lLmltcGwoKSk7CiAgICAgICAgIG1fZmlsZW5hbWUgPSBmaWxlbmFtZTsKKyAgICAgICAg
Ly8gRklYTUU6IE9uY2UgPHJkYXI6Ly9wcm9ibGVtLzQ3MzYyMTY+IGlzIHJlc29sdmVkLCB3ZSBz
aG91bGQgcmVtb3ZlIHRoaXMgaGFja2lzaCBjYWxsIHRvIHNldENoYW5nZWQoKS4KICAgICAgICAg
bV91cGxvYWRDb250cm9sLT5ub2RlKCktPnNldENoYW5nZWQoKTsKICAgICB9CiB9CiAKLXZvaWQg
UmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveDo6Y2FsY01pbk1heFdpZHRoKCkKK3ZvaWQgUmVu
ZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrOjpjYWxjTWluTWF4V2lkdGgoKQogewogICAgIG1f
bWluV2lkdGggPSAwOwogICAgIG1fbWF4V2lkdGggPSAwOwpJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oCShyZXZpc2lvbiAxNjQwOCkKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmgJKHdvcmtpbmcgY29weSkKQEAg
LTI5LDcgKzI5LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTEZpbGVVcGxv
YWRJbm5lckJ1dHRvbkVsZW1lbnQ7Ci1jbGFzcyBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94
OworY2xhc3MgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrOwogICAgIAogLy8gUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2xzIGNvbnRhaW4gYSBSZW5kZXJCdXR0b24gKGZvciBvcGVuaW5nIHRo
ZSBmaWxlIGNob29zZXIpLCBhbmQKIC8vIGEgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveCAo
d2hpY2ggY29udGFpbnMgYSBSZW5kZXJUZXh0IGZvciB0aGUgZmlsZW5hbWUgYW5kIHN1ZmZpY2ll
bnQgcGFkZGluZyB0byBkcmF3IGEgZmlsZSBpY29uKS4KQEAgLTU2LDcgKzU2LDcgQEAgcHJvdGVj
dGVkOgogICAgIFJlbmRlclN0eWxlKiBjcmVhdGVCdXR0b25TdHlsZShSZW5kZXJTdHlsZSogcGFy
ZW50U3R5bGUgPSAwKTsKICAgICAKICAgICBSZWZQdHI8SFRNTEZpbGVVcGxvYWRJbm5lckJ1dHRv
bkVsZW1lbnQ+IG1fYnV0dG9uOwotICAgIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCb3gqIG1f
ZmlsZUJveDsKKyAgICBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2sqIG1fZmlsZUJsb2Nr
OwogICAgIEZpbGVDaG9vc2VyKiBtX2ZpbGVDaG9vc2VyOwogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10611</attachid>
            <date>2006-09-17 16:49:27 -0700</date>
            <delta_ts>2006-09-17 16:50:22 -0700</delta_ts>
            <desc>Same fix, without change to project.pbxproj</desc>
            <filename>bugzilla-10824-file-upload-default-text.diff</filename>
            <type>text/plain</type>
            <size>11509</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjQxMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzEgQEAKKzIwMDYtMDktMTcgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVz
IGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4MjQKKyAg
ICAgICAgIm5vIGZpbGUgc2VsZWN0ZWQiIHBsYWNlaG9sZGVyIHRleHQgbWlzc2luZyBmcm9tIGZp
bGUgdXBsb2FkIGNvbnRyb2wKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbC5jcHA6IE1ha2UKKyAgICAgICAgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveCBh
IHN1YmNsYXNzIG9mIFJlbmRlckJsb2NrIGluc3RlYWQgb2YKKyAgICAgICAgUmVuZGVyRmxleGli
bGVCb3gsIGFuZCByZW5hbWUgdG8gUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrLiBBbHNv
CisgICAgICAgIHJlbmFtZSBtX2ZpbGVCb3ggdG8gbV9maWxlQmxvY2suCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2s6OnJlbmRlck5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OlJlbmRlckZpbGVVcGxvYWRDb250
cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpzZXRTdHls
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6dXBkYXRlSWNv
bkFuZEZpbGVuYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxvYWRDb250cm9s
Ojp1cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbDo6bWF4RmlsZW5hbWVXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxl
VXBsb2FkQ29udHJvbDo6cGFpbnRPYmplY3QpOiBSZW1vdmUgcmVkdW5kYW50CisgICAgICAgIGNo
ZWNrIG9mIGkucC0+cGFpbnRpbmdEaXNhYmxlZCgpIG5vdyB0aGF0IEljb246OnBhaW50KCkgZG9l
cyBpdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCbG9jazo6
UmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZpbGVVcGxvYWRJbm5lckZpbGVCbG9jazo6c2V0U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrOjpsYXlvdXQpOiBBZGQgYSBGSVhNRS4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCbG9jazo6c2V0SGFzSWNv
bik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2s6OnNl
dEZpbGVuYW1lKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkSW5u
ZXJGaWxlQmxvY2s6OmNhbGNNaW5NYXhXaWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckZpbGVVcGxvYWRDb250cm9sLmg6IFJlbmFtZSBtX2ZpbGVCb3ggdG8KKyAgICAgICAgbV9maWxl
QmxvY2s+CisKIDIwMDYtMDktMTcgIEJyYWR5IEVpZHNvbiA8YmVpZHNvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgU2FyZ2UKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNjQwOCkKKysrIFdlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMTUyLDIzICsyMTUy
LDYgQEAKIAkJRkFFMDQxOTAwOTc1OTZDOTAwMDU0MEJFIC8qIFNWR0ltYWdlTG9hZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUUwNDE4RTA5NzU5
NkM5MDAwNTQwQkUgLyogU1ZHSW1hZ2VMb2FkZXIuaCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZp
bGUgc2VjdGlvbiAqLwogCi0vKiBCZWdpbiBQQlhCdWlsZFN0eWxlIHNlY3Rpb24gKi8KLQkJQkNG
QUQ0NUYwQUJEM0FCQTAwQjc2NjNEIC8qIERldmVsb3BtZW50ICovID0gewotCQkJaXNhID0gUEJY
QnVpbGRTdHlsZTsKLQkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQkJQ09QWV9QSEFTRV9TVFJJUCA9
IE5POwotCQkJfTsKLQkJCW5hbWUgPSBEZXZlbG9wbWVudDsKLQkJfTsKLQkJQkNGQUQ0NjAwQUJE
M0FCQTAwQjc2NjNEIC8qIERlcGxveW1lbnQgKi8gPSB7Ci0JCQlpc2EgPSBQQlhCdWlsZFN0eWxl
OwotCQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJCQlDT1BZX1BIQVNFX1NUUklQID0gWUVTOwotCQkJ
fTsKLQkJCW5hbWUgPSBEZXBsb3ltZW50OwotCQl9OwotLyogRW5kIFBCWEJ1aWxkU3R5bGUgc2Vj
dGlvbiAqLwotCiAvKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwogCQlE
RDA0MUZGMDA5RDlFMzI1MDAxMEFGMkEgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0gewog
CQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OwpAQCAtODQ0MCwxMiArODQyMyw2IEBACiAJ
CTA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLyA9IHsKIAkJCWlz
YSA9IFBCWFByb2plY3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQ5QzI4NDMwODkw
MkIxMTAwOEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAi
V2ViQ29yZSIgKi87Ci0JCQlidWlsZFNldHRpbmdzID0gewotCQkJfTsKLQkJCWJ1aWxkU3R5bGVz
ID0gKAotCQkJCUJDRkFENDVGMEFCRDNBQkEwMEI3NjYzRCAvKiBEZXZlbG9wbWVudCAqLywKLQkJ
CQlCQ0ZBRDQ2MDBBQkQzQUJBMDBCNzY2M0QgLyogRGVwbG95bWVudCAqLywKLQkJCSk7CiAJCQlo
YXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMTsKIAkJCWtub3duUmVnaW9ucyA9ICgKIAkJCQlFbmds
aXNoLApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9s
LmNwcAkocmV2aXNpb24gMTY0MDgpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBs
b2FkQ29udHJvbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDkgKzQ3LDkgQEAgY29uc3QgaW50
IGRlZmF1bHRGaWxlbmFtZU51bUNoYXJzID0gMjI7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFt
ZXM7CiAKLWNsYXNzIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCb3ggOiBwdWJsaWMgUmVuZGVy
RmxleGlibGVCb3ggeworY2xhc3MgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrIDogcHVi
bGljIFJlbmRlckJsb2NrIHsKIHB1YmxpYzoKLSAgICBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxl
Qm94KE5vZGUqLCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbCopOworICAgIFJlbmRlckZpbGVVcGxv
YWRJbm5lckZpbGVCbG9jayhOb2RlKiwgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wqKTsKICAgICAK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0U3R5bGUoUmVuZGVyU3R5bGUqKTsKICAgICB2aXJ0dWFsIHZv
aWQgY2FsY01pbk1heFdpZHRoKCk7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICAKICAg
ICB2b2lkIHNldEZpbGVuYW1lKGNvbnN0IFN0cmluZyYpOwogICAgIAotICAgIHZpcnR1YWwgY29u
c3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJGaWxlVXBsb2FkSW5u
ZXJGaWxlQm94IjsgfQorICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0
IHsgcmV0dXJuICJSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2siOyB9CiAgICAgCiBwcml2
YXRlOgogICAgIFJlbmRlckZpbGVVcGxvYWRDb250cm9sKiBtX3VwbG9hZENvbnRyb2w7CkBAIC04
NSw3ICs4NSw3IEBAIHByaXZhdGU6CiBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6UmVuZGVyRmls
ZVVwbG9hZENvbnRyb2woTm9kZSogbm9kZSkKICAgICA6IFJlbmRlckZsZXhpYmxlQm94KG5vZGUp
CiAgICAgLCBtX2J1dHRvbigwKQotICAgICwgbV9maWxlQm94KDApCisgICAgLCBtX2ZpbGVCbG9j
aygwKQogICAgICwgbV9maWxlQ2hvb3NlcihuZXcgRmlsZUNob29zZXIoZG9jdW1lbnQoKSwgdGhp
cykpCiB7CiB9CkBAIC0xMDUsMTAgKzEwNSwxMCBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250
cm9sOjpzZXRTdHlsZShSCiAgICAgUmVuZGVyRmxleGlibGVCb3g6OnNldFN0eWxlKHMpOwogICAg
IGlmIChtX2J1dHRvbikKICAgICAgICAgbV9idXR0b24tPnJlbmRlcmVyKCktPnNldFN0eWxlKGNy
ZWF0ZUJ1dHRvblN0eWxlKHMpKTsKLSAgICBpZiAobV9maWxlQm94KSB7CisgICAgaWYgKG1fZmls
ZUJsb2NrKSB7CiAgICAgICAgIFJlbmRlclN0eWxlKiBmaWxlQm94U3R5bGUgPSBuZXcgKHJlbmRl
ckFyZW5hKCkpIFJlbmRlclN0eWxlKCk7CiAgICAgICAgIGZpbGVCb3hTdHlsZS0+aW5oZXJpdEZy
b20ocyk7Ci0gICAgICAgIG1fZmlsZUJveC0+c2V0U3R5bGUoZmlsZUJveFN0eWxlKTsKKyAgICAg
ICAgbV9maWxlQmxvY2stPnNldFN0eWxlKGZpbGVCb3hTdHlsZSk7CiAgICAgfQogICAgIHNldFJl
cGxhY2VkKGlzSW5saW5lKCkpOwogfQpAQCAtMTIzLDEyICsxMjMsMTIgQEAgdm9pZCBSZW5kZXJG
aWxlVXBsb2FkQ29udHJvbDo6dmFsdWVDaGFuZwogdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJv
bDo6dXBkYXRlSWNvbkFuZEZpbGVuYW1lKCkKIHsKICAgICBpZiAobV9maWxlQ2hvb3Nlci0+aWNv
bigpKQotICAgICAgICBtX2ZpbGVCb3gtPnNldEhhc0ljb24oKTsKKyAgICAgICAgbV9maWxlQmxv
Y2stPnNldEhhc0ljb24oKTsKICAgICBlbHNlCi0gICAgICAgIG1fZmlsZUJveC0+c2V0SGFzSWNv
bihmYWxzZSk7CisgICAgICAgIG1fZmlsZUJsb2NrLT5zZXRIYXNJY29uKGZhbHNlKTsKICAgICAK
ICAgICAvLyBGSVhNRTogV2UgZG9uJ3QgYWN0dWFsbHkgc2VlbSB0byB0cnVuY2F0ZSB0aGUgc3Ry
aW5nIHdoZW4gb3VyIHdpZHRoIGlzIGxlc3MgdGhhbiB0aGUgYnV0dG9uIHdpZHRoIGFuZCB3ZSdy
ZSBpbiBSVEwKLSAgICBtX2ZpbGVCb3gtPnNldEZpbGVuYW1lKG1fZmlsZUNob29zZXItPmJhc2Vu
YW1lRm9yV2lkdGgobWF4RmlsZW5hbWVXaWR0aCgpKSk7CisgICAgbV9maWxlQmxvY2stPnNldEZp
bGVuYW1lKG1fZmlsZUNob29zZXItPmJhc2VuYW1lRm9yV2lkdGgobWF4RmlsZW5hbWVXaWR0aCgp
KSk7CiB9CiAKIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNsaWNrKGJvb2wgc2VuZE1v
dXNlRXZlbnRzKQpAQCAtMTUwLDEyICsxNTAsMTIgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbDo6dXBkYXRlRnJvbQogICAgICAgICBhZGRDaGlsZChtX2J1dHRvbi0+cmVuZGVyZXIoKSk7
CiAgICAgfQogCi0gICAgaWYgKCFtX2ZpbGVCb3gpIHsKLSAgICAgICAgbV9maWxlQm94ID0gbmV3
IChyZW5kZXJBcmVuYSgpKSBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94KGRvY3VtZW50KCks
IHRoaXMpOworICAgIGlmICghbV9maWxlQmxvY2spIHsKKyAgICAgICAgbV9maWxlQmxvY2sgPSBu
ZXcgKHJlbmRlckFyZW5hKCkpIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCbG9jayhkb2N1bWVu
dCgpLCB0aGlzKTsKICAgICAgICAgUmVuZGVyU3R5bGUqIGZpbGVCb3hTdHlsZSA9IG5ldyAocmVu
ZGVyQXJlbmEoKSkgUmVuZGVyU3R5bGUoKTsKICAgICAgICAgZmlsZUJveFN0eWxlLT5pbmhlcml0
RnJvbShzdHlsZSgpKTsKLSAgICAgICAgbV9maWxlQm94LT5zZXRTdHlsZShmaWxlQm94U3R5bGUp
OwotICAgICAgICBhZGRDaGlsZChtX2ZpbGVCb3gpOworICAgICAgICBtX2ZpbGVCbG9jay0+c2V0
U3R5bGUoZmlsZUJveFN0eWxlKTsKKyAgICAgICAgYWRkQ2hpbGQobV9maWxlQmxvY2spOwogICAg
IH0KIAogICAgIHVwZGF0ZUljb25BbmRGaWxlbmFtZSgpOwpAQCAtMTYzLDcgKzE2Myw3IEBAIHZv
aWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnVwZGF0ZUZyb20KIAogaW50IFJlbmRlckZpbGVV
cGxvYWRDb250cm9sOjptYXhGaWxlbmFtZVdpZHRoKCkKIHsKLSAgICByZXR1cm4gbWF4KDAsIG1f
ZmlsZUJveC0+Y29udGVudFdpZHRoKCkpOworICAgIHJldHVybiBtYXgoMCwgbV9maWxlQmxvY2st
PmNvbnRlbnRXaWR0aCgpKTsKIH0KIAogUmVuZGVyU3R5bGUqIFJlbmRlckZpbGVVcGxvYWRDb250
cm9sOjpjcmVhdGVCdXR0b25TdHlsZShSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpCkBAIC0xODcs
MTEgKzE4Nyw2IEBAIFJlbmRlclN0eWxlKiBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y3IKIAog
dm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBpLCBp
bnQgdHgsIGludCB0eSkKIHsKLSAgICAvLyBTaW5jZSB3ZSBkcmF3IHRoZSBmaWxlIGljb24gd2l0
aG91dCBnb2luZyB0aHJvdWdoIHRoZSBncmFwaGljcyBjb250ZXh0LAotICAgIC8vIHdlIG5lZWQg
dG8gbWFrZSBzdXJlIHBhaW50aW5nIGlzIG5vdCBkaXNhYmxlZCBiZWZvcmUgZHJhd2luZwotICAg
IGlmIChpLnAtPnBhaW50aW5nRGlzYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIAogICAg
IC8vIFB1c2ggYSBjbGlwLgogICAgIGlmIChpLnBoYXNlID09IFBhaW50UGhhc2VGb3JlZ3JvdW5k
IHx8IGkucGhhc2UgPT0gUGFpbnRQaGFzZUNoaWxkQmxvY2tCYWNrZ3JvdW5kcykgewogICAgICAg
ICBJbnRSZWN0IGNsaXBSZWN0KHR4ICsgYm9yZGVyTGVmdCgpLCB0eSArIGJvcmRlclRvcCgpLApA
QCAtMjA0LDEyICsxOTksMTIgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6cGFpbnRP
YmplYwogICAgIAogICAgIGlmIChpLnBoYXNlID09IFBhaW50UGhhc2VGb3JlZ3JvdW5kICYmIG1f
ZmlsZUNob29zZXItPmljb24oKSkgewogICAgICAgICAvLyBEcmF3IHRoZSBmaWxlIGljb24KLSAg
ICAgICAgaW50IHRvcCA9IG1fZmlsZUJveC0+YWJzb2x1dGVCb3VuZGluZ0JveFJlY3QoKS55KCkg
KyAobV9maWxlQm94LT5hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdCgpLmhlaWdodCgpIC0gaWNvbkhl
aWdodCkgLyAyOworICAgICAgICBpbnQgdG9wID0gbV9maWxlQmxvY2stPmFic29sdXRlQm91bmRp
bmdCb3hSZWN0KCkueSgpICsgKG1fZmlsZUJsb2NrLT5hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdCgp
LmhlaWdodCgpIC0gaWNvbkhlaWdodCkgLyAyOwogICAgICAgICBpbnQgbGVmdDsKICAgICAgICAg
aWYgKHN0eWxlKCktPmRpcmVjdGlvbigpID09IExUUikKLSAgICAgICAgICAgIGxlZnQgPSBtX2Zp
bGVCb3gtPmFic29sdXRlQm91bmRpbmdCb3hSZWN0KCkueCgpICsgYWZ0ZXJCdXR0b25TcGFjaW5n
OworICAgICAgICAgICAgbGVmdCA9IG1fZmlsZUJsb2NrLT5hYnNvbHV0ZUJvdW5kaW5nQm94UmVj
dCgpLngoKSArIGFmdGVyQnV0dG9uU3BhY2luZzsKICAgICAgICAgZWxzZQotICAgICAgICAgICAg
bGVmdCA9IG1fZmlsZUJveC0+YWJzb2x1dGVCb3VuZGluZ0JveFJlY3QoKS5yaWdodCgpIC0gYWZ0
ZXJCdXR0b25TcGFjaW5nIC0gaWNvbldpZHRoOworICAgICAgICAgICAgbGVmdCA9IG1fZmlsZUJs
b2NrLT5hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdCgpLnJpZ2h0KCkgLSBhZnRlckJ1dHRvblNwYWNp
bmcgLSBpY29uV2lkdGg7CiAgICAgICAgIG1fZmlsZUNob29zZXItPmljb24oKS0+cGFpbnQoaS5w
LCBJbnRSZWN0KGxlZnQsIHRvcCwgaWNvbldpZHRoLCBpY29uSGVpZ2h0KSk7CiAgICAgfQogICAg
IApAQCAtMjIxLDE0ICsyMTYsMTQgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6cGFp
bnRPYmplYwogICAgICAgICBpLnAtPnJlc3RvcmUoKTsKIH0KIAotUmVuZGVyRmlsZVVwbG9hZElu
bmVyRmlsZUJveDo6UmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveChOb2RlKiBub2RlLCBSZW5k
ZXJGaWxlVXBsb2FkQ29udHJvbCogdXBsb2FkQ29udHJvbCkKLSAgICA6IFJlbmRlckZsZXhpYmxl
Qm94KG5vZGUpCitSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2s6OlJlbmRlckZpbGVVcGxv
YWRJbm5lckZpbGVCbG9jayhOb2RlKiBub2RlLCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbCogdXBs
b2FkQ29udHJvbCkKKyAgICA6IFJlbmRlckJsb2NrKG5vZGUpCiAgICAgLCBtX3VwbG9hZENvbnRy
b2wodXBsb2FkQ29udHJvbCkKICAgICAsIG1fZmlsZW5hbWVUZXh0KDApCiB7CiB9CiAKLXZvaWQg
UmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveDo6c2V0U3R5bGUoUmVuZGVyU3R5bGUqIHMpCit2
b2lkIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCbG9jazo6c2V0U3R5bGUoUmVuZGVyU3R5bGUq
IHMpCiB7CiAgICAgaWYgKG1fZmlsZW5hbWVUZXh0KQogICAgICAgICBtX2ZpbGVuYW1lVGV4dC0+
c2V0U3R5bGUocyk7CkBAIC0yNDQsMTkgKzIzOSwyMyBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRJ
bm5lckZpbGVCb3g6OnNldFN0CiAgICAgCiAgICAgc2V0UmVwbGFjZWQoaXNJbmxpbmUoKSk7CiAg
ICAgCi0gICAgUmVuZGVyRmxleGlibGVCb3g6OnNldFN0eWxlKHMpOworICAgIFJlbmRlckJsb2Nr
OjpzZXRTdHlsZShzKTsKIH0KIAotdm9pZCBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94Ojps
YXlvdXQoKQordm9pZCBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2s6OmxheW91dCgpCiB7
Ci0gICAgUmVuZGVyRmxleGlibGVCb3g6OmxheW91dCgpOworICAgIFJlbmRlckJsb2NrOjpsYXlv
dXQoKTsKICAgICAKICAgICBBU1NFUlQobWluTWF4S25vd24oKSk7Ci0gICAgLy8gV2Ugc2hvdWxk
IGtub3cgb3VyIHdpZHRoIG5vdywgc28gZGlzcGxheSB0aGUgZmlsZW5hbWUKKyAgICAvLyBXZSBz
aG91bGQga25vdyBvdXIgd2lkdGggbm93LCBzbyB1cGRhdGUgdGhlIChwb3NzaWJseSB0cnVuY2F0
ZWQpIGZpbGVuYW1lCisgICAgLy8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS80NzM2MjE2PiBUaGlz
IGNhbGwgdHJpZXMgdG8gZm9yY2UgYW5vdGhlciBsYXlvdXQKKyAgICAvLyAoYnkgY2FsbGluZyBz
ZXRUZXh0KCkpLCBidXQgc2luY2Ugd2UncmUgY3VycmVudGx5IGRvaW5nIGEgbGF5b3V0IGl0IG1h
eSBub3QKKyAgICAvLyB3b3JrIGFzIGV4cGVjdGVkLiBJZGVhbGx5IHRoZSBlbmdpbmUgd291bGQg
aGFuZGxlIHRoZSBjZW50ZXItdHJ1bmNhdGlvbiBvZgorICAgIC8vIHRoZSBmaWxlbmFtZSBmb3Ig
dXMuCiAgICAgbV91cGxvYWRDb250cm9sLT51cGRhdGVJY29uQW5kRmlsZW5hbWUoKTsKIH0KIAot
dm9pZCBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94OjpzZXRIYXNJY29uKGJvb2wgaGFzSWNv
bikKK3ZvaWQgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrOjpzZXRIYXNJY29uKGJvb2wg
aGFzSWNvbikKIHsKICAgICBpbnQgcGFkZGluZyA9IGFmdGVyQnV0dG9uU3BhY2luZzsKICAgICAK
QEAgLTI2OSw3ICsyNjgsNyBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCb3g6OnNl
dEhhCiAgICAgICAgIHN0eWxlKCktPnNldFBhZGRpbmdSaWdodChMZW5ndGgocGFkZGluZywgRml4
ZWQpKTsKIH0KIAotdm9pZCBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94OjpzZXRGaWxlbmFt
ZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQordm9pZCBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxl
QmxvY2s6OnNldEZpbGVuYW1lKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUpCiB7CiAgICAgaWYgKCFt
X2ZpbGVuYW1lVGV4dCkgewogICAgICAgICBtX2ZpbGVuYW1lVGV4dCA9IG5ldyAocmVuZGVyQXJl
bmEoKSkgUmVuZGVyVGV4dChkb2N1bWVudCgpLCBTdHJpbmcoIiIpLmltcGwoKSk7CkBAIC0yODAs
MTEgKzI3OSwxMiBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCb3g6OnNldEZpCiAg
ICAgaWYgKGZpbGVuYW1lICE9IG1fZmlsZW5hbWUpIHsKICAgICAgICAgbV9maWxlbmFtZVRleHQt
PnNldFRleHQoZmlsZW5hbWUuaW1wbCgpKTsKICAgICAgICAgbV9maWxlbmFtZSA9IGZpbGVuYW1l
OworICAgICAgICAvLyBGSVhNRTogT25jZSA8cmRhcjovL3Byb2JsZW0vNDczNjIxNj4gaXMgcmVz
b2x2ZWQsIHdlIHNob3VsZCByZW1vdmUgdGhpcyBoYWNraXNoIGNhbGwgdG8gc2V0Q2hhbmdlZCgp
LgogICAgICAgICBtX3VwbG9hZENvbnRyb2wtPm5vZGUoKS0+c2V0Q2hhbmdlZCgpOwogICAgIH0K
IH0KIAotdm9pZCBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94OjpjYWxjTWluTWF4V2lkdGgo
KQordm9pZCBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2s6OmNhbGNNaW5NYXhXaWR0aCgp
CiB7CiAgICAgbV9taW5XaWR0aCA9IDA7CiAgICAgbV9tYXhXaWR0aCA9IDA7CkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmgJKHJldmlzaW9uIDE2NDA4
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBI
VE1MRmlsZVVwbG9hZElubmVyQnV0dG9uRWxlbWVudDsKLWNsYXNzIFJlbmRlckZpbGVVcGxvYWRJ
bm5lckZpbGVCb3g7CitjbGFzcyBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2s7CiAgICAg
CiAvLyBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbHMgY29udGFpbiBhIFJlbmRlckJ1dHRvbiAoZm9y
IG9wZW5pbmcgdGhlIGZpbGUgY2hvb3NlciksIGFuZAogLy8gYSBSZW5kZXJGaWxlVXBsb2FkSW5u
ZXJGaWxlQm94ICh3aGljaCBjb250YWlucyBhIFJlbmRlclRleHQgZm9yIHRoZSBmaWxlbmFtZSBh
bmQgc3VmZmljaWVudCBwYWRkaW5nIHRvIGRyYXcgYSBmaWxlIGljb24pLgpAQCAtNTYsNyArNTYs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyU3R5bGUqIGNyZWF0ZUJ1dHRvblN0eWxlKFJlbmRl
clN0eWxlKiBwYXJlbnRTdHlsZSA9IDApOwogICAgIAogICAgIFJlZlB0cjxIVE1MRmlsZVVwbG9h
ZElubmVyQnV0dG9uRWxlbWVudD4gbV9idXR0b247Ci0gICAgUmVuZGVyRmlsZVVwbG9hZElubmVy
RmlsZUJveCogbV9maWxlQm94OworICAgIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCbG9jayog
bV9maWxlQmxvY2s7CiAgICAgRmlsZUNob29zZXIqIG1fZmlsZUNob29zZXI7CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10612</attachid>
            <date>2006-09-17 16:50:22 -0700</date>
            <delta_ts>2006-09-18 17:38:30 -0700</delta_ts>
            <desc>For real this time</desc>
            <filename>bugzilla-10824-file-upload-default-text.diff</filename>
            <type>text/plain</type>
            <size>10106</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjQxMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzEgQEAKKzIwMDYtMDktMTcgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVz
IGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4MjQKKyAg
ICAgICAgIm5vIGZpbGUgc2VsZWN0ZWQiIHBsYWNlaG9sZGVyIHRleHQgbWlzc2luZyBmcm9tIGZp
bGUgdXBsb2FkIGNvbnRyb2wKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbC5jcHA6IE1ha2UKKyAgICAgICAgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveCBh
IHN1YmNsYXNzIG9mIFJlbmRlckJsb2NrIGluc3RlYWQgb2YKKyAgICAgICAgUmVuZGVyRmxleGli
bGVCb3gsIGFuZCByZW5hbWUgdG8gUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrLiBBbHNv
CisgICAgICAgIHJlbmFtZSBtX2ZpbGVCb3ggdG8gbV9maWxlQmxvY2suCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2s6OnJlbmRlck5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OlJlbmRlckZpbGVVcGxvYWRDb250
cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpzZXRTdHls
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6dXBkYXRlSWNv
bkFuZEZpbGVuYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxvYWRDb250cm9s
Ojp1cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbDo6bWF4RmlsZW5hbWVXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxl
VXBsb2FkQ29udHJvbDo6cGFpbnRPYmplY3QpOiBSZW1vdmUgcmVkdW5kYW50CisgICAgICAgIGNo
ZWNrIG9mIGkucC0+cGFpbnRpbmdEaXNhYmxlZCgpIG5vdyB0aGF0IEljb246OnBhaW50KCkgZG9l
cyBpdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCbG9jazo6
UmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZpbGVVcGxvYWRJbm5lckZpbGVCbG9jazo6c2V0U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrOjpsYXlvdXQpOiBBZGQgYSBGSVhNRS4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCbG9jazo6c2V0SGFzSWNv
bik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2s6OnNl
dEZpbGVuYW1lKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkSW5u
ZXJGaWxlQmxvY2s6OmNhbGNNaW5NYXhXaWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckZpbGVVcGxvYWRDb250cm9sLmg6IFJlbmFtZSBtX2ZpbGVCb3ggdG8KKyAgICAgICAgbV9maWxl
QmxvY2s+CisKIDIwMDYtMDktMTcgIEJyYWR5IEVpZHNvbiA8YmVpZHNvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgU2FyZ2UKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZpbGVVcGxvYWRDb250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAJKHJldmlzaW9uIDE2NDA4KQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
Nyw5ICs0Nyw5IEBAIGNvbnN0IGludCBkZWZhdWx0RmlsZW5hbWVOdW1DaGFycyA9IDIyOwogCiB1
c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1jbGFzcyBSZW5kZXJGaWxlVXBsb2FkSW5uZXJG
aWxlQm94IDogcHVibGljIFJlbmRlckZsZXhpYmxlQm94IHsKK2NsYXNzIFJlbmRlckZpbGVVcGxv
YWRJbm5lckZpbGVCbG9jayA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CiBwdWJsaWM6Ci0gICAgUmVu
ZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveChOb2RlKiwgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wq
KTsKKyAgICBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2soTm9kZSosIFJlbmRlckZpbGVV
cGxvYWRDb250cm9sKik7CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHNldFN0eWxlKFJlbmRlclN0
eWxlKik7CiAgICAgdmlydHVhbCB2b2lkIGNhbGNNaW5NYXhXaWR0aCgpOwpAQCAtNTksNyArNTks
NyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBzZXRGaWxlbmFtZShjb25zdCBTdHJpbmcmKTsK
ICAgICAKLSAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVy
biAiUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveCI7IH0KKyAgICB2aXJ0dWFsIGNvbnN0IGNo
YXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyRmlsZVVwbG9hZElubmVyRmls
ZUJsb2NrIjsgfQogICAgIAogcHJpdmF0ZToKICAgICBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbCog
bV91cGxvYWRDb250cm9sOwpAQCAtODUsNyArODUsNyBAQCBwcml2YXRlOgogUmVuZGVyRmlsZVVw
bG9hZENvbnRyb2w6OlJlbmRlckZpbGVVcGxvYWRDb250cm9sKE5vZGUqIG5vZGUpCiAgICAgOiBS
ZW5kZXJGbGV4aWJsZUJveChub2RlKQogICAgICwgbV9idXR0b24oMCkKLSAgICAsIG1fZmlsZUJv
eCgwKQorICAgICwgbV9maWxlQmxvY2soMCkKICAgICAsIG1fZmlsZUNob29zZXIobmV3IEZpbGVD
aG9vc2VyKGRvY3VtZW50KCksIHRoaXMpKQogewogfQpAQCAtMTA1LDEwICsxMDUsMTAgQEAgdm9p
ZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6c2V0U3R5bGUoUgogICAgIFJlbmRlckZsZXhpYmxl
Qm94OjpzZXRTdHlsZShzKTsKICAgICBpZiAobV9idXR0b24pCiAgICAgICAgIG1fYnV0dG9uLT5y
ZW5kZXJlcigpLT5zZXRTdHlsZShjcmVhdGVCdXR0b25TdHlsZShzKSk7Ci0gICAgaWYgKG1fZmls
ZUJveCkgeworICAgIGlmIChtX2ZpbGVCbG9jaykgewogICAgICAgICBSZW5kZXJTdHlsZSogZmls
ZUJveFN0eWxlID0gbmV3IChyZW5kZXJBcmVuYSgpKSBSZW5kZXJTdHlsZSgpOwogICAgICAgICBm
aWxlQm94U3R5bGUtPmluaGVyaXRGcm9tKHMpOwotICAgICAgICBtX2ZpbGVCb3gtPnNldFN0eWxl
KGZpbGVCb3hTdHlsZSk7CisgICAgICAgIG1fZmlsZUJsb2NrLT5zZXRTdHlsZShmaWxlQm94U3R5
bGUpOwogICAgIH0KICAgICBzZXRSZXBsYWNlZChpc0lubGluZSgpKTsKIH0KQEAgLTEyMywxMiAr
MTIzLDEyIEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnZhbHVlQ2hhbmcKIHZvaWQg
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnVwZGF0ZUljb25BbmRGaWxlbmFtZSgpCiB7CiAgICAg
aWYgKG1fZmlsZUNob29zZXItPmljb24oKSkKLSAgICAgICAgbV9maWxlQm94LT5zZXRIYXNJY29u
KCk7CisgICAgICAgIG1fZmlsZUJsb2NrLT5zZXRIYXNJY29uKCk7CiAgICAgZWxzZQotICAgICAg
ICBtX2ZpbGVCb3gtPnNldEhhc0ljb24oZmFsc2UpOworICAgICAgICBtX2ZpbGVCbG9jay0+c2V0
SGFzSWNvbihmYWxzZSk7CiAgICAgCiAgICAgLy8gRklYTUU6IFdlIGRvbid0IGFjdHVhbGx5IHNl
ZW0gdG8gdHJ1bmNhdGUgdGhlIHN0cmluZyB3aGVuIG91ciB3aWR0aCBpcyBsZXNzIHRoYW4gdGhl
IGJ1dHRvbiB3aWR0aCBhbmQgd2UncmUgaW4gUlRMCi0gICAgbV9maWxlQm94LT5zZXRGaWxlbmFt
ZShtX2ZpbGVDaG9vc2VyLT5iYXNlbmFtZUZvcldpZHRoKG1heEZpbGVuYW1lV2lkdGgoKSkpOwor
ICAgIG1fZmlsZUJsb2NrLT5zZXRGaWxlbmFtZShtX2ZpbGVDaG9vc2VyLT5iYXNlbmFtZUZvcldp
ZHRoKG1heEZpbGVuYW1lV2lkdGgoKSkpOwogfQogCiB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250
cm9sOjpjbGljayhib29sIHNlbmRNb3VzZUV2ZW50cykKQEAgLTE1MCwxMiArMTUwLDEyIEBAIHZv
aWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnVwZGF0ZUZyb20KICAgICAgICAgYWRkQ2hpbGQo
bV9idXR0b24tPnJlbmRlcmVyKCkpOwogICAgIH0KIAotICAgIGlmICghbV9maWxlQm94KSB7Ci0g
ICAgICAgIG1fZmlsZUJveCA9IG5ldyAocmVuZGVyQXJlbmEoKSkgUmVuZGVyRmlsZVVwbG9hZElu
bmVyRmlsZUJveChkb2N1bWVudCgpLCB0aGlzKTsKKyAgICBpZiAoIW1fZmlsZUJsb2NrKSB7Cisg
ICAgICAgIG1fZmlsZUJsb2NrID0gbmV3IChyZW5kZXJBcmVuYSgpKSBSZW5kZXJGaWxlVXBsb2Fk
SW5uZXJGaWxlQmxvY2soZG9jdW1lbnQoKSwgdGhpcyk7CiAgICAgICAgIFJlbmRlclN0eWxlKiBm
aWxlQm94U3R5bGUgPSBuZXcgKHJlbmRlckFyZW5hKCkpIFJlbmRlclN0eWxlKCk7CiAgICAgICAg
IGZpbGVCb3hTdHlsZS0+aW5oZXJpdEZyb20oc3R5bGUoKSk7Ci0gICAgICAgIG1fZmlsZUJveC0+
c2V0U3R5bGUoZmlsZUJveFN0eWxlKTsKLSAgICAgICAgYWRkQ2hpbGQobV9maWxlQm94KTsKKyAg
ICAgICAgbV9maWxlQmxvY2stPnNldFN0eWxlKGZpbGVCb3hTdHlsZSk7CisgICAgICAgIGFkZENo
aWxkKG1fZmlsZUJsb2NrKTsKICAgICB9CiAKICAgICB1cGRhdGVJY29uQW5kRmlsZW5hbWUoKTsK
QEAgLTE2Myw3ICsxNjMsNyBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjp1cGRhdGVG
cm9tCiAKIGludCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6bWF4RmlsZW5hbWVXaWR0aCgpCiB7
Ci0gICAgcmV0dXJuIG1heCgwLCBtX2ZpbGVCb3gtPmNvbnRlbnRXaWR0aCgpKTsKKyAgICByZXR1
cm4gbWF4KDAsIG1fZmlsZUJsb2NrLT5jb250ZW50V2lkdGgoKSk7CiB9CiAKIFJlbmRlclN0eWxl
KiBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y3JlYXRlQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUq
IHBhcmVudFN0eWxlKQpAQCAtMTg3LDExICsxODcsNiBAQCBSZW5kZXJTdHlsZSogUmVuZGVyRmls
ZVVwbG9hZENvbnRyb2w6OmNyCiAKIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnBhaW50
T2JqZWN0KFBhaW50SW5mbyYgaSwgaW50IHR4LCBpbnQgdHkpCiB7Ci0gICAgLy8gU2luY2Ugd2Ug
ZHJhdyB0aGUgZmlsZSBpY29uIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCB0aGUgZ3JhcGhpY3MgY29u
dGV4dCwKLSAgICAvLyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSBwYWludGluZyBpcyBub3QgZGlzYWJs
ZWQgYmVmb3JlIGRyYXdpbmcKLSAgICBpZiAoaS5wLT5wYWludGluZ0Rpc2FibGVkKCkpCi0gICAg
ICAgIHJldHVybjsKLSAgICAKICAgICAvLyBQdXNoIGEgY2xpcC4KICAgICBpZiAoaS5waGFzZSA9
PSBQYWludFBoYXNlRm9yZWdyb3VuZCB8fCBpLnBoYXNlID09IFBhaW50UGhhc2VDaGlsZEJsb2Nr
QmFja2dyb3VuZHMpIHsKICAgICAgICAgSW50UmVjdCBjbGlwUmVjdCh0eCArIGJvcmRlckxlZnQo
KSwgdHkgKyBib3JkZXJUb3AoKSwKQEAgLTIwNCwxMiArMTk5LDEyIEBAIHZvaWQgUmVuZGVyRmls
ZVVwbG9hZENvbnRyb2w6OnBhaW50T2JqZWMKICAgICAKICAgICBpZiAoaS5waGFzZSA9PSBQYWlu
dFBoYXNlRm9yZWdyb3VuZCAmJiBtX2ZpbGVDaG9vc2VyLT5pY29uKCkpIHsKICAgICAgICAgLy8g
RHJhdyB0aGUgZmlsZSBpY29uCi0gICAgICAgIGludCB0b3AgPSBtX2ZpbGVCb3gtPmFic29sdXRl
Qm91bmRpbmdCb3hSZWN0KCkueSgpICsgKG1fZmlsZUJveC0+YWJzb2x1dGVCb3VuZGluZ0JveFJl
Y3QoKS5oZWlnaHQoKSAtIGljb25IZWlnaHQpIC8gMjsKKyAgICAgICAgaW50IHRvcCA9IG1fZmls
ZUJsb2NrLT5hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdCgpLnkoKSArIChtX2ZpbGVCbG9jay0+YWJz
b2x1dGVCb3VuZGluZ0JveFJlY3QoKS5oZWlnaHQoKSAtIGljb25IZWlnaHQpIC8gMjsKICAgICAg
ICAgaW50IGxlZnQ7CiAgICAgICAgIGlmIChzdHlsZSgpLT5kaXJlY3Rpb24oKSA9PSBMVFIpCi0g
ICAgICAgICAgICBsZWZ0ID0gbV9maWxlQm94LT5hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdCgpLngo
KSArIGFmdGVyQnV0dG9uU3BhY2luZzsKKyAgICAgICAgICAgIGxlZnQgPSBtX2ZpbGVCbG9jay0+
YWJzb2x1dGVCb3VuZGluZ0JveFJlY3QoKS54KCkgKyBhZnRlckJ1dHRvblNwYWNpbmc7CiAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIGxlZnQgPSBtX2ZpbGVCb3gtPmFic29sdXRlQm91bmRpbmdC
b3hSZWN0KCkucmlnaHQoKSAtIGFmdGVyQnV0dG9uU3BhY2luZyAtIGljb25XaWR0aDsKKyAgICAg
ICAgICAgIGxlZnQgPSBtX2ZpbGVCbG9jay0+YWJzb2x1dGVCb3VuZGluZ0JveFJlY3QoKS5yaWdo
dCgpIC0gYWZ0ZXJCdXR0b25TcGFjaW5nIC0gaWNvbldpZHRoOwogICAgICAgICBtX2ZpbGVDaG9v
c2VyLT5pY29uKCktPnBhaW50KGkucCwgSW50UmVjdChsZWZ0LCB0b3AsIGljb25XaWR0aCwgaWNv
bkhlaWdodCkpOwogICAgIH0KICAgICAKQEAgLTIyMSwxNCArMjE2LDE0IEBAIHZvaWQgUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2w6OnBhaW50T2JqZWMKICAgICAgICAgaS5wLT5yZXN0b3JlKCk7CiB9
CiAKLVJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCb3g6OlJlbmRlckZpbGVVcGxvYWRJbm5lckZp
bGVCb3goTm9kZSogbm9kZSwgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wqIHVwbG9hZENvbnRyb2wp
Ci0gICAgOiBSZW5kZXJGbGV4aWJsZUJveChub2RlKQorUmVuZGVyRmlsZVVwbG9hZElubmVyRmls
ZUJsb2NrOjpSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2soTm9kZSogbm9kZSwgUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2wqIHVwbG9hZENvbnRyb2wpCisgICAgOiBSZW5kZXJCbG9jayhub2Rl
KQogICAgICwgbV91cGxvYWRDb250cm9sKHVwbG9hZENvbnRyb2wpCiAgICAgLCBtX2ZpbGVuYW1l
VGV4dCgwKQogewogfQogCi12b2lkIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCb3g6OnNldFN0
eWxlKFJlbmRlclN0eWxlKiBzKQordm9pZCBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQmxvY2s6
OnNldFN0eWxlKFJlbmRlclN0eWxlKiBzKQogewogICAgIGlmIChtX2ZpbGVuYW1lVGV4dCkKICAg
ICAgICAgbV9maWxlbmFtZVRleHQtPnNldFN0eWxlKHMpOwpAQCAtMjQ0LDE5ICsyMzksMjMgQEAg
dm9pZCBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94OjpzZXRTdAogICAgIAogICAgIHNldFJl
cGxhY2VkKGlzSW5saW5lKCkpOwogICAgIAotICAgIFJlbmRlckZsZXhpYmxlQm94OjpzZXRTdHls
ZShzKTsKKyAgICBSZW5kZXJCbG9jazo6c2V0U3R5bGUocyk7CiB9CiAKLXZvaWQgUmVuZGVyRmls
ZVVwbG9hZElubmVyRmlsZUJveDo6bGF5b3V0KCkKK3ZvaWQgUmVuZGVyRmlsZVVwbG9hZElubmVy
RmlsZUJsb2NrOjpsYXlvdXQoKQogewotICAgIFJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXQoKTsK
KyAgICBSZW5kZXJCbG9jazo6bGF5b3V0KCk7CiAgICAgCiAgICAgQVNTRVJUKG1pbk1heEtub3du
KCkpOwotICAgIC8vIFdlIHNob3VsZCBrbm93IG91ciB3aWR0aCBub3csIHNvIGRpc3BsYXkgdGhl
IGZpbGVuYW1lCisgICAgLy8gV2Ugc2hvdWxkIGtub3cgb3VyIHdpZHRoIG5vdywgc28gdXBkYXRl
IHRoZSAocG9zc2libHkgdHJ1bmNhdGVkKSBmaWxlbmFtZQorICAgIC8vIEZJWE1FOiA8cmRhcjov
L3Byb2JsZW0vNDczNjIxNj4gVGhpcyBjYWxsIHRyaWVzIHRvIGZvcmNlIGFub3RoZXIgbGF5b3V0
CisgICAgLy8gKGJ5IGNhbGxpbmcgc2V0VGV4dCgpKSwgYnV0IHNpbmNlIHdlJ3JlIGN1cnJlbnRs
eSBkb2luZyBhIGxheW91dCBpdCBtYXkgbm90CisgICAgLy8gd29yayBhcyBleHBlY3RlZC4gSWRl
YWxseSB0aGUgZW5naW5lIHdvdWxkIGhhbmRsZSB0aGUgY2VudGVyLXRydW5jYXRpb24gb2YKKyAg
ICAvLyB0aGUgZmlsZW5hbWUgZm9yIHVzLgogICAgIG1fdXBsb2FkQ29udHJvbC0+dXBkYXRlSWNv
bkFuZEZpbGVuYW1lKCk7CiB9CiAKLXZvaWQgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveDo6
c2V0SGFzSWNvbihib29sIGhhc0ljb24pCit2b2lkIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVC
bG9jazo6c2V0SGFzSWNvbihib29sIGhhc0ljb24pCiB7CiAgICAgaW50IHBhZGRpbmcgPSBhZnRl
ckJ1dHRvblNwYWNpbmc7CiAgICAgCkBAIC0yNjksNyArMjY4LDcgQEAgdm9pZCBSZW5kZXJGaWxl
VXBsb2FkSW5uZXJGaWxlQm94OjpzZXRIYQogICAgICAgICBzdHlsZSgpLT5zZXRQYWRkaW5nUmln
aHQoTGVuZ3RoKHBhZGRpbmcsIEZpeGVkKSk7CiB9CiAKLXZvaWQgUmVuZGVyRmlsZVVwbG9hZElu
bmVyRmlsZUJveDo6c2V0RmlsZW5hbWUoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSkKK3ZvaWQgUmVu
ZGVyRmlsZVVwbG9hZElubmVyRmlsZUJsb2NrOjpzZXRGaWxlbmFtZShjb25zdCBTdHJpbmcmIGZp
bGVuYW1lKQogewogICAgIGlmICghbV9maWxlbmFtZVRleHQpIHsKICAgICAgICAgbV9maWxlbmFt
ZVRleHQgPSBuZXcgKHJlbmRlckFyZW5hKCkpIFJlbmRlclRleHQoZG9jdW1lbnQoKSwgU3RyaW5n
KCIiKS5pbXBsKCkpOwpAQCAtMjgwLDExICsyNzksMTIgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2Fk
SW5uZXJGaWxlQm94OjpzZXRGaQogICAgIGlmIChmaWxlbmFtZSAhPSBtX2ZpbGVuYW1lKSB7CiAg
ICAgICAgIG1fZmlsZW5hbWVUZXh0LT5zZXRUZXh0KGZpbGVuYW1lLmltcGwoKSk7CiAgICAgICAg
IG1fZmlsZW5hbWUgPSBmaWxlbmFtZTsKKyAgICAgICAgLy8gRklYTUU6IE9uY2UgPHJkYXI6Ly9w
cm9ibGVtLzQ3MzYyMTY+IGlzIHJlc29sdmVkLCB3ZSBzaG91bGQgcmVtb3ZlIHRoaXMgaGFja2lz
aCBjYWxsIHRvIHNldENoYW5nZWQoKS4KICAgICAgICAgbV91cGxvYWRDb250cm9sLT5ub2RlKCkt
PnNldENoYW5nZWQoKTsKICAgICB9CiB9CiAKLXZvaWQgUmVuZGVyRmlsZVVwbG9hZElubmVyRmls
ZUJveDo6Y2FsY01pbk1heFdpZHRoKCkKK3ZvaWQgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJs
b2NrOjpjYWxjTWluTWF4V2lkdGgoKQogewogICAgIG1fbWluV2lkdGggPSAwOwogICAgIG1fbWF4
V2lkdGggPSAwOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRy
b2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbC5oCShyZXZpc2lvbiAxNjQwOCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVV
cGxvYWRDb250cm9sLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTEZpbGVVcGxvYWRJbm5lckJ1dHRvbkVsZW1lbnQ7Ci1j
bGFzcyBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94OworY2xhc3MgUmVuZGVyRmlsZVVwbG9h
ZElubmVyRmlsZUJsb2NrOwogICAgIAogLy8gUmVuZGVyRmlsZVVwbG9hZENvbnRyb2xzIGNvbnRh
aW4gYSBSZW5kZXJCdXR0b24gKGZvciBvcGVuaW5nIHRoZSBmaWxlIGNob29zZXIpLCBhbmQKIC8v
IGEgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveCAod2hpY2ggY29udGFpbnMgYSBSZW5kZXJU
ZXh0IGZvciB0aGUgZmlsZW5hbWUgYW5kIHN1ZmZpY2llbnQgcGFkZGluZyB0byBkcmF3IGEgZmls
ZSBpY29uKS4KQEAgLTU2LDcgKzU2LDcgQEAgcHJvdGVjdGVkOgogICAgIFJlbmRlclN0eWxlKiBj
cmVhdGVCdXR0b25TdHlsZShSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUgPSAwKTsKICAgICAKICAg
ICBSZWZQdHI8SFRNTEZpbGVVcGxvYWRJbm5lckJ1dHRvbkVsZW1lbnQ+IG1fYnV0dG9uOwotICAg
IFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCb3gqIG1fZmlsZUJveDsKKyAgICBSZW5kZXJGaWxl
VXBsb2FkSW5uZXJGaWxlQmxvY2sqIG1fZmlsZUJsb2NrOwogICAgIEZpbGVDaG9vc2VyKiBtX2Zp
bGVDaG9vc2VyOwogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10635</attachid>
            <date>2006-09-18 17:38:30 -0700</date>
            <delta_ts>2006-09-18 22:16:59 -0700</delta_ts>
            <desc>Remove RenderFileUploadInnerFileBox and draw text ourselves, update layout tests</desc>
            <filename>bugzilla-10824-remove-inner-classes.diff</filename>
            <type>text/plain</type>
            <size>41695</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2NDM5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMDktMTggIEFkYW0gUm9iZW4gIDxhcm9i
ZW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFVwZGF0ZSB0ZXN0cyBmb3IgdGhlIG5ldyBmaWxlIHVwbG9hZCBjb250cm9sLgorCisg
ICAgICAgICogZmFzdC9mb3Jtcy9maWxlLWlucHV0LWRpc2FibGVkLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2Zvcm0tZWxlbWVudC1nZW9tZXRyeS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1hcHBlYXJhbmNlLWhlaWdodC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC12YWx1ZS1leHBlY3RlZC50eHQ6CisKIDIwMDYt
MDktMTcgIEVyaWMgU2VpZGVsICA8ZXJpY0Blc2VpZGVsLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBoeWF0dC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS1pbnB1dC1kaXNh
YmxlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9m
aWxlLWlucHV0LWRpc2FibGVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTY0MDgpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUtaW5wdXQtZGlzYWJsZWQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMywxNSArMTMsMTEgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgICAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwxOSkgc2l6ZSAweDE4CiAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDM4KSBzaXplIDg2eDE4CiAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwzOCkgd2lkdGggODY6ICIgIFNlbGVjdCBGaWxlOiAgIgotICAgICAgICAgIFJl
bmRlckZpbGVVcGxvYWRDb250cm9sIHtJTlBVVH0gYXQgKDg4LDM5KSBzaXplIDIzNngxOAorICAg
ICAgICAgIFJlbmRlckZpbGVVcGxvYWRDb250cm9sIHtJTlBVVH0gYXQgKDg4LDM5KSBzaXplIDIz
N3gxOAogICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDAsMCkgc2l6ZSA3OHgx
OCBbYmdjb2xvcj0jQzBDMEMwXQogICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoOCwyKSBzaXplIDYyeDEzCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCww
KSBzaXplIDYyeDEzCiAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2
MjogIkNob29zZSBGaWxlIgotICAgICAgICAgICAgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJv
eCBhdCAoNzgsMikgc2l6ZSAxNTh4MTMKLSAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDQsMCkgc2l6ZSAweDEzCi0gICAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAo
MCwwKSBzaXplIDB4MTMKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDA6ICJubyBmaWxlIHNlbGVjdGVkIgotICAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDMyNiw1
Mikgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzMjcsNTIpIHNpemUgMHgw
CiAgICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsNTkpIHNpemUgNHgyCiAgICAgICAg
ICAgUmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6ZSA0eDIKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1lbGVtZW50LWdlb21ldHJ5LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tZWxlbWVudC1nZW9tZXRy
eS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE2NDA4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9mb3JtLWVsZW1lbnQtZ2VvbWV0cnktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC04
OSwyNyArODksMjMgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjI3CiAgICAgICAgICAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxLDEpIHNpemUgMTZ4MTYgW2JvcmRlcjogKDJweCBzb2xp
ZCAjMDAwMEZGKV0KICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDAp
IHNpemUgMTJ4MTIKICAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtJTlBVVH0gYXQgKDIs
Mikgc2l6ZSAxMngxMgotICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwyMjYpIHNpemUg
NTQ5eDY4Ci0gICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgwLDApIHNpemUg
NTQ5eDY4Ci0gICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyKSBzaXplIDU0OXg2
NAorICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwyMjYpIHNpemUgNTUweDY4CisgICAg
ICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgwLDApIHNpemUgNTUweDY4CisgICAg
ICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyKSBzaXplIDU1MHg2NAogICAgICAgICAg
ICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDIsMikgc2l6ZSA4NHgyNSBbcj0wIGM9MCBycz0x
IGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxLDEpIHNpemUgODJ4
MjMgW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMEZGKV0KICAgICAgICAgICAgICAgICBSZW5kZXJU
ZXh0RmllbGQge0lOUFVUfSBhdCAoMiwyKSBzaXplIDc4eDE5IFtiZ2NvbG9yPSNGRkZGRkZdIFti
b3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwg
e1REfSBhdCAoODgsMikgc2l6ZSA0MHg2NCBbcj0wIGM9MSBycz0xIGNzPTFdCiAgICAgICAgICAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxLDEpIHNpemUgMzh4NjIgW2JvcmRlcjogKDJweCBz
b2xpZCAjMDAwMEZGKV0KICAgICAgICAgICAgICAgICBEZXByZWNhdGVkUmVuZGVyU2VsZWN0IHtT
RUxFQ1R9IGF0ICgyLDIpIHNpemUgMzR4NTgKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7
VER9IGF0ICgxMzAsMikgc2l6ZSAyNDJ4MjQgW3I9MCBjPTIgcnM9MSBjcz0xXQotICAgICAgICAg
ICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMSwxKSBzaXplIDI0MHgyMiBbYm9yZGVyOiAoMnB4
IHNvbGlkICMwMDAwRkYpXQotICAgICAgICAgICAgICAgIFJlbmRlckZpbGVVcGxvYWRDb250cm9s
IHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAyMzZ4MTgKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7VER9IGF0ICgxMzAsMikgc2l6ZSAyNDN4MjQgW3I9MCBjPTIgcnM9MSBjcz0xXQorICAgICAg
ICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMSwxKSBzaXplIDI0MXgyMiBbYm9yZGVyOiAo
MnB4IHNvbGlkICMwMDAwRkYpXQorICAgICAgICAgICAgICAgIFJlbmRlckZpbGVVcGxvYWRDb250
cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAyMzd4MTgKICAgICAgICAgICAgICAgICAgIFJlbmRl
ckJ1dHRvbiB7SU5QVVR9IGF0ICgwLDApIHNpemUgNzh4MTggW2JnY29sb3I9I0MwQzBDMF0KICAg
ICAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDgsMikgc2l6ZSA2
MngxMwogICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSA2Mngx
MwogICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNjI6ICJD
aG9vc2UgRmlsZSIKLSAgICAgICAgICAgICAgICAgIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVC
b3ggYXQgKDc4LDIpIHNpemUgMTU4eDEzCi0gICAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICg0LDApIHNpemUgMHgxMwotICAgICAgICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgYXQgKDAsMCkgc2l6ZSAweDEzCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAwOiAibm8gZmlsZSBzZWxlY3RlZCIKLSAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzNzQsMikgc2l6ZSAxNzN4MzggW3I9MCBjPTMgcnM9MSBj
cz0xXQorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDM3NSwyKSBzaXplIDE3
M3gzOCBbcj0wIGM9MyBycz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgxLDEpIHNpemUgMTcxeDM2IFtib3JkZXI6ICgycHggc29saWQgIzAwMDBGRildCiAgICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dEZpZWxkIHtURVhUQVJFQX0gYXQgKDQsNCkgc2l6ZSAxNjN4
MjggW2JnY29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KICAgICAg
IFJlbmRlckJsb2NrIHtIMn0gYXQgKDAsMzEzKSBzaXplIDc2OXgyOApAQCAtMTgzLDE4ICsxNzks
MTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjI3CiAgICAgICAgIFJlbmRlclRleHRGaWVs
ZCB7SU5QVVR9IGF0ICgyOSwxOCkgc2l6ZSA3OHgxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVy
OiAoMnB4IGluc2V0ICMwMDAwMDApXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEw
OSwxOCkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwOSwxOCkgd2lkdGggNDog
IiAiCi0gICAgICAgIFJlbmRlckZpbGVVcGxvYWRDb250cm9sIHtJTlBVVH0gYXQgKDExNSwxOSkg
c2l6ZSAyMzZ4MTgKKyAgICAgICAgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wge0lOUFVUfSBhdCAo
MTE1LDE5KSBzaXplIDIzN3gxOAogICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgw
LDApIHNpemUgNzh4MTggW2JnY29sb3I9I0MwQzBDMF0KICAgICAgICAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICg4LDIpIHNpemUgNjJ4MTMKICAgICAgICAgICAgICAgUmVuZGVyVGV4
dCBhdCAoMCwwKSBzaXplIDYyeDEzCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggNjI6ICJDaG9vc2UgRmlsZSIKLSAgICAgICAgICBSZW5kZXJGaWxlVXBsb2FkSW5uZXJG
aWxlQm94IGF0ICg3OCwyKSBzaXplIDE1OHgxMwotICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDQsMCkgc2l6ZSAweDEzCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgYXQg
KDAsMCkgc2l6ZSAweDEzCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
MDogIm5vIGZpbGUgc2VsZWN0ZWQiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzUz
LDE4KSBzaXplIDR4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzUzLDE4KSB3aWR0aCA0OiAi
ICIKLSAgICAgICAgUmVuZGVyVGV4dEZpZWxkIHtURVhUQVJFQX0gYXQgKDM1OSwyKSBzaXplIDE2
M3gyOCBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM1NCwxOCkgc2l6ZSA0eDE4CisgICAgICAgICAg
dGV4dCBydW4gYXQgKDM1NCwxOCkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlclRleHRGaWVs
ZCB7VEVYVEFSRUF9IGF0ICgzNjAsMikgc2l6ZSAxNjN4MjggW2JnY29sb3I9I0ZGRkZGRl0gW2Jv
cmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJCbG9jayB7SDJ9IGF0ICgwLDQ5MSkgc2l6ZSA3
Njl4MjgKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTk3eDI4CkBA
IC0yNTIsNyArMjQ0LDcgQEAgbGF5ZXIgYXQgKDE2LDI0Mikgc2l6ZSA3MngxMwogICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMywzKSBzaXplIDcyeDEzCiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxLDApIHNpemUgNDl4MTMKICAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDQ5OiAidGV4
dCBmaWVsZCIKLWxheWVyIGF0ICgzODgsMjQyKSBzaXplIDE2MXgyNgorbGF5ZXIgYXQgKDM4OSwy
NDIpIHNpemUgMTYxeDI2CiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxLDEpIHNpemUgMTYxeDI2
CiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDApIHNpemUgNDR4MTMKICAgICAgIHRleHQg
cnVuIGF0ICgzLDApIHdpZHRoIDQ0OiAidGV4dGFyZWEiCkBAIC0yNjAsNyArMjUyLDcgQEAgbGF5
ZXIgYXQgKDQwLDQ2Mikgc2l6ZSA3MngxMwogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBz
aXplIDcyeDEzCiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDApIHNpemUgNDl4MTMKICAg
ICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDQ5OiAidGV4dCBmaWVsZCIKLWxheWVyIGF0ICgz
NjgsNDQ0KSBzaXplIDE2MXgyNgorbGF5ZXIgYXQgKDM2OSw0NDQpIHNpemUgMTYxeDI2CiAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgxLDEpIHNpemUgMTYxeDI2CiAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgzLDApIHNpemUgNDR4MTMKICAgICAgIHRleHQgcnVuIGF0ICgzLDApIHdpZHRoIDQ0
OiAidGV4dGFyZWEiCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LWFwcGVhcmFu
Y2UtaGVpZ2h0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2lucHV0LWFwcGVhcmFuY2UtaGVpZ2h0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTY0MDgp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LWFwcGVhcmFuY2UtaGVpZ2h0LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTggKzI3LDE0IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICg4Nyw2MCkgc2l6ZSAweDAK
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDY2KSBzaXplIDI0eDE4CiAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsNjYpIHdpZHRoIDI0OiAiZmlsZSAiCi0gICAgICAgIFJlbmRlckZp
bGVVcGxvYWRDb250cm9sIHtJTlBVVH0gYXQgKDI2LDY3KSBzaXplIDIzNngxOAorICAgICAgICBS
ZW5kZXJGaWxlVXBsb2FkQ29udHJvbCB7SU5QVVR9IGF0ICgyNiw2Nykgc2l6ZSAyMzd4MTgKICAg
ICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMCwwKSBzaXplIDc4eDE4IFtiZ2NvbG9y
PSNDMEMwQzBdCiAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoOCwyKSBz
aXplIDYyeDEzCiAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSA2MngxMwog
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDYyOiAiQ2hvb3NlIEZpbGUi
Ci0gICAgICAgICAgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveCBhdCAoNzgsMikgc2l6ZSAx
NTh4MTMKLSAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg0LDApIHNpemUg
MHgxMwotICAgICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgMHgxMwotICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDA6ICJubyBmaWxlIHNlbGVjdGVkIgot
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI2NCw2Nikgc2l6ZSA0eDE4Ci0gICAgICAg
ICAgdGV4dCBydW4gYXQgKDI2NCw2Nikgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlckJSIHtC
Un0gYXQgKDI2OCw4MCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgy
NjUsNjYpIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgyNjUsNjYpIHdpZHRoIDQ6
ICIgIgorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgyNjksODApIHNpemUgMHgwCiAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw4Nykgc2l6ZSA0MngxOAogICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDg3KSB3aWR0aCA0MjogImltYWdlICIKICAgICAgICAgUmVuZGVySW1hZ2Uge0lO
UFVUfSBhdCAoNDIsMTAwKSBzaXplIDEweDEKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
aW5wdXQtdmFsdWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvaW5wdXQtdmFsdWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNjQwOCkKKysrIExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtdmFsdWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xMiwxOTYgKzEyLDE5MiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3MTM6ICJSZXN1bHRzIHRoYXQgbWF0Y2ggR2Vj
a28gYXJlIGxpa2UgV2luSUUsIGJ1dCB3aXRoIFwiYmVmb3JlXCIgZm9yIHRoZSBhdHRyaWJ1dGUg
aW4gdGhlIGZpcnN0IHR3byByb3dzIGFuZCB0aGUgbGFzdCByb3cuIgogICAgICAgUmVuZGVyQmxv
Y2sge0hSfSBhdCAoMCw4Nikgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDAp
XQogICAgICAgUmVuZGVyQmxvY2sge0ZPUk19IGF0ICgwLDk2KSBzaXplIDc4NHgzNjgKLSAgICAg
ICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDc2MHgzNjgKLSAgICAgICAgICBS
ZW5kZXJUYWJsZVNlY3Rpb24ge1RIRUFEfSBhdCAoMCwwKSBzaXplIDc2MHgyNAotICAgICAgICAg
ICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyKSBzaXplIDc2MHgyMAorICAgICAgICBSZW5k
ZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgNzYxeDM2OAorICAgICAgICAgIFJlbmRlclRh
YmxlU2VjdGlvbiB7VEhFQUR9IGF0ICgwLDApIHNpemUgNzYxeDI0CisgICAgICAgICAgICBSZW5k
ZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDIpIHNpemUgNzYxeDIwCiAgICAgICAgICAgICAgIFJlbmRl
clRhYmxlQ2VsbCB7VEh9IGF0ICgyLDIpIHNpemUgMzg1eDIwIFtyPTAgYz0wIHJzPTEgY3M9MV0K
ICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA1NXgxOAog
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggNTU6ICJ0ZXN0IGNhc2Ui
Ci0gICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VEh9IGF0ICgzODksMikgc2l6ZSAyNDJ4
MjAgW3I9MCBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1RI
fSBhdCAoMzg5LDIpIHNpemUgMjQzeDIwIFtyPTAgYz0xIHJzPTEgY3M9MV0KICAgICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA4OXgxOAogICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggODk6ICJmb3JtIGVsZW1lbnQiCi0gICAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VEh9IGF0ICg2MzMsMikgc2l6ZSA2MngyMCBbcj0wIGM9
MiBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VEh9IGF0ICg2MzQs
Mikgc2l6ZSA2MngyMCBbcj0wIGM9MiBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNjB4MTgKICAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxLDEpIHdpZHRoIDYwOiAicHJvcGVydHkiCi0gICAgICAgICAgICAgIFJlbmRlclRh
YmxlQ2VsbCB7VEh9IGF0ICg2OTcsMikgc2l6ZSA2MXgyMCBbcj0wIGM9MyBycz0xIGNzPTFdCisg
ICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VEh9IGF0ICg2OTgsMikgc2l6ZSA2MXgyMCBb
cj0wIGM9MyBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxLDEpIHNpemUgNTl4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdp
ZHRoIDU5OiAiYXR0cmlidXRlIgotICAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9
IGF0ICgwLDI0KSBzaXplIDc2MHgzNDQKLSAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0g
YXQgKDAsMikgc2l6ZSA3NjB4MjUKKyAgICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZ
fSBhdCAoMCwyNCkgc2l6ZSA3NjF4MzQ0CisgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9
IGF0ICgwLDIpIHNpemUgNzYxeDI1CiAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICgyLDQpIHNpemUgMzg1eDIwIFtyPTAgYz0wIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAyMDd4MTgKICAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDIwNzogInRleHQgd2l0aCB2YWx1ZSBwcm9wZXJ0
eSBjaGFuZ2VkIgotICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMzg5LDIp
IHNpemUgMjQyeDI1IFtyPTAgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDM4OSwyKSBzaXplIDI0M3gyNSBbcj0wIGM9MSBycz0xIGNzPTFdCiAg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dEZpZWxkIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAxNDh4
MTkgW2JnY29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KLSAgICAg
ICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDYzMyw0KSBzaXplIDYyeDIwIFtyPTAg
Yz0yIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDYz
NCw0KSBzaXplIDYyeDIwIFtyPTAgYz0yIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAyOHgxOAogICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDEsMSkgd2lkdGggMjg6ICJhZnRlciIKLSAgICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDY5Nyw0KSBzaXplIDYxeDIwIFtyPTAgYz0zIHJzPTEgY3M9MV0KKyAg
ICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDY5OCw0KSBzaXplIDYxeDIwIFty
PTAgYz0zIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDEsMSkgc2l6ZSA0MHgxOAogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lk
dGggNDA6ICJiZWZvcmUiCi0gICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDI5
KSBzaXplIDc2MHgyNQorICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyOSkg
c2l6ZSA3NjF4MjUKICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDIsMzEp
IHNpemUgMzg1eDIwIFtyPTEgYz0wIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAyNDR4MTgKICAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxLDEpIHdpZHRoIDI0NDogInBhc3N3b3JkIHdpdGggdmFsdWUgcHJvcGVydHkgY2hh
bmdlZCIKLSAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDM4OSwyOSkgc2l6
ZSAyNDJ4MjUgW3I9MSBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNl
bGwge1REfSBhdCAoMzg5LDI5KSBzaXplIDI0M3gyNSBbcj0xIGM9MSBycz0xIGNzPTFdCiAgICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dEZpZWxkIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAxNDh4MTkg
W2JnY29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KLSAgICAgICAg
ICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDYzMywzMSkgc2l6ZSA2MngyMCBbcj0xIGM9
MiBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg2MzQs
MzEpIHNpemUgNjJ4MjAgW3I9MSBjPTIgcnM9MSBjcz0xXQogICAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDI4eDE4CiAgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMSwxKSB3aWR0aCAyODogImFmdGVyIgotICAgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoNjk3LDMxKSBzaXplIDYxeDIwIFtyPTEgYz0zIHJzPTEgY3M9MV0KKyAg
ICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDY5OCwzMSkgc2l6ZSA2MXgyMCBb
cj0xIGM9MyBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxLDEpIHNpemUgNDB4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdp
ZHRoIDQwOiAiYmVmb3JlIgotICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCw1
Nikgc2l6ZSA3NjB4MjAKKyAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsNTYp
IHNpemUgNzYxeDIwCiAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDU2
KSBzaXplIDM4NXgyMCBbcj0yIGM9MCBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMjQ5eDE4CiAgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMSwxKSB3aWR0aCAyNDk6ICJjaGVjayBib3ggd2l0aCB2YWx1ZSBwcm9wZXJ0eSBj
aGFuZ2VkIgotICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMzg5LDU2KSBz
aXplIDI0MngyMCBbcj0yIGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCB7VER9IGF0ICgzODksNTYpIHNpemUgMjQzeDIwIFtyPTIgYz0xIHJzPTEgY3M9MV0KICAg
ICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9IGF0ICg0LDQpIHNpemUgMTJ4MTIKLSAg
ICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDYzMyw1Nikgc2l6ZSA2MngyMCBb
cj0yIGM9MiBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0
ICg2MzQsNTYpIHNpemUgNjJ4MjAgW3I9MiBjPTIgcnM9MSBjcz0xXQogICAgICAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDI4eDE4CiAgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAyODogImFmdGVyIgotICAgICAgICAgICAgICBSZW5k
ZXJUYWJsZUNlbGwge1REfSBhdCAoNjk3LDU2KSBzaXplIDYxeDIwIFtyPTIgYz0zIHJzPTEgY3M9
MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDY5OCw1Nikgc2l6ZSA2
MXgyMCBbcj0yIGM9MyBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxLDEpIHNpemUgMjh4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
LDEpIHdpZHRoIDI4OiAiYWZ0ZXIiCi0gICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0
ICgwLDc4KSBzaXplIDc2MHgyMAorICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAo
MCw3OCkgc2l6ZSA3NjF4MjAKICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDIsNzgpIHNpemUgMzg1eDIwIFtyPTMgYz0wIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAyMjd4MTgKICAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDIyNzogImhpZGRlbiB3aXRoIHZhbHVlIHByb3BlcnR5
IGNoYW5nZWQiCi0gICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzODksODcp
IHNpemUgMjQyeDIgW3I9MyBjPTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoNjMzLDc4KSBzaXplIDYyeDIwIFtyPTMgYz0yIHJzPTEgY3M9MV0KKyAg
ICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDM4OSw4Nykgc2l6ZSAyNDN4MiBb
cj0zIGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0
ICg2MzQsNzgpIHNpemUgNjJ4MjAgW3I9MyBjPTIgcnM9MSBjcz0xXQogICAgICAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDI4eDE4CiAgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAyODogImFmdGVyIgotICAgICAgICAgICAgICBSZW5k
ZXJUYWJsZUNlbGwge1REfSBhdCAoNjk3LDc4KSBzaXplIDYxeDIwIFtyPTMgYz0zIHJzPTEgY3M9
MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDY5OCw3OCkgc2l6ZSA2
MXgyMCBbcj0zIGM9MyBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxLDEpIHNpemUgMjh4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
LDEpIHdpZHRoIDI4OiAiYWZ0ZXIiCi0gICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0
ICgwLDEwMCkgc2l6ZSA3NjB4MjQKKyAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQg
KDAsMTAwKSBzaXplIDc2MXgyNAogICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBh
dCAoMiwxMDIpIHNpemUgMzg1eDIwIFtyPTQgYz0wIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAyMjR4MTgKICAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDIyNDogImJ1dHRvbiB3aXRoIHZhbHVlIHByb3Bl
cnR5IGNoYW5nZWQiCi0gICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzODks
MTAwKSBzaXplIDI0MngyNCBbcj00IGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRl
clRhYmxlQ2VsbCB7VER9IGF0ICgzODksMTAwKSBzaXplIDI0M3gyNCBbcj00IGM9MSBycz0xIGNz
PTFdCiAgICAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSA0
MXgxOCBbYmdjb2xvcj0jQzBDMEMwXQogICAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDgsMikgc2l6ZSAyNXgxMwogICAgICAgICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IGF0ICgwLDApIHNpemUgMjV4MTMKICAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAyNTogImFmdGVyIgotICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwg
e1REfSBhdCAoNjMzLDEwMikgc2l6ZSA2MngyMCBbcj00IGM9MiBycz0xIGNzPTFdCisgICAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg2MzQsMTAyKSBzaXplIDYyeDIwIFtyPTQg
Yz0yIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEs
MSkgc2l6ZSAyOHgxOAogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGgg
Mjg6ICJhZnRlciIKLSAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDY5Nywx
MDIpIHNpemUgNjF4MjAgW3I9NCBjPTMgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJU
YWJsZUNlbGwge1REfSBhdCAoNjk4LDEwMikgc2l6ZSA2MXgyMCBbcj00IGM9MyBycz0xIGNzPTFd
CiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMjh4MTgK
ICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDI4OiAiYWZ0ZXIiCi0g
ICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDEyNikgc2l6ZSA3NjB4MjAKKyAg
ICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMTI2KSBzaXplIDc2MXgyMAogICAg
ICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMiwxMjYpIHNpemUgMzg1eDIwIFty
PTUgYz0wIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDEsMSkgc2l6ZSAyMjJ4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdp
ZHRoIDIyMjogImltYWdlIHdpdGggdmFsdWUgcHJvcGVydHkgY2hhbmdlZCIKLSAgICAgICAgICAg
ICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDM4OSwxMzUpIHNpemUgMjQyeDIgW3I9NSBjPTEg
cnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMzg5LDEz
NSkgc2l6ZSAyNDN4MiBbcj01IGM9MSBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVy
SW1hZ2Uge0lOUFVUfSBhdCAoMSwxKSBzaXplIDB4MAotICAgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoNjMzLDEyNikgc2l6ZSA2MngyMCBbcj01IGM9MiBycz0xIGNzPTFdCisg
ICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg2MzQsMTI2KSBzaXplIDYyeDIw
IFtyPTUgYz0yIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDEsMSkgc2l6ZSAyOHgxOAogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkg
d2lkdGggMjg6ICJhZnRlciIKLSAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDY5NywxMjYpIHNpemUgNjF4MjAgW3I9NSBjPTMgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBS
ZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNjk4LDEyNikgc2l6ZSA2MXgyMCBbcj01IGM9MyBycz0x
IGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUg
Mjh4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDI4OiAiYWZ0
ZXIiCi0gICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDE0OCkgc2l6ZSA3NjB4
MjEKKyAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMTQ4KSBzaXplIDc2MXgy
MQogICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMiwxNDgpIHNpemUgMzg1
eDIwIFtyPTYgYz0wIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDEsMSkgc2l6ZSAyMTZ4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
LDEpIHdpZHRoIDIxNjogInJhZGlvIHdpdGggdmFsdWUgcHJvcGVydHkgY2hhbmdlZCIKLSAgICAg
ICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDM4OSwxNDgpIHNpemUgMjQyeDIxIFty
PTYgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDM4OSwxNDgpIHNpemUgMjQzeDIxIFtyPTYgYz0xIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAg
ICBSZW5kZXJCbG9jayB7SU5QVVR9IGF0ICg0LDQpIHNpemUgMTJ4MTMKLSAgICAgICAgICAgICAg
UmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDYzMywxNDgpIHNpemUgNjJ4MjAgW3I9NiBjPTIgcnM9
MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNjM0LDE0OCkg
c2l6ZSA2MngyMCBbcj02IGM9MiBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMjh4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxLDEpIHdpZHRoIDI4OiAiYWZ0ZXIiCi0gICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7VER9IGF0ICg2OTcsMTQ4KSBzaXplIDYxeDIwIFtyPTYgYz0zIHJzPTEgY3M9MV0KKyAgICAg
ICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDY5OCwxNDgpIHNpemUgNjF4MjAgW3I9
NiBjPTMgcnM9MSBjcz0xXQogICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MSwxKSBzaXplIDI4eDE4CiAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0
aCAyODogImFmdGVyIgotICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwxNzEp
IHNpemUgNzYweDI1CisgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDE3MSkg
c2l6ZSA3NjF4MjUKICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDIsMTcz
KSBzaXplIDM4NXgyMCBbcj03IGM9MCBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMjA1eDE4CiAgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMSwxKSB3aWR0aCAyMDU6ICJ0ZXh0IHdpdGggdmFsdWUgYXR0cmlidXRlIGNoYW5n
ZWQiCi0gICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzODksMTcxKSBzaXpl
IDI0MngyNSBbcj03IGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7VER9IGF0ICgzODksMTcxKSBzaXplIDI0M3gyNSBbcj03IGM9MSBycz0xIGNzPTFdCiAgICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dEZpZWxkIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAxNDh4MTkg
W2JnY29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KLSAgICAgICAg
ICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDYzMywxNzMpIHNpemUgNjJ4MjAgW3I9NyBj
PTIgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNjM0
LDE3Mykgc2l6ZSA2MngyMCBbcj03IGM9MiBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMjh4MTgKICAgICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgxLDEpIHdpZHRoIDI4OiAiYWZ0ZXIiCi0gICAgICAgICAgICAgIFJlbmRlclRh
YmxlQ2VsbCB7VER9IGF0ICg2OTcsMTczKSBzaXplIDYxeDIwIFtyPTcgYz0zIHJzPTEgY3M9MV0K
KyAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDY5OCwxNzMpIHNpemUgNjF4
MjAgW3I9NyBjPTMgcnM9MSBjcz0xXQogICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMSwxKSBzaXplIDI4eDE4CiAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwx
KSB3aWR0aCAyODogImFmdGVyIgotICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAo
MCwxOTgpIHNpemUgNzYweDIwCisgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgw
LDE5OCkgc2l6ZSA3NjF4MjAKICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDIsMTk4KSBzaXplIDM4NXgyMCBbcj04IGM9MCBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMjQ3eDE4CiAgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAyNDc6ICJjaGVjayBib3ggd2l0aCB2YWx1ZSBhdHRy
aWJ1dGUgY2hhbmdlZCIKLSAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDM4
OSwxOTgpIHNpemUgMjQyeDIwIFtyPTggYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsIHtURH0gYXQgKDM4OSwxOTgpIHNpemUgMjQzeDIwIFtyPTggYz0xIHJzPTEg
Y3M9MV0KICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9IGF0ICg0LDQpIHNpemUg
MTJ4MTIKLSAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDYzMywxOTgpIHNp
emUgNjJ4MjAgW3I9OCBjPTIgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNl
bGwge1REfSBhdCAoNjM0LDE5OCkgc2l6ZSA2MngyMCBbcj04IGM9MiBycz0xIGNzPTFdCiAgICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMjh4MTgKICAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDI4OiAiYWZ0ZXIiCi0gICAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg2OTcsMTk4KSBzaXplIDYxeDIwIFtyPTgg
Yz0zIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDY5
OCwxOTgpIHNpemUgNjF4MjAgW3I9OCBjPTMgcnM9MSBjcz0xXQogICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDI4eDE4CiAgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAyODogImFmdGVyIgotICAgICAgICAgICAgUmVuZGVyVGFi
bGVSb3cge1RSfSBhdCAoMCwyMjApIHNpemUgNzYweDIwCisgICAgICAgICAgICBSZW5kZXJUYWJs
ZVJvdyB7VFJ9IGF0ICgwLDIyMCkgc2l6ZSA3NjF4MjAKICAgICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDIsMjIwKSBzaXplIDM4NXgyMCBbcj05IGM9MCBycz0xIGNzPTFdCiAg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMzgzeDE4CiAg
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAzODM6ICJ0ZXh0IHdpdGgg
dmFsdWUgcHJvcGVydHkgY2hhbmdlZCwgdGhlbiB0dXJuZWQgaW50byBjaGVjayBib3giCi0gICAg
ICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzODksMjIwKSBzaXplIDI0MngyMCBb
cj05IGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0
ICgzODksMjIwKSBzaXplIDI0M3gyMCBbcj05IGM9MSBycz0xIGNzPTFdCiAgICAgICAgICAgICAg
ICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoNCw0KSBzaXplIDEyeDEyCi0gICAgICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg2MzMsMjIwKSBzaXplIDYyeDIwIFtyPTkgYz0yIHJz
PTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDYzNCwyMjAp
IHNpemUgNjJ4MjAgW3I9OSBjPTIgcnM9MSBjcz0xXQogICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDI4eDE4CiAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMSwxKSB3aWR0aCAyODogImFmdGVyIgotICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNl
bGwge1REfSBhdCAoNjk3LDIyMCkgc2l6ZSA2MXgyMCBbcj05IGM9MyBycz0xIGNzPTFdCisgICAg
ICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg2OTgsMjIwKSBzaXplIDYxeDIwIFty
PTkgYz0zIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDEsMSkgc2l6ZSAyOHgxOAogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lk
dGggMjg6ICJhZnRlciIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMjQy
KSBzaXplIDc2MHgyNQorICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyNDIp
IHNpemUgNzYxeDI1CiAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDI0
NCkgc2l6ZSAzODV4MjAgW3I9MTAgYz0wIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAzODN4MTgKICAgICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgxLDEpIHdpZHRoIDM4MzogImNoZWNrIGJveCB3aXRoIHZhbHVlIHByb3BlcnR5
IGNoYW5nZWQsIHRoZW4gdHVybmVkIGludG8gdGV4dCIKLSAgICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDM4OSwyNDIpIHNpemUgMjQyeDI1IFtyPTEwIGM9MSBycz0xIGNzPTFd
CisgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzODksMjQyKSBzaXplIDI0
M3gyNSBbcj0xMCBjPTEgcnM9MSBjcz0xXQogICAgICAgICAgICAgICAgIFJlbmRlclRleHRGaWVs
ZCB7SU5QVVR9IGF0ICgzLDMpIHNpemUgMTQ4eDE5IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6
ICgycHggaW5zZXQgIzAwMDAwMCldCi0gICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICg2MzMsMjQ0KSBzaXplIDYyeDIwIFtyPTEwIGM9MiBycz0xIGNzPTFdCisgICAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg2MzQsMjQ0KSBzaXplIDYyeDIwIFtyPTEwIGM9
MiBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEp
IHNpemUgMjh4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDI4
OiAiYWZ0ZXIiCi0gICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg2OTcsMjQ0
KSBzaXplIDYxeDIwIFtyPTEwIGM9MyBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRh
YmxlQ2VsbCB7VER9IGF0ICg2OTgsMjQ0KSBzaXplIDYxeDIwIFtyPTEwIGM9MyBycz0xIGNzPTFd
CiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMjh4MTgK
ICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDI4OiAiYWZ0ZXIiCi0g
ICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDI2OSkgc2l6ZSA3NjB4MjAKKyAg
ICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMjY5KSBzaXplIDc2MXgyMAogICAg
ICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMiwyNjkpIHNpemUgMzg1eDIwIFty
PTExIGM9MCBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxLDEpIHNpemUgMzgxeDE4CiAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3
aWR0aCAzODE6ICJ0ZXh0IHdpdGggdmFsdWUgYXR0cmlidXRlIGNoYW5nZWQsIHRoZW4gdHVybmVk
IGludG8gY2hlY2sgYm94IgotICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAo
Mzg5LDI2OSkgc2l6ZSAyNDJ4MjAgW3I9MTEgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAg
UmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDM4OSwyNjkpIHNpemUgMjQzeDIwIFtyPTExIGM9MSBy
cz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoNCw0KSBz
aXplIDEyeDEyCi0gICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg2MzMsMjY5
KSBzaXplIDYyeDIwIFtyPTExIGM9MiBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRh
YmxlQ2VsbCB7VER9IGF0ICg2MzQsMjY5KSBzaXplIDYyeDIwIFtyPTExIGM9MiBycz0xIGNzPTFd
CiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMjh4MTgK
ICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDI4OiAiYWZ0ZXIiCi0g
ICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg2OTcsMjY5KSBzaXplIDYxeDIw
IFtyPTExIGM9MyBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICg2OTgsMjY5KSBzaXplIDYxeDIwIFtyPTExIGM9MyBycz0xIGNzPTFdCiAgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMjh4MTgKICAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDI4OiAiYWZ0ZXIiCi0gICAgICAgICAgICBS
ZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDI5MSkgc2l6ZSA3NjB4MjUKKyAgICAgICAgICAgIFJl
bmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMjkxKSBzaXplIDc2MXgyNQogICAgICAgICAgICAgICBS
ZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMiwyOTMpIHNpemUgMzg1eDIwIFtyPTEyIGM9MCBycz0x
IGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUg
MzgxeDE4CiAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAzODE6ICJj
aGVjayBib3ggd2l0aCB2YWx1ZSBhdHRyaWJ1dGUgY2hhbmdlZCwgdGhlbiB0dXJuZWQgaW50byB0
ZXh0IgotICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMzg5LDI5MSkgc2l6
ZSAyNDJ4MjUgW3I9MTIgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGFibGVD
ZWxsIHtURH0gYXQgKDM4OSwyOTEpIHNpemUgMjQzeDI1IFtyPTEyIGM9MSBycz0xIGNzPTFdCiAg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dEZpZWxkIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAxNDh4
MTkgW2JnY29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KLSAgICAg
ICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDYzMywyOTMpIHNpemUgNjJ4MjAgW3I9
MTIgYz0yIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDYzNCwyOTMpIHNpemUgNjJ4MjAgW3I9MTIgYz0yIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAyOHgxOAogICAgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMjg6ICJhZnRlciIKLSAgICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsIHtURH0gYXQgKDY5NywyOTMpIHNpemUgNjF4MjAgW3I9MTIgYz0zIHJzPTEg
Y3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDY5OCwyOTMpIHNp
emUgNjF4MjAgW3I9MTIgYz0zIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAyOHgxOAogICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDEsMSkgd2lkdGggMjg6ICJhZnRlciIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtU
Un0gYXQgKDAsMzE4KSBzaXplIDc2MHgyNAorICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RS
fSBhdCAoMCwzMTgpIHNpemUgNzYxeDI0CiAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7
VER9IGF0ICgyLDMyMCkgc2l6ZSAzODV4MjAgW3I9MTMgYz0wIHJzPTEgY3M9MV0KICAgICAgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAyMDR4MTgKICAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDIwNDogImZpbGUgd2l0aCB2YWx1ZSBw
cm9wZXJ0eSBjaGFuZ2VkIgotICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAo
Mzg5LDMxOCkgc2l6ZSAyNDJ4MjQgW3I9MTMgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAg
ICBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbCB7SU5QVVR9IGF0ICgzLDMpIHNpemUgMjM2eDE4Cisg
ICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzODksMzE4KSBzaXplIDI0M3gy
NCBbcj0xMyBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgIFJlbmRlckZpbGVVcGxvYWRD
b250cm9sIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAyMzd4MTgKICAgICAgICAgICAgICAgICAgIFJl
bmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgwLDApIHNpemUgNzh4MTggW2JnY29sb3I9I0MwQzBDMF0K
ICAgICAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDgsMikgc2l6
ZSA2MngxMwogICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSA2
MngxMwogICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNjI6
ICJDaG9vc2UgRmlsZSIKLSAgICAgICAgICAgICAgICAgIFJlbmRlckZpbGVVcGxvYWRJbm5lckZp
bGVCb3ggYXQgKDc4LDIpIHNpemUgMTU4eDEzCi0gICAgICAgICAgICAgICAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICg0LDApIHNpemUgMHgxMwotICAgICAgICAgICAgICAgICAgICAg
IFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAweDEzCi0gICAgICAgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAwOiAibm8gZmlsZSBzZWxlY3RlZCIKLSAgICAgICAgICAg
ICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDYzMywzMjkpIHNpemUgNjJ4MiBbcj0xMyBjPTIg
cnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNjk3LDMy
MCkgc2l6ZSA2MXgyMCBbcj0xMyBjPTMgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJU
YWJsZUNlbGwge1REfSBhdCAoNjM0LDMyOSkgc2l6ZSA2MngyIFtyPTEzIGM9MiBycz0xIGNzPTFd
CisgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg2OTgsMzIwKSBzaXplIDYx
eDIwIFtyPTEzIGM9MyBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxLDEpIHNpemUgNDB4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
LDEpIHdpZHRoIDQwOiAiYmVmb3JlIgogbGF5ZXIgYXQgKDQwMywxMzYpIHNpemUgMTQyeDEzCklu
ZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwko
cmV2aXNpb24gMTY0MzkpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDM1IEBACisyMDA2LTA5LTE4ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyBo
dHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTEwODI0CisgICAg
ICAgICJubyBmaWxlIHNlbGVjdGVkIiBwbGFjZWhvbGRlciB0ZXh0IG1pc3NpbmcgZnJvbSBmaWxl
IHVwbG9hZCBjb250cm9sCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcDog
UmVtb3ZlIGNsYXNzCisgICAgICAgIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCb3gsIHJlbmFt
ZSBkZWZhdWx0RmlsZW5hbWVOdW1DaGFycyB0bworICAgICAgICBkZWZhdWx0V2lkdGhOdW1DaGFy
cworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OlJlbmRlckZpbGVV
cGxvYWRDb250cm9sKTogQ2FsbAorICAgICAgICBSZW5kZXJCbG9jayBjb25zdHJ1Y3RvciBpbnN0
ZWFkIG9mIFJlbmRlckZsZXhpYmxlQm94LCAKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVV
cGxvYWRDb250cm9sOjpzZXRTdHlsZSk6IFJlbW92ZSByZWZlcmVuY2VzIHRvCisgICAgICAgIG1f
ZmlsZUJveC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxvYWRDb250cm9sOjp2YWx1
ZUNoYW5nZWQpOiBDYWxsIHJlcGFpbnQoKQorICAgICAgICBpbnN0ZWFkIG9mIHVwZGF0ZUljb25B
bmRGaWxlTmFtZSgpICh3aGljaCBoYXMgYmVlbiByZW1vdmVkKQorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnVwZGF0ZUZyb21FbGVtZW50KTogUmVtb3ZlCisgICAg
ICAgIHJlZmVyZW5jZXMgdG8gbV9maWxlQm94LCBkb24ndCBjYWxsIHVwZGF0ZUljb25BbmRGaWxl
bmFtZSgpCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6bWF4Rmls
ZW5hbWVXaWR0aCk6IENhbGN1bGF0ZSB3aWR0aAorICAgICAgICB3aXRob3V0IHVzaW5nIG1fZmls
ZUJveAorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNyZWF0ZUJ1
dHRvblN0eWxlKTogUmVtb3ZlCisgICAgICAgIHdoaXRlc3BhY2U6bm93cmFwIGFuZCBkaXNwbGF5
OmJveCBydWxlcy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpw
YWludE9iamVjdCk6IFJlbW92ZSByZWR1bmRhbnQgY2FsbAorICAgICAgICB0byBwYWludGluZ0Rp
c2FibGVkKCkgbm93IHRoYXQgSWNvbjo6cGFpbnQoKSBkb2VzIGl0LCBhbmQgYWRkIGNvZGUgdG8K
KyAgICAgICAgcGFpbnQgdGhlIGZpbGVuYW1lIGRpcmVjdGx5LgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNhbGNNaW5NYXhXaWR0aCk6IE1vdmUgdGhpcyBtZXRo
b2QKKyAgICAgICAgb3V0IG9mIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCb3ggYW5kIGludG8g
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmlsZVVw
bG9hZENvbnRyb2wuaDogTWFrZSBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbCBhCisgICAgICAgIHN1
YmNsYXNzIG9mIFJlbmRlckJsb2NrIGluc3RlYWQgb2YgUmVuZGVyRmxleGlibGVCb3gsIHJlbW92
ZQorICAgICAgICB1cGRhdGVJY29uQW5kRmlsZW5hbWUoKSBtZXRob2QsIHJlbW92ZSBtX2ZpbGVC
b3ggaW5zdGFuY2UgdmFyaWFibGUuCisKIDIwMDYtMDktMTggIFNhbSBXZWluaWcgIDxzYW0ud2Vp
bmlnQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBUaW0gSC4KSW5kZXg6IFdlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNjQwOCkKKysr
IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC0yMTUyLDIzICsyMTUyLDYgQEAKIAkJRkFFMDQxOTAwOTc1OTZDOTAwMDU0MEJFIC8qIFNW
R0ltYWdlTG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGQUUwNDE4RTA5NzU5NkM5MDAwNTQwQkUgLyogU1ZHSW1hZ2VMb2FkZXIuaCAqLzsgfTsK
IC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCi0vKiBCZWdpbiBQQlhCdWlsZFN0eWxl
IHNlY3Rpb24gKi8KLQkJQkNGQUQ0NUYwQUJEM0FCQTAwQjc2NjNEIC8qIERldmVsb3BtZW50ICov
ID0gewotCQkJaXNhID0gUEJYQnVpbGRTdHlsZTsKLQkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQkJ
Q09QWV9QSEFTRV9TVFJJUCA9IE5POwotCQkJfTsKLQkJCW5hbWUgPSBEZXZlbG9wbWVudDsKLQkJ
fTsKLQkJQkNGQUQ0NjAwQUJEM0FCQTAwQjc2NjNEIC8qIERlcGxveW1lbnQgKi8gPSB7Ci0JCQlp
c2EgPSBQQlhCdWlsZFN0eWxlOwotCQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJCQlDT1BZX1BIQVNF
X1NUUklQID0gWUVTOwotCQkJfTsKLQkJCW5hbWUgPSBEZXBsb3ltZW50OwotCQl9OwotLyogRW5k
IFBCWEJ1aWxkU3R5bGUgc2VjdGlvbiAqLwotCiAvKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJv
eHkgc2VjdGlvbiAqLwogCQlERDA0MUZGMDA5RDlFMzI1MDAxMEFGMkEgLyogUEJYQ29udGFpbmVy
SXRlbVByb3h5ICovID0gewogCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OwpAQCAtODQ0
MCwxMiArODQyMyw2IEBACiAJCTA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9i
amVjdCAqLyA9IHsKIAkJCWlzYSA9IFBCWFByb2plY3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25M
aXN0ID0gMTQ5QzI4NDMwODkwMkIxMTAwOEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlz
dCBmb3IgUEJYUHJvamVjdCAiV2ViQ29yZSIgKi87Ci0JCQlidWlsZFNldHRpbmdzID0gewotCQkJ
fTsKLQkJCWJ1aWxkU3R5bGVzID0gKAotCQkJCUJDRkFENDVGMEFCRDNBQkEwMEI3NjYzRCAvKiBE
ZXZlbG9wbWVudCAqLywKLQkJCQlCQ0ZBRDQ2MDBBQkQzQUJBMDBCNzY2M0QgLyogRGVwbG95bWVu
dCAqLywKLQkJCSk7CiAJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMTsKIAkJCWtub3duUmVn
aW9ucyA9ICgKIAkJCQlFbmdsaXNoLApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmls
ZVVwbG9hZENvbnRyb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZpbGVVcGxvYWRDb250cm9sLmNwcAkocmV2aXNpb24gMTY0MDgpCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDMx
ICs0MywxMCBAQCBjb25zdCBpbnQgYWZ0ZXJCdXR0b25TcGFjaW5nID0gNDsKIGNvbnN0IGludCBp
Y29uSGVpZ2h0ID0gMTY7CiBjb25zdCBpbnQgaWNvbldpZHRoID0gMTY7CiBjb25zdCBpbnQgaWNv
bkZpbGVuYW1lU3BhY2luZyA9IDI7Ci1jb25zdCBpbnQgZGVmYXVsdEZpbGVuYW1lTnVtQ2hhcnMg
PSAyMjsKK2NvbnN0IGludCBkZWZhdWx0V2lkdGhOdW1DaGFycyA9IDM0OwogCiB1c2luZyBuYW1l
c3BhY2UgSFRNTE5hbWVzOwogCi1jbGFzcyBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94IDog
cHVibGljIFJlbmRlckZsZXhpYmxlQm94IHsKLXB1YmxpYzoKLSAgICBSZW5kZXJGaWxlVXBsb2Fk
SW5uZXJGaWxlQm94KE5vZGUqLCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbCopOwotICAgIAotICAg
IHZpcnR1YWwgdm9pZCBzZXRTdHlsZShSZW5kZXJTdHlsZSopOwotICAgIHZpcnR1YWwgdm9pZCBj
YWxjTWluTWF4V2lkdGgoKTsKLSAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7Ci0gICAgCi0gICAg
dm9pZCBzZXRIYXNJY29uKGJvb2wgaGFzSWNvbiA9IHRydWUpOwotICAgIAotICAgIHZvaWQgc2V0
RmlsZW5hbWUoY29uc3QgU3RyaW5nJik7Ci0gICAgCi0gICAgdmlydHVhbCBjb25zdCBjaGFyKiBy
ZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCb3gi
OyB9Ci0gICAgCi1wcml2YXRlOgotICAgIFJlbmRlckZpbGVVcGxvYWRDb250cm9sKiBtX3VwbG9h
ZENvbnRyb2w7Ci0gICAgUmVuZGVyVGV4dCogbV9maWxlbmFtZVRleHQ7Ci0gICAgCi0gICAgU3Ry
aW5nIG1fZmlsZW5hbWU7Ci19OwotCiBjbGFzcyBIVE1MRmlsZVVwbG9hZElubmVyQnV0dG9uRWxl
bWVudCA6IHB1YmxpYyBIVE1MSW5wdXRFbGVtZW50IHsKIHB1YmxpYzoKICAgICBIVE1MRmlsZVVw
bG9hZElubmVyQnV0dG9uRWxlbWVudChEb2N1bWVudCosIE5vZGUqIHNoYWRvd1BhcmVudCA9IDAp
OwpAQCAtODEsMTEgKzYwLDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgICAgIE5vZGUqIG1f
c2hhZG93UGFyZW50OyAgICAKIH07Ci0gICAgCisKIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpS
ZW5kZXJGaWxlVXBsb2FkQ29udHJvbChOb2RlKiBub2RlKQotICAgIDogUmVuZGVyRmxleGlibGVC
b3gobm9kZSkKKyAgICA6IFJlbmRlckJsb2NrKG5vZGUpCiAgICAgLCBtX2J1dHRvbigwKQotICAg
ICwgbV9maWxlQm94KDApCiAgICAgLCBtX2ZpbGVDaG9vc2VyKG5ldyBGaWxlQ2hvb3Nlcihkb2N1
bWVudCgpLCB0aGlzKSkKIHsKIH0KQEAgLTEwMiwxNCArODAsMTAgQEAgUmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2w6On5SZW5kZXJGaWxlVXBsbwogCiB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9s
OjpzZXRTdHlsZShSZW5kZXJTdHlsZSogcykKIHsKLSAgICBSZW5kZXJGbGV4aWJsZUJveDo6c2V0
U3R5bGUocyk7CisgICAgUmVuZGVyQmxvY2s6OnNldFN0eWxlKHMpOwogICAgIGlmIChtX2J1dHRv
bikKICAgICAgICAgbV9idXR0b24tPnJlbmRlcmVyKCktPnNldFN0eWxlKGNyZWF0ZUJ1dHRvblN0
eWxlKHMpKTsKLSAgICBpZiAobV9maWxlQm94KSB7Ci0gICAgICAgIFJlbmRlclN0eWxlKiBmaWxl
Qm94U3R5bGUgPSBuZXcgKHJlbmRlckFyZW5hKCkpIFJlbmRlclN0eWxlKCk7Ci0gICAgICAgIGZp
bGVCb3hTdHlsZS0+aW5oZXJpdEZyb20ocyk7Ci0gICAgICAgIG1fZmlsZUJveC0+c2V0U3R5bGUo
ZmlsZUJveFN0eWxlKTsKLSAgICB9CisKICAgICBzZXRSZXBsYWNlZChpc0lubGluZSgpKTsKIH0K
IApAQCAtMTE3LDE4ICs5MSw3IEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnZhbHVl
Q2hhbmcKIHsKICAgICBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obm9kZSgpKS0+c2V0
VmFsdWVGcm9tUmVuZGVyZXIobV9maWxlQ2hvb3Nlci0+ZmlsZW5hbWUoKSk7CiAgICAgc3RhdGlj
X2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG5vZGUoKSktPm9uQ2hhbmdlKCk7Ci0gICAgdXBkYXRl
SWNvbkFuZEZpbGVuYW1lKCk7Ci19Ci0KLXZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnVw
ZGF0ZUljb25BbmRGaWxlbmFtZSgpCi17Ci0gICAgaWYgKG1fZmlsZUNob29zZXItPmljb24oKSkK
LSAgICAgICAgbV9maWxlQm94LT5zZXRIYXNJY29uKCk7Ci0gICAgZWxzZQotICAgICAgICBtX2Zp
bGVCb3gtPnNldEhhc0ljb24oZmFsc2UpOwotICAgIAotICAgIC8vIEZJWE1FOiBXZSBkb24ndCBh
Y3R1YWxseSBzZWVtIHRvIHRydW5jYXRlIHRoZSBzdHJpbmcgd2hlbiBvdXIgd2lkdGggaXMgbGVz
cyB0aGFuIHRoZSBidXR0b24gd2lkdGggYW5kIHdlJ3JlIGluIFJUTAotICAgIG1fZmlsZUJveC0+
c2V0RmlsZW5hbWUobV9maWxlQ2hvb3Nlci0+YmFzZW5hbWVGb3JXaWR0aChtYXhGaWxlbmFtZVdp
ZHRoKCkpKTsKKyAgICByZXBhaW50KCk7CiB9CiAKIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRy
b2w6OmNsaWNrKGJvb2wgc2VuZE1vdXNlRXZlbnRzKQpAQCAtMTQ5LDIxICsxMTIsMTEgQEAgdm9p
ZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6dXBkYXRlRnJvbQogICAgICAgICAKICAgICAgICAg
YWRkQ2hpbGQobV9idXR0b24tPnJlbmRlcmVyKCkpOwogICAgIH0KLQotICAgIGlmICghbV9maWxl
Qm94KSB7Ci0gICAgICAgIG1fZmlsZUJveCA9IG5ldyAocmVuZGVyQXJlbmEoKSkgUmVuZGVyRmls
ZVVwbG9hZElubmVyRmlsZUJveChkb2N1bWVudCgpLCB0aGlzKTsKLSAgICAgICAgUmVuZGVyU3R5
bGUqIGZpbGVCb3hTdHlsZSA9IG5ldyAocmVuZGVyQXJlbmEoKSkgUmVuZGVyU3R5bGUoKTsKLSAg
ICAgICAgZmlsZUJveFN0eWxlLT5pbmhlcml0RnJvbShzdHlsZSgpKTsKLSAgICAgICAgbV9maWxl
Qm94LT5zZXRTdHlsZShmaWxlQm94U3R5bGUpOwotICAgICAgICBhZGRDaGlsZChtX2ZpbGVCb3gp
OwotICAgIH0KLQotICAgIHVwZGF0ZUljb25BbmRGaWxlbmFtZSgpOwogfQogCiBpbnQgUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2w6Om1heEZpbGVuYW1lV2lkdGgoKQogewotICAgIHJldHVybiBtYXgo
MCwgbV9maWxlQm94LT5jb250ZW50V2lkdGgoKSk7CisgICAgcmV0dXJuIG1heCgwLCBjb250ZW50
V2lkdGgoKSAtIG1fYnV0dG9uLT5yZW5kZXJlcigpLT53aWR0aCgpIC0gYWZ0ZXJCdXR0b25TcGFj
aW5nIC0gKG1fZmlsZUNob29zZXItPmljb24oKSA/IGljb25XaWR0aCArIGljb25GaWxlbmFtZVNw
YWNpbmcgOiAwKSk7CiB9CiAKIFJlbmRlclN0eWxlKiBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6
Y3JlYXRlQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKQpAQCAtMTc1LDIzICsx
MjgsMTEgQEAgUmVuZGVyU3R5bGUqIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpjcgogICAgIGlm
IChwYXJlbnRTdHlsZSkKICAgICAgICAgc3R5bGUtPmluaGVyaXRGcm9tKHBhcmVudFN0eWxlKTsK
ICAgICAKLSAgICAvLyBCdXR0b24gdGV4dCB3aWxsIHdyYXAgb24gZmlsZSB1cGxvYWQgY29udHJv
bHMgd2l0aCB3aWR0aHMgc21hbGxlciB0aGFuIHRoZSBpbnRyaW5zaWMgYnV0dG9uIHdpZHRoCi0g
ICAgLy8gd2l0aG91dCB0aGlzIHNldFdoaXRlU3BhY2UuCi0gICAgc3R5bGUtPnNldFdoaXRlU3Bh
Y2UoTk9XUkFQKTsKLSAgICAKLSAgICAvLyBUaGlzIG1ha2VzIHRoZSBidXR0b24gYmxvY2stbGV2
ZWwgc28gdGhhdCB0aGUgZmxleGJveCBsYXlvdXQgd29ya3MgY29ycmVjdGx5LgotICAgIHN0eWxl
LT5zZXREaXNwbGF5KEJPWCk7Ci0gICAgCiAgICAgcmV0dXJuIHN0eWxlOwogfQogCiB2b2lkIFJl
bmRlckZpbGVVcGxvYWRDb250cm9sOjpwYWludE9iamVjdChQYWludEluZm8mIGksIGludCB0eCwg
aW50IHR5KQogewotICAgIC8vIFNpbmNlIHdlIGRyYXcgdGhlIGZpbGUgaWNvbiB3aXRob3V0IGdv
aW5nIHRocm91Z2ggdGhlIGdyYXBoaWNzIGNvbnRleHQsCi0gICAgLy8gd2UgbmVlZCB0byBtYWtl
IHN1cmUgcGFpbnRpbmcgaXMgbm90IGRpc2FibGVkIGJlZm9yZSBkcmF3aW5nCi0gICAgaWYgKGku
cC0+cGFpbnRpbmdEaXNhYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0gICAgCiAgICAgLy8gUHVz
aCBhIGNsaXAuCiAgICAgaWYgKGkucGhhc2UgPT0gUGFpbnRQaGFzZUZvcmVncm91bmQgfHwgaS5w
aGFzZSA9PSBQYWludFBoYXNlQ2hpbGRCbG9ja0JhY2tncm91bmRzKSB7CiAgICAgICAgIEludFJl
Y3QgY2xpcFJlY3QodHggKyBib3JkZXJMZWZ0KCksIHR5ICsgYm9yZGVyVG9wKCksCkBAIC0yMDIs
ODkgKzE0Myw1MSBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpwYWludE9iamVjCiAg
ICAgICAgIGkucC0+YWRkQ2xpcChjbGlwUmVjdCk7CiAgICAgfQogICAgIAotICAgIGlmIChpLnBo
YXNlID09IFBhaW50UGhhc2VGb3JlZ3JvdW5kICYmIG1fZmlsZUNob29zZXItPmljb24oKSkgewot
ICAgICAgICAvLyBEcmF3IHRoZSBmaWxlIGljb24KLSAgICAgICAgaW50IHRvcCA9IG1fZmlsZUJv
eC0+YWJzb2x1dGVCb3VuZGluZ0JveFJlY3QoKS55KCkgKyAobV9maWxlQm94LT5hYnNvbHV0ZUJv
dW5kaW5nQm94UmVjdCgpLmhlaWdodCgpIC0gaWNvbkhlaWdodCkgLyAyOwotICAgICAgICBpbnQg
bGVmdDsKKyAgICBpZiAoaS5waGFzZSA9PSBQYWludFBoYXNlRm9yZWdyb3VuZCkgeworICAgICAg
ICBjb25zdCBTdHJpbmcmIGRpc3BsYXllZEZpbGVuYW1lID0gbV9maWxlQ2hvb3Nlci0+YmFzZW5h
bWVGb3JXaWR0aChtYXhGaWxlbmFtZVdpZHRoKCkpOworICAgICAgICBUZXh0UnVuIHRleHRSdW4o
ZGlzcGxheWVkRmlsZW5hbWUuY2hhcmFjdGVycygpLCBkaXNwbGF5ZWRGaWxlbmFtZS5sZW5ndGgo
KSk7CisgICAgICAgIAorICAgICAgICAvLyBEZXRlcm1pbmUgd2hlcmUgdGhlIGZpbGVuYW1lIHNo
b3VsZCBiZSBwbGFjZWQKKyAgICAgICAgaW50IGNvbnRlbnRMZWZ0ID0gdHggKyBib3JkZXJMZWZ0
KCkgKyBwYWRkaW5nTGVmdCgpOworICAgICAgICBpbnQgYnV0dG9uQW5kSWNvbldpZHRoID0gbV9i
dXR0b24tPnJlbmRlcmVyKCktPndpZHRoKCkgKyBhZnRlckJ1dHRvblNwYWNpbmcgKyAobV9maWxl
Q2hvb3Nlci0+aWNvbigpID8gaWNvbldpZHRoICsgaWNvbkZpbGVuYW1lU3BhY2luZyA6IDApOwor
ICAgICAgICBpbnQgdGV4dFg7CiAgICAgICAgIGlmIChzdHlsZSgpLT5kaXJlY3Rpb24oKSA9PSBM
VFIpCi0gICAgICAgICAgICBsZWZ0ID0gbV9maWxlQm94LT5hYnNvbHV0ZUJvdW5kaW5nQm94UmVj
dCgpLngoKSArIGFmdGVyQnV0dG9uU3BhY2luZzsKKyAgICAgICAgICAgIHRleHRYID0gY29udGVu
dExlZnQgKyBidXR0b25BbmRJY29uV2lkdGg7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxl
ZnQgPSBtX2ZpbGVCb3gtPmFic29sdXRlQm91bmRpbmdCb3hSZWN0KCkucmlnaHQoKSAtIGFmdGVy
QnV0dG9uU3BhY2luZyAtIGljb25XaWR0aDsKLSAgICAgICAgbV9maWxlQ2hvb3Nlci0+aWNvbigp
LT5wYWludChpLnAsIEludFJlY3QobGVmdCwgdG9wLCBpY29uV2lkdGgsIGljb25IZWlnaHQpKTsK
KyAgICAgICAgICAgIHRleHRYID0gY29udGVudExlZnQgKyBjb250ZW50V2lkdGgoKSAtIGJ1dHRv
bkFuZEljb25XaWR0aDsKKyAgICAgICAgLy8gV2Ugd2FudCB0byBtYXRjaCB0aGUgYnV0dG9uJ3Mg
YmFzZWxpbmUKKyAgICAgICAgUmVuZGVyQnV0dG9uKiBidXR0b25SZW5kZXJlciA9IHN0YXRpY19j
YXN0PFJlbmRlckJ1dHRvbio+KG1fYnV0dG9uLT5yZW5kZXJlcigpKTsKKyAgICAgICAgaW50IHRl
eHRZID0gYnV0dG9uUmVuZGVyZXItPmFic29sdXRlQm91bmRpbmdCb3hSZWN0KCkueSgpICsgYnV0
dG9uUmVuZGVyZXItPm1hcmdpblRvcCgpICsgYnV0dG9uUmVuZGVyZXItPmJvcmRlclRvcCgpICsg
YnV0dG9uUmVuZGVyZXItPnBhZGRpbmdUb3AoKSArIGJ1dHRvblJlbmRlcmVyLT5iYXNlbGluZVBv
c2l0aW9uKHRydWUsIGZhbHNlKTsKKyAgICAgICAgCisgICAgICAgIGkucC0+c2V0Rm9udChzdHls
ZSgpLT5mb250KCkpOworICAgICAgICBpLnAtPnNldFBlbihzdHlsZSgpLT5jb2xvcigpKTsKKyAg
ICAgICAgCisgICAgICAgIC8vIERyYXcgdGhlIGZpbGVuYW1lCisgICAgICAgIGkucC0+ZHJhd1Rl
eHQodGV4dFJ1biwgSW50UG9pbnQodGV4dFgsIHRleHRZKSk7CisgICAgICAgIAorICAgICAgICBp
ZiAobV9maWxlQ2hvb3Nlci0+aWNvbigpKSB7CisgICAgICAgICAgICAvLyBEZXRlcm1pbmUgd2hl
cmUgdGhlIGljb24gc2hvdWxkIGJlIHBsYWNlZAorICAgICAgICAgICAgaW50IGljb25ZID0gdHkg
KyBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSArIChjb250ZW50SGVpZ2h0KCkgLSBpY29uSGVp
Z2h0KSAvIDI7CisgICAgICAgICAgICBpbnQgaWNvblg7CisgICAgICAgICAgICBpZiAoc3R5bGUo
KS0+ZGlyZWN0aW9uKCkgPT0gTFRSKQorICAgICAgICAgICAgICAgIGljb25YID0gY29udGVudExl
ZnQgKyBtX2J1dHRvbi0+cmVuZGVyZXIoKS0+d2lkdGgoKSArIGFmdGVyQnV0dG9uU3BhY2luZzsK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBpY29uWCA9IGNvbnRlbnRMZWZ0ICsg
Y29udGVudFdpZHRoKCkgLSBtX2J1dHRvbi0+cmVuZGVyZXIoKS0+d2lkdGgoKSAtIGFmdGVyQnV0
dG9uU3BhY2luZzsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLy8gRHJhdyB0aGUgZmlsZSBp
Y29uCisgICAgICAgICAgICBtX2ZpbGVDaG9vc2VyLT5pY29uKCktPnBhaW50KGkucCwgSW50UmVj
dChpY29uWCwgaWNvblksIGljb25XaWR0aCwgaWNvbkhlaWdodCkpOworICAgICAgICB9CiAgICAg
fQogICAgIAogICAgIC8vIFBhaW50IHRoZSBjaGlsZHJlbi4KLSAgICBSZW5kZXJGbGV4aWJsZUJv
eDo6cGFpbnRPYmplY3QoaSwgdHgsIHR5KTsKKyAgICBSZW5kZXJCbG9jazo6cGFpbnRPYmplY3Qo
aSwgdHgsIHR5KTsKICAgICAKICAgICAvLyBQb3AgdGhlIGNsaXAuCiAgICAgaWYgKGkucGhhc2Ug
PT0gUGFpbnRQaGFzZUZvcmVncm91bmQgfHwgaS5waGFzZSA9PSBQYWludFBoYXNlQ2hpbGRCbG9j
a0JhY2tncm91bmRzKQogICAgICAgICBpLnAtPnJlc3RvcmUoKTsKIH0KIAotUmVuZGVyRmlsZVVw
bG9hZElubmVyRmlsZUJveDo6UmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveChOb2RlKiBub2Rl
LCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbCogdXBsb2FkQ29udHJvbCkKLSAgICA6IFJlbmRlckZs
ZXhpYmxlQm94KG5vZGUpCi0gICAgLCBtX3VwbG9hZENvbnRyb2wodXBsb2FkQ29udHJvbCkKLSAg
ICAsIG1fZmlsZW5hbWVUZXh0KDApCi17Ci19Ci0KLXZvaWQgUmVuZGVyRmlsZVVwbG9hZElubmVy
RmlsZUJveDo6c2V0U3R5bGUoUmVuZGVyU3R5bGUqIHMpCi17Ci0gICAgaWYgKG1fZmlsZW5hbWVU
ZXh0KQotICAgICAgICBtX2ZpbGVuYW1lVGV4dC0+c2V0U3R5bGUocyk7Ci0gICAgCi0gICAgcy0+
c2V0Qm94RmxleCgxLjBmKTsKLSAgICBzLT5zZXREaXNwbGF5KEJPWCk7Ci0gICAgcy0+c2V0V2hp
dGVTcGFjZShOT1dSQVApOwotCi0gICAgaWYgKHMtPmRpcmVjdGlvbigpID09IExUUikKLSAgICAg
ICAgcy0+c2V0UGFkZGluZ0xlZnQoTGVuZ3RoKGFmdGVyQnV0dG9uU3BhY2luZywgRml4ZWQpKTsK
LSAgICBlbHNlCi0gICAgICAgIHMtPnNldFBhZGRpbmdSaWdodChMZW5ndGgoYWZ0ZXJCdXR0b25T
cGFjaW5nLCBGaXhlZCkpOwotICAgIAotICAgIHNldFJlcGxhY2VkKGlzSW5saW5lKCkpOwotICAg
IAotICAgIFJlbmRlckZsZXhpYmxlQm94OjpzZXRTdHlsZShzKTsKLX0KLQotdm9pZCBSZW5kZXJG
aWxlVXBsb2FkSW5uZXJGaWxlQm94OjpsYXlvdXQoKQotewotICAgIFJlbmRlckZsZXhpYmxlQm94
OjpsYXlvdXQoKTsKLSAgICAKLSAgICBBU1NFUlQobWluTWF4S25vd24oKSk7Ci0gICAgLy8gV2Ug
c2hvdWxkIGtub3cgb3VyIHdpZHRoIG5vdywgc28gZGlzcGxheSB0aGUgZmlsZW5hbWUKLSAgICBt
X3VwbG9hZENvbnRyb2wtPnVwZGF0ZUljb25BbmRGaWxlbmFtZSgpOwotfQotCi12b2lkIFJlbmRl
ckZpbGVVcGxvYWRJbm5lckZpbGVCb3g6OnNldEhhc0ljb24oYm9vbCBoYXNJY29uKQotewotICAg
IGludCBwYWRkaW5nID0gYWZ0ZXJCdXR0b25TcGFjaW5nOwotICAgIAotICAgIGlmIChoYXNJY29u
KQotICAgICAgICBwYWRkaW5nICs9IGljb25XaWR0aCArIGljb25GaWxlbmFtZVNwYWNpbmc7Ci0g
ICAgCi0gICAgaWYgKHN0eWxlKCktPmRpcmVjdGlvbigpID09IExUUikKLSAgICAgICAgc3R5bGUo
KS0+c2V0UGFkZGluZ0xlZnQoTGVuZ3RoKHBhZGRpbmcsIEZpeGVkKSk7Ci0gICAgZWxzZQotICAg
ICAgICBzdHlsZSgpLT5zZXRQYWRkaW5nUmlnaHQoTGVuZ3RoKHBhZGRpbmcsIEZpeGVkKSk7Ci19
Ci0KLXZvaWQgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveDo6c2V0RmlsZW5hbWUoY29uc3Qg
U3RyaW5nJiBmaWxlbmFtZSkKLXsKLSAgICBpZiAoIW1fZmlsZW5hbWVUZXh0KSB7Ci0gICAgICAg
IG1fZmlsZW5hbWVUZXh0ID0gbmV3IChyZW5kZXJBcmVuYSgpKSBSZW5kZXJUZXh0KGRvY3VtZW50
KCksIFN0cmluZygiIikuaW1wbCgpKTsKLSAgICAgICAgbV9maWxlbmFtZVRleHQtPnNldFN0eWxl
KHN0eWxlKCkpOwotICAgICAgICBhZGRDaGlsZChtX2ZpbGVuYW1lVGV4dCk7Ci0gICAgfQotICAg
IAotICAgIGlmIChmaWxlbmFtZSAhPSBtX2ZpbGVuYW1lKSB7Ci0gICAgICAgIG1fZmlsZW5hbWVU
ZXh0LT5zZXRUZXh0KGZpbGVuYW1lLmltcGwoKSk7Ci0gICAgICAgIG1fZmlsZW5hbWUgPSBmaWxl
bmFtZTsKLSAgICAgICAgbV91cGxvYWRDb250cm9sLT5ub2RlKCktPnNldENoYW5nZWQoKTsKLSAg
ICB9Ci19Ci0KLXZvaWQgUmVuZGVyRmlsZVVwbG9hZElubmVyRmlsZUJveDo6Y2FsY01pbk1heFdp
ZHRoKCkKK3ZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNhbGNNaW5NYXhXaWR0aCgpCiB7
CiAgICAgbV9taW5XaWR0aCA9IDA7CiAgICAgbV9tYXhXaWR0aCA9IDA7CkBAIC0yOTYsNyArMTk5
LDcgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94OjpjYWxjTQogICAgICAgICAv
LyAodXNpbmcgIjAiIGFzIHRoZSBub21pbmFsIGNoYXJhY3RlcikuCiAgICAgICAgIGNvbnN0IFVD
aGFyIGNoID0gJzAnOwogICAgICAgICBmbG9hdCBjaGFyV2lkdGggPSBzdHlsZSgpLT5mb250KCku
ZmxvYXRXaWR0aChUZXh0UnVuKCZjaCwgMSksIFRleHRTdHlsZSgwLCAwLCAwLCBmYWxzZSwgZmFs
c2UsIGZhbHNlKSk7Ci0gICAgICAgIG1fbWF4V2lkdGggPSAoaW50KWNlaWxmKGNoYXJXaWR0aCAq
IGRlZmF1bHRGaWxlbmFtZU51bUNoYXJzKTsKKyAgICAgICAgbV9tYXhXaWR0aCA9IChpbnQpY2Vp
bGYoY2hhcldpZHRoICogZGVmYXVsdFdpZHRoTnVtQ2hhcnMpOwogICAgIH0KICAgICAKICAgICBp
ZiAoc3R5bGUoKS0+bWluV2lkdGgoKS5pc0ZpeGVkKCkgJiYgc3R5bGUoKS0+bWluV2lkdGgoKS52
YWx1ZSgpID4gMCkgewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENv
bnRyb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbC5oCShyZXZpc2lvbiAxNjQwOCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZp
bGVVcGxvYWRDb250cm9sLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKICNpZm5k
ZWYgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2xfSAogI2RlZmluZSBSZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbF9ICiAKLSNpbmNsdWRlICJSZW5kZXJGbGV4aWJsZUJveC5oIgorI2luY2x1ZGUgIlJlbmRl
ckJsb2NrLmgiCiAKICNpbmNsdWRlICJGaWxlQ2hvb3Nlci5oIgogI2luY2x1ZGUgIkhUTUxJbnB1
dEVsZW1lbnQuaCIKQEAgLTI5LDI1ICsyOSwyNSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBIVE1MRmlsZVVwbG9hZElubmVyQnV0dG9uRWxlbWVudDsKLWNsYXNzIFJlbmRlckZpbGVV
cGxvYWRJbm5lckZpbGVCb3g7CisvL2NsYXNzIFJlbmRlckZpbGVVcGxvYWRJbm5lckZpbGVCbG9j
azsKICAgICAKIC8vIFJlbmRlckZpbGVVcGxvYWRDb250cm9scyBjb250YWluIGEgUmVuZGVyQnV0
dG9uIChmb3Igb3BlbmluZyB0aGUgZmlsZSBjaG9vc2VyKSwgYW5kCi0vLyBhIFJlbmRlckZpbGVV
cGxvYWRJbm5lckZpbGVCb3ggKHdoaWNoIGNvbnRhaW5zIGEgUmVuZGVyVGV4dCBmb3IgdGhlIGZp
bGVuYW1lIGFuZCBzdWZmaWNpZW50IHBhZGRpbmcgdG8gZHJhdyBhIGZpbGUgaWNvbikuCi0vLyBU
aGUgUmVuZGVyQnV0dG9uIGhhcyBhbiBIVE1MRmlsZVVwbG9hZElubmVyQnV0dG9uRWxlbWVudCBz
aGFkb3cgbm9kZSBhc3NvY2lhdGVkIHdpdGggaXQgdG8gcmVjZWl2ZSBjbGljay9ob3ZlciBldmVu
dHMuCisvLyBzdWZmaWNpZW50IHNwYWNlIHRvIGRyYXcgYSBmaWxlIGljb24gYW5kIGZpbGVuYW1l
LiBUaGUgUmVuZGVyQnV0dG9uIGhhcyBhbgorLy8gSFRNTEZpbGVVcGxvYWRJbm5lckJ1dHRvbkVs
ZW1lbnQgc2hhZG93IG5vZGUgYXNzb2NpYXRlZCB3aXRoIGl0IHRvIHJlY2VpdmUgY2xpY2svaG92
ZXIgZXZlbnRzLgogCi1jbGFzcyBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbCA6IHB1YmxpYyBSZW5k
ZXJGbGV4aWJsZUJveCB7CitjbGFzcyBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbCA6IHB1YmxpYyBS
ZW5kZXJCbG9jayB7CiBwdWJsaWM6CiAgICAgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2woTm9kZSop
OwogICAgIH5SZW5kZXJGaWxlVXBsb2FkQ29udHJvbCgpOwogCiAgICAgdmlydHVhbCB2b2lkIHNl
dFN0eWxlKFJlbmRlclN0eWxlKik7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZyb21FbGVtZW50
KCk7CisgICAgdmlydHVhbCB2b2lkIGNhbGNNaW5NYXhXaWR0aCgpOwogICAgIHZpcnR1YWwgdm9p
ZCBwYWludE9iamVjdChQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7CiAKICAgICB2aXJ0dWFs
IHZvaWQgY2xpY2soYm9vbCBzZW5kTW91c2VFdmVudHMpOwogCiAgICAgdm9pZCB2YWx1ZUNoYW5n
ZWQoKTsKLSAgICB2b2lkIHVwZGF0ZUljb25BbmRGaWxlbmFtZSgpOwogCiAgICAgdmlydHVhbCBj
b25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlckZpbGVVcGxvYWRD
b250cm9sIjsgfQogCkBAIC01Niw3ICs1Niw2IEBAIHByb3RlY3RlZDoKICAgICBSZW5kZXJTdHls
ZSogY3JlYXRlQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlID0gMCk7CiAgICAg
CiAgICAgUmVmUHRyPEhUTUxGaWxlVXBsb2FkSW5uZXJCdXR0b25FbGVtZW50PiBtX2J1dHRvbjsK
LSAgICBSZW5kZXJGaWxlVXBsb2FkSW5uZXJGaWxlQm94KiBtX2ZpbGVCb3g7CiAgICAgRmlsZUNo
b29zZXIqIG1fZmlsZUNob29zZXI7CiB9OwogCg==
</data>
<flag name="review"
          id="3471"
          type_id="1"
          status="+"
          setter="adele"
    />
          </attachment>
      

    </bug>

</bugzilla>