<?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>52608</bug_id>
          
          <creation_ts>2011-01-17 21:14:06 -0800</creation_ts>
          <short_desc>Refactoring: EventHandler::handleTextInputEvent should accept  an enum instead of three bools</short_desc>
          <delta_ts>2011-01-18 20:12:29 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>335652</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-01-17 21:14:06 -0800</bug_when>
    <thetext>Coined at Bug 5241. Refactoring three bool parameters into one enum.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336283</commentid>
    <comment_count>1</comment_count>
      <attachid>79380</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-01-18 18:35:14 -0800</bug_when>
    <thetext>Created attachment 79380
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336287</commentid>
    <comment_count>2</comment_count>
      <attachid>79380</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-18 18:47:37 -0800</bug_when>
    <thetext>Comment on attachment 79380
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=79380&amp;action=review

&gt; Source/WebCore/page/EventHandler.cpp:2670
&gt; -    RefPtr&lt;TextEvent&gt; event = TextEvent::create(m_frame-&gt;domWindow(), text, TextEvent::selectInputType(isLineBreak, isBackTab));
&gt; +    RefPtr&lt;TextEvent&gt; event = TextEvent::create(m_frame-&gt;domWindow(), text, inputType);

Only concern I have with this change is that we may permit inputType to be TextEventInputPaste or TextEventInputDrop here. Can we add an assertion that this can only be Keyboard, LineBreak, or BackTab?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336288</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-18 18:47:48 -0800</bug_when>
    <thetext>Thanks for making this change!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336290</commentid>
    <comment_count>4</comment_count>
      <attachid>79380</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-18 18:51:59 -0800</bug_when>
    <thetext>Comment on attachment 79380
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=79380&amp;action=review

&gt; Source/WebCore/dom/TextEventInputType.h:9
&gt; +/*
&gt; + * Copyright (C) 2010 Google, Inc. All Rights Reserved.
&gt; + *
&gt; + * Redistribution and use in source and binary forms, with or without
&gt; + * modification, are permitted provided that the following conditions
&gt; + * are met:
&gt; + * 1. Redistributions of source code must retain the above copyright
&gt; + *    notice, this list of conditions and the following disclaimer.
&gt; + * 2. Redistributions in binary form must reproduce the above copyright

Oops, we shouldn&apos;t be claiming to be the author if we&apos;re just moving it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336292</commentid>
    <comment_count>5</comment_count>
      <attachid>79380</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-18 18:55:16 -0800</bug_when>
    <thetext>Comment on attachment 79380
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=79380&amp;action=review

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:22369
&gt;  				F3D4C47912E07663003DA150 /* InspectorBrowserDebuggerAgent.h in Headers */,
&gt; +				A77B41A012E675A90054343D /* TextEventInputType.h in Headers */,

You probably want to put this in the right place as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336295</commentid>
    <comment_count>6</comment_count>
      <attachid>79380</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-18 18:59:53 -0800</bug_when>
    <thetext>Comment on attachment 79380
Patch

(In reply to comment #4)
&gt; Oops, we shouldn&apos;t be claiming to be the author if we&apos;re just moving it here.

I just realized you&apos;re the original author of this enum in http://trac.webkit.org/changeset/65287. I put my r+ back.

Please still correct the location of TextEventInputType.h in WebCore.xcodeproj/project.pbxproj as noted above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336308</commentid>
    <comment_count>7</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-01-18 19:52:35 -0800</bug_when>
    <thetext>&gt; I just realized you&apos;re the original author of this enum in http://trac.webkit.org/changeset/65287. I put my r+ back.
&gt; 
&gt; Please still correct the location of TextEventInputType.h in WebCore.xcodeproj/project.pbxproj as noted above.

Thanks! I&apos;ll land this after fixing project.pbxproj.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336316</commentid>
    <comment_count>8</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-01-18 20:12:29 -0800</bug_when>
    <thetext>Committed r76098: &lt;http://trac.webkit.org/changeset/76098&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79380</attachid>
            <date>2011-01-18 18:35:14 -0800</date>
            <delta_ts>2011-01-18 18:59:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52608-20110119113512.patch</filename>
            <type>text/plain</type>
            <size>19422</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwZDEyMjg3ZDc1YjlkNjRiMjJlZThjYTNjNGNjMDY0ODExNWJlZDIzLi5i
OGJlZDI0Y2JkOTI5NzVkOGE0ZjllODRjZWI1ZDA1YmYzNDFmYTA1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzQgQEAKKzIwMTEtMDEtMTggTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZWZhY3RvcmluZzogRXZlbnRIYW5kbGVyOjpoYW5kbGVUZXh0SW5wdXRF
dmVudCBzaG91bGQgYWNjZXB0IGFuIGVudW0gaW5zdGVhZCBvZiBib29scy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNjA4CisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLiBubyBiZWhhdmlvcmFsIGNoYW5nZS4KKworICAgICAgICAqIEdOVW1ha2VmaWxl
LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL1RleHRFdmVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0RXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0RXZlbnQ6OmNyZWF0ZUZvckRyb3ApOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEV2ZW50
OjpUZXh0RXZlbnQpOgorICAgICAgICAqIGRvbS9UZXh0RXZlbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRFdmVudDo6aXNMaW5lQnJlYWspOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEV2ZW50
Ojppc0JhY2tUYWIpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEV2ZW50Ojppc1Bhc3RlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRFdmVudDo6aXNEcm9wKToKKyAgICAgICAgKiBkb20vVGV4dEV2
ZW50SW5wdXRUeXBlLmg6IEFkZGVkLiBFeHRyYWN0ZWQgZnJvbSBUZXh0RXZlbnQ6OlRleHRJbnB1
dFR5cGUuCisgICAgICAgICogZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmV4ZWN1dGVJbnNlcnRCYWNrdGFiKToKKyAgICAgICAgKFdlYkNvcmU6OmV4ZWN1dGVJ
bnNlcnRMaW5lQnJlYWspOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZUluc2VydE5ld2xpbmUp
OgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZUluc2VydFRhYik6CisgICAgICAgICogcGFnZS9F
dmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVU
ZXh0SW5wdXRFdmVudCk6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoKKwogMjAxMS0w
MS0xOCAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBTaW1vbiBGcmFzZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGQyMGU5NzUwYzM0
NDA3YTJiNTIzNDlmMTljZjllNWJkYzFhMzQ5NmMuLjI0N2Y4ODAxMWNlYmY0MTFiNzFiMjMzMDQ0
MWIwY2E3NmY5NjczYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0xMzAwLDYgKzEzMDAsNyBA
QCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9U
ZXh0RXZlbnQuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudElucHV0VHlwZS5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vVG91Y2hM
aXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKaW5kZXggMjYyNDBiM2FiZTBiNzQxNmZkN2VhYThmOTE4ZWY2NTg2ZDlhZDQxMC4uMDYy
ODhmY2QzYzVlZjkwZmQxZDMxNWQ4YTJjNTIzMGZhMWU4MzFkYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpA
QCAtMTM0OCw2ICsxMzQ4LDcgQEAKICAgICAgICAgICAgICdkb20vVGV4dC5oJywKICAgICAgICAg
ICAgICdkb20vVGV4dEV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1RleHRFdmVudC5oJywK
KyAgICAgICAgICAgICdkb20vVGV4dEV2ZW50SW5wdXRUeXBlLmgnLAogICAgICAgICAgICAgJ2Rv
bS9Ub3VjaC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Ub3VjaC5oJywKICAgICAgICAgICAgICdk
b20vVG91Y2hFdmVudC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5w
cm8gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBkZTEyMjk3Y2FiMmEzOWE2ZmQz
ODllNjYwOTE4ZThjZGVkNjEyNGRlLi5hODU3MjQyODk0MjgwMTY3ZWRlMjQyN2M4NjYwYzU4Mjhl
YmY4ODlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMTcxNCw2ICsxNzE0LDcgQEAgSEVBREVSUyArPSBc
CiAgICAgZG9tL1N0eWxlRWxlbWVudC5oIFwKICAgICBkb20vVGFnTm9kZUxpc3QuaCBcCiAgICAg
ZG9tL1RleHRFdmVudC5oIFwKKyAgICBkb20vVGV4dEV2ZW50SW5wdXRUeXBlLmggXAogICAgIGRv
bS9UZXh0LmggXAogICAgIGRvbS9Ub3VjaC5oIFwKICAgICBkb20vVG91Y2hFdmVudC5oIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYjc5MDQ3
MjAzZTczZTRjMWFhZjU2ZTY0MzlkMzllMzBlZmI5Zjg0Yy4uNTI2YmIwNmVhN2IxYTI3MWRlNzU2
ODJiOWQyYTc2YmY4YjIxMGQyZCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKQEAgLTQ2MTk0LDYgKzQ2MTk0LDEwIEBACiAJCQkJPgogCQkJPC9GaWxl
PgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxUZXh0RXZlbnRJbnB1dFR5cGUu
aCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9t
XFRyYW5zZm9ybVNvdXJjZS5oIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyMTVmODIwYzY2Nzhh
YTQ3ZTQyM2I2MDU4Mzg2YjJhM2Q5N2YwMWY4Li44NTFhZWY3OTAzNTEyYjg0YjBmNjVmNzc2NWMx
NDI1ZGI0ZmFkYmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0zMTc5LDYgKzMxNzksNyBAQAogCQlBNzc5NzkxQTBENkI5RDBD
MDAzODUxQjkgLyogSW1hZ2VEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNzc5NzkxNDBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmggKi87
IH07CiAJCUE3Nzk3OTI4MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc5NzkyNDBENkI5RTY0
MDAzODUxQjkgLyogSlNJbWFnZURhdGEuY3BwICovOyB9OwogCQlBNzc5NzkyOTBENkI5RTY0MDAz
ODUxQjkgLyogSlNJbWFnZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE3Nzk3OTI1MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5oICov
OyB9OworCQlBNzdCNDFBMDEyRTY3NUE5MDA1NDM0M0QgLyogVGV4dEV2ZW50SW5wdXRUeXBlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzdCNDE5RjEy
RTY3NUE5MDA1NDM0M0QgLyogVGV4dEV2ZW50SW5wdXRUeXBlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTc4NDk0MUIwQjVGRTUwNzAwMUUyMzdB
IC8qIENsaXBib2FyZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNzg0OTQxQTBCNUZFNTA3MDAxRTIzN0EgLyogQ2xpcGJvYXJkLmNwcCAqLzsgfTsK
IAkJQTc4RkUxM0IxMjM2NkIxMDAwQUNFOEQwIC8qIFNwZWxsQ2hlY2tlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzhGRTEzOTEyMzY2QjEwMDBB
Q0U4RDAgLyogU3BlbGxDaGVja2VyLmNwcCAqLzsgfTsKIAkJQTc4RkUxM0MxMjM2NkIxMDAwQUNF
OEQwIC8qIFNwZWxsQ2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTc4RkUxM0ExMjM2NkIxMDAwQUNFOEQwIC8qIFNwZWxsQ2hlY2tlci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC05NTUyLDYg
Kzk1NTMsNyBAQAogCQlBNzc5NzkxNTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJbWFnZURhdGEuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBNzc5NzkyNDBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbWFnZURhdGEuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzc5NzkyNTBENkI5RTY0MDAzODUxQjkgLyogSlNJ
bWFnZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJbWFnZURhdGEu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc3QjQxOUYxMkU2NzVBOTAwNTQzNDNE
IC8qIFRleHRFdmVudElucHV0VHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBUZXh0RXZlbnRJbnB1dFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc4
NDk0MUEwQjVGRTUwNzAwMUUyMzdBIC8qIENsaXBib2FyZC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ2xpcGJvYXJkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQTc4RkUxMzkxMjM2NkIxMDAwQUNFOEQwIC8qIFNwZWxsQ2hlY2tlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGVsbENoZWNrZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzhGRTEzQTEyMzY2QjEwMDBBQ0U4RDAgLyogU3Bl
bGxDaGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBmaWxlRW5jb2RpbmcgPSA0OyBwYXRoID0gU3BlbGxDaGVja2Vy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xOTA4NSw2ICsxOTA4Nyw3IEBACiAJ
CQkJOTMzQTE0MkIwQjdEMTg4NjAwQTUzRkZEIC8qIFRleHRFdmVudC5jcHAgKi8sCiAJCQkJOTMz
QTE0MkQwQjdEMTg4NjAwQTUzRkZEIC8qIFRleHRFdmVudC5oICovLAogCQkJCTkzM0ExNDJDMEI3
RDE4ODYwMEE1M0ZGRCAvKiBUZXh0RXZlbnQuaWRsICovLAorCQkJCUE3N0I0MTlGMTJFNjc1QTkw
MDU0MzQzRCAvKiBUZXh0RXZlbnRJbnB1dFR5cGUuaCAqLywKIAkJCQk1REIxQkM2ODEwNzE1QTY0
MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlLmggKi8sCiAJCQkJNURCMUJDNjkxMDcxNUE2NDAw
RUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwICovLAogCQkJCTg1NEZFNzJDMEEy
Mjk3QkUwMDU4RDdBRCAvKiBUcmF2ZXJzYWwuY3BwICovLApAQCAtMjIzNjMsNiArMjIzNjYsNyBA
QAogCQkJCTJFMzdFMDA2MTJEQkM1QTQwMEE2QjIzMyAvKiBKU0RPTVVSTC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0E1NjQwQzAxMkRGOUU1RTAwRjQ1MzZEIC8qIEluc3BlY3RvclNldHRpbmdzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGM0Q0QzQ3OTEyRTA3NjYzMDAzREExNTAgLyogSW5zcGVjdG9y
QnJvd3NlckRlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3N0I0MUEwMTJFNjc1
QTkwMDU0MzQzRCAvKiBUZXh0RXZlbnRJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVGV4dEV2ZW50LmNwcAppbmRleCA2OGVkNGIyNzMzYTJiZTFkYTRkOTYwMjA4NWIwOGFjNTRl
M2I5YmIxLi5iN2JkMWM4NzVlMzdhZjc0M2NkNmVlNDJhZTc1YjI0ZWQ5YmM2ZjRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vVGV4dEV2ZW50LmNwcApAQCAtMzEsMjEgKzMxLDEyIEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotVGV4dEV2ZW50OjpJbnB1dFR5cGUgVGV4dEV2ZW50OjpzZWxlY3RJbnB1dFR5cGUo
Ym9vbCBpc0xpbmVCcmVhaywgYm9vbCBpc0JhY2tUYWIpCi17Ci0gICAgaWYgKGlzTGluZUJyZWFr
KQotICAgICAgICByZXR1cm4gVGV4dEV2ZW50OjpJbnB1dFR5cGVMaW5lQnJlYWs7Ci0gICAgaWYg
KGlzQmFja1RhYikKLSAgICAgICAgcmV0dXJuIFRleHRFdmVudDo6SW5wdXRUeXBlQmFja1RhYjsK
LSAgICByZXR1cm4gVGV4dEV2ZW50OjpJbnB1dFR5cGVLZXlib2FyZDsKLX0KLQogUGFzc1JlZlB0
cjxUZXh0RXZlbnQ+IFRleHRFdmVudDo6Y3JlYXRlKCkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFRleHRFdmVudCk7CiB9CiAKLVBhc3NSZWZQdHI8VGV4dEV2ZW50PiBUZXh0RXZlbnQ6OmNy
ZWF0ZShQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgY29uc3QgU3RyaW5nJiBkYXRhLCBU
ZXh0RXZlbnQ6OklucHV0VHlwZSBpbnB1dFR5cGUpCitQYXNzUmVmUHRyPFRleHRFdmVudD4gVGV4
dEV2ZW50OjpjcmVhdGUoUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGNvbnN0IFN0cmlu
ZyYgZGF0YSwgVGV4dEV2ZW50SW5wdXRUeXBlIGlucHV0VHlwZSkKIHsKICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFRleHRFdmVudCh2aWV3LCBkYXRhLCBpbnB1dFR5cGUpKTsKIH0KQEAgLTYyLDE3
ICs1MywxNyBAQCBQYXNzUmVmUHRyPFRleHRFdmVudD4gVGV4dEV2ZW50OjpjcmVhdGVGb3JGcmFn
bWVudFBhc3RlKFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PgogCiBQYXNzUmVmUHRyPFRleHRFdmVu
dD4gVGV4dEV2ZW50OjpjcmVhdGVGb3JEcm9wKFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3
LCBjb25zdCBTdHJpbmcmIGRhdGEpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUZXh0RXZl
bnQodmlldywgZGF0YSwgVGV4dEV2ZW50OjpJbnB1dFR5cGVEcm9wKSk7CisgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBUZXh0RXZlbnQodmlldywgZGF0YSwgVGV4dEV2ZW50SW5wdXREcm9wKSk7CiB9
CiAKIFRleHRFdmVudDo6VGV4dEV2ZW50KCkKLSAgICA6IG1faW5wdXRUeXBlKFRleHRFdmVudDo6
SW5wdXRUeXBlS2V5Ym9hcmQpCisgICAgOiBtX2lucHV0VHlwZShUZXh0RXZlbnRJbnB1dEtleWJv
YXJkKQogICAgICwgbV9zaG91bGRTbWFydFJlcGxhY2UoZmFsc2UpCiAgICAgLCBtX3Nob3VsZE1h
dGNoU3R5bGUoZmFsc2UpCiB7CiB9CiAKLVRleHRFdmVudDo6VGV4dEV2ZW50KFBhc3NSZWZQdHI8
QWJzdHJhY3RWaWV3PiB2aWV3LCBjb25zdCBTdHJpbmcmIGRhdGEsIElucHV0VHlwZSBpbnB1dFR5
cGUpCitUZXh0RXZlbnQ6OlRleHRFdmVudChQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywg
Y29uc3QgU3RyaW5nJiBkYXRhLCBUZXh0RXZlbnRJbnB1dFR5cGUgaW5wdXRUeXBlKQogICAgIDog
VUlFdmVudChldmVudE5hbWVzKCkudGV4dElucHV0RXZlbnQsIHRydWUsIHRydWUsIHZpZXcsIDAp
CiAgICAgLCBtX2lucHV0VHlwZShpbnB1dFR5cGUpCiAgICAgLCBtX2RhdGEoZGF0YSkKQEAgLTg1
LDcgKzc2LDcgQEAgVGV4dEV2ZW50OjpUZXh0RXZlbnQoUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+
IHZpZXcsIGNvbnN0IFN0cmluZyYgZGF0YSwgSW5wdXRUeXAKIFRleHRFdmVudDo6VGV4dEV2ZW50
KFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBjb25zdCBTdHJpbmcmIGRhdGEsIFBhc3NS
ZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gcGFzdGluZ0ZyYWdtZW50LAogICAgICAgICAgICAgICAg
ICAgICAgYm9vbCBzaG91bGRTbWFydFJlcGxhY2UsIGJvb2wgc2hvdWxkTWF0Y2hTdHlsZSkKICAg
ICA6IFVJRXZlbnQoZXZlbnROYW1lcygpLnRleHRJbnB1dEV2ZW50LCB0cnVlLCB0cnVlLCB2aWV3
LCAwKQotICAgICwgbV9pbnB1dFR5cGUoVGV4dEV2ZW50OjpJbnB1dFR5cGVQYXN0ZSkKKyAgICAs
IG1faW5wdXRUeXBlKFRleHRFdmVudElucHV0UGFzdGUpCiAgICAgLCBtX2RhdGEoZGF0YSkKICAg
ICAsIG1fcGFzdGluZ0ZyYWdtZW50KHBhc3RpbmdGcmFnbWVudCkKICAgICAsIG1fc2hvdWxkU21h
cnRSZXBsYWNlKHNob3VsZFNtYXJ0UmVwbGFjZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9UZXh0RXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuaAppbmRleCBm
MWQyNGU5YzY4MTBmNTVhNDM2Y2VlNmQwNGFlM2RkNDEyYjc5NjI0Li5kNzcwZDM4ODQ0MzQwZjY4
NDA1MjdiOGM3YzE0OWVmZjliZGMwYjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
VGV4dEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudC5oCkBAIC0yOCwy
MyArMjgsMTYgQEAKICNkZWZpbmUgVGV4dEV2ZW50X2gKIAogI2luY2x1ZGUgIkRvY3VtZW50RnJh
Z21lbnQuaCIKKyNpbmNsdWRlICJUZXh0RXZlbnRJbnB1dFR5cGUuaCIKICNpbmNsdWRlICJVSUV2
ZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFRleHRFdmVudCA6IHB1
YmxpYyBVSUV2ZW50IHsKICAgICBwdWJsaWM6Ci0gICAgICAgIGVudW0gSW5wdXRUeXBlIHsKLSAg
ICAgICAgICAgIElucHV0VHlwZUtleWJvYXJkLCAvLyBhbnkgbmV3bGluZSBjaGFyYWN0ZXJzIGlu
IHRoZSB0ZXh0IGFyZSBsaW5lIGJyZWFrcyBvbmx5LCBub3QgcGFyYWdyYXBoIHNlcGFyYXRvcnMu
Ci0gICAgICAgICAgICBJbnB1dFR5cGVMaW5lQnJlYWssIC8vIGFueSB0YWIgY2hhcmFjdGVycyBp
biB0aGUgdGV4dCBhcmUgYmFja3RhYnMuCi0gICAgICAgICAgICBJbnB1dFR5cGVCYWNrVGFiLAot
ICAgICAgICAgICAgSW5wdXRUeXBlUGFzdGUsCi0gICAgICAgICAgICBJbnB1dFR5cGVEcm9wLAot
ICAgICAgICB9OwogCi0gICAgICAgIHN0YXRpYyBJbnB1dFR5cGUgc2VsZWN0SW5wdXRUeXBlKGJv
b2wgaXNMaW5lQnJlYWssIGJvb2wgaXNCYWNrVGFiKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8VGV4dEV2ZW50PiBjcmVhdGUoKTsKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGV4dEV2
ZW50PiBjcmVhdGUoUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGNvbnN0IFN0cmluZyYg
ZGF0YSwgSW5wdXRUeXBlID0gSW5wdXRUeXBlS2V5Ym9hcmQpOworICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxUZXh0RXZlbnQ+IGNyZWF0ZShQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4sIGNvbnN0
IFN0cmluZyYgZGF0YSwgVGV4dEV2ZW50SW5wdXRUeXBlID0gVGV4dEV2ZW50SW5wdXRLZXlib2Fy
ZCk7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRleHRFdmVudD4gY3JlYXRlRm9yUGxhaW5U
ZXh0UGFzdGUoUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGNvbnN0IFN0cmluZyYgZGF0
YSwgYm9vbCBzaG91bGRTbWFydFJlcGxhY2UpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxU
ZXh0RXZlbnQ+IGNyZWF0ZUZvckZyYWdtZW50UGFzdGUoUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+
IHZpZXcsIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gZGF0YSwgYm9vbCBzaG91bGRTbWFy
dFJlcGxhY2UsIGJvb2wgc2hvdWxkTWF0Y2hTdHlsZSk7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFRleHRFdmVudD4gY3JlYXRlRm9yRHJvcChQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmll
dywgY29uc3QgU3RyaW5nJiBkYXRhKTsKQEAgLTU3LDEwICs1MCwxMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICAgICAgdmlydHVhbCBib29sIGlzVGV4dEV2ZW50KCkgY29uc3Q7CiAKLSAg
ICAgICAgYm9vbCBpc0xpbmVCcmVhaygpIGNvbnN0IHsgcmV0dXJuIG1faW5wdXRUeXBlID09IElu
cHV0VHlwZUxpbmVCcmVhazsgfQotICAgICAgICBib29sIGlzQmFja1RhYigpIGNvbnN0IHsgcmV0
dXJuIG1faW5wdXRUeXBlID09IElucHV0VHlwZUJhY2tUYWI7IH0KLSAgICAgICAgYm9vbCBpc1Bh
c3RlKCkgY29uc3QgeyByZXR1cm4gbV9pbnB1dFR5cGUgPT0gSW5wdXRUeXBlUGFzdGU7IH0KLSAg
ICAgICAgYm9vbCBpc0Ryb3AoKSBjb25zdCB7IHJldHVybiBtX2lucHV0VHlwZSA9PSBJbnB1dFR5
cGVEcm9wOyB9CisgICAgICAgIGJvb2wgaXNMaW5lQnJlYWsoKSBjb25zdCB7IHJldHVybiBtX2lu
cHV0VHlwZSA9PSBUZXh0RXZlbnRJbnB1dExpbmVCcmVhazsgfQorICAgICAgICBib29sIGlzQmFj
a1RhYigpIGNvbnN0IHsgcmV0dXJuIG1faW5wdXRUeXBlID09IFRleHRFdmVudElucHV0QmFja1Rh
YjsgfQorICAgICAgICBib29sIGlzUGFzdGUoKSBjb25zdCB7IHJldHVybiBtX2lucHV0VHlwZSA9
PSBUZXh0RXZlbnRJbnB1dFBhc3RlOyB9CisgICAgICAgIGJvb2wgaXNEcm9wKCkgY29uc3QgeyBy
ZXR1cm4gbV9pbnB1dFR5cGUgPT0gVGV4dEV2ZW50SW5wdXREcm9wOyB9CiAKICAgICAgICAgYm9v
bCBzaG91bGRTbWFydFJlcGxhY2UoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFNtYXJ0UmVwbGFj
ZTsgfQogICAgICAgICBib29sIHNob3VsZE1hdGNoU3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3No
b3VsZE1hdGNoU3R5bGU7IH0KQEAgLTY5LDExICs2MiwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgcHJpdmF0ZToKICAgICAgICAgVGV4dEV2ZW50KCk7CiAKLSAgICAgICAgVGV4dEV2ZW50
KFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgY29uc3QgU3RyaW5nJiBkYXRhLCBJbnB1dFR5cGUg
PSBJbnB1dFR5cGVLZXlib2FyZCk7CisgICAgICAgIFRleHRFdmVudChQYXNzUmVmUHRyPEFic3Ry
YWN0Vmlldz4sIGNvbnN0IFN0cmluZyYgZGF0YSwgVGV4dEV2ZW50SW5wdXRUeXBlID0gVGV4dEV2
ZW50SW5wdXRLZXlib2FyZCk7CiAgICAgICAgIFRleHRFdmVudChQYXNzUmVmUHRyPEFic3RyYWN0
Vmlldz4sIGNvbnN0IFN0cmluZyYgZGF0YSwgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiwK
ICAgICAgICAgICAgICAgICAgIGJvb2wgc2hvdWxkU21hcnRSZXBsYWNlLCBib29sIHNob3VsZE1h
dGNoU3R5bGUpOwogCi0gICAgICAgIElucHV0VHlwZSBtX2lucHV0VHlwZTsKKyAgICAgICAgVGV4
dEV2ZW50SW5wdXRUeXBlIG1faW5wdXRUeXBlOwogICAgICAgICBTdHJpbmcgbV9kYXRhOwogCiAg
ICAgICAgIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBtX3Bhc3RpbmdGcmFnbWVudDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnRJbnB1dFR5cGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9UZXh0RXZlbnRJbnB1dFR5cGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTIyZWM0NWZmN2Y4
MTkxZjc0NTkwYmJkODk5MzYzZTcyNzRlNjg1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1RleHRFdmVudElucHV0VHlwZS5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIFRleHRFdmVu
dElucHV0VHlwZV9oCisjZGVmaW5lIFRleHRFdmVudElucHV0VHlwZV9oCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworZW51bSBUZXh0RXZlbnRJbnB1dFR5cGUgeworICAgIFRleHRFdmVudElucHV0
S2V5Ym9hcmQsIC8vIGFueSBuZXdsaW5lIGNoYXJhY3RlcnMgaW4gdGhlIHRleHQgYXJlIGxpbmUg
YnJlYWtzIG9ubHksIG5vdCBwYXJhZ3JhcGggc2VwYXJhdG9ycy4KKyAgICBUZXh0RXZlbnRJbnB1
dExpbmVCcmVhaywgLy8gYW55IHRhYiBjaGFyYWN0ZXJzIGluIHRoZSB0ZXh0IGFyZSBiYWNrdGFi
cy4KKyAgICBUZXh0RXZlbnRJbnB1dEJhY2tUYWIsCisgICAgVGV4dEV2ZW50SW5wdXRQYXN0ZSwK
KyAgICBUZXh0RXZlbnRJbnB1dERyb3AsCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBUZXh0RXZlbnRJbnB1dFR5cGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yQ29tbWFuZC5jcHAKaW5kZXggNjQ5OTNkNTBhYjFjOTg0ZWMyY2ExMWU5ZWRhYjMzMDU3NGE3
ODZkMy4uOWU1YmY5ZjRhYzYyODM3MDg0ZTRkY2E1ZmE3NTE1Zjc0NjFjZWFjYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCkBAIC00NzcsNyArNDc3LDcgQEAgc3Rh
dGljIGJvb2wgZXhlY3V0ZUluZGVudChGcmFtZSogZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFu
ZFNvdXJjZSwgY29uc3QgU3RyaW4KIAogc3RhdGljIGJvb2wgZXhlY3V0ZUluc2VydEJhY2t0YWIo
RnJhbWUqIGZyYW1lLCBFdmVudCogZXZlbnQsIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0
cmluZyYpCiB7Ci0gICAgcmV0dXJuIHRhcmdldEZyYW1lKGZyYW1lLCBldmVudCktPmV2ZW50SGFu
ZGxlcigpLT5oYW5kbGVUZXh0SW5wdXRFdmVudCgiXHQiLCBldmVudCwgZmFsc2UsIHRydWUpOwor
ICAgIHJldHVybiB0YXJnZXRGcmFtZShmcmFtZSwgZXZlbnQpLT5ldmVudEhhbmRsZXIoKS0+aGFu
ZGxlVGV4dElucHV0RXZlbnQoIlx0IiwgZXZlbnQsIFRleHRFdmVudElucHV0QmFja1RhYik7CiB9
CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVJbnNlcnRIb3Jpem9udGFsUnVsZShGcmFtZSogZnJhbWUs
IEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKQEAgLTUw
NSw3ICs1MDUsNyBAQCBzdGF0aWMgYm9vbCBleGVjdXRlSW5zZXJ0TGluZUJyZWFrKEZyYW1lKiBm
cmFtZSwgRXZlbnQqIGV2ZW50LCBFZGl0b3JDb21tYW5kU291cgogewogICAgIHN3aXRjaCAoc291
cmNlKSB7CiAgICAgY2FzZSBDb21tYW5kRnJvbU1lbnVPcktleUJpbmRpbmc6Ci0gICAgICAgIHJl
dHVybiB0YXJnZXRGcmFtZShmcmFtZSwgZXZlbnQpLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlVGV4
dElucHV0RXZlbnQoIlxuIiwgZXZlbnQsIHRydWUpOworICAgICAgICByZXR1cm4gdGFyZ2V0RnJh
bWUoZnJhbWUsIGV2ZW50KS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZVRleHRJbnB1dEV2ZW50KCJc
biIsIGV2ZW50LCBUZXh0RXZlbnRJbnB1dExpbmVCcmVhayk7CiAgICAgY2FzZSBDb21tYW5kRnJv
bURPTToKICAgICBjYXNlIENvbW1hbmRGcm9tRE9NV2l0aFVzZXJJbnRlcmZhY2U6CiAgICAgICAg
IC8vIERvZXNuJ3Qgc2Nyb2xsIHRvIG1ha2UgdGhlIHNlbGVjdGlvbiB2aXNpYmxlLCBvciBtb2Rp
ZnkgdGhlIGtpbGwgcmluZy4KQEAgLTUyMSw3ICs1MjEsNyBAQCBzdGF0aWMgYm9vbCBleGVjdXRl
SW5zZXJ0TGluZUJyZWFrKEZyYW1lKiBmcmFtZSwgRXZlbnQqIGV2ZW50LCBFZGl0b3JDb21tYW5k
U291cgogc3RhdGljIGJvb2wgZXhlY3V0ZUluc2VydE5ld2xpbmUoRnJhbWUqIGZyYW1lLCBFdmVu
dCogZXZlbnQsIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7CiAgICAgRnJh
bWUqIHRhcmdldEZyYW1lID0gV2ViQ29yZTo6dGFyZ2V0RnJhbWUoZnJhbWUsIGV2ZW50KTsKLSAg
ICByZXR1cm4gdGFyZ2V0RnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVUZXh0SW5wdXRFdmVu
dCgiXG4iLCBldmVudCwgIXRhcmdldEZyYW1lLT5lZGl0b3IoKS0+Y2FuRWRpdFJpY2hseSgpKTsK
KyAgICByZXR1cm4gdGFyZ2V0RnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVUZXh0SW5wdXRF
dmVudCgiXG4iLCBldmVudCwgdGFyZ2V0RnJhbWUtPmVkaXRvcigpLT5jYW5FZGl0UmljaGx5KCkg
PyBUZXh0RXZlbnRJbnB1dEtleWJvYXJkIDogVGV4dEV2ZW50SW5wdXRMaW5lQnJlYWspOwogfQog
CiBzdGF0aWMgYm9vbCBleGVjdXRlSW5zZXJ0TmV3bGluZUluUXVvdGVkQ29udGVudChGcmFtZSog
ZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKQEAgLTU0
NCw3ICs1NDQsNyBAQCBzdGF0aWMgYm9vbCBleGVjdXRlSW5zZXJ0UGFyYWdyYXBoKEZyYW1lKiBm
cmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjbwogCiBzdGF0aWMgYm9vbCBleGVj
dXRlSW5zZXJ0VGFiKEZyYW1lKiBmcmFtZSwgRXZlbnQqIGV2ZW50LCBFZGl0b3JDb21tYW5kU291
cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAgIHJldHVybiB0YXJnZXRGcmFtZShmcmFtZSwgZXZl
bnQpLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlVGV4dElucHV0RXZlbnQoIlx0IiwgZXZlbnQsIGZh
bHNlLCBmYWxzZSk7CisgICAgcmV0dXJuIHRhcmdldEZyYW1lKGZyYW1lLCBldmVudCktPmV2ZW50
SGFuZGxlcigpLT5oYW5kbGVUZXh0SW5wdXRFdmVudCgiXHQiLCBldmVudCk7CiB9CiAKIHN0YXRp
YyBib29sIGV4ZWN1dGVJbnNlcnRUZXh0KEZyYW1lKiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21t
YW5kU291cmNlLCBjb25zdCBTdHJpbmcmIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuY3BwCmluZGV4IDhjNTMzMGIxYzE4MDFhZjczNGU5YzBkYjUyMWE4ZDZiZDcwZjI0YzEuLjU0
Yzg3ZTA5N2NhNzM1NWM4Y2M3MjM5Yjc0ZGU3NjRiMmEyM2VmY2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAKQEAgLTI2NDcsMTIgKzI2NDcsMTEgQEAgY2xlYW51cERyYWc6CiB9
CiAjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgCi1ib29sIEV2ZW50SGFuZGxlcjo6
aGFuZGxlVGV4dElucHV0RXZlbnQoY29uc3QgU3RyaW5nJiB0ZXh0LCBFdmVudCogdW5kZXJseWlu
Z0V2ZW50LCBib29sIGlzTGluZUJyZWFrLCBib29sIGlzQmFja1RhYikKK2Jvb2wgRXZlbnRIYW5k
bGVyOjpoYW5kbGVUZXh0SW5wdXRFdmVudChjb25zdCBTdHJpbmcmIHRleHQsIEV2ZW50KiB1bmRl
cmx5aW5nRXZlbnQsIFRleHRFdmVudElucHV0VHlwZSBpbnB1dFR5cGUpCiB7CiAgICAgLy8gUGxh
dGZvcm1zIHNob3VsZCBkaWZmZXJlbnRpYXRlIHJlYWwgY29tbWFuZHMgbGlrZSBzZWxlY3RBbGwg
ZnJvbSB0ZXh0IGlucHV0IGluIGRpc2d1aXNlIChsaWtlIGluc2VydE5ld2xpbmUpLAogICAgIC8v
IGFuZCBhdm9pZCBkaXNwYXRjaGluZyB0ZXh0IGlucHV0IGV2ZW50cyBmcm9tIGtleWRvd24gZGVm
YXVsdCBoYW5kbGVycy4KICAgICBBU1NFUlQoIXVuZGVybHlpbmdFdmVudCB8fCAhdW5kZXJseWlu
Z0V2ZW50LT5pc0tleWJvYXJkRXZlbnQoKSB8fCBzdGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50Kj4o
dW5kZXJseWluZ0V2ZW50KS0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5rZXlwcmVzc0V2ZW50KTsK
LSAgICBBU1NFUlQoIShpc0xpbmVCcmVhayAmJiBpc0JhY2tUYWIpKTsKIAogICAgIGlmICghbV9m
cmFtZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjY2OCw3ICsyNjY3LDcgQEAgYm9vbCBF
dmVudEhhbmRsZXI6OmhhbmRsZVRleHRJbnB1dEV2ZW50KGNvbnN0IFN0cmluZyYgdGV4dCwgRXZl
bnQqIHVuZGVybHlpbmdFdmUKICAgICBpZiAoRnJhbWVWaWV3KiB2aWV3ID0gbV9mcmFtZS0+dmll
dygpKQogICAgICAgICB2aWV3LT5yZXNldERlZmVycmVkUmVwYWludERlbGF5KCk7CiAKLSAgICBS
ZWZQdHI8VGV4dEV2ZW50PiBldmVudCA9IFRleHRFdmVudDo6Y3JlYXRlKG1fZnJhbWUtPmRvbVdp
bmRvdygpLCB0ZXh0LCBUZXh0RXZlbnQ6OnNlbGVjdElucHV0VHlwZShpc0xpbmVCcmVhaywgaXNC
YWNrVGFiKSk7CisgICAgUmVmUHRyPFRleHRFdmVudD4gZXZlbnQgPSBUZXh0RXZlbnQ6OmNyZWF0
ZShtX2ZyYW1lLT5kb21XaW5kb3coKSwgdGV4dCwgaW5wdXRUeXBlKTsKICAgICBldmVudC0+c2V0
VW5kZXJseWluZ0V2ZW50KHVuZGVybHlpbmdFdmVudCk7CiAKICAgICBFeGNlcHRpb25Db2RlIGVj
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggNjU2OTVjMjc1ZjAwNmEwZDg5ODk4
ODMzYWM3NTcwYTc4NGZiYTA3Yy4uMGMxODQ1MDU2YTE4NTA5YmUzZDdmOTBhZDcyZjczZTQwMDk1
NjZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC0zMSw2ICszMSw3IEBACiAj
aW5jbHVkZSAiSGl0VGVzdFJlcXVlc3QuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQu
aCIKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgorI2luY2x1ZGUgIlRleHRFdmVudElucHV0VHlw
ZS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0xNzMsOCArMTc0LDcgQEAgcHVibGljOgogICAgIGJvb2wg
a2V5RXZlbnQoY29uc3QgUGxhdGZvcm1LZXlib2FyZEV2ZW50Jik7CiAgICAgdm9pZCBkZWZhdWx0
S2V5Ym9hcmRFdmVudEhhbmRsZXIoS2V5Ym9hcmRFdmVudCopOwogCi0gICAgYm9vbCBoYW5kbGVU
ZXh0SW5wdXRFdmVudChjb25zdCBTdHJpbmcmIHRleHQsIEV2ZW50KiB1bmRlcmx5aW5nRXZlbnQg
PSAwLAotICAgICAgICBib29sIGlzTGluZUJyZWFrID0gZmFsc2UsIGJvb2wgaXNCYWNrVGFiID0g
ZmFsc2UpOworICAgIGJvb2wgaGFuZGxlVGV4dElucHV0RXZlbnQoY29uc3QgU3RyaW5nJiB0ZXh0
LCBFdmVudCogdW5kZXJseWluZ0V2ZW50ID0gMCwgVGV4dEV2ZW50SW5wdXRUeXBlID0gVGV4dEV2
ZW50SW5wdXRLZXlib2FyZCk7CiAgICAgdm9pZCBkZWZhdWx0VGV4dElucHV0RXZlbnRIYW5kbGVy
KFRleHRFdmVudCopOwogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkK
</data>
<flag name="review"
          id="70793"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>