<?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>98826</bug_id>
          
          <creation_ts>2012-10-09 15:15:37 -0700</creation_ts>
          <short_desc>REGRESSION(r130812): Caused fast/text/shaping/shaping-selection-rect to fail (Requested by abarth|gardening on #webkit).</short_desc>
          <delta_ts>2012-10-09 15:24:30 -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>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>98317</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>enrica</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>738238</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-09 15:15:37 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/130812 broke the build:
Caused fast/text/shaping/shaping-selection-rect to fail (Requested by abarth|gardening 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>738241</commentid>
    <comment_count>1</comment_count>
      <attachid>167859</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-09 15:16:16 -0700</bug_when>
    <thetext>Created attachment 167859
ROLLOUT of r130812

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>738249</commentid>
    <comment_count>2</comment_count>
      <attachid>167859</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-09 15:20:31 -0700</bug_when>
    <thetext>Comment on attachment 167859
ROLLOUT of r130812

enrica doesn&apos;t appear to be around to discuss this issue in #webkit.  Please feel free to cancel this rollout if you&apos;re around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738255</commentid>
    <comment_count>3</comment_count>
      <attachid>167859</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-09 15:24:27 -0700</bug_when>
    <thetext>Comment on attachment 167859
ROLLOUT of r130812

Clearing flags on attachment: 167859

Committed r130820: &lt;http://trac.webkit.org/changeset/130820&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738256</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-09 15:24:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167859</attachid>
            <date>2012-10-09 15:16:16 -0700</date>
            <delta_ts>2012-10-09 15:24:27 -0700</delta_ts>
            <desc>ROLLOUT of r130812</desc>
            <filename>bug-98826-20121009222245.patch</filename>
            <type>text/plain</type>
            <size>30768</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTg3ZTBlNWE0YzYyN2Qz
NzdmZTdmYjI0MmMyZmRjODM1M2IzMDU0NC4uMjYxOGY3MTU1OTA2ZDk1NWFjYWFiZDhiNjVlNmRi
YzI0ZjE4MzIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTA5ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTMwODEyLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMzA4MTIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk4ODI2CisKKyAgICAgICAgQ2F1c2VkIGZhc3QvdGV4dC9zaGFwaW5nL3NoYXBp
bmctc2VsZWN0aW9uLXJlY3QgdG8gZmFpbAorICAgICAgICAoUmVxdWVzdGVkIGJ5IGFiYXJ0aHxn
YXJkZW5pbmcgb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OndpZHRoKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9Gb250Lmg6CisgICAgICAgIChGb250KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRMYXlvdXQ6OndpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OndpZHRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWR2YW5jZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oOgorICAgICAg
ICAoQ29tcGxleFRleHRDb250cm9sbGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoTGluZUJyZWFrZXIpOgorICAgICAg
ICAoUmVuZGVyQmxvY2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlv
dXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0TG9naWNhbFdpZHRoRm9yVGV4dFJ1bik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0
aW9uc0ZvckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNyZWF0ZUxpbmVC
b3hlc0Zyb21CaWRpUnVucyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5b3V0
UnVuc0FuZEZsb2F0c0luUmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6dGV4dFdpZHRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpMaW5lQnJlYWtlcjo6bmV4dExpbmVCcmVhayk6
CisKIDIwMTItMTAtMDkgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBNYWtlIENhY2hlZFJlc291cmNlTG9hZGVyIFJlZkNvdW50ZWQgYW5kIGhhdmUgYm90aCBE
b2N1bWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAppbmRleCAx
YTA3NjBlZTk1ODliMGIzMGIyN2M3NTEzZmVlODk0ODRlNzQ5NjAyLi5lZTlkYzc1Mjg3ZWVlMjhk
YjEyOGJhNzRjMGExNTE4YzE0OTBkYWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250LmNwcApAQCAtMjIwLDcgKzIyMCw3IEBAIHZvaWQgRm9udDo6ZGVsZXRlTGF5b3V0
KFRleHRMYXlvdXQqKQogewogfQogCi1mbG9hdCBGb250Ojp3aWR0aChUZXh0TGF5b3V0JiwgdW5z
aWduZWQsIHVuc2lnbmVkLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qKQorZmxvYXQg
Rm9udDo6d2lkdGgoVGV4dExheW91dCYsIHVuc2lnbmVkLCB1bnNpZ25lZCkKIHsKICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuaAppbmRleCA1NTE2M2VjNjE1ZTY0YWI4MTdlOGFmZWRlZTkyODVmMzk1MDk1
NGJmLi4wZjI5NGVlNGIyOTdmNmY4NTgzNDg4MzU4MWU0NjdiMTAyMDNlZTQ2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCkBAIC0xMDUsNyArMTA1LDcgQEAgcHVibGlj
OgogCiAgICAgUGFzc093blB0cjxUZXh0TGF5b3V0PiBjcmVhdGVMYXlvdXQoUmVuZGVyVGV4dCos
IGZsb2F0IHhQb3MsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlKSBjb25zdDsKICAgICBzdGF0aWMg
dm9pZCBkZWxldGVMYXlvdXQoVGV4dExheW91dCopOwotICAgIHN0YXRpYyBmbG9hdCB3aWR0aChU
ZXh0TGF5b3V0JiwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBIYXNoU2V0PGNvbnN0IFNp
bXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwKTsKKyAgICBzdGF0aWMgZmxvYXQgd2lk
dGgoVGV4dExheW91dCYsIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbik7CiAKICAgICBpbnQg
b2Zmc2V0Rm9yUG9zaXRpb24oY29uc3QgVGV4dFJ1biYsIGZsb2F0IHBvc2l0aW9uLCBib29sIGlu
Y2x1ZGVQYXJ0aWFsR2x5cGhzKSBjb25zdDsKICAgICBGbG9hdFJlY3Qgc2VsZWN0aW9uUmVjdEZv
clRleHQoY29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmLCBpbnQgaCwgaW50IGZyb20g
PSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCmluZGV4
IDdlMDY1NWI5M2NkNjY0NGIxOTkzY2VkYzgwZDc3ODkzYzVhNzhlOTUuLjAyNmJhMTIwMjEwYzQ3
NzU2ZjVjMGI1NzM4MTQ3OGJiMDVlYTI5MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3Bw
CkBAIC01NCwxMyArNTQsMTMgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBmbG9hdCB3
aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9u
dERhdGEqPiogZmFsbGJhY2tGb250cykKKyAgICBmbG9hdCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1
bnNpZ25lZCBsZW4pCiAgICAgewotICAgICAgICBtX2NvbnRyb2xsZXItPmFkdmFuY2UoZnJvbSwg
MCwgQnlXaG9sZUdseXBocywgZmFsbGJhY2tGb250cyk7CisgICAgICAgIG1fY29udHJvbGxlci0+
YWR2YW5jZShmcm9tLCAwLCBCeVdob2xlR2x5cGhzKTsKICAgICAgICAgZmxvYXQgYmVmb3JlV2lk
dGggPSBtX2NvbnRyb2xsZXItPnJ1bldpZHRoU29GYXIoKTsKICAgICAgICAgaWYgKG1fZm9udC53
b3JkU3BhY2luZygpICYmIGZyb20gJiYgRm9udDo6dHJlYXRBc1NwYWNlKG1fcnVuW2Zyb21dKSkK
ICAgICAgICAgICAgIGJlZm9yZVdpZHRoICs9IG1fZm9udC53b3JkU3BhY2luZygpOwotICAgICAg
ICBtX2NvbnRyb2xsZXItPmFkdmFuY2UoZnJvbSArIGxlbiwgMCwgQnlXaG9sZUdseXBocywgZmFs
bGJhY2tGb250cyk7CisgICAgICAgIG1fY29udHJvbGxlci0+YWR2YW5jZShmcm9tICsgbGVuLCAw
LCBCeVdob2xlR2x5cGhzKTsKICAgICAgICAgZmxvYXQgYWZ0ZXJXaWR0aCA9IG1fY29udHJvbGxl
ci0+cnVuV2lkdGhTb0ZhcigpOwogICAgICAgICByZXR1cm4gYWZ0ZXJXaWR0aCAtIGJlZm9yZVdp
ZHRoOwogICAgIH0KQEAgLTk0LDkgKzk0LDkgQEAgdm9pZCBGb250OjpkZWxldGVMYXlvdXQoVGV4
dExheW91dCogbGF5b3V0KQogICAgIGRlbGV0ZSBsYXlvdXQ7CiB9CiAKLWZsb2F0IEZvbnQ6Ondp
ZHRoKFRleHRMYXlvdXQmIGxheW91dCwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBIYXNo
U2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMpCitmbG9hdCBGb250Ojp3
aWR0aChUZXh0TGF5b3V0JiBsYXlvdXQsIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbikKIHsK
LSAgICByZXR1cm4gbGF5b3V0LndpZHRoKGZyb20sIGxlbiwgZmFsbGJhY2tGb250cyk7CisgICAg
cmV0dXJuIGxheW91dC53aWR0aChmcm9tLCBsZW4pOwogfQogCiBzdGF0aWMgaW5saW5lIENHRmxv
YXQgcm91bmRDR0Zsb2F0KENHRmxvYXQgZikKQEAgLTQ2MCw3ICs0NjAsNyBAQCB1bnNpZ25lZCBD
b21wbGV4VGV4dENvbnRyb2xsZXI6OmluY3JlbWVudEN1cnJlbnRSdW4odW5zaWduZWQmIGxlZnRt
b3N0R2x5cGgpCiAgICAgcmV0dXJuIGluZGV4T2ZDdXJyZW50UnVuKGxlZnRtb3N0R2x5cGgpOwog
fQogCi12b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWR2YW5jZSh1bnNpZ25lZCBvZmZzZXQs
IEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgR2x5cGhJdGVyYXRpb25TdHlsZSBpdGVyYXRpb25T
dHlsZSwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzKQordm9p
ZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkdmFuY2UodW5zaWduZWQgb2Zmc2V0LCBHbHlwaEJ1
ZmZlciogZ2x5cGhCdWZmZXIsIEdseXBoSXRlcmF0aW9uU3R5bGUgaXRlcmF0aW9uU3R5bGUpCiB7
CiAgICAgaWYgKHN0YXRpY19jYXN0PGludD4ob2Zmc2V0KSA+IG1fZW5kKQogICAgICAgICBvZmZz
ZXQgPSBtX2VuZDsKQEAgLTQ4NSw4ICs0ODUsNiBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxl
cjo6YWR2YW5jZSh1bnNpZ25lZCBvZmZzZXQsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgRwog
ICAgICAgICBzaXplX3QgZ2x5cGhDb3VudCA9IGNvbXBsZXhUZXh0UnVuLmdseXBoQ291bnQoKTsK
ICAgICAgICAgdW5zaWduZWQgZyA9IGx0ciA/IG1fZ2x5cGhJbkN1cnJlbnRSdW4gOiBnbHlwaENv
dW50IC0gMSAtIG1fZ2x5cGhJbkN1cnJlbnRSdW47CiAgICAgICAgIHVuc2lnbmVkIGsgPSBsZWZ0
bW9zdEdseXBoICsgZzsKLSAgICAgICAgaWYgKGZhbGxiYWNrRm9udHMgJiYgY29tcGxleFRleHRS
dW4uZm9udERhdGEoKSAhPSBtX2ZvbnQucHJpbWFyeUZvbnQoKSkKLSAgICAgICAgICAgIGZhbGxi
YWNrRm9udHMtPmFkZChjb21wbGV4VGV4dFJ1bi5mb250RGF0YSgpKTsKIAogICAgICAgICB3aGls
ZSAobV9nbHlwaEluQ3VycmVudFJ1biA8IGdseXBoQ291bnQpIHsKICAgICAgICAgICAgIHVuc2ln
bmVkIGdseXBoU3RhcnRPZmZzZXQgPSBjb21wbGV4VGV4dFJ1bi5pbmRleEF0KGcpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29u
dHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhU
ZXh0Q29udHJvbGxlci5oCmluZGV4IDI1Yzk0NmVlM2U2Zjk3NjI0MWYwZGE4NmQ4ODg1ZDk3YzNk
ZjQyY2QuLjkxYWEwNjRmNjhiNWU4MWQ0MTlkYjY0ZjVmYWFjMjdlMmQ3MGJlZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxl
eFRleHRDb250cm9sbGVyLmgKQEAgLTU0LDcgKzU0LDcgQEAgcHVibGljOgogICAgIENvbXBsZXhU
ZXh0Q29udHJvbGxlcihjb25zdCBGb250KiwgY29uc3QgVGV4dFJ1biYsIGJvb2wgbWF5VXNlTmF0
dXJhbFdyaXRpbmdEaXJlY3Rpb24gPSBmYWxzZSwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0
YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgYm9vbCBmb3JUZXh0RW1waGFzaXMgPSBmYWxzZSk7CiAK
ICAgICAvLyBBZHZhbmNlIGFuZCBlbWl0IGdseXBocyB1cCB0byB0aGUgc3BlY2lmaWVkIGNoYXJh
Y3Rlci4KLSAgICB2b2lkIGFkdmFuY2UodW5zaWduZWQgdG8sIEdseXBoQnVmZmVyKiA9IDAsIEds
eXBoSXRlcmF0aW9uU3R5bGUgPSBJbmNsdWRlUGFydGlhbEdseXBocywgSGFzaFNldDxjb25zdCBT
aW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCk7CisgICAgdm9pZCBhZHZhbmNlKHVu
c2lnbmVkIHRvLCBHbHlwaEJ1ZmZlciogPSAwLCBHbHlwaEl0ZXJhdGlvblN0eWxlID0gSW5jbHVk
ZVBhcnRpYWxHbHlwaHMpOwogCiAgICAgLy8gQ29tcHV0ZSB0aGUgY2hhcmFjdGVyIG9mZnNldCBm
b3IgYSBnaXZlbiB4IGNvb3JkaW5hdGUuCiAgICAgaW50IG9mZnNldEZvclBvc2l0aW9uKGZsb2F0
IHgsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suaAppbmRleCA2ZTdlZTYzNWM0Yzg0MjEwOWQ3OTcwODc3N2NmZjYzZmFlNmZkZDg4
Li4yMDQ4MmIxZjkzMDMwMDk0MWEyMDMzOGU1NjA5NzdiOGQyMmJiOWZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtNTMsNyArNTMsNiBAQCBzdHJ1Y3QgUGFpbnRJ
bmZvOwogY2xhc3MgTGluZUluZm87CiBjbGFzcyBSZW5kZXJSdWJ5UnVuOwogY2xhc3MgVGV4dExh
eW91dDsKLWNsYXNzIFdvcmRNZWFzdXJlbWVudDsKIAogdGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9y
LCBjbGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlcjsKIHRlbXBsYXRlIDxjbGFzcyBSdW4+IGNs
YXNzIEJpZGlSdW5MaXN0OwpAQCAtNjMsNyArNjIsNiBAQCB0eXBlZGVmIE1pZHBvaW50U3RhdGU8
SW5saW5lSXRlcmF0b3I+IExpbmVNaWRwb2ludFN0YXRlOwogdHlwZWRlZiBXVEY6Okxpc3RIYXNo
U2V0PFJlbmRlckJveCosIDE2PiBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldDsKIHR5cGVkZWYg
V1RGOjpIYXNoTWFwPGNvbnN0IFJlbmRlckJsb2NrKiwgVHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hT
ZXQqPiBUcmFja2VkRGVzY2VuZGFudHNNYXA7CiB0eXBlZGVmIFdURjo6SGFzaE1hcDxjb25zdCBS
ZW5kZXJCb3gqLCBIYXNoU2V0PFJlbmRlckJsb2NrKj4qPiBUcmFja2VkQ29udGFpbmVyTWFwOwot
dHlwZWRlZiBWZWN0b3I8V29yZE1lYXN1cmVtZW50LCA2ND4gV29yZE1lYXN1cmVtZW50czsKIAog
ZW51bSBDYXJldFR5cGUgeyBDdXJzb3JDYXJldCwgRHJhZ0NhcmV0IH07CiAKQEAgLTczMSw3ICs3
MjksNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgcmVzZXQoKTsKICAgICAgICAgfQogCi0gICAg
ICAgIElubGluZUl0ZXJhdG9yIG5leHRMaW5lQnJlYWsoSW5saW5lQmlkaVJlc29sdmVyJiwgTGlu
ZUluZm8mLCBSZW5kZXJUZXh0SW5mbyYsIEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXRGcm9tUHJl
dmlvdXNMaW5lLCB1bnNpZ25lZCBjb25zZWN1dGl2ZUh5cGhlbmF0ZWRMaW5lcywgV29yZE1lYXN1
cmVtZW50cyYpOworICAgICAgICBJbmxpbmVJdGVyYXRvciBuZXh0TGluZUJyZWFrKElubGluZUJp
ZGlSZXNvbHZlciYsIExpbmVJbmZvJiwgUmVuZGVyVGV4dEluZm8mLCBGbG9hdGluZ09iamVjdCog
bGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSwgdW5zaWduZWQgY29uc2VjdXRpdmVIeXBoZW5hdGVk
TGluZXMpOwogCiAgICAgICAgIGJvb2wgbGluZVdhc0h5cGhlbmF0ZWQoKSB7IHJldHVybiBtX2h5
cGhlbmF0ZWQ7IH0KICAgICAgICAgY29uc3QgVmVjdG9yPFJlbmRlckJveCo+JiBwb3NpdGlvbmVk
T2JqZWN0cygpIHsgcmV0dXJuIG1fcG9zaXRpb25lZE9iamVjdHM7IH0KQEAgLTc1OSw3ICs3NTcs
NyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRNYXJnaW5zRm9yUnVieVJ1bihCaWRpUnVuKiwg
UmVuZGVyUnVieVJ1biosIFJlbmRlck9iamVjdCosIGNvbnN0IExpbmVJbmZvJik7CiAKLSAgICB2
b2lkIGNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5lKFJvb3RJbmxpbmVCb3gq
LCBjb25zdCBMaW5lSW5mbyYsIEJpZGlSdW4qIGZpcnN0UnVuLCBCaWRpUnVuKiB0cmFpbGluZ1Nw
YWNlUnVuLCBib29sIHJlYWNoZWRFbmQsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFw
JiwgVmVydGljYWxQb3NpdGlvbkNhY2hlJiwgV29yZE1lYXN1cmVtZW50cyYpOworICAgIHZvaWQg
Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0aW9uc0ZvckxpbmUoUm9vdElubGluZUJveCosIGNv
bnN0IExpbmVJbmZvJiwgQmlkaVJ1biogZmlyc3RSdW4sIEJpZGlSdW4qIHRyYWlsaW5nU3BhY2VS
dW4sIGJvb2wgcmVhY2hlZEVuZCwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmLCBW
ZXJ0aWNhbFBvc2l0aW9uQ2FjaGUmKTsKICAgICB2b2lkIGNvbXB1dGVCbG9ja0RpcmVjdGlvblBv
c2l0aW9uc0ZvckxpbmUoUm9vdElubGluZUJveCosIEJpZGlSdW4qLCBHbHlwaE92ZXJmbG93QW5k
RmFsbGJhY2tGb250c01hcCYsIFZlcnRpY2FsUG9zaXRpb25DYWNoZSYpOwogICAgIHZvaWQgZGVs
ZXRlRWxsaXBzaXNMaW5lQm94ZXMoKTsKICAgICB2b2lkIGNoZWNrTGluZXNGb3JUZXh0T3ZlcmZs
b3coKTsKQEAgLTk2NSw3ICs5NjMsNyBAQCBwcml2YXRlOgogICAgIC8vIEVuZCBoZWxwZXIgZnVu
Y3Rpb25zIGFuZCBzdHJ1Y3RzIHVzZWQgYnkgbGF5b3V0QmxvY2tDaGlsZHJlbi4KIAogICAgIC8v
IEhlbHBlciBmdW5jdGlvbiBmb3IgbGF5b3V0SW5saW5lQ2hpbGRyZW4oKQotICAgIFJvb3RJbmxp
bmVCb3gqIGNyZWF0ZUxpbmVCb3hlc0Zyb21CaWRpUnVucyhCaWRpUnVuTGlzdDxCaWRpUnVuPiYs
IGNvbnN0IElubGluZUl0ZXJhdG9yJiBlbmQsIExpbmVJbmZvJiwgVmVydGljYWxQb3NpdGlvbkNh
Y2hlJiwgQmlkaVJ1biogdHJhaWxpbmdTcGFjZVJ1biwgV29yZE1lYXN1cmVtZW50cyYpOworICAg
IFJvb3RJbmxpbmVCb3gqIGNyZWF0ZUxpbmVCb3hlc0Zyb21CaWRpUnVucyhCaWRpUnVuTGlzdDxC
aWRpUnVuPiYsIGNvbnN0IElubGluZUl0ZXJhdG9yJiBlbmQsIExpbmVJbmZvJiwgVmVydGljYWxQ
b3NpdGlvbkNhY2hlJiwgQmlkaVJ1biogdHJhaWxpbmdTcGFjZVJ1bik7CiAgICAgdm9pZCBsYXlv
dXRSdW5zQW5kRmxvYXRzKExpbmVMYXlvdXRTdGF0ZSYsIGJvb2wgaGFzSW5saW5lQ2hpbGQpOwog
ICAgIHZvaWQgbGF5b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UoTGluZUxheW91dFN0YXRlJiwgSW5s
aW5lQmlkaVJlc29sdmVyJiwgY29uc3QgSW5saW5lSXRlcmF0b3ImIGNsZWFuTGluZVN0YXJ0LCBj
b25zdCBCaWRpU3RhdHVzJiBjbGVhbkxpbmVCaWRpU3RhdHVzLCB1bnNpZ25lZCBjb25zZWN1dGl2
ZUh5cGhlbmF0ZWRMaW5lcyk7CiAgICAgdm9pZCBsaW5rVG9FbmRMaW5lSWZOZWVkZWQoTGluZUxh
eW91dFN0YXRlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tMaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0xpbmVMYXlvdXQuY3BwCmluZGV4IGY1MTMyNWI5NzQ5Y2UwZGUyNWQzNzRjYWU3MWFkYzVjYTU0
MjdjZWQuLjJmOTMzZjQ0NDkxYzBlMDNmYWU1ZGQyNmE2NDlhMzQwM2MwNzQwZGYgMTAwNzU1Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCkBA
IC02OTIsNDAgKzY5MiwyMiBAQCBzdGF0aWMgaW5saW5lIGZsb2F0IG1lYXN1cmVIeXBoZW5XaWR0
aChSZW5kZXJUZXh0KiByZW5kZXJlciwgY29uc3QgRm9udCYgZm9udCkKICAgICByZXR1cm4gZm9u
dC53aWR0aChSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihyZW5kZXJlciwgZm9udCwgc3R5
bGUtPmh5cGhlblN0cmluZygpLnN0cmluZygpLCBzdHlsZSkpOwogfQogCi1jbGFzcyBXb3JkTWVh
c3VyZW1lbnQgewotcHVibGljOgotICAgIFdvcmRNZWFzdXJlbWVudCgpCi0gICAgICAgIDogcmVu
ZGVyZXIoMCkKLSAgICAgICAgLCB3aWR0aCgwKQotICAgICAgICAsIHN0YXJ0T2Zmc2V0KDApCi0g
ICAgICAgICwgZW5kT2Zmc2V0KDApCi0gICAgewotICAgIH0KLSAgICAKLSAgICBSZW5kZXJUZXh0
KiByZW5kZXJlcjsKLSAgICBmbG9hdCB3aWR0aDsKLSAgICBpbnQgc3RhcnRPZmZzZXQ7Ci0gICAg
aW50IGVuZE9mZnNldDsKLSAgICBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4gZmFsbGJh
Y2tGb250czsKLX07Ci0KIHN0YXRpYyBpbmxpbmUgdm9pZCBzZXRMb2dpY2FsV2lkdGhGb3JUZXh0
UnVuKFJvb3RJbmxpbmVCb3gqIGxpbmVCb3gsIEJpZGlSdW4qIHJ1biwgUmVuZGVyVGV4dCogcmVu
ZGVyZXIsIGZsb2F0IHhQb3MsIGNvbnN0IExpbmVJbmZvJiBsaW5lSW5mbywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFj
a0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCwgVmVydGljYWxQb3NpdGlvbkNhY2hlJiB2ZXJ0aWNh
bFBvc2l0aW9uQ2FjaGUsIFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0Zv
bnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCwgVmVydGljYWxQb3NpdGlvbkNhY2hlJiB2ZXJ0aWNhbFBv
c2l0aW9uQ2FjaGUpCiB7CiAgICAgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+IGZhbGxi
YWNrRm9udHM7CiAgICAgR2x5cGhPdmVyZmxvdyBnbHlwaE92ZXJmbG93OwogICAgIAotICAgIGNv
bnN0IEZvbnQmIGZvbnQgPSByZW5kZXJlci0+c3R5bGUobGluZUluZm8uaXNGaXJzdExpbmUoKSkt
PmZvbnQoKTsKICAgICAvLyBBbHdheXMgY29tcHV0ZSBnbHlwaCBvdmVyZmxvdyBpZiB0aGUgYmxv
Y2sncyBsaW5lLWJveC1jb250YWluIHZhbHVlIGlzICJnbHlwaHMiLgogICAgIGlmIChsaW5lQm94
LT5maXRzVG9HbHlwaHMoKSkgewogICAgICAgICAvLyBJZiB3ZSBkb24ndCBzdGljayBvdXQgb2Yg
dGhlIHJvb3QgbGluZSdzIGZvbnQgYm94LCB0aGVuIGRvbid0IGJvdGhlciBjb21wdXRpbmcgb3Vy
IGdseXBoIG92ZXJmbG93LiBUaGlzIG9wdGltaXphdGlvbgogICAgICAgICAvLyB3aWxsIGtlZXAg
dXMgZnJvbSBjb21wdXRpbmcgZ2x5cGggYm91bmRzIGluIG5lYXJseSBhbGwgY2FzZXMuCiAgICAg
ICAgIGJvb2wgaW5jbHVkZVJvb3RMaW5lID0gbGluZUJveC0+aW5jbHVkZXNSb290TGluZUJveEZv
bnRPckxlYWRpbmcoKTsKICAgICAgICAgaW50IGJhc2VsaW5lU2hpZnQgPSBsaW5lQm94LT52ZXJ0
aWNhbFBvc2l0aW9uRm9yQm94KHJ1bi0+bV9ib3gsIHZlcnRpY2FsUG9zaXRpb25DYWNoZSk7Ci0g
ICAgICAgIGludCByb290RGVzY2VudCA9IGluY2x1ZGVSb290TGluZSA/IGZvbnQuZm9udE1ldHJp
Y3MoKS5kZXNjZW50KCkgOiAwOwotICAgICAgICBpbnQgcm9vdEFzY2VudCA9IGluY2x1ZGVSb290
TGluZSA/IGZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSA6IDA7Ci0gICAgICAgIGludCBib3hB
c2NlbnQgPSBmb250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkgLSBiYXNlbGluZVNoaWZ0OwotICAg
ICAgICBpbnQgYm94RGVzY2VudCA9IGZvbnQuZm9udE1ldHJpY3MoKS5kZXNjZW50KCkgKyBiYXNl
bGluZVNoaWZ0OworICAgICAgICBpbnQgcm9vdERlc2NlbnQgPSBpbmNsdWRlUm9vdExpbmUgPyBs
aW5lQm94LT5yZW5kZXJlcigpLT5zdHlsZShsaW5lSW5mby5pc0ZpcnN0TGluZSgpKS0+Zm9udCgp
LmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpIDogMDsKKyAgICAgICAgaW50IHJvb3RBc2NlbnQgPSBp
bmNsdWRlUm9vdExpbmUgPyBsaW5lQm94LT5yZW5kZXJlcigpLT5zdHlsZShsaW5lSW5mby5pc0Zp
cnN0TGluZSgpKS0+Zm9udCgpLmZvbnRNZXRyaWNzKCkuYXNjZW50KCkgOiAwOworICAgICAgICBp
bnQgYm94QXNjZW50ID0gcmVuZGVyZXItPnN0eWxlKGxpbmVJbmZvLmlzRmlyc3RMaW5lKCkpLT5m
b250KCkuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSAtIGJhc2VsaW5lU2hpZnQ7CisgICAgICAgIGlu
dCBib3hEZXNjZW50ID0gcmVuZGVyZXItPnN0eWxlKGxpbmVJbmZvLmlzRmlyc3RMaW5lKCkpLT5m
b250KCkuZm9udE1ldHJpY3MoKS5kZXNjZW50KCkgKyBiYXNlbGluZVNoaWZ0OwogICAgICAgICBp
ZiAoYm94QXNjZW50ID4gcm9vdERlc2NlbnQgfHwgIGJveERlc2NlbnQgPiByb290QXNjZW50KQog
ICAgICAgICAgICAgZ2x5cGhPdmVyZmxvdy5jb21wdXRlQm91bmRzID0gdHJ1ZTsgCiAgICAgfQpA
QCAtNzM1LDQ1ICs3MTcsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc2V0TG9naWNhbFdpZHRoRm9y
VGV4dFJ1bihSb290SW5saW5lQm94KiBsaW5lQm94LCBCaWRpUnVuKiBydQogICAgICAgICBjb25z
dCBGb250JiBmb250ID0gcmVuZGVyZXItPnN0eWxlKGxpbmVJbmZvLmlzRmlyc3RMaW5lKCkpLT5m
b250KCk7CiAgICAgICAgIGh5cGhlbldpZHRoID0gbWVhc3VyZUh5cGhlbldpZHRoKHJlbmRlcmVy
LCBmb250KTsKICAgICB9Ci0gICAgZmxvYXQgbWVhc3VyZWRXaWR0aCA9IDA7Ci0gICAgYm9vbCBr
ZXJuaW5nSXNFbmFibGVkID0gZm9udC50eXBlc2V0dGluZ0ZlYXR1cmVzKCkgJiBLZXJuaW5nOwot
ICAgIAotICAgIC8vIFNpbmNlIHdlIGRvbid0IGNhY2hlIGdseXBoIG92ZXJmbG93cywgd2UgbmVl
ZCB0byByZS1tZWFzdXJlIHRoZSBydW4gaWYKLSAgICAvLyB0aGUgc3R5bGUgaXMgbGluZWJveC1j
b250YWluOiBnbHlwaC4KLSAgICAKLSAgICBpZiAoIWxpbmVCb3gtPmZpdHNUb0dseXBocygpICYm
IHJlbmRlcmVyLT5jYW5Vc2VTaW1wbGVGb250Q29kZVBhdGgoKSkgewotICAgICAgICBpbnQgbGFz
dEVuZE9mZnNldCA9IHJ1bi0+bV9zdGFydDsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDAsIHNp
emUgPSB3b3JkTWVhc3VyZW1lbnRzLnNpemUoKTsgaSA8IHNpemUgJiYgbGFzdEVuZE9mZnNldCA8
IHJ1bi0+bV9zdG9wOyArK2kpIHsKLSAgICAgICAgICAgIGNvbnN0IFdvcmRNZWFzdXJlbWVudCYg
d29yZE1lYXN1cmVtZW50ID0gd29yZE1lYXN1cmVtZW50c1tpXTsKLSAgICAgICAgICAgIGlmICh3
b3JkTWVhc3VyZW1lbnQud2lkdGggPD0wIHx8IHdvcmRNZWFzdXJlbWVudC5zdGFydE9mZnNldCA9
PSB3b3JkTWVhc3VyZW1lbnQuZW5kT2Zmc2V0KQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwot
ICAgICAgICAgICAgaWYgKHdvcmRNZWFzdXJlbWVudC5yZW5kZXJlciAhPSByZW5kZXJlciB8fCB3
b3JkTWVhc3VyZW1lbnQuc3RhcnRPZmZzZXQgIT0gbGFzdEVuZE9mZnNldCB8fCB3b3JkTWVhc3Vy
ZW1lbnQuZW5kT2Zmc2V0ID4gcnVuLT5tX3N0b3ApCi0gICAgICAgICAgICAgICAgY29udGludWU7
Ci0KLSAgICAgICAgICAgIGxhc3RFbmRPZmZzZXQgPSB3b3JkTWVhc3VyZW1lbnQuZW5kT2Zmc2V0
OwotICAgICAgICAgICAgaWYgKGtlcm5pbmdJc0VuYWJsZWQgJiYgbGFzdEVuZE9mZnNldCA9PSBy
dW4tPm1fc3RvcCkgewotICAgICAgICAgICAgICAgIG1lYXN1cmVkV2lkdGggKz0gcmVuZGVyZXIt
PndpZHRoKHdvcmRNZWFzdXJlbWVudC5zdGFydE9mZnNldCwgbGFzdEVuZE9mZnNldCAtIHdvcmRN
ZWFzdXJlbWVudC5zdGFydE9mZnNldCwgeFBvcywgbGluZUluZm8uaXNGaXJzdExpbmUoKSk7Ci0g
ICAgICAgICAgICAgICAgaWYgKGkgPiAwKQotICAgICAgICAgICAgICAgICAgICBtZWFzdXJlZFdp
ZHRoICs9IHJlbmRlcmVyLT5zdHlsZSgpLT53b3JkU3BhY2luZygpOwotICAgICAgICAgICAgfSBl
bHNlCi0gICAgICAgICAgICAgICAgbWVhc3VyZWRXaWR0aCArPSB3b3JkTWVhc3VyZW1lbnQud2lk
dGg7Ci0gICAgICAgICAgICBpZiAoIXdvcmRNZWFzdXJlbWVudC5mYWxsYmFja0ZvbnRzLmlzRW1w
dHkoKSkgewotICAgICAgICAgICAgICAgIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPjo6
Y29uc3RfaXRlcmF0b3IgZW5kID0gd29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMuZW5kKCk7
Ci0gICAgICAgICAgICAgICAgZm9yIChIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj46OmNv
bnN0X2l0ZXJhdG9yIGl0ID0gd29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMuYmVnaW4oKTsg
aXQgIT0gZW5kOyArK2l0KQotICAgICAgICAgICAgICAgICAgICBmYWxsYmFja0ZvbnRzLmFkZCgq
aXQpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGlmIChtZWFzdXJlZFdpZHRo
ICYmIGxhc3RFbmRPZmZzZXQgIT0gcnVuLT5tX3N0b3ApIHsKLSAgICAgICAgICAgIC8vIElmIHdl
IGRvbid0IGhhdmUgZW5vdWdoIGNhY2hlZCBkYXRhLCB3ZSdsbCBtZWFzdXJlIHRoZSBydW4gYWdh
aW4uCi0gICAgICAgICAgICBtZWFzdXJlZFdpZHRoID0gMDsKLSAgICAgICAgICAgIGZhbGxiYWNr
Rm9udHMuY2xlYXIoKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICghbWVhc3VyZWRXaWR0
aCkKLSAgICAgICAgbWVhc3VyZWRXaWR0aCA9IHJlbmRlcmVyLT53aWR0aChydW4tPm1fc3RhcnQs
IHJ1bi0+bV9zdG9wIC0gcnVuLT5tX3N0YXJ0LCB4UG9zLCBsaW5lSW5mby5pc0ZpcnN0TGluZSgp
LCAmZmFsbGJhY2tGb250cywgJmdseXBoT3ZlcmZsb3cpOwotCi0gICAgcnVuLT5tX2JveC0+c2V0
TG9naWNhbFdpZHRoKG1lYXN1cmVkV2lkdGggKyBoeXBoZW5XaWR0aCk7CisgICAgcnVuLT5tX2Jv
eC0+c2V0TG9naWNhbFdpZHRoKHJlbmRlcmVyLT53aWR0aChydW4tPm1fc3RhcnQsIHJ1bi0+bV9z
dG9wIC0gcnVuLT5tX3N0YXJ0LCB4UG9zLCBsaW5lSW5mby5pc0ZpcnN0TGluZSgpLCAmZmFsbGJh
Y2tGb250cywgJmdseXBoT3ZlcmZsb3cpICsgaHlwaGVuV2lkdGgpOwogICAgIGlmICghZmFsbGJh
Y2tGb250cy5pc0VtcHR5KCkpIHsKICAgICAgICAgQVNTRVJUKHJ1bi0+bV9ib3gtPmlzVGV4dCgp
KTsKICAgICAgICAgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXA6Oml0ZXJhdG9yIGl0
ID0gdGV4dEJveERhdGFNYXAuYWRkKHRvSW5saW5lVGV4dEJveChydW4tPm1fYm94KSwgbWFrZV9w
YWlyKFZlY3Rvcjxjb25zdCBTaW1wbGVGb250RGF0YSo+KCksIEdseXBoT3ZlcmZsb3coKSkpLml0
ZXJhdG9yOwpAQCAtODYzLDcgKzgwNyw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnVwZGF0ZUxvZ2lj
YWxXaWR0aEZvckFsaWdubWVudChjb25zdCBFVGV4dEFsaWduJiB0ZXh0QWxpZ24sIEJpCiB9CiAK
IHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5l
KFJvb3RJbmxpbmVCb3gqIGxpbmVCb3gsIGNvbnN0IExpbmVJbmZvJiBsaW5lSW5mbywgQmlkaVJ1
biogZmlyc3RSdW4sIEJpZGlSdW4qIHRyYWlsaW5nU3BhY2VSdW4sIGJvb2wgcmVhY2hlZEVuZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCwgVmVydGlj
YWxQb3NpdGlvbkNhY2hlJiB2ZXJ0aWNhbFBvc2l0aW9uQ2FjaGUsIFdvcmRNZWFzdXJlbWVudHMm
IHdvcmRNZWFzdXJlbWVudHMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4
dEJveERhdGFNYXAsIFZlcnRpY2FsUG9zaXRpb25DYWNoZSYgdmVydGljYWxQb3NpdGlvbkNhY2hl
KQogewogICAgIEVUZXh0QWxpZ24gdGV4dEFsaWduID0gdGV4dEFsaWdubWVudEZvckxpbmUoIXJl
YWNoZWRFbmQgJiYgIWxpbmVCb3gtPmVuZHNXaXRoQnJlYWsoKSk7CiAgICAgCkBAIC05MTAsNyAr
ODU0LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0aW9u
c0ZvckxpbmUoUm9vdElubGluZUJveCogbGluZUJveCwKICAgICAgICAgICAgICAgICBuZWVkc1dv
cmRTcGFjaW5nID0gIWlzU3BhY2VPck5ld2xpbmUocnQtPmNoYXJhY3RlcnMoKVtyLT5tX3N0b3Ag
LSAxXSkgJiYgci0+bV9zdG9wID09IGxlbmd0aDsKICAgICAgICAgICAgIH0KIAotICAgICAgICAg
ICAgc2V0TG9naWNhbFdpZHRoRm9yVGV4dFJ1bihsaW5lQm94LCByLCBydCwgdG90YWxMb2dpY2Fs
V2lkdGgsIGxpbmVJbmZvLCB0ZXh0Qm94RGF0YU1hcCwgdmVydGljYWxQb3NpdGlvbkNhY2hlLCB3
b3JkTWVhc3VyZW1lbnRzKTsKKyAgICAgICAgICAgIHNldExvZ2ljYWxXaWR0aEZvclRleHRSdW4o
bGluZUJveCwgciwgcnQsIHRvdGFsTG9naWNhbFdpZHRoLCBsaW5lSW5mbywgdGV4dEJveERhdGFN
YXAsIHZlcnRpY2FsUG9zaXRpb25DYWNoZSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICBpc0FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CiAgICAgICAgICAgICBpZiAoIXItPm1fb2JqZWN0
LT5pc1JlbmRlcklubGluZSgpKSB7CkBAIC0xMTM3LDcgKzEwODEsNyBAQCBzdGF0aWMgaW5saW5l
IHZvaWQgY29uc3RydWN0QmlkaVJ1bnMoSW5saW5lQmlkaVJlc29sdmVyJiB0b3BSZXNvbHZlciwg
QmlkaVJ1bkxpcwogfQogCiAvLyBUaGlzIGZ1bmN0aW9uIGNvbnN0cnVjdHMgbGluZSBib3hlcyBm
b3IgYWxsIG9mIHRoZSB0ZXh0IHJ1bnMgaW4gdGhlIHJlc29sdmVyIGFuZCBjb21wdXRlcyB0aGVp
ciBwb3NpdGlvbi4KLVJvb3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrOjpjcmVhdGVMaW5lQm94ZXNG
cm9tQmlkaVJ1bnMoQmlkaVJ1bkxpc3Q8QmlkaVJ1bj4mIGJpZGlSdW5zLCBjb25zdCBJbmxpbmVJ
dGVyYXRvciYgZW5kLCBMaW5lSW5mbyYgbGluZUluZm8sIFZlcnRpY2FsUG9zaXRpb25DYWNoZSYg
dmVydGljYWxQb3NpdGlvbkNhY2hlLCBCaWRpUnVuKiB0cmFpbGluZ1NwYWNlUnVuLCBXb3JkTWVh
c3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzKQorUm9vdElubGluZUJveCogUmVuZGVyQmxvY2s6
OmNyZWF0ZUxpbmVCb3hlc0Zyb21CaWRpUnVucyhCaWRpUnVuTGlzdDxCaWRpUnVuPiYgYmlkaVJ1
bnMsIGNvbnN0IElubGluZUl0ZXJhdG9yJiBlbmQsIExpbmVJbmZvJiBsaW5lSW5mbywgVmVydGlj
YWxQb3NpdGlvbkNhY2hlJiB2ZXJ0aWNhbFBvc2l0aW9uQ2FjaGUsIEJpZGlSdW4qIHRyYWlsaW5n
U3BhY2VSdW4pCiB7CiAgICAgaWYgKCFiaWRpUnVucy5ydW5Db3VudCgpKQogICAgICAgICByZXR1
cm4gMDsKQEAgLTExNjEsNyArMTEwNSw3IEBAIFJvb3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrOjpj
cmVhdGVMaW5lQm94ZXNGcm9tQmlkaVJ1bnMoQmlkaVJ1bkxpc3Q8QmlkaVJ1bj4mIGJpCiAgICAg
CiAgICAgLy8gTm93IHdlIHBvc2l0aW9uIGFsbCBvZiBvdXIgdGV4dCBydW5zIGhvcml6b250YWxs
eS4KICAgICBpZiAoIWlzU1ZHUm9vdElubGluZUJveCkKLSAgICAgICAgY29tcHV0ZUlubGluZURp
cmVjdGlvblBvc2l0aW9uc0ZvckxpbmUobGluZUJveCwgbGluZUluZm8sIGJpZGlSdW5zLmZpcnN0
UnVuKCksIHRyYWlsaW5nU3BhY2VSdW4sIGVuZC5hdEVuZCgpLCB0ZXh0Qm94RGF0YU1hcCwgdmVy
dGljYWxQb3NpdGlvbkNhY2hlLCB3b3JkTWVhc3VyZW1lbnRzKTsKKyAgICAgICAgY29tcHV0ZUlu
bGluZURpcmVjdGlvblBvc2l0aW9uc0ZvckxpbmUobGluZUJveCwgbGluZUluZm8sIGJpZGlSdW5z
LmZpcnN0UnVuKCksIHRyYWlsaW5nU3BhY2VSdW4sIGVuZC5hdEVuZCgpLCB0ZXh0Qm94RGF0YU1h
cCwgdmVydGljYWxQb3NpdGlvbkNhY2hlKTsKICAgICAKICAgICAvLyBOb3cgcG9zaXRpb24gb3Vy
IHRleHQgcnVucyB2ZXJ0aWNhbGx5LgogICAgIGNvbXB1dGVCbG9ja0RpcmVjdGlvblBvc2l0aW9u
c0ZvckxpbmUobGluZUJveCwgYmlkaVJ1bnMuZmlyc3RSdW4oKSwgdGV4dEJveERhdGFNYXAsIHZl
cnRpY2FsUG9zaXRpb25DYWNoZSk7CkBAIC0xNDA3LDggKzEzNTEsNyBAQCB2b2lkIFJlbmRlckJs
b2NrOjpsYXlvdXRSdW5zQW5kRmxvYXRzSW5SYW5nZShMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0
YXRlLCBJbmxpbgogICAgICAgICAgICAgZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLT5jb21wdXRl
U2VnbWVudHNGb3JMaW5lKGxpbmVUb3AsIGxpbmVCb3R0b20pOwogICAgICAgICB9CiAjZW5kaWYK
LSAgICAgICAgV29yZE1lYXN1cmVtZW50cyB3b3JkTWVhc3VyZW1lbnRzOwotICAgICAgICBlbmQg
PSBsaW5lQnJlYWtlci5uZXh0TGluZUJyZWFrKHJlc29sdmVyLCBsYXlvdXRTdGF0ZS5saW5lSW5m
bygpLCByZW5kZXJUZXh0SW5mbywgbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSwgY29uc2VjdXRp
dmVIeXBoZW5hdGVkTGluZXMsIHdvcmRNZWFzdXJlbWVudHMpOworICAgICAgICBlbmQgPSBsaW5l
QnJlYWtlci5uZXh0TGluZUJyZWFrKHJlc29sdmVyLCBsYXlvdXRTdGF0ZS5saW5lSW5mbygpLCBy
ZW5kZXJUZXh0SW5mbywgbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSwgY29uc2VjdXRpdmVIeXBo
ZW5hdGVkTGluZXMpOwogICAgICAgICBpZiAocmVzb2x2ZXIucG9zaXRpb24oKS5hdEVuZCgpKSB7
CiAgICAgICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkbid0IGJlIGNyZWF0aW5nIGFueSBydW5z
IGluIG5leHRMaW5lQnJlYWsgdG8gYmVnaW4gd2l0aCEKICAgICAgICAgICAgIC8vIE9uY2UgQmlk
aVJ1bkxpc3QgaXMgc2VwYXJhdGVkIGZyb20gQmlkaVJlc29sdmVyIHRoaXMgd2lsbCBub3QgYmUg
bmVlZGVkLgpAQCAtMTQ1MCw3ICsxMzkzLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0UnVu
c0FuZEZsb2F0c0luUmFuZ2UoTGluZUxheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgSW5saW4KICAg
ICAgICAgICAgIC8vIGlubGluZSBmbG93IGJveGVzLgogCiAgICAgICAgICAgICBMYXlvdXRVbml0
IG9sZExvZ2ljYWxIZWlnaHQgPSBsb2dpY2FsSGVpZ2h0KCk7Ci0gICAgICAgICAgICBSb290SW5s
aW5lQm94KiBsaW5lQm94ID0gY3JlYXRlTGluZUJveGVzRnJvbUJpZGlSdW5zKGJpZGlSdW5zLCBl
bmQsIGxheW91dFN0YXRlLmxpbmVJbmZvKCksIHZlcnRpY2FsUG9zaXRpb25DYWNoZSwgdHJhaWxp
bmdTcGFjZVJ1biwgd29yZE1lYXN1cmVtZW50cyk7CisgICAgICAgICAgICBSb290SW5saW5lQm94
KiBsaW5lQm94ID0gY3JlYXRlTGluZUJveGVzRnJvbUJpZGlSdW5zKGJpZGlSdW5zLCBlbmQsIGxh
eW91dFN0YXRlLmxpbmVJbmZvKCksIHZlcnRpY2FsUG9zaXRpb25DYWNoZSwgdHJhaWxpbmdTcGFj
ZVJ1bik7CiAKICAgICAgICAgICAgIGJpZGlSdW5zLmRlbGV0ZVJ1bnMoKTsKICAgICAgICAgICAg
IHJlc29sdmVyLm1hcmtDdXJyZW50UnVuRW1wdHkoKTsgLy8gRklYTUU6IFRoaXMgY2FuIHByb2Jh
Ymx5IGJlIHJlcGxhY2VkIGJ5IGFuIEFTU0VSVCAob3IganVzdCByZW1vdmVkKS4KQEAgLTIxMDgs
MTQgKzIwNTEsMTMgQEAgc3RhdGljIGJvb2wgc2hvdWxkU2tpcFdoaXRlc3BhY2VBZnRlclN0YXJ0
T2JqZWN0KFJlbmRlckJsb2NrKiBibG9jaywgUmVuZGVyT2JqZWMKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKLXN0YXRpYyBBTFdBWVNfSU5MSU5FIGZsb2F0IHRleHRXaWR0aChSZW5kZXJUZXh0KiB0
ZXh0LCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0
IHhQb3MsIGJvb2wgaXNGaXhlZFBpdGNoLCBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSwgSGFzaFNl
dDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgVGV4dExheW91dCog
bGF5b3V0ID0gMCkKK3N0YXRpYyBpbmxpbmUgZmxvYXQgdGV4dFdpZHRoKFJlbmRlclRleHQqIHRl
eHQsIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29uc3QgRm9udCYgZm9udCwgZmxvYXQg
eFBvcywgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlLCBUZXh0TGF5
b3V0KiBsYXlvdXQgPSAwKQogewotICAgIEdseXBoT3ZlcmZsb3cgZ2x5cGhPdmVyZmxvdzsKICAg
ICBpZiAoaXNGaXhlZFBpdGNoIHx8ICghZnJvbSAmJiBsZW4gPT0gdGV4dC0+dGV4dExlbmd0aCgp
KSB8fCB0ZXh0LT5zdHlsZSgpLT5oYXNUZXh0Q29tYmluZSgpKQotICAgICAgICByZXR1cm4gdGV4
dC0+d2lkdGgoZnJvbSwgbGVuLCBmb250LCB4UG9zLCBmYWxsYmFja0ZvbnRzLCAmZ2x5cGhPdmVy
Zmxvdyk7CisgICAgICAgIHJldHVybiB0ZXh0LT53aWR0aChmcm9tLCBsZW4sIGZvbnQsIHhQb3Mp
OwogCiAgICAgaWYgKGxheW91dCkKLSAgICAgICAgcmV0dXJuIEZvbnQ6OndpZHRoKCpsYXlvdXQs
IGZyb20sIGxlbiwgZmFsbGJhY2tGb250cyk7CisgICAgICAgIHJldHVybiBGb250Ojp3aWR0aCgq
bGF5b3V0LCBmcm9tLCBsZW4pOwogCiAgICAgVGV4dFJ1biBydW4gPSBSZW5kZXJCbG9jazo6Y29u
c3RydWN0VGV4dFJ1bih0ZXh0LCBmb250LCB0ZXh0LT5jaGFyYWN0ZXJzKCkgKyBmcm9tLCBsZW4s
IHRleHQtPnN0eWxlKCkpOwogICAgIHJ1bi5zZXRDaGFyYWN0ZXJzTGVuZ3RoKHRleHQtPnRleHRM
ZW5ndGgoKSAtIGZyb20pOwpAQCAtMjEyNCw3ICsyMDY2LDcgQEAgc3RhdGljIEFMV0FZU19JTkxJ
TkUgZmxvYXQgdGV4dFdpZHRoKFJlbmRlclRleHQqIHRleHQsIHVuc2lnbmVkIGZyb20sIHVuc2ln
bmVkIGwKICAgICBydW4uc2V0Q2hhcmFjdGVyU2NhbkZvckNvZGVQYXRoKCF0ZXh0LT5jYW5Vc2VT
aW1wbGVGb250Q29kZVBhdGgoKSk7CiAgICAgcnVuLnNldFRhYlNpemUoIWNvbGxhcHNlV2hpdGVT
cGFjZSwgdGV4dC0+c3R5bGUoKS0+dGFiU2l6ZSgpKTsKICAgICBydW4uc2V0WFBvcyh4UG9zKTsK
LSAgICByZXR1cm4gZm9udC53aWR0aChydW4sIGZhbGxiYWNrRm9udHMsICZnbHlwaE92ZXJmbG93
KTsKKyAgICByZXR1cm4gZm9udC53aWR0aChydW4pOwogfQogCiBzdGF0aWMgdm9pZCB0cnlIeXBo
ZW5hdGluZyhSZW5kZXJUZXh0KiB0ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBBdG9taWNT
dHJpbmcmIGxvY2FsZUlkZW50aWZpZXIsIHVuc2lnbmVkIGNvbnNlY3V0aXZlSHlwaGVuYXRlZExp
bmVzLCBpbnQgY29uc2VjdXRpdmVIeXBoZW5hdGVkTGluZXNMaW1pdCwgaW50IG1pbmltdW1QcmVm
aXhMZW5ndGgsIGludCBtaW5pbXVtU3VmZml4TGVuZ3RoLCBpbnQgbGFzdFNwYWNlLCBpbnQgcG9z
LCBmbG9hdCB4UG9zLCBpbnQgYXZhaWxhYmxlV2lkdGgsIGJvb2wgaXNGaXhlZFBpdGNoLCBib29s
IGNvbGxhcHNlV2hpdGVTcGFjZSwgaW50IGxhc3RTcGFjZVdvcmRTcGFjaW5nLCBJbmxpbmVJdGVy
YXRvciYgbGluZUJyZWFrLCBpbnQgbmV4dEJyZWFrYWJsZSwgYm9vbCYgaHlwaGVuYXRlZCkKQEAg
LTIyNzgsNyArMjIyMCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OkxpbmVCcmVha2VyOjpyZXNldCgp
CiAgICAgbV9jbGVhciA9IENOT05FOwogfQogCi1JbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6
TGluZUJyZWFrZXI6Om5leHRMaW5lQnJlYWsoSW5saW5lQmlkaVJlc29sdmVyJiByZXNvbHZlciwg
TGluZUluZm8mIGxpbmVJbmZvLCBSZW5kZXJUZXh0SW5mbyYgcmVuZGVyVGV4dEluZm8sIEZsb2F0
aW5nT2JqZWN0KiBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLCB1bnNpZ25lZCBjb25zZWN1dGl2
ZUh5cGhlbmF0ZWRMaW5lcywgV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cykKK0lu
bGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpMaW5lQnJlYWtlcjo6bmV4dExpbmVCcmVhayhJbmxp
bmVCaWRpUmVzb2x2ZXImIHJlc29sdmVyLCBMaW5lSW5mbyYgbGluZUluZm8sIFJlbmRlclRleHRJ
bmZvJiByZW5kZXJUZXh0SW5mbywgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdEZyb21QcmV2aW91
c0xpbmUsIHVuc2lnbmVkIGNvbnNlY3V0aXZlSHlwaGVuYXRlZExpbmVzKQogewogICAgIHJlc2V0
KCk7CiAKQEAgLTI0OTYsNyArMjQzOCw2IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpM
aW5lQnJlYWtlcjo6bmV4dExpbmVCcmVhayhJbmxpbmVCaWRpUmVzb2x2ZXImIHJlc29sCiAgICAg
ICAgICAgICBpbnQgbGFzdFNwYWNlID0gY3VycmVudC5tX3BvczsKICAgICAgICAgICAgIGZsb2F0
IHdvcmRTcGFjaW5nID0gY3VycmVudFN0eWxlLT53b3JkU3BhY2luZygpOwogICAgICAgICAgICAg
ZmxvYXQgbGFzdFNwYWNlV29yZFNwYWNpbmcgPSAwOwotICAgICAgICAgICAgZmxvYXQgd29yZFNw
YWNpbmdGb3JXb3JkTWVhc3VyZW1lbnQgPSAwOwogCiAgICAgICAgICAgICBmbG9hdCB3cmFwVyA9
IHdpZHRoLnVuY29tbWl0dGVkV2lkdGgoKSArIGlubGluZUxvZ2ljYWxXaWR0aChjdXJyZW50Lm1f
b2JqLCAhYXBwbGllZFN0YXJ0V2lkdGgsIHRydWUpOwogICAgICAgICAgICAgZmxvYXQgY2hhcldp
ZHRoID0gMDsKQEAgLTI1NTIsNyArMjQ5Myw3IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2Nr
OjpMaW5lQnJlYWtlcjo6bmV4dExpbmVCcmVhayhJbmxpbmVCaWRpUmVzb2x2ZXImIHJlc29sCiAg
ICAgICAgICAgICAgICAgaWYgKChicmVha0FsbCB8fCBicmVha1dvcmRzKSAmJiAhbWlkV29yZEJy
ZWFrKSB7CiAgICAgICAgICAgICAgICAgICAgIHdyYXBXICs9IGNoYXJXaWR0aDsKICAgICAgICAg
ICAgICAgICAgICAgYm9vbCBtaWRXb3JkQnJlYWtJc0JlZm9yZVN1cnJvZ2F0ZVBhaXIgPSBVMTZf
SVNfTEVBRChjKSAmJiBjdXJyZW50Lm1fcG9zICsgMSA8IHQtPnRleHRMZW5ndGgoKSAmJiBVMTZf
SVNfVFJBSUwodC0+Y2hhcmFjdGVycygpW2N1cnJlbnQubV9wb3MgKyAxXSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGNoYXJXaWR0aCA9IHRleHRXaWR0aCh0LCBjdXJyZW50Lm1fcG9zLCBtaWRXb3Jk
QnJlYWtJc0JlZm9yZVN1cnJvZ2F0ZVBhaXIgPyAyIDogMSwgZiwgd2lkdGguY29tbWl0dGVkV2lk
dGgoKSArIHdyYXBXLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hpdGVTcGFjZSwgMCwgdGV4dExh
eW91dCk7CisgICAgICAgICAgICAgICAgICAgIGNoYXJXaWR0aCA9IHRleHRXaWR0aCh0LCBjdXJy
ZW50Lm1fcG9zLCBtaWRXb3JkQnJlYWtJc0JlZm9yZVN1cnJvZ2F0ZVBhaXIgPyAyIDogMSwgZiwg
d2lkdGguY29tbWl0dGVkV2lkdGgoKSArIHdyYXBXLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hp
dGVTcGFjZSwgdGV4dExheW91dCk7CiAgICAgICAgICAgICAgICAgICAgIG1pZFdvcmRCcmVhayA9
IHdpZHRoLmNvbW1pdHRlZFdpZHRoKCkgKyB3cmFwVyArIGNoYXJXaWR0aCA+IHdpZHRoLmF2YWls
YWJsZVdpZHRoKCk7CiAgICAgICAgICAgICAgICAgfQogCkBAIC0yNTY3LDcgKzI1MDgsNiBAQCBJ
bmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6TGluZUJyZWFrZXI6Om5leHRMaW5lQnJlYWsoSW5s
aW5lQmlkaVJlc29sdmVyJiByZXNvbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5l
dyBwb2ludC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmluZ1NwYWNlcyA9IGZh
bHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RTcGFjZVdvcmRTcGFjaW5nID0g
MDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JkU3BhY2luZ0ZvcldvcmRNZWFzdXJl
bWVudCA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNwYWNlID0gY3VycmVu
dC5tX3BvczsgLy8gZS5nLiwgIkZvbyAgICBnb28iLCBkb24ndCBhZGQgaW4gYW55IG9mIHRoZSBp
Z25vcmVkIHNwYWNlcy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRNaWRwb2ludChs
aW5lTWlkcG9pbnRTdGF0ZSwgSW5saW5lSXRlcmF0b3IoMCwgY3VycmVudC5tX29iaiwgY3VycmVu
dC5tX3BvcykpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3BwZWRJZ25vcmluZ1Nw
YWNlcyA9IHRydWU7CkBAIC0yNTc3LDI4ICsyNTE3LDE4IEBAIElubGluZUl0ZXJhdG9yIFJlbmRl
ckJsb2NrOjpMaW5lQnJlYWtlcjo6bmV4dExpbmVCcmVhayhJbmxpbmVCaWRpUmVzb2x2ZXImIHJl
c29sCiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KIAot
ICAgICAgICAgICAgICAgICAgICB3b3JkTWVhc3VyZW1lbnRzLmdyb3cod29yZE1lYXN1cmVtZW50
cy5zaXplKCkgKyAxKTsKLSAgICAgICAgICAgICAgICAgICAgV29yZE1lYXN1cmVtZW50JiB3b3Jk
TWVhc3VyZW1lbnQgPSB3b3JkTWVhc3VyZW1lbnRzLmxhc3QoKTsKLSAgICAgICAgICAgICAgICAg
ICAgCi0gICAgICAgICAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5yZW5kZXJlciA9IHQ7Ci0g
ICAgICAgICAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5lbmRPZmZzZXQgPSBjdXJyZW50Lm1f
cG9zOwotICAgICAgICAgICAgICAgICAgICB3b3JkTWVhc3VyZW1lbnQuc3RhcnRPZmZzZXQgPSBs
YXN0U3BhY2U7Ci0gICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICBmbG9h
dCBhZGRpdGlvbmFsVG1wVzsKICAgICAgICAgICAgICAgICAgICAgaWYgKHdvcmRUcmFpbGluZ1Nw
YWNlV2lkdGggJiYgY3VycmVudENoYXJhY3RlcklzU3BhY2UpCi0gICAgICAgICAgICAgICAgICAg
ICAgICBhZGRpdGlvbmFsVG1wVyA9IHRleHRXaWR0aCh0LCBsYXN0U3BhY2UsIGN1cnJlbnQubV9w
b3MgKyAxIC0gbGFzdFNwYWNlLCBmLCB3aWR0aC5jdXJyZW50V2lkdGgoKSwgaXNGaXhlZFBpdGNo
LCBjb2xsYXBzZVdoaXRlU3BhY2UsICZ3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cywgdGV4
dExheW91dCkgLSB3b3JkVHJhaWxpbmdTcGFjZVdpZHRoOworICAgICAgICAgICAgICAgICAgICAg
ICAgYWRkaXRpb25hbFRtcFcgPSB0ZXh0V2lkdGgodCwgbGFzdFNwYWNlLCBjdXJyZW50Lm1fcG9z
ICsgMSAtIGxhc3RTcGFjZSwgZiwgd2lkdGguY3VycmVudFdpZHRoKCksIGlzRml4ZWRQaXRjaCwg
Y29sbGFwc2VXaGl0ZVNwYWNlLCB0ZXh0TGF5b3V0KSAtIHdvcmRUcmFpbGluZ1NwYWNlV2lkdGgg
KyBsYXN0U3BhY2VXb3JkU3BhY2luZzsKICAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFRtcFcgPSB0ZXh0V2lkdGgodCwgbGFzdFNwYWNl
LCBjdXJyZW50Lm1fcG9zIC0gbGFzdFNwYWNlLCBmLCB3aWR0aC5jdXJyZW50V2lkdGgoKSwgaXNG
aXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UsICZ3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tG
b250cywgdGV4dExheW91dCk7Ci0KLSAgICAgICAgICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50
LndpZHRoID0gYWRkaXRpb25hbFRtcFcgKyB3b3JkU3BhY2luZ0ZvcldvcmRNZWFzdXJlbWVudDsK
LSAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFRtcFcgKz0gbGFzdFNwYWNlV29yZFNwYWNp
bmc7CisgICAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsVG1wVyA9IHRleHRXaWR0aCh0
LCBsYXN0U3BhY2UsIGN1cnJlbnQubV9wb3MgLSBsYXN0U3BhY2UsIGYsIHdpZHRoLmN1cnJlbnRX
aWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hpdGVTcGFjZSwgdGV4dExheW91dCkgKyBs
YXN0U3BhY2VXb3JkU3BhY2luZzsKICAgICAgICAgICAgICAgICAgICAgd2lkdGguYWRkVW5jb21t
aXR0ZWRXaWR0aChhZGRpdGlvbmFsVG1wVyk7CiAgICAgICAgICAgICAgICAgICAgIGlmICghYXBw
bGllZFN0YXJ0V2lkdGgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLmFkZFVuY29t
bWl0dGVkV2lkdGgoaW5saW5lTG9naWNhbFdpZHRoKGN1cnJlbnQubV9vYmosIHRydWUsIGZhbHNl
KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWVkU3RhcnRXaWR0aCA9IHRydWU7CiAg
ICAgICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgICAgICBhcHBseVdvcmRTcGFj
aW5nID0gd29yZFNwYWNpbmcgJiYgY3VycmVudENoYXJhY3RlcklzU3BhY2U7CisgICAgICAgICAg
ICAgICAgICAgIGFwcGx5V29yZFNwYWNpbmcgPSAgd29yZFNwYWNpbmcgJiYgY3VycmVudENoYXJh
Y3RlcklzU3BhY2U7CiAKICAgICAgICAgICAgICAgICAgICAgaWYgKCF3aWR0aC5jb21taXR0ZWRX
aWR0aCgpICYmIGF1dG9XcmFwICYmICF3aWR0aC5maXRzT25MaW5lKCkpCiAgICAgICAgICAgICAg
ICAgICAgICAgICB3aWR0aC5maXRCZWxvd0Zsb2F0cygpOwpAQCAtMjYwOCw3ICsyNTM4LDcgQEAg
SW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OkxpbmVCcmVha2VyOjpuZXh0TGluZUJyZWFrKElu
bGluZUJpZGlSZXNvbHZlciYgcmVzb2wKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFzIGNh
bmRpZGF0ZSB3aWR0aCBmb3IgdGhpcyBsaW5lLgogICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCBsaW5lV2FzVG9vV2lkZSA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdp
ZHRoLmZpdHNPbkxpbmUoKSAmJiBjdXJyZW50Q2hhcmFjdGVySXNXUyAmJiBjdXJyZW50U3R5bGUt
PmJyZWFrT25seUFmdGVyV2hpdGVTcGFjZSgpICYmICFtaWRXb3JkQnJlYWspIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmbG9hdCBjaGFyV2lkdGggPSB0ZXh0V2lkdGgodCwgY3VycmVu
dC5tX3BvcywgMSwgZiwgd2lkdGguY3VycmVudFdpZHRoKCksIGlzRml4ZWRQaXRjaCwgY29sbGFw
c2VXaGl0ZVNwYWNlLCAmd29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMsIHRleHRMYXlvdXQp
ICsgKGFwcGx5V29yZFNwYWNpbmcgPyB3b3JkU3BhY2luZyA6IDApOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZsb2F0IGNoYXJXaWR0aCA9IHRleHRXaWR0aCh0LCBjdXJyZW50Lm1fcG9z
LCAxLCBmLCB3aWR0aC5jdXJyZW50V2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRl
U3BhY2UsIHRleHRMYXlvdXQpICsgKGFwcGx5V29yZFNwYWNpbmcgPyB3b3JkU3BhY2luZyA6IDAp
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIGxpbmUgaXMgdG9vIGJp
ZyBldmVuIHdpdGhvdXQgdGhlIGV4dHJhIHNwYWNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgbGluZS4gSWYgaXQgaXMgbm90LCBkbyBub3RoaW5nLgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBsaW5lIG5lZWRzIHRoZSBleHRy
YSB3aGl0ZXNwYWNlIHRvIGJlIHRvbyBsb25nLApAQCAtMjYzNCwxNiArMjU2NCw5IEBAIElubGlu
ZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpMaW5lQnJlYWtlcjo6bmV4dExpbmVCcmVhayhJbmxpbmVC
aWRpUmVzb2x2ZXImIHJlc29sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbEJyZWFrLmluY3JlbWVudCgpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lSW5mby5zZXRQcmV2aW91c0xpbmVCcm9rZUNs
ZWFubHkodHJ1ZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmRNZWFzdXJl
bWVudC5lbmRPZmZzZXQgPSBsQnJlYWsubV9wb3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsQnJlYWsubV9vYmogJiYgbEJy
ZWFrLm1fcG9zICYmIGxCcmVhay5tX29iai0+aXNUZXh0KCkgJiYgdG9SZW5kZXJUZXh0KGxCcmVh
ay5tX29iaiktPnRleHRMZW5ndGgoKSAmJiB0b1JlbmRlclRleHQobEJyZWFrLm1fb2JqKS0+Y2hh
cmFjdGVycygpW2xCcmVhay5tX3BvcyAtIDFdID09IHNvZnRIeXBoZW4gJiYgc3R5bGUtPmh5cGhl
bnMoKSAhPSBIeXBoZW5zTm9uZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9o
eXBoZW5hdGVkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobEJyZWFr
Lm1fcG9zICYmIGxCcmVhay5tX3BvcyAhPSAodW5zaWduZWQpd29yZE1lYXN1cmVtZW50LmVuZE9m
ZnNldCAmJiAhd29yZE1lYXN1cmVtZW50LndpZHRoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChjaGFyV2lkdGgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHdvcmRNZWFzdXJlbWVudC5lbmRPZmZzZXQgPSBsQnJlYWsubV9wb3M7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JkTWVhc3VyZW1lbnQud2lkdGggPSBjaGFy
V2lkdGg7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlbmQ7IC8v
IERpZG4ndCBmaXQuIEp1bXAgdG8gdGhlIGVuZC4KICAgICAgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFiZXR3ZWVuV29yZHMgfHwg
KG1pZFdvcmRCcmVhayAmJiAhYXV0b1dyYXApKQpAQCAtMjY4Niw3ICsyNjA5LDYgQEAgSW5saW5l
SXRlcmF0b3IgUmVuZGVyQmxvY2s6OkxpbmVCcmVha2VyOjpuZXh0TGluZUJyZWFrKElubGluZUJp
ZGlSZXNvbHZlciYgcmVzb2wKIAogICAgICAgICAgICAgICAgICAgICBpZiAoYmV0d2VlbldvcmRz
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0U3BhY2VXb3JkU3BhY2luZyA9IGFwcGx5
V29yZFNwYWNpbmcgPyB3b3JkU3BhY2luZyA6IDA7Ci0gICAgICAgICAgICAgICAgICAgICAgICB3
b3JkU3BhY2luZ0ZvcldvcmRNZWFzdXJlbWVudCA9IChhcHBseVdvcmRTcGFjaW5nICYmIHdvcmRN
ZWFzdXJlbWVudC53aWR0aCkgPyB3b3JkU3BhY2luZyA6IDA7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBsYXN0U3BhY2UgPSBjdXJyZW50Lm1fcG9zOwogICAgICAgICAgICAgICAgICAgICB9CiAK
QEAgLTI3MDksNyArMjYzMSw2IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpMaW5lQnJl
YWtlcjo6bmV4dExpbmVCcmVhayhJbmxpbmVCaWRpUmVzb2x2ZXImIHJlc29sCiAgICAgICAgICAg
ICAgICAgICAgIC8vIG5ldyBwb2ludC4KICAgICAgICAgICAgICAgICAgICAgaWdub3JpbmdTcGFj
ZXMgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgbGFzdFNwYWNlV29yZFNwYWNpbmcgPSBh
cHBseVdvcmRTcGFjaW5nID8gd29yZFNwYWNpbmcgOiAwOwotICAgICAgICAgICAgICAgICAgICB3
b3JkU3BhY2luZ0ZvcldvcmRNZWFzdXJlbWVudCA9IChhcHBseVdvcmRTcGFjaW5nICYmIHdvcmRN
ZWFzdXJlbWVudHMubGFzdCgpLndpZHRoKSA/IHdvcmRTcGFjaW5nIDogMDsKICAgICAgICAgICAg
ICAgICAgICAgbGFzdFNwYWNlID0gY3VycmVudC5tX3BvczsgLy8gZS5nLiwgIkZvbyAgICBnb28i
LCBkb24ndCBhZGQgaW4gYW55IG9mIHRoZSBpZ25vcmVkIHNwYWNlcy4KICAgICAgICAgICAgICAg
ICAgICAgYWRkTWlkcG9pbnQobGluZU1pZHBvaW50U3RhdGUsIElubGluZUl0ZXJhdG9yKDAsIGN1
cnJlbnQubV9vYmosIGN1cnJlbnQubV9wb3MpKTsKICAgICAgICAgICAgICAgICB9CkBAIC0yNzQy
LDE2ICsyNjYzLDggQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OkxpbmVCcmVha2VyOjpu
ZXh0TGluZUJyZWFrKElubGluZUJpZGlSZXNvbHZlciYgcmVzb2wKICAgICAgICAgICAgICAgICBh
dFN0YXJ0ID0gZmFsc2U7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIHdvcmRNZWFzdXJl
bWVudHMuZ3Jvdyh3b3JkTWVhc3VyZW1lbnRzLnNpemUoKSArIDEpOwotICAgICAgICAgICAgV29y
ZE1lYXN1cmVtZW50JiB3b3JkTWVhc3VyZW1lbnQgPSB3b3JkTWVhc3VyZW1lbnRzLmxhc3QoKTsK
LSAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5yZW5kZXJlciA9IHQ7Ci0KICAgICAgICAgICAg
IC8vIElNUE9SVEFOVDogY3VycmVudC5tX3BvcyBpcyA+IGxlbmd0aCBoZXJlIQotICAgICAgICAg
ICAgZmxvYXQgYWRkaXRpb25hbFRtcFcgPSBpZ25vcmluZ1NwYWNlcyA/IDAgOiB0ZXh0V2lkdGgo
dCwgbGFzdFNwYWNlLCBjdXJyZW50Lm1fcG9zIC0gbGFzdFNwYWNlLCBmLCB3aWR0aC5jdXJyZW50
V2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UsICZ3b3JkTWVhc3VyZW1l
bnQuZmFsbGJhY2tGb250cywgdGV4dExheW91dCk7Ci0gICAgICAgICAgICB3b3JkTWVhc3VyZW1l
bnQuc3RhcnRPZmZzZXQgPSBsYXN0U3BhY2U7Ci0gICAgICAgICAgICB3b3JkTWVhc3VyZW1lbnQu
ZW5kT2Zmc2V0ID0gY3VycmVudC5tX3BvczsKLSAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC53
aWR0aCA9IGlnbm9yaW5nU3BhY2VzID8gMCA6IGFkZGl0aW9uYWxUbXBXICsgd29yZFNwYWNpbmdG
b3JXb3JkTWVhc3VyZW1lbnQ7Ci0gICAgICAgICAgICBhZGRpdGlvbmFsVG1wVyArPSBsYXN0U3Bh
Y2VXb3JkU3BhY2luZzsKKyAgICAgICAgICAgIGZsb2F0IGFkZGl0aW9uYWxUbXBXID0gaWdub3Jp
bmdTcGFjZXMgPyAwIDogdGV4dFdpZHRoKHQsIGxhc3RTcGFjZSwgY3VycmVudC5tX3BvcyAtIGxh
c3RTcGFjZSwgZiwgd2lkdGguY3VycmVudFdpZHRoKCksIGlzRml4ZWRQaXRjaCwgY29sbGFwc2VX
aGl0ZVNwYWNlLCB0ZXh0TGF5b3V0KSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgICAgICAg
ICAgd2lkdGguYWRkVW5jb21taXR0ZWRXaWR0aChhZGRpdGlvbmFsVG1wVyArIGlubGluZUxvZ2lj
YWxXaWR0aChjdXJyZW50Lm1fb2JqLCAhYXBwbGllZFN0YXJ0V2lkdGgsIGluY2x1ZGVFbmRXaWR0
aCkpOwogICAgICAgICAgICAgaW5jbHVkZUVuZFdpZHRoID0gZmFsc2U7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>