<?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>73244</bug_id>
          
          <creation_ts>2011-11-28 13:27:35 -0800</creation_ts>
          <short_desc>REGRESSION(r101273): multiple test failures and timeouts (Requested by tony^work on #webkit).</short_desc>
          <delta_ts>2011-11-28 13:33:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>72667</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>fsamuel</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>510118</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-28 13:27:35 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/101273 broke the build:
multiple test failures and timeouts (Requested by tony^work on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510119</commentid>
    <comment_count>1</comment_count>
      <attachid>116808</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-28 13:28:05 -0800</bug_when>
    <thetext>Created attachment 116808
ROLLOUT of r101273

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510120</commentid>
    <comment_count>2</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-28 13:29:05 -0800</bug_when>
    <thetext>http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Linux/builds/17108/steps/webkit_tests/logs/stdio

Regressions: Unexpected DumpRenderTree crashes : (3)
  compositing/plugins/invalidate_rect.html = CRASH
  fast/replaced/border-radius-clip.html = CRASH
  fast/replaced/no-focus-ring-embed.html = CRASH

Regressions: Unexpected tests timed out : (17)
  compositing/geometry/empty-embed-rects.html = TIMEOUT
  editing/selection/selection-plugin-clear-crash.html = TIMEOUT
  fast/events/tabindex-focus-blur-all.html = TIMEOUT
  fast/frames/iframe-plugin-load-remove-document-crash.html = TIMEOUT
  fast/frames/sandboxed-iframe-about-blank.html = TIMEOUT
  fast/frames/sandboxed-iframe-navigation-allowed.html = TIMEOUT
  fast/frames/sandboxed-iframe-plugins.html = TIMEOUT
  fast/layers/clip-rects-transformed-2.html = TIMEOUT
  fast/layers/clip-rects-transformed.html = TIMEOUT
  fast/loader/loadInProgress.html = TIMEOUT
  fast/replaced/invalid-object-with-fallback.html = TIMEOUT
  http/tests/plugins/cross-frame-object-access.html = TIMEOUT
  http/tests/plugins/get-url.html = TIMEOUT
  http/tests/plugins/geturlnotify-from-npp-destroystream.html = TIMEOUT
  http/tests/plugins/interrupted-get-url.html = TIMEOUT
  http/tests/plugins/local-geturl-from-remote.html = TIMEOUT
  http/tests/plugins/npapi-response-headers.html = TIMEOUT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510121</commentid>
    <comment_count>3</comment_count>
      <attachid>116808</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-28 13:33:28 -0800</bug_when>
    <thetext>Comment on attachment 116808
ROLLOUT of r101273

Clearing flags on attachment: 116808

Committed r101276: &lt;http://trac.webkit.org/changeset/101276&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510122</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-28 13:33:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116808</attachid>
            <date>2011-11-28 13:28:05 -0800</date>
            <delta_ts>2011-11-28 13:33:28 -0800</delta_ts>
            <desc>ROLLOUT of r101273</desc>
            <filename>bug-73244-20111128212903.patch</filename>
            <type>text/plain</type>
            <size>27421</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGRiOWE1YTM3Njk3YWJlYjcxZDQ4MjEzMWIwOThlNDZkNTQ0YjkzZGUuLjIxM2RmZmRiN2U1ZjBi
OWFkYzFjMzM1OWNiMjhiMjAxZTM4NmYxZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTEtMTEtMjggIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5i
b3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDEyNzMu
CisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEwMTI3MworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNDQKKworICAgICAg
ICBtdWx0aXBsZSB0ZXN0IGZhaWx1cmVzIGFuZCB0aW1lb3V0cyAoUmVxdWVzdGVkIGJ5IHRvbnle
d29yayBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAqIFdlYktpdC5neXA6CisKIDIw
MTEtMTEtMjggIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W0Nocm9taXVtXSBGaXggYnJva2VuIERSVCBidWlsZCBmb3IgQXVyYSBMaW51eApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9XZWJLaXQuZ3lwCmluZGV4IDMwNzM4OGE4MmEwZTRhOWQzZTVjMTg0MzRiODFhMmJjYmE4
ODBiZDkuLjhiMDNlNGEwY2MxMjQ4OGIyMWFjZjE3MDJlZTM5OGYyN2FkMGMzNjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTc1Nyw5ICs3NTcsNiBAQAogICAgICAgICAgICAgICAg
ICAgICBdLAogICAgICAgICAgICAgICAgIH1dLAogICAgICAgICAgICAgICAgIFsndG9vbGtpdF91
c2VzX2d0ayA9PSAxJywgewotICAgICAgICAgICAgICAgICAgICAnZGVmaW5lcyc6IFsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICdXVEZfVVNFX0dUSz0xJwotICAgICAgICAgICAgICAgICAgICBd
LAogICAgICAgICAgICAgICAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAgICAgICAg
ICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvYnVpbGQvbGludXgvc3lzdGVtLmd5cDpndGsn
LAogICAgICAgICAgICAgICAgICAgICBdLApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDNiNWZiYWZiNmUwODJkZjIxOWI1MDQxNjk1MDNjY2E1MDEw
ZjY1NjAuLjRjM2YyYmQxYjhjOGU0YzBlODNjN2VmODA2OWU1Y2YzOTgwYTkzZDcgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBA
QAorMjAxMS0xMS0yOCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEwMTI3My4KKyAgICAgICAgaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTAxMjczCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI0NAorCisgICAgICAgIG11bHRpcGxlIHRl
c3QgZmFpbHVyZXMgYW5kIHRpbWVvdXRzIChSZXF1ZXN0ZWQgYnkgdG9ueV53b3JrIG9uCisgICAg
ICAgICN3ZWJraXQpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUu
Z3lwaToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHA6
CisgICAgICAgIChFdmVudFNlbmRlcjo6a2V5RG93bik6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFNoZWxsQW5kcm9pZC5jcHA6IENvcGllZCBmcm9tIFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbEd0ay5jcHAuCisgICAgICAgIChBbGFybUhhbmRs
ZXIpOgorICAgICAgICAoVGVzdFNoZWxsOjp3YWl0VGVzdEZpbmlzaGVkKToKKyAgICAgICAgKHBs
YXRmb3JtSW5pdCk6CisgICAgICAgIChvcGVuU3RhcnR1cERpYWxvZyk6CisgICAgICAgIChjaGVj
a0xheW91dFRlc3RTeXN0ZW1EZXBlbmRlbmNpZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RTaGVsbEd0ay5jcHA6CisgICAgICAgIChBbGFybUhhbmRsZXIpOgorICAg
ICAgICAoc2V0dXBGb250Y29uZmlnKToKKyAgICAgICAgKFRlc3RTaGVsbDo6d2FpdFRlc3RGaW5p
c2hlZCk6CisgICAgICAgIChwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RTaGVsbExpbnV4LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGxTdHViLmNwcDogUmVtb3ZlZC4KKwogMjAxMS0xMS0y
OCAgSm9obiBZYW5pICA8dmFudWFuQGdtYWlsLmNvbT4KIAogICAgICAgICBuZXctcnVuLXdlYmtp
dC10ZXN0cyBpcyBsb2NhbGUgZGVwZW5kZW50CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9EdW1wUmVuZGVyVHJlZS5neXBpIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRl
clRyZWUuZ3lwaQppbmRleCA0NzQ0MmJmMmE1N2EyNzA2ZjkwYmM5ZTFlZDI3NDA4NGQ4NGJiOWVi
Li5iMTliZTIyNzJjNTU1Yzc5ZDI5OTcxNjA1MjRhYWY3MGNmMmU4ZjY4IDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5neXBpCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLmd5cGkKQEAgLTM0LDcgKzM0LDcgQEAKICAgICAgICAg
ICAgICdjaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAn
Y2hyb21pdW0vVGVzdFNoZWxsLmNwcCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vVGVzdFNoZWxs
LmgnLAotICAgICAgICAgICAgJ2Nocm9taXVtL1Rlc3RTaGVsbExpbnV4LmNwcCcsCisgICAgICAg
ICAgICAnY2hyb21pdW0vVGVzdFNoZWxsQW5kcm9pZC5jcHAnLAogICAgICAgICAgICAgJ2Nocm9t
aXVtL1Rlc3RTaGVsbEd0ay5jcHAnLAogICAgICAgICAgICAgJ2Nocm9taXVtL1Rlc3RTaGVsbE1h
Yy5tbScsCiAgICAgICAgICAgICAnY2hyb21pdW0vVGVzdFNoZWxsV2luLmNwcCcsCkBAIC03Mywx
MSArNzMsNiBAQAogICAgICAgICAgICAgJ1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWluLmNwcCcsCiAg
ICAgICAgIF0sCiAgICAgICAgICdjb25kaXRpb25zJzogWwotICAgICAgICAgICAgWycoT1M9PSJs
aW51eCIgYW5kIHRvb2xraXRfdXNlc19ndGshPTEpIG9yIE9TPT0iYW5kcm9pZCInLCB7Ci0gICAg
ICAgICAgICAgICAgJ2RydF9maWxlcyc6IFsKLSAgICAgICAgICAgICAgICAgICAgJ2Nocm9taXVt
L1Rlc3RTaGVsbFN0dWIuY3BwJywKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgfV0s
CiAgICAgICAgICAgICBbJ09TPT0id2luIicsIHsKICAgICAgICAgICAgICAgICAnZHJ0X2ZpbGVz
JzogWwogICAgICAgICAgICAgICAgICAgICAnY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJUV2lu
LmNwcCcsCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNl
bmRlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHAK
aW5kZXggOGQ1NDZmMTY2OGE2ZmNkOGIyMzVhMzc1YzdhNzhkMThiZTM1YTcyOS4uMjBkNzdhNzVh
MzVhOTJmZDc4NWRiOWI4NmViZTg2MDE0ZTcwNzEzYyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmNwcApAQCAtNTc2LDcgKzU3Niw3IEBAIHZvaWQgRXZl
bnRTZW5kZXI6OmtleURvd24oY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZh
cmlhbnQqIHJlc3VsdCkKICAgICBldmVudERvd24udHlwZSA9IFdlYklucHV0RXZlbnQ6OlJhd0tl
eURvd247CiAgICAgZXZlbnREb3duLm1vZGlmaWVycyA9IDA7CiAgICAgZXZlbnREb3duLndpbmRv
d3NLZXlDb2RlID0gY29kZTsKLSNpZiBPUyhMSU5VWCkgJiYgVVNFKEdUSykKKyNpZiBPUyhMSU5V
WCkKICAgICBldmVudERvd24ubmF0aXZlS2V5Q29kZSA9IHdlYmtpdF9zdXBwb3J0OjpOYXRpdmVL
ZXlDb2RlRm9yV2luZG93c0tleUNvZGUoY29kZSwgbmVlZHNTaGlmdEtleU1vZGlmaWVyKTsKICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hl
bGxBbmRyb2lkLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbEFu
ZHJvaWQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlYTJkMjQ3ZTM1MzVjN2YzYjdmODI2ZjdjMTFhZjFiOTAw
NTg5ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0U2hlbGxBbmRyb2lkLmNwcApAQCAtMCwwICsxLDkwIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIlRlc3RTaGVsbC5oIgorCisjaW5jbHVkZSAiU2tUeXBlZmFjZS5oIgorI2luY2x1
ZGUgIldlYlZpZXcuaCIKKyNpbmNsdWRlICJ3ZWJraXQvc3VwcG9ydC93ZWJraXRfc3VwcG9ydC5o
IgorCisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKK3N0YXRpYyB2
b2lkIEFsYXJtSGFuZGxlcihpbnQpCit7CisgICAgLy8gSWYgdGhlIGFsYXJtIGFsYXJtZWQsIGtp
bGwgdGhlIHByb2Nlc3Mgc2luY2Ugd2UgaGF2ZSBhIHJlYWxseSBiYWQgaGFuZy4KKyAgICBwdXRz
KCJcbiNURVNUX1RJTUVEX09VVFxuIik7CisgICAgcHV0cygiI0VPRlxuIik7CisgICAgZmZsdXNo
KHN0ZG91dCk7CisgICAgd2Via2l0X3N1cHBvcnQ6OlRlYXJEb3duVGVzdEVudmlyb25tZW50KCk7
CisgICAgZXhpdCgwKTsKK30KKwordm9pZCBUZXN0U2hlbGw6OndhaXRUZXN0RmluaXNoZWQoKQor
eworICAgIEFTU0VSVCghbV90ZXN0SXNQZW5kaW5nKTsKKyAgICBtX3Rlc3RJc1BlbmRpbmcgPSB0
cnVlOworCisgICAgLy8gSW5zdGFsbCBhbiBhbGFybSBzaWduYWwgaGFuZGxlciB0aGF0IHdpbGwg
a2lsbCB1cyBpZiB3ZSB0aW1lIG91dC4KKyAgICBzdHJ1Y3Qgc2lnYWN0aW9uIGFsYXJtQWN0aW9u
OworICAgIGFsYXJtQWN0aW9uLnNhX2hhbmRsZXIgPSBBbGFybUhhbmRsZXI7CisgICAgc2lnZW1w
dHlzZXQoJmFsYXJtQWN0aW9uLnNhX21hc2spOworICAgIGFsYXJtQWN0aW9uLnNhX2ZsYWdzID0g
MDsKKworICAgIHN0cnVjdCBzaWdhY3Rpb24gb2xkQWN0aW9uOworICAgIHNpZ2FjdGlvbihTSUdB
TFJNLCAmYWxhcm1BY3Rpb24sICZvbGRBY3Rpb24pOworICAgIGFsYXJtKGxheW91dFRlc3RUaW1l
b3V0Rm9yV2F0Y2hEb2coKSAvIDEwMDApOworCisgICAgLy8gVGVzdEZpbmlzaGVkKCkgd2lsbCBw
b3N0IGEgcXVpdCBtZXNzYWdlIHRvIGJyZWFrIHRoaXMgbG9vcCB3aGVuIHRoZSBwYWdlCisgICAg
Ly8gZmluaXNoZXMgbG9hZGluZy4KKyAgICB3aGlsZSAobV90ZXN0SXNQZW5kaW5nKQorICAgICAg
ICB3ZWJraXRfc3VwcG9ydDo6UnVuTWVzc2FnZUxvb3AoKTsKKworICAgIC8vIFJlbW92ZSB0aGUg
YWxhcm0uCisgICAgYWxhcm0oMCk7CisgICAgc2lnYWN0aW9uKFNJR0FMUk0sICZvbGRBY3Rpb24s
IDApOworfQorCit2b2lkIHBsYXRmb3JtSW5pdChpbnQqIGFyZ2MsIGNoYXIqKiogYXJndikKK3sK
KyAgICAvLyBOb3RoaW5nIHRvIGRvIGhlcmUuCit9CisKK3ZvaWQgb3BlblN0YXJ0dXBEaWFsb2co
KQoreworICAgIC8vIEZJWE1FOiBOb3QgaW1wbGVtZW50ZWQuCit9CisKK2Jvb2wgY2hlY2tMYXlv
dXRUZXN0U3lzdGVtRGVwZW5kZW5jaWVzKCkKK3sKKyAgICAvLyBOb3RoaW5nIHRvIGRvIGhlcmUu
CisgICAgcmV0dXJuIHRydWU7Cit9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0U2hlbGxHdGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFNoZWxsR3RrLmNwcAppbmRleCA0MjI4ZjJhZmQzYjc5YmE5YWQ0ZjM2YmZiZDg4ZjBkYmJh
Y2YwY2M5Li4zM2JkZTlhMGU1MzYxMThhZmZmMzdiMjJiYTRjMDU2MzhkYTU5NjFmIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGxHdGsuY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbEd0ay5jcHAKQEAgLTM2LDYg
KzM2LDE3MSBAQAogI2luY2x1ZGUgPGd0ay9ndGsuaD4KICNpbmNsdWRlIDxzaWduYWwuaD4KIAor
c3RhdGljIHZvaWQgQWxhcm1IYW5kbGVyKGludCkKK3sKKyAgICAvLyBJZiB0aGUgYWxhcm0gYWxh
cm1lZCwga2lsbCB0aGUgcHJvY2VzcyBzaW5jZSB3ZSBoYXZlIGEgcmVhbGx5IGJhZCBoYW5nLgor
ICAgIHB1dHMoIlxuI1RFU1RfVElNRURfT1VUXG4iKTsKKyAgICBwdXRzKCIjRU9GXG4iKTsKKyAg
ICBmZmx1c2goc3Rkb3V0KTsKKyAgICBleGl0KDApOworfQorCitzdGF0aWMgdm9pZCBzZXR1cEZv
bnRjb25maWcoKQoreworICAgIC8vIFdlIHdpc2ggdG8gbWFrZSB0aGUgbGF5b3V0IHRlc3RzIHJl
cHJvZHVjYWJsZSB3aXRoIHJlc3BlY3QgdG8gZm9udHMuIFNraWEKKyAgICAvLyB1c2VzIGZvbnRj
b25maWcgdG8gcmVzb2x2ZSBmb250IGZhbWlseSBuYW1lcyBmcm9tIFdlYktpdCBpbnRvIGFjdHVh
bCBmb250CisgICAgLy8gZmlsZXMgZm91bmQgb24gdGhlIGN1cnJlbnQgc3lzdGVtLiBUaGlzIG1l
YW5zIHRoYXQgZm9udHMgdmFyeSBiYXNlZCBvbiB0aGUKKyAgICAvLyBzeXN0ZW0gYW5kIGFsc28g
b24gdGhlIGZvbnRjb25maWcgY29uZmlndXJhdGlvbi4KKyAgICAvLworICAgIC8vIFRvIGF2b2lk
IHRoaXMgd2UgaW5pdGlhbGlzZSBmb250Y29uZmlnIGhlcmUgYW5kIGluc3RhbGwgYSBjb25maWd1
cmF0aW9uCisgICAgLy8gd2hpY2ggb25seSBrbm93cyBhYm91dCBhIGZldywgc2VsZWN0LCBmb250
cy4KKworICAgIC8vIFdlIGhhdmUgZm9udGNvbmZpZyBwYXJzZSBhIGNvbmZpZyBmaWxlIGZyb20g
b3VyIHJlc291cmNlcyBmaWxlLiBUaGlzCisgICAgLy8gc2V0cyBhIG51bWJlciBvZiBhbGlhc2Vz
ICgic2FucyItPiJBcmlhbCIgZXRjKSwgYnV0IGRvZXNuJ3QgaW5jbHVkZSBhbnkKKyAgICAvLyBm
b250IGRpcmVjdG9yaWVzLgorICAgIEZjSW5pdCgpOworCisgICAgY2hhciBkcnRQYXRoW1BBVEhf
TUFYICsgMV07CisgICAgaW50IGRydFBhdGhTaXplID0gcmVhZGxpbmsoIi9wcm9jL3NlbGYvZXhl
IiwgZHJ0UGF0aCwgUEFUSF9NQVgpOworICAgIGlmIChkcnRQYXRoU2l6ZSA8IDAgfHwgZHJ0UGF0
aFNpemUgPiBQQVRIX01BWCkgeworICAgICAgICBmcHV0cygiVW5hYmxlIHRvIHJlc29sdmUgL3By
b2Mvc2VsZi9leGUuIiwgc3RkZXJyKTsKKyAgICAgICAgZXhpdCgxKTsKKyAgICB9CisgICAgZHJ0
UGF0aFtkcnRQYXRoU2l6ZV0gPSAwOworICAgIHN0ZDo6c3RyaW5nIGRydERpclBhdGgoZHJ0UGF0
aCk7CisgICAgc2l6ZV90IGxhc3RQYXRoUG9zID0gZHJ0RGlyUGF0aC5yZmluZCgiLyIpOworICAg
IEFTU0VSVChsYXN0UGF0aFBvcyAhPSBzdGQ6OnN0cmluZzo6bnBvcyk7CisgICAgZHJ0RGlyUGF0
aC5lcmFzZShsYXN0UGF0aFBvcyArIDEpOworCisgICAgRmNDb25maWcqIGZvbnRjZmcgPSBGY0Nv
bmZpZ0NyZWF0ZSgpOworICAgIHN0ZDo6c3RyaW5nIGZvbnRjb25maWdQYXRoID0gZHJ0RGlyUGF0
aCArICJmb250cy5jb25mIjsKKyAgICBpZiAoIUZjQ29uZmlnUGFyc2VBbmRMb2FkKGZvbnRjZmcs
IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgRmNDaGFyOCo+KGZvbnRjb25maWdQYXRoLmNfc3RyKCkp
LCB0cnVlKSkgeworICAgICAgICBmcHV0cygiRmFpbGVkIHRvIHBhcnNlIGZvbnRjb25maWcgY29u
ZmlnIGZpbGVcbiIsIHN0ZGVycik7CisgICAgICAgIGV4aXQoMSk7CisgICAgfQorCisgICAgLy8g
VGhpcyBpcyB0aGUgbGlzdCBvZiBmb250cyB0aGF0IGZvbnRjb25maWcgd2lsbCBrbm93IGFib3V0
LiBJdAorICAgIC8vIHdpbGwgdHJ5IGl0cyBiZXN0IHRvIG1hdGNoIGJhc2VkIG9ubHkgb24gdGhl
IGZvbnRzIGhlcmUgaW4uIFRoZQorICAgIC8vIHBhdGhzIGFyZSB3aGVyZSB0aGVzZSBmb250cyBh
cmUgZm91bmQgb24gb3VyIFVidW50dSBib3hlcy4KKyAgICBzdGF0aWMgY29uc3QgY2hhciAqY29u
c3QgZm9udHNbXSA9IHsKKyAgICAgICAgIi91c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5cGUva29jaGkv
a29jaGktZ290aGljLnR0ZiIsCisgICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL2tv
Y2hpL2tvY2hpLW1pbmNoby50dGYiLAorICAgICAgICAiL3Vzci9zaGFyZS9mb250cy90cnVldHlw
ZS9tc3R0Y29yZWZvbnRzL0FyaWFsLnR0ZiIsCisgICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3Ry
dWV0eXBlL21zdHRjb3JlZm9udHMvQXJpYWxfQm9sZC50dGYiLAorICAgICAgICAiL3Vzci9zaGFy
ZS9mb250cy90cnVldHlwZS9tc3R0Y29yZWZvbnRzL0FyaWFsX0JvbGRfSXRhbGljLnR0ZiIsCisg
ICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMvQXJpYWxfSXRh
bGljLnR0ZiIsCisgICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9u
dHMvQ29taWNfU2Fuc19NUy50dGYiLAorICAgICAgICAiL3Vzci9zaGFyZS9mb250cy90cnVldHlw
ZS9tc3R0Y29yZWZvbnRzL0NvbWljX1NhbnNfTVNfQm9sZC50dGYiLAorICAgICAgICAiL3Vzci9z
aGFyZS9mb250cy90cnVldHlwZS9tc3R0Y29yZWZvbnRzL0NvdXJpZXJfTmV3LnR0ZiIsCisgICAg
ICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMvQ291cmllcl9OZXdf
Qm9sZC50dGYiLAorICAgICAgICAiL3Vzci9zaGFyZS9mb250cy90cnVldHlwZS9tc3R0Y29yZWZv
bnRzL0NvdXJpZXJfTmV3X0JvbGRfSXRhbGljLnR0ZiIsCisgICAgICAgICIvdXNyL3NoYXJlL2Zv
bnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMvQ291cmllcl9OZXdfSXRhbGljLnR0ZiIsCisgICAg
ICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMvR2VvcmdpYS50dGYi
LAorICAgICAgICAiL3Vzci9zaGFyZS9mb250cy90cnVldHlwZS9tc3R0Y29yZWZvbnRzL0dlb3Jn
aWFfQm9sZC50dGYiLAorICAgICAgICAiL3Vzci9zaGFyZS9mb250cy90cnVldHlwZS9tc3R0Y29y
ZWZvbnRzL0dlb3JnaWFfQm9sZF9JdGFsaWMudHRmIiwKKyAgICAgICAgIi91c3Ivc2hhcmUvZm9u
dHMvdHJ1ZXR5cGUvbXN0dGNvcmVmb250cy9HZW9yZ2lhX0l0YWxpYy50dGYiLAorICAgICAgICAi
L3Vzci9zaGFyZS9mb250cy90cnVldHlwZS9tc3R0Y29yZWZvbnRzL0ltcGFjdC50dGYiLAorICAg
ICAgICAiL3Vzci9zaGFyZS9mb250cy90cnVldHlwZS9tc3R0Y29yZWZvbnRzL1RyZWJ1Y2hldF9N
Uy50dGYiLAorICAgICAgICAiL3Vzci9zaGFyZS9mb250cy90cnVldHlwZS9tc3R0Y29yZWZvbnRz
L1RyZWJ1Y2hldF9NU19Cb2xkLnR0ZiIsCisgICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0
eXBlL21zdHRjb3JlZm9udHMvVHJlYnVjaGV0X01TX0JvbGRfSXRhbGljLnR0ZiIsCisgICAgICAg
ICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMvVHJlYnVjaGV0X01TX0l0
YWxpYy50dGYiLAorICAgICAgICAiL3Vzci9zaGFyZS9mb250cy90cnVldHlwZS9tc3R0Y29yZWZv
bnRzL1RpbWVzX05ld19Sb21hbi50dGYiLAorICAgICAgICAiL3Vzci9zaGFyZS9mb250cy90cnVl
dHlwZS9tc3R0Y29yZWZvbnRzL1RpbWVzX05ld19Sb21hbl9Cb2xkLnR0ZiIsCisgICAgICAgICIv
dXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMvVGltZXNfTmV3X1JvbWFuX0Jv
bGRfSXRhbGljLnR0ZiIsCisgICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRj
b3JlZm9udHMvVGltZXNfTmV3X1JvbWFuX0l0YWxpYy50dGYiLAorICAgICAgICAiL3Vzci9zaGFy
ZS9mb250cy90cnVldHlwZS9tc3R0Y29yZWZvbnRzL1ZlcmRhbmEudHRmIiwKKyAgICAgICAgIi91
c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5cGUvbXN0dGNvcmVmb250cy9WZXJkYW5hX0JvbGQudHRmIiwK
KyAgICAgICAgIi91c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5cGUvbXN0dGNvcmVmb250cy9WZXJkYW5h
X0JvbGRfSXRhbGljLnR0ZiIsCisgICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21z
dHRjb3JlZm9udHMvVmVyZGFuYV9JdGFsaWMudHRmIiwKKyAgICAgICAgIi91c3Ivc2hhcmUvZm9u
dHMvdHJ1ZXR5cGUvdGhhaS9HYXJ1ZGEudHRmIiwKKyAgICAgICAgLy8gVGhlIERlamFWdVNhbnMg
Zm9udCBpcyB1c2VkIGJ5IHRoZSBjc3MyLjEgdGVzdHMuCisgICAgICAgICIvdXNyL3NoYXJlL2Zv
bnRzL3RydWV0eXBlL3R0Zi1kZWphdnUvRGVqYVZ1U2Fucy50dGYiLAorICAgICAgICAiL3Vzci9z
aGFyZS9mb250cy90cnVldHlwZS90dGYtaW5kaWMtZm9udHMtY29yZS9sb2hpdF9oaS50dGYiLAor
ICAgICAgICAiL3Vzci9zaGFyZS9mb250cy90cnVldHlwZS90dGYtaW5kaWMtZm9udHMtY29yZS9s
b2hpdF90YS50dGYiLAorICAgICAgICAiL3Vzci9zaGFyZS9mb250cy90cnVldHlwZS90dGYtaW5k
aWMtZm9udHMtY29yZS9NdWt0aU5hcnJvdy50dGYiLAorICAgIH07CisgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBhcnJheXNpemUoZm9udHMpOyArK2kpIHsKKyAgICAgICAgaWYgKGFjY2Vzcyhm
b250c1tpXSwgUl9PSykpIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiWW91IGFyZSBt
aXNzaW5nICVzLiBUcnkgcmUtcnVubmluZyBidWlsZC9pbnN0YWxsLWJ1aWxkLWRlcHMuc2guIEFs
c28gc2VlICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaHR0cDovL2NvZGUuZ29vZ2xl
LmNvbS9wL2Nocm9taXVtL3dpa2kvTGF5b3V0VGVzdHNMaW51eCIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZm9udHNbaV0pOworICAgICAgICAgICAgZXhpdCgxKTsKKyAgICAgICAgfQor
ICAgICAgICBpZiAoIUZjQ29uZmlnQXBwRm9udEFkZEZpbGUoZm9udGNmZywgKEZjQ2hhcjggKikg
Zm9udHNbaV0pKSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBsb2Fk
IGZvbnQgJXNcbiIsIGZvbnRzW2ldKTsKKyAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgIH0K
KyAgICB9CisKKyAgICAvLyBXZSBzcGVjaWFsIGNhc2UgdGhlc2UgZm9udHMgYmVjYXVzZSB0aGV5
J3JlIG9ubHkgbmVlZGVkIGluIGEKKyAgICAvLyBmZXcgbGF5b3V0IHRlc3RzLgorICAgIHN0YXRp
YyBjb25zdCBjaGFyKiBjb25zdCBvcHRpb25hbEZvbnRzW10gPSB7CisgICAgICAgICIvdXNyL3No
YXJlL2ZvbnRzL3RydWV0eXBlL3R0Zi1pbmRpYy1mb250cy1jb3JlL2xvaGl0X3BhLnR0ZiIsCisg
ICAgfTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFycmF5c2l6ZShvcHRpb25hbEZvbnRz
KTsgKytpKSB7CisgICAgICAgIGNvbnN0IGNoYXIqIGZvbnQgPSBvcHRpb25hbEZvbnRzW2ldOwor
CisgICAgICAgIC8vIFRoaXMgZm9udCBjaGFuZ2VkIHBhdGhzIGFjcm9zcyBVYnVudHUgcmVsZWFz
ZXMsIHNvIHRyeSBjaGVja2luZyBpbiBib3RoIGxvY2F0aW9ucy4KKyAgICAgICAgaWYgKCFzdHJj
bXAoZm9udCwgIi91c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5cGUvdHRmLWluZGljLWZvbnRzLWNvcmUv
bG9oaXRfcGEudHRmIikKKyAgICAgICAgICAgICYmIGFjY2Vzcyhmb250LCBSX09LKSA8IDApCisg
ICAgICAgICAgICBmb250ID0gIi91c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5cGUvdHRmLXB1bmphYmkt
Zm9udHMvbG9oaXRfcGEudHRmIjsKKworICAgICAgICBpZiAoYWNjZXNzKGZvbnQsIFJfT0spIDwg
MCkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJZb3UgYXJlIG1pc3NpbmcgJXMuIFdp
dGhvdXQgdGhpcywgc29tZSBsYXlvdXQgdGVzdHMgbWF5IGZhaWwuICIKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiU2VlIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS93aWtp
L0xheW91dFRlc3RzTGludXggIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3IgbW9y
ZS5cbiIsIGZvbnQpOworICAgICAgICB9IGVsc2UgaWYgKCFGY0NvbmZpZ0FwcEZvbnRBZGRGaWxl
KGZvbnRjZmcsIChGY0NoYXI4ICopIGZvbnQpKSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgIkZhaWxlZCB0byBsb2FkIGZvbnQgJXNcbiIsIGZvbnQpOworICAgICAgICAgICAgZXhpdCgx
KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIEFsc28gbG9hZCB0aGUgbGF5b3V0LXRlc3Qt
c3BlY2lmaWMgIkFoZW0iIGZvbnQuCisgICAgc3RkOjpzdHJpbmcgYWhlbVBhdGggPSBkcnREaXJQ
YXRoICsgIkFIRU1fX19fLlRURiI7CisgICAgaWYgKCFGY0NvbmZpZ0FwcEZvbnRBZGRGaWxlKGZv
bnRjZmcsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgRmNDaGFyOCo+KGFoZW1QYXRoLmNfc3RyKCkp
KSkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBsb2FkIGZvbnQgJXNcbiIs
IGFoZW1QYXRoLmNfc3RyKCkpOworICAgICAgICBleGl0KDEpOworICAgIH0KKworICAgIGlmICgh
RmNDb25maWdTZXRDdXJyZW50KGZvbnRjZmcpKSB7CisgICAgICAgIGZwdXRzKCJGYWlsZWQgdG8g
c2V0IHRoZSBkZWZhdWx0IGZvbnQgY29uZmlndXJhdGlvblxuIiwgc3RkZXJyKTsKKyAgICAgICAg
ZXhpdCgxKTsKKyAgICB9Cit9CisKK3ZvaWQgVGVzdFNoZWxsOjp3YWl0VGVzdEZpbmlzaGVkKCkK
K3sKKyAgICBBU1NFUlQoIW1fdGVzdElzUGVuZGluZyk7CisgICAgbV90ZXN0SXNQZW5kaW5nID0g
dHJ1ZTsKKworICAgIC8vIEluc3RhbGwgYW4gYWxhcm0gc2lnbmFsIGhhbmRsZXIgdGhhdCB3aWxs
IGtpbGwgdXMgaWYgd2UgdGltZSBvdXQuCisgICAgc3RydWN0IHNpZ2FjdGlvbiBhbGFybUFjdGlv
bjsKKyAgICBhbGFybUFjdGlvbi5zYV9oYW5kbGVyID0gQWxhcm1IYW5kbGVyOworICAgIHNpZ2Vt
cHR5c2V0KCZhbGFybUFjdGlvbi5zYV9tYXNrKTsKKyAgICBhbGFybUFjdGlvbi5zYV9mbGFncyA9
IDA7CisKKyAgICBzdHJ1Y3Qgc2lnYWN0aW9uIG9sZEFjdGlvbjsKKyAgICBzaWdhY3Rpb24oU0lH
QUxSTSwgJmFsYXJtQWN0aW9uLCAmb2xkQWN0aW9uKTsKKyAgICBhbGFybShsYXlvdXRUZXN0VGlt
ZW91dEZvcldhdGNoRG9nKCkgLyAxMDAwKTsKKworICAgIC8vIFRlc3RGaW5pc2hlZCgpIHdpbGwg
cG9zdCBhIHF1aXQgbWVzc2FnZSB0byBicmVhayB0aGlzIGxvb3Agd2hlbiB0aGUgcGFnZQorICAg
IC8vIGZpbmlzaGVzIGxvYWRpbmcuCisgICAgd2hpbGUgKG1fdGVzdElzUGVuZGluZykKKyAgICAg
ICAgd2Via2l0X3N1cHBvcnQ6OlJ1bk1lc3NhZ2VMb29wKCk7CisKKyAgICAvLyBSZW1vdmUgdGhl
IGFsYXJtLgorICAgIGFsYXJtKDApOworICAgIHNpZ2FjdGlvbihTSUdBTFJNLCAmb2xkQWN0aW9u
LCAwKTsKK30KKwordm9pZCBwbGF0Zm9ybUluaXQoaW50KiBhcmdjLCBjaGFyKioqIGFyZ3YpCit7
CisgICAgLy8gRklYTUU6IEl0J3MgYmV0dGVyIGNhbGwgZ3RrX2luaXQoKSBvbmx5IHdoZW4gd2Ug
cnVuIHBsdWdpbiB0ZXN0cy4KKyAgICAvLyBTZWUgaHR0cDovL2dyb3Vwcy5nb29nbGUuY29tL2Ev
Y2hyb21pdW0ub3JnL2dyb3VwL2Nocm9taXVtLWRldi9icm93c2VfdGhyZWFkL3RocmVhZC82MzNl
YTE2N2NkZTE5NmNhIworICAgIGd0a19pbml0KGFyZ2MsIGFyZ3YpOworCisgICAgc2V0dXBGb250
Y29uZmlnKCk7Cit9CiAKIHZvaWQgb3BlblN0YXJ0dXBEaWFsb2coKQogewpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsTGludXguY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsTGludXguY3BwCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmOGQwYmJmZmViMDFhNThmNDU5M2Q4MTk0ZmE2N2I2MmQxMzY4YTg2
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbExpbnV4LmNwcAorKysgL2Rldi9udWxsCkBA
IC0xLDIxNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0g
KiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0g
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAot
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlRlc3RTaGVsbC5o
IgotCi0jaW5jbHVkZSAiU2tUeXBlZmFjZS5oIgotI2luY2x1ZGUgIldlYlZpZXcuaCIKLSNpbmNs
dWRlICJ3ZWJraXQvc3VwcG9ydC93ZWJraXRfc3VwcG9ydC5oIgotCi0jaWYgIU9TKEFORFJPSUQp
Ci0jaW5jbHVkZSA8Zm9udGNvbmZpZy9mb250Y29uZmlnLmg+Ci0jZW5kaWYKLSNpbmNsdWRlIDxz
aWduYWwuaD4KLSNpbmNsdWRlIDx1bmlzdGQuaD4KLQotc3RhdGljIHZvaWQgQWxhcm1IYW5kbGVy
KGludCkKLXsKLSAgICAvLyBJZiB0aGUgYWxhcm0gYWxhcm1lZCwga2lsbCB0aGUgcHJvY2VzcyBz
aW5jZSB3ZSBoYXZlIGEgcmVhbGx5IGJhZCBoYW5nLgotICAgIHB1dHMoIlxuI1RFU1RfVElNRURf
T1VUXG4iKTsKLSAgICBwdXRzKCIjRU9GXG4iKTsKLSAgICBmZmx1c2goc3Rkb3V0KTsKLSAgICBl
eGl0KDApOwotfQotCi12b2lkIFRlc3RTaGVsbDo6d2FpdFRlc3RGaW5pc2hlZCgpCi17Ci0gICAg
QVNTRVJUKCFtX3Rlc3RJc1BlbmRpbmcpOwotICAgIG1fdGVzdElzUGVuZGluZyA9IHRydWU7Ci0K
LSAgICAvLyBJbnN0YWxsIGFuIGFsYXJtIHNpZ25hbCBoYW5kbGVyIHRoYXQgd2lsbCBraWxsIHVz
IGlmIHdlIHRpbWUgb3V0LgotICAgIHN0cnVjdCBzaWdhY3Rpb24gYWxhcm1BY3Rpb247Ci0gICAg
YWxhcm1BY3Rpb24uc2FfaGFuZGxlciA9IEFsYXJtSGFuZGxlcjsKLSAgICBzaWdlbXB0eXNldCgm
YWxhcm1BY3Rpb24uc2FfbWFzayk7Ci0gICAgYWxhcm1BY3Rpb24uc2FfZmxhZ3MgPSAwOwotCi0g
ICAgc3RydWN0IHNpZ2FjdGlvbiBvbGRBY3Rpb247Ci0gICAgc2lnYWN0aW9uKFNJR0FMUk0sICZh
bGFybUFjdGlvbiwgJm9sZEFjdGlvbik7Ci0gICAgYWxhcm0obGF5b3V0VGVzdFRpbWVvdXRGb3JX
YXRjaERvZygpIC8gMTAwMCk7Ci0KLSAgICAvLyBUZXN0RmluaXNoZWQoKSB3aWxsIHBvc3QgYSBx
dWl0IG1lc3NhZ2UgdG8gYnJlYWsgdGhpcyBsb29wIHdoZW4gdGhlIHBhZ2UKLSAgICAvLyBmaW5p
c2hlcyBsb2FkaW5nLgotICAgIHdoaWxlIChtX3Rlc3RJc1BlbmRpbmcpCi0gICAgICAgIHdlYmtp
dF9zdXBwb3J0OjpSdW5NZXNzYWdlTG9vcCgpOwotCi0gICAgLy8gUmVtb3ZlIHRoZSBhbGFybS4K
LSAgICBhbGFybSgwKTsKLSAgICBzaWdhY3Rpb24oU0lHQUxSTSwgJm9sZEFjdGlvbiwgMCk7Ci19
Ci0KLSNpZiAhT1MoQU5EUk9JRCkKLXN0YXRpYyB2b2lkIHNldHVwRm9udGNvbmZpZygpCi17Ci0g
ICAgLy8gV2Ugd2lzaCB0byBtYWtlIHRoZSBsYXlvdXQgdGVzdHMgcmVwcm9kdWNhYmxlIHdpdGgg
cmVzcGVjdCB0byBmb250cy4gU2tpYQotICAgIC8vIHVzZXMgZm9udGNvbmZpZyB0byByZXNvbHZl
IGZvbnQgZmFtaWx5IG5hbWVzIGZyb20gV2ViS2l0IGludG8gYWN0dWFsIGZvbnQKLSAgICAvLyBm
aWxlcyBmb3VuZCBvbiB0aGUgY3VycmVudCBzeXN0ZW0uIFRoaXMgbWVhbnMgdGhhdCBmb250cyB2
YXJ5IGJhc2VkIG9uIHRoZQotICAgIC8vIHN5c3RlbSBhbmQgYWxzbyBvbiB0aGUgZm9udGNvbmZp
ZyBjb25maWd1cmF0aW9uLgotICAgIC8vCi0gICAgLy8gVG8gYXZvaWQgdGhpcyB3ZSBpbml0aWFs
aXNlIGZvbnRjb25maWcgaGVyZSBhbmQgaW5zdGFsbCBhIGNvbmZpZ3VyYXRpb24KLSAgICAvLyB3
aGljaCBvbmx5IGtub3dzIGFib3V0IGEgZmV3LCBzZWxlY3QsIGZvbnRzLgotCi0gICAgLy8gV2Ug
aGF2ZSBmb250Y29uZmlnIHBhcnNlIGEgY29uZmlnIGZpbGUgZnJvbSBvdXIgcmVzb3VyY2VzIGZp
bGUuIFRoaXMKLSAgICAvLyBzZXRzIGEgbnVtYmVyIG9mIGFsaWFzZXMgKCJzYW5zIi0+IkFyaWFs
IiBldGMpLCBidXQgZG9lc24ndCBpbmNsdWRlIGFueQotICAgIC8vIGZvbnQgZGlyZWN0b3JpZXMu
Ci0gICAgRmNJbml0KCk7Ci0KLSAgICBjaGFyIGRydFBhdGhbUEFUSF9NQVggKyAxXTsKLSAgICBp
bnQgZHJ0UGF0aFNpemUgPSByZWFkbGluaygiL3Byb2Mvc2VsZi9leGUiLCBkcnRQYXRoLCBQQVRI
X01BWCk7Ci0gICAgaWYgKGRydFBhdGhTaXplIDwgMCB8fCBkcnRQYXRoU2l6ZSA+IFBBVEhfTUFY
KSB7Ci0gICAgICAgIGZwdXRzKCJVbmFibGUgdG8gcmVzb2x2ZSAvcHJvYy9zZWxmL2V4ZS4iLCBz
dGRlcnIpOwotICAgICAgICBleGl0KDEpOwotICAgIH0KLSAgICBkcnRQYXRoW2RydFBhdGhTaXpl
XSA9IDA7Ci0gICAgc3RkOjpzdHJpbmcgZHJ0RGlyUGF0aChkcnRQYXRoKTsKLSAgICBzaXplX3Qg
bGFzdFBhdGhQb3MgPSBkcnREaXJQYXRoLnJmaW5kKCIvIik7Ci0gICAgQVNTRVJUKGxhc3RQYXRo
UG9zICE9IHN0ZDo6c3RyaW5nOjpucG9zKTsKLSAgICBkcnREaXJQYXRoLmVyYXNlKGxhc3RQYXRo
UG9zICsgMSk7Ci0KLSAgICBGY0NvbmZpZyogZm9udGNmZyA9IEZjQ29uZmlnQ3JlYXRlKCk7Ci0g
ICAgc3RkOjpzdHJpbmcgZm9udGNvbmZpZ1BhdGggPSBkcnREaXJQYXRoICsgImZvbnRzLmNvbmYi
OwotICAgIGlmICghRmNDb25maWdQYXJzZUFuZExvYWQoZm9udGNmZywgcmVpbnRlcnByZXRfY2Fz
dDxjb25zdCBGY0NoYXI4Kj4oZm9udGNvbmZpZ1BhdGguY19zdHIoKSksIHRydWUpKSB7Ci0gICAg
ICAgIGZwdXRzKCJGYWlsZWQgdG8gcGFyc2UgZm9udGNvbmZpZyBjb25maWcgZmlsZVxuIiwgc3Rk
ZXJyKTsKLSAgICAgICAgZXhpdCgxKTsKLSAgICB9Ci0KLSAgICAvLyBUaGlzIGlzIHRoZSBsaXN0
IG9mIGZvbnRzIHRoYXQgZm9udGNvbmZpZyB3aWxsIGtub3cgYWJvdXQuIEl0Ci0gICAgLy8gd2ls
bCB0cnkgaXRzIGJlc3QgdG8gbWF0Y2ggYmFzZWQgb25seSBvbiB0aGUgZm9udHMgaGVyZSBpbi4g
VGhlCi0gICAgLy8gcGF0aHMgYXJlIHdoZXJlIHRoZXNlIGZvbnRzIGFyZSBmb3VuZCBvbiBvdXIg
VWJ1bnR1IGJveGVzLgotICAgIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBmb250c1tdID0gewot
ICAgICAgICAiL3Vzci9zaGFyZS9mb250cy90cnVldHlwZS9rb2NoaS9rb2NoaS1nb3RoaWMudHRm
IiwKLSAgICAgICAgIi91c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5cGUva29jaGkva29jaGktbWluY2hv
LnR0ZiIsCi0gICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMv
QXJpYWwudHRmIiwKLSAgICAgICAgIi91c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5cGUvbXN0dGNvcmVm
b250cy9BcmlhbF9Cb2xkLnR0ZiIsCi0gICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBl
L21zdHRjb3JlZm9udHMvQXJpYWxfQm9sZF9JdGFsaWMudHRmIiwKLSAgICAgICAgIi91c3Ivc2hh
cmUvZm9udHMvdHJ1ZXR5cGUvbXN0dGNvcmVmb250cy9BcmlhbF9JdGFsaWMudHRmIiwKLSAgICAg
ICAgIi91c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5cGUvbXN0dGNvcmVmb250cy9Db21pY19TYW5zX01T
LnR0ZiIsCi0gICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMv
Q29taWNfU2Fuc19NU19Cb2xkLnR0ZiIsCi0gICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0
eXBlL21zdHRjb3JlZm9udHMvQ291cmllcl9OZXcudHRmIiwKLSAgICAgICAgIi91c3Ivc2hhcmUv
Zm9udHMvdHJ1ZXR5cGUvbXN0dGNvcmVmb250cy9Db3VyaWVyX05ld19Cb2xkLnR0ZiIsCi0gICAg
ICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMvQ291cmllcl9OZXdf
Qm9sZF9JdGFsaWMudHRmIiwKLSAgICAgICAgIi91c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5cGUvbXN0
dGNvcmVmb250cy9Db3VyaWVyX05ld19JdGFsaWMudHRmIiwKLSAgICAgICAgIi91c3Ivc2hhcmUv
Zm9udHMvdHJ1ZXR5cGUvbXN0dGNvcmVmb250cy9HZW9yZ2lhLnR0ZiIsCi0gICAgICAgICIvdXNy
L3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMvR2VvcmdpYV9Cb2xkLnR0ZiIsCi0g
ICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMvR2VvcmdpYV9C
b2xkX0l0YWxpYy50dGYiLAotICAgICAgICAiL3Vzci9zaGFyZS9mb250cy90cnVldHlwZS9tc3R0
Y29yZWZvbnRzL0dlb3JnaWFfSXRhbGljLnR0ZiIsCi0gICAgICAgICIvdXNyL3NoYXJlL2ZvbnRz
L3RydWV0eXBlL21zdHRjb3JlZm9udHMvSW1wYWN0LnR0ZiIsCi0gICAgICAgICIvdXNyL3NoYXJl
L2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMvVHJlYnVjaGV0X01TLnR0ZiIsCi0gICAgICAg
ICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMvVHJlYnVjaGV0X01TX0Jv
bGQudHRmIiwKLSAgICAgICAgIi91c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5cGUvbXN0dGNvcmVmb250
cy9UcmVidWNoZXRfTVNfQm9sZF9JdGFsaWMudHRmIiwKLSAgICAgICAgIi91c3Ivc2hhcmUvZm9u
dHMvdHJ1ZXR5cGUvbXN0dGNvcmVmb250cy9UcmVidWNoZXRfTVNfSXRhbGljLnR0ZiIsCi0gICAg
ICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMvVGltZXNfTmV3X1Jv
bWFuLnR0ZiIsCi0gICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9u
dHMvVGltZXNfTmV3X1JvbWFuX0JvbGQudHRmIiwKLSAgICAgICAgIi91c3Ivc2hhcmUvZm9udHMv
dHJ1ZXR5cGUvbXN0dGNvcmVmb250cy9UaW1lc19OZXdfUm9tYW5fQm9sZF9JdGFsaWMudHRmIiwK
LSAgICAgICAgIi91c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5cGUvbXN0dGNvcmVmb250cy9UaW1lc19O
ZXdfUm9tYW5fSXRhbGljLnR0ZiIsCi0gICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBl
L21zdHRjb3JlZm9udHMvVmVyZGFuYS50dGYiLAotICAgICAgICAiL3Vzci9zaGFyZS9mb250cy90
cnVldHlwZS9tc3R0Y29yZWZvbnRzL1ZlcmRhbmFfQm9sZC50dGYiLAotICAgICAgICAiL3Vzci9z
aGFyZS9mb250cy90cnVldHlwZS9tc3R0Y29yZWZvbnRzL1ZlcmRhbmFfQm9sZF9JdGFsaWMudHRm
IiwKLSAgICAgICAgIi91c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5cGUvbXN0dGNvcmVmb250cy9WZXJk
YW5hX0l0YWxpYy50dGYiLAotICAgICAgICAiL3Vzci9zaGFyZS9mb250cy90cnVldHlwZS90aGFp
L0dhcnVkYS50dGYiLAotICAgICAgICAvLyBUaGUgRGVqYVZ1U2FucyBmb250IGlzIHVzZWQgYnkg
dGhlIGNzczIuMSB0ZXN0cy4KLSAgICAgICAgIi91c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5cGUvdHRm
LWRlamF2dS9EZWphVnVTYW5zLnR0ZiIsCi0gICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0
eXBlL3R0Zi1pbmRpYy1mb250cy1jb3JlL2xvaGl0X2hpLnR0ZiIsCi0gICAgICAgICIvdXNyL3No
YXJlL2ZvbnRzL3RydWV0eXBlL3R0Zi1pbmRpYy1mb250cy1jb3JlL2xvaGl0X3RhLnR0ZiIsCi0g
ICAgICAgICIvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL3R0Zi1pbmRpYy1mb250cy1jb3JlL011
a3RpTmFycm93LnR0ZiIsCi0gICAgfTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFycmF5
c2l6ZShmb250cyk7ICsraSkgewotICAgICAgICBpZiAoYWNjZXNzKGZvbnRzW2ldLCBSX09LKSkg
ewotICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJZb3UgYXJlIG1pc3NpbmcgJXMuIFRyeSBy
ZS1ydW5uaW5nIGJ1aWxkL2luc3RhbGwtYnVpbGQtZGVwcy5zaC4gQWxzbyBzZWUgIgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0v
d2lraS9MYXlvdXRUZXN0c0xpbnV4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250
c1tpXSk7Ci0gICAgICAgICAgICBleGl0KDEpOwotICAgICAgICB9Ci0gICAgICAgIGlmICghRmND
b25maWdBcHBGb250QWRkRmlsZShmb250Y2ZnLCAoRmNDaGFyOCAqKSBmb250c1tpXSkpIHsKLSAg
ICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGxvYWQgZm9udCAlc1xuIiwgZm9u
dHNbaV0pOwotICAgICAgICAgICAgZXhpdCgxKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIC8v
IFdlIHNwZWNpYWwgY2FzZSB0aGVzZSBmb250cyBiZWNhdXNlIHRoZXkncmUgb25seSBuZWVkZWQg
aW4gYQotICAgIC8vIGZldyBsYXlvdXQgdGVzdHMuCi0gICAgc3RhdGljIGNvbnN0IGNoYXIqIGNv
bnN0IG9wdGlvbmFsRm9udHNbXSA9IHsKLSAgICAgICAgIi91c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5
cGUvdHRmLWluZGljLWZvbnRzLWNvcmUvbG9oaXRfcGEudHRmIiwKLSAgICB9OwotICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgYXJyYXlzaXplKG9wdGlvbmFsRm9udHMpOyArK2kpIHsKLSAgICAg
ICAgY29uc3QgY2hhciogZm9udCA9IG9wdGlvbmFsRm9udHNbaV07Ci0KLSAgICAgICAgLy8gVGhp
cyBmb250IGNoYW5nZWQgcGF0aHMgYWNyb3NzIFVidW50dSByZWxlYXNlcywgc28gdHJ5IGNoZWNr
aW5nIGluIGJvdGggbG9jYXRpb25zLgotICAgICAgICBpZiAoIXN0cmNtcChmb250LCAiL3Vzci9z
aGFyZS9mb250cy90cnVldHlwZS90dGYtaW5kaWMtZm9udHMtY29yZS9sb2hpdF9wYS50dGYiKQot
ICAgICAgICAgICAgJiYgYWNjZXNzKGZvbnQsIFJfT0spIDwgMCkKLSAgICAgICAgICAgIGZvbnQg
PSAiL3Vzci9zaGFyZS9mb250cy90cnVldHlwZS90dGYtcHVuamFiaS1mb250cy9sb2hpdF9wYS50
dGYiOwotCi0gICAgICAgIGlmIChhY2Nlc3MoZm9udCwgUl9PSykgPCAwKSB7Ci0gICAgICAgICAg
ICBmcHJpbnRmKHN0ZGVyciwgIllvdSBhcmUgbWlzc2luZyAlcy4gV2l0aG91dCB0aGlzLCBzb21l
IGxheW91dCB0ZXN0cyBtYXkgZmFpbC4gIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJT
ZWUgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL3dpa2kvTGF5b3V0VGVzdHNMaW51
eCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvciBtb3JlLlxuIiwgZm9udCk7Ci0g
ICAgICAgIH0gZWxzZSBpZiAoIUZjQ29uZmlnQXBwRm9udEFkZEZpbGUoZm9udGNmZywgKEZjQ2hh
cjggKikgZm9udCkpIHsKLSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGxv
YWQgZm9udCAlc1xuIiwgZm9udCk7Ci0gICAgICAgICAgICBleGl0KDEpOwotICAgICAgICB9Ci0g
ICAgfQotCi0gICAgLy8gQWxzbyBsb2FkIHRoZSBsYXlvdXQtdGVzdC1zcGVjaWZpYyAiQWhlbSIg
Zm9udC4KLSAgICBzdGQ6OnN0cmluZyBhaGVtUGF0aCA9IGRydERpclBhdGggKyAiQUhFTV9fX18u
VFRGIjsKLSAgICBpZiAoIUZjQ29uZmlnQXBwRm9udEFkZEZpbGUoZm9udGNmZywgcmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCBGY0NoYXI4Kj4oYWhlbVBhdGguY19zdHIoKSkpKSB7Ci0gICAgICAgIGZw
cmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGxvYWQgZm9udCAlc1xuIiwgYWhlbVBhdGguY19zdHIo
KSk7Ci0gICAgICAgIGV4aXQoMSk7Ci0gICAgfQotCi0gICAgaWYgKCFGY0NvbmZpZ1NldEN1cnJl
bnQoZm9udGNmZykpIHsKLSAgICAgICAgZnB1dHMoIkZhaWxlZCB0byBzZXQgdGhlIGRlZmF1bHQg
Zm9udCBjb25maWd1cmF0aW9uXG4iLCBzdGRlcnIpOwotICAgICAgICBleGl0KDEpOwotICAgIH0K
LX0KLSNlbmRpZiAvLyAhT1MoQU5EUk9JRCkKLQotdm9pZCBwbGF0Zm9ybUluaXQoaW50KiBhcmdj
LCBjaGFyKioqIGFyZ3YpCi17Ci0gICAgLy8gRklYTUU6IEl0J3MgYmV0dGVyIGNhbGwgZ3RrX2lu
aXQoKSBvbmx5IHdoZW4gd2UgcnVuIHBsdWdpbiB0ZXN0cy4KLSAgICAvLyBTZWUgaHR0cDovL2dy
b3Vwcy5nb29nbGUuY29tL2EvY2hyb21pdW0ub3JnL2dyb3VwL2Nocm9taXVtLWRldi9icm93c2Vf
dGhyZWFkL3RocmVhZC82MzNlYTE2N2NkZTE5NmNhIwotI2lmIFVTRShHVEspCi0gICAgZ3RrX2lu
aXQoYXJnYywgYXJndik7Ci0jZW5kaWYKLQotI2lmICFPUyhBTkRST0lEKQotICAgIHNldHVwRm9u
dGNvbmZpZygpOwotI2VuZGlmCi19Ci0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RTaGVsbFN0dWIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdFNoZWxsU3R1Yi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjMzRm
ODRiMzk1YTdlMWZlMjgxZGRmNzQyOWQxZWM3NDQ3NGVhMGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFNoZWxsU3R1Yi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3Ry
aWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotCi0jaW5jbHVk
ZSAiY29uZmlnLmgiCi0KLSNpbmNsdWRlICJUZXN0U2hlbGwuaCIKLQotYm9vbCBjaGVja0xheW91
dFRlc3RTeXN0ZW1EZXBlbmRlbmNpZXMoKQotewotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lk
IG9wZW5TdGFydHVwRGlhbG9nKCkKLXsKLSAgICAvLyBGSVhNRTogTm90IGltcGxlbWVudGVkLgot
fQotCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>