<?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>148124</bug_id>
          
          <creation_ts>2015-08-18 00:21:38 -0700</creation_ts>
          <short_desc>Implement DragEvent and move MouseEvent.dataTransfer to DragEvent.</short_desc>
          <delta_ts>2015-08-30 10:19:51 -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>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Jincheol Jo">jincheol.jo</reporter>
          <assigned_to name="Jincheol Jo">jincheol.jo</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1118480</commentid>
    <comment_count>0</comment_count>
    <who name="Jincheol Jo">jincheol.jo</who>
    <bug_when>2015-08-18 00:21:38 -0700</bug_when>
    <thetext>I would like to implement DragEvent and move MouseEvent.dataTransfer to DragEvent.

Such is the spec:
https://html.spec.whatwg.org/multipage/interaction.html#dragevent

Gecko and Chrome already has the DragEvent interface and has the dataTransfer attribute only on that interface.
I added this in chromium as follows
http://src.chromium.org/viewvc/blink?view=revision&amp;revision=200649

The change seems fairly low risk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122015</commentid>
    <comment_count>1</comment_count>
      <attachid>260231</attachid>
    <who name="Jincheol Jo">jincheol.jo</who>
    <bug_when>2015-08-29 20:02:53 -0700</bug_when>
    <thetext>Created attachment 260231
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122016</commentid>
    <comment_count>2</comment_count>
    <who name="Jincheol Jo">jincheol.jo</who>
    <bug_when>2015-08-29 20:03:30 -0700</bug_when>
    <thetext>Do not review. I am working on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122017</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-29 20:04:19 -0700</bug_when>
    <thetext>Attachment 260231 did not pass style-queue:


ERROR: Source/WebCore/dom/MouseEvent.cpp:115:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/dom/MouseEvent.cpp:116:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/dom/MouseEvent.cpp:274:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/dom/MouseEvent.h:63:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/dom/MouseEvent.h:63:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/dom/MouseEvent.h:71:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/dom/MouseEvent.h:71:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/dom/DOMAllInOne.cpp:49:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebCore/dom/DragEvent.cpp:73:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/dom/DragEvent.cpp:66:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/dom/DragEvent.cpp:68:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/dom/DragEvent.cpp:70:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/dom/DragEvent.cpp:71:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/dom/DragEvent.cpp:72:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/dom/DragEvent.cpp:79:  Wrong number of spaces before statement. (expected: 27)  [whitespace/indent] [4]
ERROR: Source/WebCore/dom/DragEvent.cpp:74:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Total errors found: 16 in 18 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122061</commentid>
    <comment_count>4</comment_count>
      <attachid>260231</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-08-30 10:19:51 -0700</bug_when>
    <thetext>Comment on attachment 260231
Patch

Unsetting the review flag as the author is not ready for review.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260231</attachid>
            <date>2015-08-29 20:02:53 -0700</date>
            <delta_ts>2015-08-30 10:19:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148124-20150830120237.patch</filename>
            <type>text/plain</type>
            <size>29462</size>
            <attacher name="Jincheol Jo">jincheol.jo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4OTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTgzYzIxNzhlOTQwOWU2
ZjcxYjcyZjMxZjI1OGU0ZTcwYjQxNzVhYy4uZDU1NjRlYzlhNDI5NDViNTIxZjhjZGZmNDFjMmM5
MTU2Zjk1NzU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE1LTA4LTI5ICBKaW5j
aGVvbCBKbyAgPGppbmNoZW9sLmpvQG5hdmVyY29ycC5jb20+CisKKyAgICAgICAgSW1wbGVtZW50
IERyYWdFdmVudCBhbmQgbW92ZSBNb3VzZUV2ZW50LmRhdGFUcmFuc2ZlciB0byBEcmFnRXZlbnQu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDgxMjQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBm
YXN0L2V2ZW50cy9kcmFnZXZlbnQtY29uc3RydWN0b3IuaHRtbAorCisgICAgICAgIEltcGxlbWVu
dHMgdGhlIGZvbGxvd2luZyBzcGVjLgorICAgICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cu
b3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI2RyYWdldmVudAorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogZG9tL0RPTUFsbEluT25lLmNwcDoKKyAgICAg
ICAgKiBkb20vRHJhZ0V2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpEcmFnRXZl
bnRJbml0OjpEcmFnRXZlbnRJbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdFdmVudDo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdFdmVudDo6RHJhZ0V2ZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkRyYWdFdmVudDo6aXNNb3VzZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRy
YWdFdmVudDo6aXNEcmFnRXZlbnQpOgorICAgICAgICAqIGRvbS9EcmFnRXZlbnQuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpEcmFnRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpEcmFnRXZlbnQ6OmRhdGFUcmFuc2Zlcik6CisgICAgICAgICogZG9tL0RyYWdFdmVudC5pZGw6
IEFkZGVkLgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOgorICAgICAgICAqIGRvbS9Nb3Vz
ZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vdXNlRXZlbnQ6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlNpbXVsYXRlZE1vdXNlRXZlbnQ6OlNpbXVsYXRlZE1vdXNlRXZlbnQpOgorICAgICAgICAqIGRv
bS9Nb3VzZUV2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpNb3VzZUV2ZW50OjpkYXRhVHJhbnNm
ZXIpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50LmlkbDoKKyAgICAgICAgKiBk
b20vV2hlZWxFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaGVlbEV2ZW50OjpXaGVlbEV2
ZW50KToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudEhhbmRsZXI6OmRpc3BhdGNoRHJhZ0V2ZW50KToKKwogMjAxNS0wOC0yNSAgUGhpbGlw
cGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0g
Im1ldGhvZCIgcHJvcGVydHkgZm9yIHRoZSB3ZWJraXR3ZWJzcmMgZWxlbWVudApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDFiZWQyYjIxOTFmYTAwNTY5NzZmYzJkZDlhMTA5YWUyYjlmZTJmMmEuLjgwN2EyMWNlOTJh
Y2Y2ZWYzMzEyMjJhMThmZDdjN2MxZWQ4OTBmZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxNS0wOC0yOSAgSmluY2hlb2wgSm8gIDxqaW5jaGVvbC5qb0BuYXZlcmNvcnAuY29tPgor
CisgICAgICAgIEltcGxlbWVudCBEcmFnRXZlbnQgYW5kIG1vdmUgTW91c2VFdmVudC5kYXRhVHJh
bnNmZXIgdG8gRHJhZ0V2ZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ4MTI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIGRhdGFUcmFuc2ZlciBwYXJhbSBmcm9tIE1vdXNlRXZlbnQgQ29u
c3RydWN0b3IuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6Om5hdmlnYXRlVG9QREZMaW5rV2l0aFNpbXVsYXRlZENs
aWNrKToKKwogMjAxNS0wOC0yNSAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgU3BlY3VsYXRpdmUgYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAwNGEy
ZjE0YzRjMjUyYzBmZWE3NjY2MmUzNjI0ODI5ZTJiMzg0YmYxLi45MmQ2NmYwNzc0OGRiMjFiYmM5
ZjQxOWFmMjUyOTU0NGU1NGU5N2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzc0LDYgKzM3
NCw3IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgZG9tL0NvbW1lbnQuaWRs
CiAgICAgZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsCiAgICAgZG9tL0N1c3RvbUV2ZW50LmlkbAor
ICAgIGRvbS9EcmFnRXZlbnQuaWRsCiAgICAgZG9tL0RPTUNvcmVFeGNlcHRpb24uaWRsCiAgICAg
ZG9tL0RPTUVycm9yLmlkbAogICAgIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwKQEAgLTEzNjcs
NiArMTM2OCw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vQ29udGFpbmVyTm9kZUFs
Z29yaXRobXMuY3BwCiAgICAgZG9tL0NvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmNwcAogICAg
IGRvbS9DdXN0b21FdmVudC5jcHAKKyAgICBkb20vRHJhZ0V2ZW50LmNwcAogICAgIGRvbS9ET01D
b3JlRXhjZXB0aW9uLmNwcAogICAgIGRvbS9ET01FcnJvci5jcHAKICAgICBkb20vRE9NSW1wbGVt
ZW50YXRpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggMWU4OWI5MWVjNDJj
ZTdmZDYxMjkyOTNhMzI4YmQyNzhhYzkzMGNiYS4uOWQxYjE4OGU4MmE5YWVmMWRhOTNlOWY4OGM5
YmJlYmMyMmQwZTRjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMTQ4LDYgKzE0
OCw3IEBACiAjaW5jbHVkZSAiSlNET01VUkwuY3BwIgogI2luY2x1ZGUgIkpTRE9NV2luZG93LmNw
cCIKICNpbmNsdWRlICJKU0RPTVdpbmRvd0NTUy5jcHAiCisjaW5jbHVkZSAiSlNEcmFnRXZlbnQu
Y3BwIgogI2luY2x1ZGUgIkpTRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNFbnRpdHkuY3BwIgog
I2luY2x1ZGUgIkpTRW50aXR5UmVmZXJlbmNlLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCmluZGV4IGEzYjllOWVjYmJhOWQ2MWRiZGI5MTU1ZThlNDI0MWE3MmIyYTRhNDguLmE1ZDQ2
ZWVhYTZmMWUwODI1MTVmNjU3ZTlhNDZiM2E3ODg0ZTgzZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQpAQCAtMjgyLDYgKzI4Miw3IEBAIE5PTl9TVkdfQklORElOR19JRExTID0gXAog
ICAgICQoV2ViQ29yZSkvZG9tL0RvY3VtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRG9j
dW1lbnRGcmFnbWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0RvY3VtZW50VHlwZS5pZGwg
XAorICAgICQoV2ViQ29yZSkvZG9tL0RyYWdFdmVudC5pZGxcIAogICAgICQoV2ViQ29yZSkvZG9t
L0VsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9FbnRpdHkuaWRsIFwKICAgICAkKFdl
YkNvcmUpL2RvbS9FbnRpdHlSZWZlcmVuY2UuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9ET01BbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUu
Y3BwCmluZGV4IDY3NDJmYjg4ZjhhMDVjNGM1NDYyZjJlNDFhNzVlZTcxNzkyYjU3NmMuLjNhZjU2
NjYwYmRmMGJhZmU4NjliOGM4M2I2Y2I4M2NjZGYwY2E4NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFs
bEluT25lLmNwcApAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIkNvbnRhaW5lck5vZGVBbGdv
cml0aG1zLmNwcCIKICNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5jcHAiCiAj
aW5jbHVkZSAiQ3VzdG9tRXZlbnQuY3BwIgorI2luY2x1ZGUgIkRyYWdFdmVudC5jcHAiCiAjaW5j
bHVkZSAiRE9NQ29yZUV4Y2VwdGlvbi5jcHAiCiAjaW5jbHVkZSAiRE9NRXJyb3IuY3BwIgogI2lu
Y2x1ZGUgIkRPTUltcGxlbWVudGF0aW9uLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9EcmFnRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RyYWdFdmVudC5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMmNmMGRjODg1NTdhZDYwZTM1NjI1NzI3YjFhOTMzYTdhMDQwOWE0MgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EcmFnRXZlbnQuY3BwCkBAIC0wLDAgKzEs
OTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgTmF2ZXIgQ29ycC4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRyYWdF
dmVudC5oIgorCisjaW5jbHVkZSAiRGF0YVRyYW5zZmVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworRHJhZ0V2ZW50SW5pdDo6RHJhZ0V2ZW50SW5pdCgpCisgICAgOiBkYXRhVHJhbnNmZXIo
MCkKK3sKK30KKworUmVmPERyYWdFdmVudD4gRHJhZ0V2ZW50OjpjcmVhdGUoY29uc3QgQXRvbWlj
U3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBkb3VibGUgdGlt
ZXN0YW1wLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywKKyAgICBpbnQgZGV0YWlsLCBp
bnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZLAorI2lmIEVOQUJM
RShQT0lOVEVSX0xPQ0spCisgICAgaW50IG1vdmVtZW50WCwgaW50IG1vdmVtZW50WSwKKyNlbmRp
ZgorICAgIGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXksIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0
YUtleSwgdW5zaWduZWQgc2hvcnQgYnV0dG9uLAorICAgIFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+
IHJlbGF0ZWRUYXJnZXQsIGRvdWJsZSBmb3JjZSwgUGFzc1JlZlB0cjxEYXRhVHJhbnNmZXI+IGRh
dGFUcmFuc2ZlciwgYm9vbCBpc1NpbXVsYXRlZCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBEcmFnRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB0aW1lc3RhbXAsIHZpZXcs
CisgICAgICAgIGRldGFpbCwgc2NyZWVuWCwgc2NyZWVuWSwgcGFnZVgsIHBhZ2VZLAorI2lmIEVO
QUJMRShQT0lOVEVSX0xPQ0spCisgICAgICAgIG1vdmVtZW50WCwgbW92ZW1lbnRZLAorI2VuZGlm
CisgICAgICAgIGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXksIG1ldGFLZXksIGJ1dHRvbiwgcmVs
YXRlZFRhcmdldCwgZm9yY2UsIGRhdGFUcmFuc2ZlciwgaXNTaW11bGF0ZWQpKTsKK30KKworRHJh
Z0V2ZW50OjpEcmFnRXZlbnQoKQorICAgIDogbV9kYXRhVHJhbnNmZXIoMCkKK3sKK30KKworRHJh
Z0V2ZW50OjpEcmFnRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBEcmFnRXZl
bnRJbml0JiBpbml0aWFsaXplcikKKyAgICA6IE1vdXNlRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIp
CisgICAgLCBtX2RhdGFUcmFuc2Zlcihpbml0aWFsaXplci5kYXRhVHJhbnNmZXIpCit7Cit9CisK
K0RyYWdFdmVudDo6RHJhZ0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBib29s
IGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBkb3VibGUgdGltZXN0YW1wLCBQYXNzUmVmUHRy
PEFic3RyYWN0Vmlldz4gdmlldywKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGRldGFpbCwg
aW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSwKKyNpZiBFTkFC
TEUoUE9JTlRFUl9MT0NLKQorICAgICAgICAgICAgICAgICAgICAgICBpbnQgbW92ZW1lbnRYLCBp
bnQgbW92ZW1lbnRZLAorI2VuZGlmCisgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY3RybEtl
eSwgYm9vbCBhbHRLZXksIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQgYnV0dG9uLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0
PiByZWxhdGVkVGFyZ2V0LCBkb3VibGUgZm9yY2UsCisgICAgICAgICAgICAgICAgICAgICAgIFBh
c3NSZWZQdHI8RGF0YVRyYW5zZmVyPiBkYXRhVHJhbnNmZXIsIGJvb2wgaXNTaW11bGF0ZWQpCisg
ICAgOiBNb3VzZUV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB0aW1lc3Rh
bXAsIHZpZXcsIGRldGFpbCwgc2NyZWVuWCwgc2NyZWVuWSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHBhZ2VYLCBwYWdlWSwKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorICAgICAgICAgICAg
ICAgICAgICAgICAgbW92ZW1lbnRYLCBtb3ZlbWVudFksCisjZW5kaWYKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXksIG1ldGFLZXksIGJ1dHRvbiwgcmVs
YXRlZFRhcmdldCwgZm9yY2UsIGlzU2ltdWxhdGVkKQorICAgICwgbV9kYXRhVHJhbnNmZXIoZGF0
YVRyYW5zZmVyKQoreworfQorCitib29sIERyYWdFdmVudDo6aXNNb3VzZUV2ZW50KCkgY29uc3QK
K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgRHJhZ0V2ZW50Ojppc0RyYWdFdmVudCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EcmFnRXZlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9EcmFnRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZGJhNDIyZjkzYTQwZThkODNjYTQ2N2Y2
NWE3OWIwMDdjODdmOWJkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Ry
YWdFdmVudC5oCkBAIC0wLDAgKzEsODMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgTmF2
ZXIgQ29ycC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEcmFnRXZl
bnRfaAorI2RlZmluZSBEcmFnRXZlbnRfaAorCisjaW5jbHVkZSAiTW91c2VFdmVudC5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERhdGFUcmFuc2ZlcjsKKworc3RydWN0IERyYWdF
dmVudEluaXQgOiBwdWJsaWMgTW91c2VFdmVudEluaXQgeworICAgIERyYWdFdmVudEluaXQoKTsK
KworICAgIERhdGFUcmFuc2ZlciogZGF0YVRyYW5zZmVyOworfTsKKworY2xhc3MgRHJhZ0V2ZW50
IDogcHVibGljIE1vdXNlRXZlbnQgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8RHJhZ0V2ZW50
PiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRHJhZ0V2ZW50
KTsKKyAgICB9CisgICAgc3RhdGljIFJlZjxEcmFnRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGNvbnN0IERyYWdFdmVudEluaXQmIGluaXRpYWxpemVyKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRHJhZ0V2ZW50KHR5cGUsIGluaXRpYWxpemVyKSk7
CisgICAgfQorCisgICAgc3RhdGljIFJlZjxEcmFnRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIGRvdWJsZSB0aW1l
c3RhbXAsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwKKyAgICAgICAgaW50IGRldGFpbCwgaW50
IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSwKKyNpZiBFTkFCTEUo
UE9JTlRFUl9MT0NLKQorICAgICAgICBpbnQgbW92ZW1lbnRYLCBpbnQgbW92ZW1lbnRZLAorI2Vu
ZGlmCisgICAgICAgIGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXksIGJvb2wgc2hpZnRLZXksIGJv
b2wgbWV0YUtleSwgdW5zaWduZWQgc2hvcnQgYnV0dG9uLAorICAgICAgICBQYXNzUmVmUHRyPEV2
ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0LCBkb3VibGUgZm9yY2UsIFBhc3NSZWZQdHI8RGF0YVRy
YW5zZmVyPiwgYm9vbCBpc1NpbXVsYXRlZCA9IGZhbHNlKTsKKyAgICAvLyBGSVhNRTogVGhlc2Ug
ZnVuY3Rpb25zIGNhbiBiZSBtZXJnZWQgaWYgbV9kYXRhVHJhbnNmZXIgaXMgb25seSBpbml0aWFs
aXplZCBmb3IgZHJhZyBldmVudHMuCisgICAgRGF0YVRyYW5zZmVyKiBkYXRhVHJhbnNmZXIoKSBj
b25zdCB7IHJldHVybiBpc0RyYWdFdmVudCgpID8gbV9kYXRhVHJhbnNmZXIuZ2V0KCkgOiAwOyB9
CisgICAgdmlydHVhbCBEYXRhVHJhbnNmZXIqIGludGVybmFsRGF0YVRyYW5zZmVyKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gbV9kYXRhVHJhbnNmZXIuZ2V0KCk7IH0KKworICAgIHZpcnR1YWwg
Ym9vbCBpc01vdXNlRXZlbnQoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNE
cmFnRXZlbnQoKSBjb25zdCBvdmVycmlkZTsKKworcHJvdGVjdGVkOgorICAgIERyYWdFdmVudCgp
OworICAgIERyYWdFdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBjb25zdCBEcmFnRXZlbnRJbml0
Jik7CisgICAgRHJhZ0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJi
bGUsIGJvb2wgY2FuY2VsYWJsZSwgZG91YmxlIHRpbWVzdGFtcCwgUGFzc1JlZlB0cjxBYnN0cmFj
dFZpZXc+LAorICAgICAgICBpbnQgZGV0YWlsLCBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGlu
dCBwYWdlWCwgaW50IHBhZ2VZLAorI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgICAgIGlu
dCBtb3ZlbWVudFgsIGludCBtb3ZlbWVudFksCisjZW5kaWYKKyAgICAgICAgYm9vbCBjdHJsS2V5
LCBib29sIGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCB1bnNpZ25lZCBzaG9y
dCBidXR0b24sCisgICAgICAgIFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQs
IGRvdWJsZSBmb3JjZSwgUGFzc1JlZlB0cjxEYXRhVHJhbnNmZXI+LCBib29sIGlzU2ltdWxhdGVk
KTsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8RGF0YVRyYW5zZmVyPiBtX2RhdGFUcmFuc2ZlcjsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERyYWdFdmVudF9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRHJhZ0V2ZW50LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9EcmFnRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmOWVmNzMxYjdlY2RjMzZiN2Y4NDI3
Nzc3ZThmZDRlNDdmNGYxMzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RHJhZ0V2ZW50LmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1
IE5hdmVyIENvcnAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25z
dHJ1Y3RvckNvbmRpdGlvbmFsPURPTTRfRVZFTlRTX0NPTlNUUlVDVE9SLAorICAgIENvbnN0cnVj
dG9yVGVtcGxhdGU9RXZlbnQKK10gaW50ZXJmYWNlIERyYWdFdmVudCA6IE1vdXNlRXZlbnQgewor
I2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVAor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRhVHJhbnNmZXIgZGF0YVRyYW5zZmVyOworI2VuZGlm
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgppbmRleCBjNzRmNjg1ODc3NjQ0YWE2NmMxNjBh
YjZjYzFiYjg2NDdlYzk2MzkwLi5jZGY0MDBjZTA4OTI4MTkxMDIwMDI1NGU3MWY0ZWEzZjFkZWEz
NDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgpAQCAtOSw2ICs5LDcgQEAgQmVmb3JlVW5s
b2FkRXZlbnQKIENsb3NlRXZlbnQKIENvbXBvc2l0aW9uRXZlbnQKIEN1c3RvbUV2ZW50CitEcmFn
RXZlbnQKIEVycm9yRXZlbnQKIEZvY3VzRXZlbnQKIEhhc2hDaGFuZ2VFdmVudApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L01vdXNlRXZlbnQuY3BwCmluZGV4IDliNzI2NmEyYjliZTA2MDhjNjY3MGRlODUwZTVlYWZiNTRm
M2Q3ZDAuLjVlYWU5YThhYzU1YmI0NjNjMjRhNDM2NjkzMzZhZjg5ZmUyYWI0MTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTW91c2VFdmVudC5jcHAKQEAgLTIzLDcgKzIzLDYgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAKLSNpbmNsdWRlICJEYXRhVHJhbnNmZXIuaCIK
ICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJG
cmFtZVZpZXcuaCIKQEAgLTc2LDIxICs3NSwyMiBAQCBSZWY8TW91c2VFdmVudD4gTW91c2VFdmVu
dDo6Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvbwog
ICAgIFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQsIGRvdWJsZSBmb3JjZSkK
IAogewotICAgIHJldHVybiBNb3VzZUV2ZW50OjpjcmVhdGUodHlwZSwgY2FuQnViYmxlLCBjYW5j
ZWxhYmxlLCB0aW1lc3RhbXAsIHZpZXcsCisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTW91c2VF
dmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHRpbWVzdGFtcCwgdmlldywKICAgICAg
ICAgZGV0YWlsLCBzY3JlZW5YLCBzY3JlZW5ZLCBwYWdlWCwgcGFnZVksCiAjaWYgRU5BQkxFKFBP
SU5URVJfTE9DSykKICAgICAgICAgbW92ZW1lbnRYLCBtb3ZlbWVudFksCiAjZW5kaWYKLSAgICAg
ICAgY3RybEtleSwgYWx0S2V5LCBzaGlmdEtleSwgbWV0YUtleSwgYnV0dG9uLCByZWxhdGVkVGFy
Z2V0LCBmb3JjZSwgMCwgZmFsc2UpOworICAgICAgICBjdHJsS2V5LCBhbHRLZXksIHNoaWZ0S2V5
LCBtZXRhS2V5LCBidXR0b24sIHJlbGF0ZWRUYXJnZXQsIGZvcmNlLCBmYWxzZSkpOwogfQogCisj
aWYgMAogUmVmPE1vdXNlRXZlbnQ+IE1vdXNlRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9taWNTdHJp
bmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIGRvdWJsZSB0aW1lc3Rh
bXAsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LAogICAgIGludCBkZXRhaWwsIGludCBz
Y3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQgcGFnZVksCiAjaWYgRU5BQkxFKFBP
SU5URVJfTE9DSykKICAgICBpbnQgbW92ZW1lbnRYLCBpbnQgbW92ZW1lbnRZLAogI2VuZGlmCiAg
ICAgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5
LCB1bnNpZ25lZCBzaG9ydCBidXR0b24sCi0gICAgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVs
YXRlZFRhcmdldCwgZG91YmxlIGZvcmNlLCBQYXNzUmVmUHRyPERhdGFUcmFuc2Zlcj4gZGF0YVRy
YW5zZmVyLCBib29sIGlzU2ltdWxhdGVkKQorICAgIFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHJl
bGF0ZWRUYXJnZXQsIGRvdWJsZSBmb3JjZSwgYm9vbCBpc1NpbXVsYXRlZCkKIHsKICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBNb3VzZUV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwg
dGltZXN0YW1wLCB2aWV3LAogICAgICAgICBkZXRhaWwsIHNjcmVlblgsIHNjcmVlblksIHBhZ2VY
LCBwYWdlWSwKQEAgLTk5LDcgKzk5LDggQEAgUmVmPE1vdXNlRXZlbnQ+IE1vdXNlRXZlbnQ6OmNy
ZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib28KICNlbmRp
ZgogICAgICAgICBjdHJsS2V5LCBhbHRLZXksIHNoaWZ0S2V5LCBtZXRhS2V5LCBidXR0b24sIHJl
bGF0ZWRUYXJnZXQsIGZvcmNlLCBkYXRhVHJhbnNmZXIsIGlzU2ltdWxhdGVkKSk7CiB9Ci0KKyNl
bmRpZgorICAgIAogTW91c2VFdmVudDo6TW91c2VFdmVudCgpCiAgICAgOiBtX2J1dHRvbigwKQog
ICAgICwgbV9idXR0b25Eb3duKGZhbHNlKQpAQCAtMTExLDkgKzExMiw4IEBAIE1vdXNlRXZlbnQ6
Ok1vdXNlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgY2FuQnViYmxl
LCBib29sIGNhbmNlCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IG1vdmVtZW50WCwgaW50IG1vdmVtZW50WSwKICNlbmRpZgotICAgICAgICAgICAg
ICAgICAgICAgICBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIHNoaWZ0S2V5LCBib29s
IG1ldGFLZXksCi0gICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIHNob3J0IGJ1dHRvbiwg
UGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCwgZG91YmxlIGZvcmNlLAotICAg
ICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPERhdGFUcmFuc2Zlcj4gZGF0YVRyYW5zZmVy
LCBib29sIGlzU2ltdWxhdGVkKQorICAgICAgICAgICAgICAgICAgICAgICBib29sIGN0cmxLZXks
IGJvb2wgYWx0S2V5LCBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIHVuc2lnbmVkIHNob3J0
IGJ1dHRvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4g
cmVsYXRlZFRhcmdldCwgZG91YmxlIGZvcmNlLCBib29sIGlzU2ltdWxhdGVkKQogICAgIDogTW91
c2VSZWxhdGVkRXZlbnQoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHRpbWVzdGFt
cCwgdmlldywgZGV0YWlsLCBJbnRQb2ludChzY3JlZW5YLCBzY3JlZW5ZKSwKICAgICAgICAgICAg
ICAgICAgICAgICAgIEludFBvaW50KHBhZ2VYLCBwYWdlWSksCiAjaWYgRU5BQkxFKFBPSU5URVJf
TE9DSykKQEAgLTEyNCw3ICsxMjQsNiBAQCBNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZQogICAgICwg
bV9idXR0b25Eb3duKGJ1dHRvbiAhPSAodW5zaWduZWQgc2hvcnQpLTEpCiAgICAgLCBtX3JlbGF0
ZWRUYXJnZXQocmVsYXRlZFRhcmdldCkKICAgICAsIG1fZm9yY2UoZm9yY2UpCi0gICAgLCBtX2Rh
dGFUcmFuc2ZlcihkYXRhVHJhbnNmZXIpCiB7CiB9CiAKQEAgLTEzOCw3ICsxMzcsNiBAQCBNb3Vz
ZUV2ZW50OjpNb3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBN
b3VzZUV2ZW50SW5pdCYgaW5pdAogICAgICwgbV9idXR0b24oaW5pdGlhbGl6ZXIuYnV0dG9uID09
ICh1bnNpZ25lZCBzaG9ydCktMSA/IDAgOiBpbml0aWFsaXplci5idXR0b24pCiAgICAgLCBtX2J1
dHRvbkRvd24oaW5pdGlhbGl6ZXIuYnV0dG9uICE9ICh1bnNpZ25lZCBzaG9ydCktMSkKICAgICAs
IG1fcmVsYXRlZFRhcmdldChpbml0aWFsaXplci5yZWxhdGVkVGFyZ2V0KQotICAgICwgbV9kYXRh
VHJhbnNmZXIoMCAvKiBkYXRhVHJhbnNmZXIgKi8pCiB7CiAgICAgaW5pdENvb3JkaW5hdGVzKElu
dFBvaW50KGluaXRpYWxpemVyLmNsaWVudFgsIGluaXRpYWxpemVyLmNsaWVudFkpKTsKIH0KQEAg
LTE4MiwxMiArMTgwLDE0IEBAIGJvb2wgTW91c2VFdmVudDo6aXNNb3VzZUV2ZW50KCkgY29uc3QK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIDAKIGJvb2wgTW91c2VFdmVudDo6aXNEcmFnRXZl
bnQoKSBjb25zdAogewogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdCA9IHR5cGUoKTsKICAgICBy
ZXR1cm4gdCA9PSBldmVudE5hbWVzKCkuZHJhZ2VudGVyRXZlbnQgfHwgdCA9PSBldmVudE5hbWVz
KCkuZHJhZ292ZXJFdmVudCB8fCB0ID09IGV2ZW50TmFtZXMoKS5kcmFnbGVhdmVFdmVudCB8fCB0
ID09IGV2ZW50TmFtZXMoKS5kcm9wRXZlbnQKICAgICAgICAgICAgICAgIHx8IHQgPT0gZXZlbnRO
YW1lcygpLmRyYWdzdGFydEV2ZW50fHwgdCA9PSBldmVudE5hbWVzKCkuZHJhZ0V2ZW50IHx8IHQg
PT0gZXZlbnROYW1lcygpLmRyYWdlbmRFdmVudDsKIH0KKyNlbmRpZgogCiBib29sIE1vdXNlRXZl
bnQ6OmNhblRyaWdnZXJBY3RpdmF0aW9uQmVoYXZpb3IoY29uc3QgRXZlbnQmIGV2ZW50KQogewpA
QCAtMjcxLDcgKzI3MSw3IEBAIFNpbXVsYXRlZE1vdXNlRXZlbnQ6OlNpbXVsYXRlZE1vdXNlRXZl
bnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQCiAjaWYgRU5BQkxFKFBP
SU5URVJfTE9DSykKICAgICAgICAgICAgICAgICAgMCwgMCwKICNlbmRpZgotICAgICAgICAgICAg
ICAgICBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgMCwgMCwgMCwgMCwgdHJ1ZSkKKyAgICAg
ICAgICAgICAgICAgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIDAsIDAsIDAsIHRydWUpCiB7
CiAgICAgaWYgKFVJRXZlbnRXaXRoS2V5U3RhdGUqIGtleVN0YXRlRXZlbnQgPSBmaW5kRXZlbnRX
aXRoS2V5U3RhdGUodW5kZXJseWluZ0V2ZW50LmdldCgpKSkgewogICAgICAgICBtX2N0cmxLZXkg
PSBrZXlTdGF0ZUV2ZW50LT5jdHJsS2V5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTW91c2VFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaAppbmRleCA4
MzIyODkyMGNmNjc2NjY1ODk0ZDA3MWQ4NDM2ZDE2ZWEzMjdkN2IwLi41Yjc1YmMyMGZkOWEwOGFj
NTVhMTMxOGMyYmZmZWM2ZTUyZWYzMTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
TW91c2VFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKQEAgLTI4
LDcgKzI4LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBEYXRhVHJhbnNmZXI7
CiBjbGFzcyBQbGF0Zm9ybU1vdXNlRXZlbnQ7CiAKIHN0cnVjdCBNb3VzZUV2ZW50SW5pdCA6IHB1
YmxpYyBVSUV2ZW50SW5pdCB7CkBAIC02MSwxMyArNjAsMTUgQEAgcHVibGljOgogICAgICAgICBi
b29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIHVu
c2lnbmVkIHNob3J0IGJ1dHRvbiwKICAgICAgICAgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVs
YXRlZFRhcmdldCwgZG91YmxlIGZvcmNlKTsKIAorICNpZiAwCiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIFJlZjxNb3VzZUV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBi
b29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBkb3VibGUgdGltZXN0YW1wLCBQYXNzUmVm
UHRyPEFic3RyYWN0Vmlldz4sCiAgICAgICAgIGludCBkZXRhaWwsIGludCBzY3JlZW5YLCBpbnQg
c2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQgcGFnZVksCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykK
ICAgICAgICAgaW50IG1vdmVtZW50WCwgaW50IG1vdmVtZW50WSwKICNlbmRpZgogICAgICAgICBi
b29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIHVu
c2lnbmVkIHNob3J0IGJ1dHRvbiwKLSAgICAgICAgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVs
YXRlZFRhcmdldCwgZG91YmxlIGZvcmNlLCBQYXNzUmVmUHRyPERhdGFUcmFuc2Zlcj4sIGJvb2wg
aXNTaW11bGF0ZWQgPSBmYWxzZSk7CisgICAgICAgIFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHJl
bGF0ZWRUYXJnZXQsIGRvdWJsZSBmb3JjZSwgYm9vbCBpc1NpbXVsYXRlZCA9IGZhbHNlKTsKKyAj
ZW5kaWYKIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWY8TW91c2VFdmVudD4gY3JlYXRl
KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4s
IGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYsIGludCBkZXRhaWwsIFBhc3NSZWZQdHI8Tm9kZT4g
cmVsYXRlZFRhcmdldCk7CiAKQEAgLTkyLDE0ICs5MywxMiBAQCBwdWJsaWM6CiAgICAgTm9kZSog
dG9FbGVtZW50KCkgY29uc3Q7CiAgICAgTm9kZSogZnJvbUVsZW1lbnQoKSBjb25zdDsKIAotICAg
IC8vIEZJWE1FOiBUaGVzZSBmdW5jdGlvbnMgY2FuIGJlIG1lcmdlZCBpZiBtX2RhdGFUcmFuc2Zl
ciBpcyBvbmx5IGluaXRpYWxpemVkIGZvciBkcmFnIGV2ZW50cy4KLSAgICBEYXRhVHJhbnNmZXIq
IGRhdGFUcmFuc2ZlcigpIGNvbnN0IHsgcmV0dXJuIGlzRHJhZ0V2ZW50KCkgPyBtX2RhdGFUcmFu
c2Zlci5nZXQoKSA6IDA7IH0KLSAgICB2aXJ0dWFsIERhdGFUcmFuc2ZlciogaW50ZXJuYWxEYXRh
VHJhbnNmZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2RhdGFUcmFuc2Zlci5nZXQoKTsg
fQotCiAgICAgdmlydHVhbCBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0IG92
ZXJyaWRlOwogCiAgICAgdmlydHVhbCBib29sIGlzTW91c2VFdmVudCgpIGNvbnN0IG92ZXJyaWRl
OworI2lmIDAKICAgICB2aXJ0dWFsIGJvb2wgaXNEcmFnRXZlbnQoKSBjb25zdCBvdmVycmlkZTsK
KyNlbmRpZgogICAgIHN0YXRpYyBib29sIGNhblRyaWdnZXJBY3RpdmF0aW9uQmVoYXZpb3IoY29u
c3QgRXZlbnQmKTsgCiAKICAgICB2aXJ0dWFsIGludCB3aGljaCgpIGNvbnN0IG92ZXJyaWRlOwpA
QCAtMTEzLDcgKzExMiw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgaW50IG1vdmVtZW50WCwgaW50
IG1vdmVtZW50WSwKICNlbmRpZgogICAgICAgICBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBi
b29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIHVuc2lnbmVkIHNob3J0IGJ1dHRvbiwKLSAgICAg
ICAgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCwgZG91YmxlIGZvcmNlLCBQ
YXNzUmVmUHRyPERhdGFUcmFuc2Zlcj4sIGJvb2wgaXNTaW11bGF0ZWQpOworICAgICAgICBQYXNz
UmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0LCBkb3VibGUgZm9yY2UsIGJvb2wgaXNT
aW11bGF0ZWQpOwogCiAgICAgTW91c2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNv
bnN0IE1vdXNlRXZlbnRJbml0Jik7CiAKQEAgLTEyNCw3ICsxMjMsNiBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9idXR0b25Eb3duOwogICAgIFJlZlB0cjxFdmVudFRhcmdldD4gbV9yZWxhdGVkVGFy
Z2V0OwogICAgIGRvdWJsZSBtX2ZvcmNlIHsgMCB9OwotICAgIFJlZlB0cjxEYXRhVHJhbnNmZXI+
IG1fZGF0YVRyYW5zZmVyOwogfTsKIAogY2xhc3MgU2ltdWxhdGVkTW91c2VFdmVudCBmaW5hbCA6
IHB1YmxpYyBNb3VzZUV2ZW50IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3Vz
ZUV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmlkbAppbmRleCBkMzg4
ZjM0Yzg5MTk2MTk3Mzg4NTg3YTNiNTQwOGVmMDMxODFlNjNlLi5lZDA3NDIyZmZmMjUxMDNkYjBi
YmRjYTA3YmZhZmQ3ZDVjZDYzMWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91
c2VFdmVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaWRsCkBAIC02
Niw5ICs2Niw1IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgICAgICAgICAgICAgeTsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZSAgICAgICAgICAgICBmcm9tRWxlbWVudDsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZSAgICAgICAgICAgICB0b0VsZW1lbnQ7Ci0KLSNpZiBk
ZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQKLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRGF0YVRyYW5zZmVyICAgICBkYXRhVHJhbnNmZXI7Ci0jZW5kaWYK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNwcAppbmRleCBiYjgwODk0ZGNiZDNlYTY0ZDcz
MTcxMjY2ZjhkYWUxODI2OTIzMzZhLi44ZWMyMGFjZDk2ODQ0NmM3YTljY2M4MmMzYzIzNzIxMTcx
MDEyM2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1doZWVsRXZlbnQuY3BwCkBAIC03MCw3ICs3MCw3IEBAIFdo
ZWVsRXZlbnQ6OldoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBldmVudCwgUGFz
c1JlZlB0cjxBYnN0cmFjdFZpZXc+CiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAgICAgICAg
ICAgICAgICAsIDAsIDAKICNlbmRpZgotICAgICAgICAgICAgICAgICwgZXZlbnQuY3RybEtleSgp
LCBldmVudC5hbHRLZXkoKSwgZXZlbnQuc2hpZnRLZXkoKSwgZXZlbnQubWV0YUtleSgpLCAwLCAw
LCAwLCAwLCBmYWxzZSkKKyAgICAgICAgICAgICAgICAsIGV2ZW50LmN0cmxLZXkoKSwgZXZlbnQu
YWx0S2V5KCksIGV2ZW50LnNoaWZ0S2V5KCksIGV2ZW50Lm1ldGFLZXkoKSwgMCwgMCwgMCwgZmFs
c2UpCiAgICAgLCBtX3doZWVsRGVsdGEoZXZlbnQud2hlZWxUaWNrc1goKSAqIFRpY2tNdWx0aXBs
aWVyLCBldmVudC53aGVlbFRpY2tzWSgpICogVGlja011bHRpcGxpZXIpCiAgICAgLCBtX2RlbHRh
WCgtZXZlbnQuZGVsdGFYKCkpCiAgICAgLCBtX2RlbHRhWSgtZXZlbnQuZGVsdGFZKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggYTQyMThkNDYwYjI2MzU3YjBmNmRmZTY1
MDZmMGU0ZjBiMWZjNWY3MS4uOTI4Y2ZhMzgwNDI1NzRmMDBkODE0YmQ2OTgzNjRjODg0M2ZmY2Yx
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMzksNiArMzksNyBAQAog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRFdmVudFF1ZXVlLmgiCiAj
aW5jbHVkZSAiRHJhZ0NvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJEcmFnRXZlbnQuaCIKICNpbmNs
dWRlICJEcmFnU3RhdGUuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJFZGl0b3JD
bGllbnQuaCIKQEAgLTIyMTgsNyArMjIxOSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpkaXNwYXRj
aERyYWdFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRWxlbWVudCYgZHJhCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHZpZXctPmRpc2FibGVMYXllckZsdXNoVGhyb3R0
bGluZ1RlbXBvcmFyaWx5Rm9ySW50ZXJhY3Rpb24oKTsKLSAgICBSZWZQdHI8TW91c2VFdmVudD4g
bWUgPSBNb3VzZUV2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLAorICAgIFJlZlB0cjxEcmFnRXZlbnQ+
IG1lID0gRHJhZ0V2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLAogICAgICAgICB0cnVlLCB0cnVlLCBl
dmVudC50aW1lc3RhbXAoKSwgbV9mcmFtZS5kb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLAogICAg
ICAgICAwLCBldmVudC5nbG9iYWxQb3NpdGlvbigpLngoKSwgZXZlbnQuZ2xvYmFsUG9zaXRpb24o
KS55KCksIGV2ZW50LnBvc2l0aW9uKCkueCgpLCBldmVudC5wb3NpdGlvbigpLnkoKSwKICNpZiBF
TkFCTEUoUE9JTlRFUl9MT0NLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCmluZGV4IDBkN2I5ZGZmMzFlNDJiYTY5NGZiZDgzNzcxM2E5ODdjY2VjMDAz
ZjAuLjJiNGQ3ZGIwYzQwNDIwNzFlMzEwNTI3NzFiMmM1YzM1MmFkOWM3NmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTExMjksNyArMTEy
OSw3IEBAIHZvaWQgV2ViUGFnZTo6bmF2aWdhdGVUb1BERkxpbmtXaXRoU2ltdWxhdGVkQ2xpY2so
Y29uc3QgU3RyaW5nJiB1cmwsIEludFBvaW50IGRvCiAgICAgICAgIHJldHVybjsKIAogICAgIGNv
bnN0IGludCBzaW5nbGVDbGljayA9IDE7Ci0gICAgUmVmUHRyPE1vdXNlRXZlbnQ+IG1vdXNlRXZl
bnQgPSBNb3VzZUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIHRydWUsIHRy
dWUsIGN1cnJlbnRUaW1lKCksIG51bGxwdHIsIHNpbmdsZUNsaWNrLCBzY3JlZW5Qb2ludC54KCks
IHNjcmVlblBvaW50LnkoKSwgZG9jdW1lbnRQb2ludC54KCksIGRvY3VtZW50UG9pbnQueSgpLCBm
YWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgMCwgbnVsbHB0ciwgMCwgbnVsbHB0cik7CisgICAg
UmVmUHRyPE1vdXNlRXZlbnQ+IG1vdXNlRXZlbnQgPSBNb3VzZUV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLmNsaWNrRXZlbnQsIHRydWUsIHRydWUsIGN1cnJlbnRUaW1lKCksIG51bGxwdHIsIHNp
bmdsZUNsaWNrLCBzY3JlZW5Qb2ludC54KCksIHNjcmVlblBvaW50LnkoKSwgZG9jdW1lbnRQb2lu
dC54KCksIGRvY3VtZW50UG9pbnQueSgpLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgMCwg
bnVsbHB0ciwgMCk7CiAKICAgICBtYWluRnJhbWUtPmxvYWRlcigpLnVybFNlbGVjdGVkKG1haW5G
cmFtZURvY3VtZW50LT5jb21wbGV0ZVVSTCh1cmwpLCBlbXB0eVN0cmluZygpLCBtb3VzZUV2ZW50
LmdldCgpLCBMb2NrSGlzdG9yeTo6Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBTaG91bGRT
ZW5kUmVmZXJyZXI6Ok1heWJlU2VuZFJlZmVycmVyLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5OjpTaG91bGROb3RBbGxvdyk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTNkYWFiMjUwYjhhYTAzNTgxYWFlOGRl
OTE2YmVlNDkzNWI0M2NhOC4uZDI1OTljZTM0YTI3YWM1MmFkYjY3NThhODdmZjg4YmRjNWIzZjE1
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE1LTA4LTI5ICBKaW5jaGVvbCBKbyAgPGppbmNo
ZW9sLmpvQG5hdmVyY29ycC5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IERyYWdFdmVudCBhbmQg
bW92ZSBNb3VzZUV2ZW50LmRhdGFUcmFuc2ZlciB0byBEcmFnRXZlbnQuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDgxMjQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBhZGQgc29tZSB0ZXN0IGZvciBEcmFn
RXZlbnQgYW5kIHJlbW92ZSBzb21lIHRlc3QgZm9yIE1vdXNlRXZlbnQuCisKKyAgICAgICAgKiBm
YXN0L2V2ZW50cy9kcmFnZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy9kcmFnZXZlbnQtY29uc3RydWN0b3IuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9ldmVudHMvc2NyaXB0LXRlc3RzL2luaXQtZXZlbnRzLmpzOgorCiAyMDE1
LTA4LTI2ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRk
IHNvbWUgbmV3IGVtb2ppIHdpdGggbW9kaWZpZXJzIGFuZCBuZXcgc2VxdWVuY2UuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZ2V2ZW50LWNvbnN0cnVjdG9yLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNTJkY2ExMWZhZjlmOTZmMjE1MzdkMDJhZGUyMGE5MDY1
ZmE3MWEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZ2V2
ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitUZXN0cyB0aGUg
Y29uc3RydWN0b3Igb2YgdGhlIHN0YW5kYXJkIGRyYWcgZXZlbnQKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgdGVzdEV2ZW50ID0gbmV3IERyYWdFdmVudCgnZHJhZ3N0YXJ0
JykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHRlc3RFdmVudC5fX3Byb3RvX18gaXMg
RHJhZ0V2ZW50LnByb3RvdHlwZQorUEFTUyB0ZXN0RXZlbnQuZGF0YVRyYW5zZmVyIGlzIG51bGwK
K1BBU1MgdGVzdEV2ZW50ID0gbmV3IERyYWdFdmVudCgnZHJhZ3N0YXJ0JywgeyBkYXRhVHJhbnNm
ZXI6bnVsbCB9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgdGVzdEV2ZW50Ll9fcHJv
dG9fXyBpcyBEcmFnRXZlbnQucHJvdG90eXBlCitQQVNTIHRlc3RFdmVudC5kYXRhVHJhbnNmZXIg
aXMgbnVsbAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWdldmVudC1jb25zdHJ1
Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZ2V2ZW50LWNvbnN0cnVjdG9y
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMGJlYjA2ODYxOWNjNDg4YmE5ZmFiN2Q2ZWQyZGQwYmUwNmYxNDI2
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWdldmVudC1j
b25zdHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhlIGNvbnN0cnVjdG9yIG9m
IHRoZSBzdGFuZGFyZCBkcmFnIGV2ZW50Iik7CisKK3ZhciB0ZXN0RXZlbnQ7CitzaG91bGROb3RU
aHJvdygidGVzdEV2ZW50ID0gbmV3IERyYWdFdmVudCgnZHJhZ3N0YXJ0JykiKTsKK3Nob3VsZEJl
KCJ0ZXN0RXZlbnQuX19wcm90b19fIiwgIkRyYWdFdmVudC5wcm90b3R5cGUiKTsKK3Nob3VsZEJl
KCJ0ZXN0RXZlbnQuZGF0YVRyYW5zZmVyIiwgIm51bGwiKTsKKworc2hvdWxkTm90VGhyb3coInRl
c3RFdmVudCA9IG5ldyBEcmFnRXZlbnQoJ2RyYWdzdGFydCcsIHsgZGF0YVRyYW5zZmVyOm51bGwg
fSkiKTsKK3Nob3VsZEJlKCJ0ZXN0RXZlbnQuX19wcm90b19fIiwgIkRyYWdFdmVudC5wcm90b3R5
cGUiKTsKK3Nob3VsZEJlKCJ0ZXN0RXZlbnQuZGF0YVRyYW5zZmVyIiwgIm51bGwiKTsKKzwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NyaXB0LXRlc3RzL2lu
aXQtZXZlbnRzLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NyaXB0LXRlc3RzL2luaXQt
ZXZlbnRzLmpzCmluZGV4IDVhYTZjMzMxMDc4NDk2YzZkYWNmNWYyMjNmMWY5OGY3YzFhYmVjNjQu
Ljk3NTA0ZTY2ZjUyMTM1YWZmODhiNDdiMjA3NmUwNzg5N2NjYTIzMTkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjcmlwdC10ZXN0cy9pbml0LWV2ZW50cy5qcworKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY3JpcHQtdGVzdHMvaW5pdC1ldmVudHMuanMKQEAgLTEw
NSw3ICsxMDUsNiBAQCBzaG91bGRCZSgidGVzdEluaXRFdmVudCgnTW91c2UnLCAnXCJhXCIsIGZh
bHNlLCBmYWxzZSwgd2luZG93LCAxMDAxLCAxMDAyLCAxMDAzLAogc2hvdWxkQmUoInRlc3RJbml0
RXZlbnQoJ01vdXNlJywgJ1wiYVwiLCBmYWxzZSwgZmFsc2UsIHdpbmRvdywgMTAwMSwgMTAwMiwg
MTAwMywgMTAwNCwgMTAwNSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIDEwMDYsIG51bGwn
KS5mcm9tRWxlbWVudCIsICJudWxsIik7CiBzaG91bGRCZSgidGVzdEluaXRFdmVudCgnTW91c2Un
LCAnXCJhXCIsIGZhbHNlLCBmYWxzZSwgd2luZG93LCAxMDAxLCAxMDAyLCAxMDAzLCAxMDA0LCAx
MDA1LCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgMTAwNiwgZG9jdW1lbnQnKS5mcm9tRWxl
bWVudCIsICJkb2N1bWVudCIpOwogc2hvdWxkQmUoInRlc3RJbml0RXZlbnQoJ01vdXNlJywgJ1wi
YVwiLCBmYWxzZSwgZmFsc2UsIHdpbmRvdywgMTAwMSwgMTAwMiwgMTAwMywgMTAwNCwgMTAwNSwg
ZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIDEwMDYsIG51bGwnKS50b0VsZW1lbnQiLCAibnVs
bCIpOwotc2hvdWxkQmUoInRlc3RJbml0RXZlbnQoJ01vdXNlJywgJ1wiYVwiLCBmYWxzZSwgZmFs
c2UsIHdpbmRvdywgMTAwMSwgMTAwMiwgMTAwMywgMTAwNCwgMTAwNSwgZmFsc2UsIGZhbHNlLCBm
YWxzZSwgZmFsc2UsIDEwMDYsIG51bGwnKS5kYXRhVHJhbnNmZXIiLCAibnVsbCIpOwogc2hvdWxk
QmUoInRlc3RJbml0RXZlbnQoJ01vdXNlJywgJ1wiYVwiLCBmYWxzZSwgZmFsc2UsIHdpbmRvdywg
MTAwMSwgMTAwMiwgMTAwMywgMTAwNCwgMTAwNSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2Us
IDEwMDYsIG51bGwnKS5rZXlDb2RlIiwgIjAiKTsKIHNob3VsZEJlKCJ0ZXN0SW5pdEV2ZW50KCdN
b3VzZScsICdcImFcIiwgZmFsc2UsIGZhbHNlLCB3aW5kb3csIDEwMDEsIDEwMDIsIDEwMDMsIDEw
MDQsIDEwMDUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCAxMDA2LCBudWxsJykuY2hhckNv
ZGUiLCAiMCIpOwogc2hvdWxkQmUoInRlc3RJbml0RXZlbnQoJ01vdXNlJywgJ1wiYVwiLCBmYWxz
ZSwgZmFsc2UsIHdpbmRvdywgMTAwMSwgMTAwMiwgMTAwMywgMTAwNCwgMTAwNSwgZmFsc2UsIGZh
bHNlLCBmYWxzZSwgZmFsc2UsIDEwMDYsIG51bGwnKS5sYXllclgiLCAiMTAwNCIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>