<?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>127385</bug_id>
          
          <creation_ts>2014-01-21 16:58:05 -0800</creation_ts>
          <short_desc>Make ViewGestureController Obj-C++</short_desc>
          <delta_ts>2014-01-21 17:19:18 -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>WebKit2</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mkwst</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>970489</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-01-21 16:58:05 -0800</bug_when>
    <thetext>For https://bugs.webkit.org/show_bug.cgi?id=127363.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970491</commentid>
    <comment_count>1</comment_count>
      <attachid>221812</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-01-21 17:01:01 -0800</bug_when>
    <thetext>Created attachment 221812
patch

I will land it &quot;the right way&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970494</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-01-21 17:19:18 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/162485</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221812</attachid>
            <date>2014-01-21 17:01:01 -0800</date>
            <delta_ts>2014-01-21 17:01:46 -0800</delta_ts>
            <desc>patch</desc>
            <filename>rename.diff</filename>
            <type>text/plain</type>
            <size>24592</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAwYTlhYzZlLi4wNzNhZmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTQtMDEtMjEgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgTWFrZSBWaWV3R2VzdHVyZUNvbnRyb2xsZXIgT2JqLUMrKworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3Mzg1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1ZpZXdH
ZXN0dXJlQ29udHJvbGxlci5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcC4KKyAgICAgICAgKiBXZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTQtMDEtMjEgIFJvZ2VyIEZvbmcgIDxyb2dlcl9m
b25nQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBXZWJHTExvYWRQb2xpY3k6Oldl
YkdMQXNrIGlzIGFuIHVubmVjZXNzYXJ5IHZhbHVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA3Y2VmY2MxLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0x
LDIxNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJW
aWV3R2VzdHVyZUNvbnRyb2xsZXIuaCIKLQotI2ltcG9ydCAiVmlld0dlc3R1cmVDb250cm9sbGVy
TWVzc2FnZXMuaCIKLSNpbXBvcnQgIlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3JNZXNzYWdl
cy5oIgotI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCi0jaW1wb3J0ICJXZWJQcm9jZXNzUHJveHku
aCIKLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLXN0YXRpYyBjb25zdCBkb3VibGUgbWlu
TWFnbmlmaWNhdGlvbiA9IDE7Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1heE1hZ25pZmljYXRpb24g
PSAzOwotCi1zdGF0aWMgY29uc3QgZG91YmxlIG1pbkVsYXN0aWNNYWduaWZpY2F0aW9uID0gMC43
NTsKLXN0YXRpYyBjb25zdCBkb3VibGUgbWF4RWxhc3RpY01hZ25pZmljYXRpb24gPSA0OwotCi1z
dGF0aWMgY29uc3QgZG91YmxlIHpvb21PdXRCb29zdCA9IDEuNjsKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgem9vbU91dFJlc2lzdGFuY2UgPSAwLjEwOwotCi1zdGF0aWMgY29uc3QgZmxvYXQgc21hcnRN
YWduaWZpY2F0aW9uRWxlbWVudFBhZGRpbmcgPSAwLjA1Owotc3RhdGljIGNvbnN0IGZsb2F0IHNt
YXJ0TWFnbmlmaWNhdGlvblBhblNjcm9sbFRocmVzaG9sZCA9IDEwMDsKLQotbmFtZXNwYWNlIFdl
YktpdCB7Ci0KLVZpZXdHZXN0dXJlQ29udHJvbGxlcjo6Vmlld0dlc3R1cmVDb250cm9sbGVyKFdl
YlBhZ2VQcm94eSYgd2ViUGFnZVByb3h5KQotICAgIDogbV93ZWJQYWdlUHJveHkod2ViUGFnZVBy
b3h5KQotICAgICwgbV9hY3RpdmVHZXN0dXJlVHlwZShWaWV3R2VzdHVyZVR5cGU6Ok5vbmUpCi0g
ICAgLCBtX3Zpc2libGVDb250ZW50UmVjdElzVmFsaWQoZmFsc2UpCi0gICAgLCBtX2ZyYW1lSGFu
ZGxlc01hZ25pZmljYXRpb25HZXN0dXJlKGZhbHNlKQotewotICAgIG1fd2ViUGFnZVByb3h5LnBy
b2Nlc3MoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlZpZXdHZXN0dXJlQ29udHJvbGxl
cjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3dlYlBhZ2VQcm94eS5wYWdlSUQoKSwgKnRoaXMp
OwotfQotCi1WaWV3R2VzdHVyZUNvbnRyb2xsZXI6On5WaWV3R2VzdHVyZUNvbnRyb2xsZXIoKQot
ewotICAgIG1fd2ViUGFnZVByb3h5LnByb2Nlc3MoKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVz
c2FnZXM6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3dl
YlBhZ2VQcm94eS5wYWdlSUQoKSk7Ci19Ci0KLXN0YXRpYyBkb3VibGUgcmVzaXN0YW5jZUZvckRl
bHRhKGRvdWJsZSBkZWx0YVNjYWxlLCBkb3VibGUgY3VycmVudFNjYWxlKQotewotICAgIC8vIFpv
b20gb3V0IHdpdGggc2xpZ2h0IGFjY2VsZXJhdGlvbiwgdW50aWwgd2UgcmVhY2ggbWluaW11bSBz
Y2FsZS4KLSAgICBpZiAoZGVsdGFTY2FsZSA8IDAgJiYgY3VycmVudFNjYWxlID4gbWluTWFnbmlm
aWNhdGlvbikKLSAgICAgICAgcmV0dXJuIHpvb21PdXRCb29zdDsKLQotICAgIC8vIFpvb20gaW4g
d2l0aCBubyBhY2NlbGVyYXRpb24sIHVudGlsIHdlIHJlYWNoIG1heGltdW0gc2NhbGUuCi0gICAg
aWYgKGRlbHRhU2NhbGUgPiAwICYmIGN1cnJlbnRTY2FsZSA8IG1heE1hZ25pZmljYXRpb24pCi0g
ICAgICAgIHJldHVybiAxOwotCi0gICAgLy8gT3V0c2lkZSBvZiB0aGUgZXh0cmVtZXMsIHJlc2lz
dCBmdXJ0aGVyIHNjYWxpbmcuCi0gICAgZG91YmxlIGxpbWl0ID0gY3VycmVudFNjYWxlIDwgbWlu
TWFnbmlmaWNhdGlvbiA/IG1pbk1hZ25pZmljYXRpb24gOiBtYXhNYWduaWZpY2F0aW9uOwotICAg
IGRvdWJsZSBzY2FsZURpc3RhbmNlID0gYWJzKGxpbWl0IC0gY3VycmVudFNjYWxlKTsKLSAgICBk
b3VibGUgc2NhbGVQZXJjZW50ID0gc3RkOjptaW4oc3RkOjptYXgoc2NhbGVEaXN0YW5jZSAvIGxp
bWl0LCAwLiksIDEuKTsKLSAgICBkb3VibGUgcmVzaXN0YW5jZSA9IHpvb21PdXRSZXNpc3RhbmNl
ICsgc2NhbGVQZXJjZW50ICogKDAuMDEgLSB6b29tT3V0UmVzaXN0YW5jZSk7Ci0KLSAgICByZXR1
cm4gcmVzaXN0YW5jZTsKLX0KLQotRmxvYXRQb2ludCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnNj
YWxlZE1hZ25pZmljYXRpb25PcmlnaW4oRmxvYXRQb2ludCBvcmlnaW4sIGRvdWJsZSBzY2FsZSkK
LXsKLSAgICBGbG9hdFBvaW50IHNjYWxlZE1hZ25pZmljYXRpb25PcmlnaW4ob3JpZ2luKTsKLSAg
ICBzY2FsZWRNYWduaWZpY2F0aW9uT3JpZ2luLm1vdmVCeShtX3Zpc2libGVDb250ZW50UmVjdC5s
b2NhdGlvbigpKTsKLSAgICBmbG9hdCBtYWduaWZpY2F0aW9uT3JpZ2luU2NhbGUgPSAxIC0gKHNj
YWxlIC8gbV93ZWJQYWdlUHJveHkucGFnZVNjYWxlRmFjdG9yKCkpOwotICAgIHNjYWxlZE1hZ25p
ZmljYXRpb25PcmlnaW4uc2NhbGUobWFnbmlmaWNhdGlvbk9yaWdpblNjYWxlLCBtYWduaWZpY2F0
aW9uT3JpZ2luU2NhbGUpOwotICAgIHJldHVybiBzY2FsZWRNYWduaWZpY2F0aW9uT3JpZ2luOwot
fQotCi12b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6ZGlkQ29sbGVjdEdlb21ldHJ5Rm9yTWFn
bmlmaWNhdGlvbkdlc3R1cmUoRmxvYXRSZWN0IHZpc2libGVDb250ZW50UmVjdCwgYm9vbCBmcmFt
ZUhhbmRsZXNNYWduaWZpY2F0aW9uR2VzdHVyZSkKLXsKLSAgICBtX2FjdGl2ZUdlc3R1cmVUeXBl
ID0gVmlld0dlc3R1cmVUeXBlOjpNYWduaWZpY2F0aW9uOwotICAgIG1fdmlzaWJsZUNvbnRlbnRS
ZWN0ID0gdmlzaWJsZUNvbnRlbnRSZWN0OwotICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0SXNWYWxp
ZCA9IHRydWU7Ci0gICAgbV9mcmFtZUhhbmRsZXNNYWduaWZpY2F0aW9uR2VzdHVyZSA9IGZyYW1l
SGFuZGxlc01hZ25pZmljYXRpb25HZXN0dXJlOwotfQotCi12b2lkIFZpZXdHZXN0dXJlQ29udHJv
bGxlcjo6aGFuZGxlTWFnbmlmaWNhdGlvbkdlc3R1cmUoZG91YmxlIHNjYWxlLCBGbG9hdFBvaW50
IG9yaWdpbikKLXsKLSAgICBBU1NFUlQobV9hY3RpdmVHZXN0dXJlVHlwZSA9PSBWaWV3R2VzdHVy
ZVR5cGU6Ok5vbmUgfHwgbV9hY3RpdmVHZXN0dXJlVHlwZSA9PSBWaWV3R2VzdHVyZVR5cGU6Ok1h
Z25pZmljYXRpb24pOwotCi0gICAgaWYgKG1fYWN0aXZlR2VzdHVyZVR5cGUgPT0gVmlld0dlc3R1
cmVUeXBlOjpOb25lKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBXZSBkcm9wIHRoZSBmaXJzdCBmcmFt
ZSBvZiB0aGUgZ2VzdHVyZSBvbiB0aGUgZmxvb3IsIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSB0aGUg
dmlzaWJsZSBjb250ZW50IGJvdW5kcyB5ZXQuCi0gICAgICAgIG1fbWFnbmlmaWNhdGlvbiA9IG1f
d2ViUGFnZVByb3h5LnBhZ2VTY2FsZUZhY3RvcigpOwotICAgICAgICBtX3dlYlBhZ2VQcm94eS5w
cm9jZXNzKCkuc2VuZChNZXNzYWdlczo6Vmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6Q29s
bGVjdEdlb21ldHJ5Rm9yTWFnbmlmaWNhdGlvbkdlc3R1cmUoKSwgbV93ZWJQYWdlUHJveHkucGFn
ZUlEKCkpOwotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBXZSdyZSBzdGlsbCB3
YWl0aW5nIGZvciB0aGUgRGlkQ29sbGVjdEdlb21ldHJ5IGNhbGxiYWNrLgotICAgIGlmICghbV92
aXNpYmxlQ29udGVudFJlY3RJc1ZhbGlkKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2FjdGl2
ZUdlc3R1cmVUeXBlID0gVmlld0dlc3R1cmVUeXBlOjpNYWduaWZpY2F0aW9uOwotCi0gICAgZG91
YmxlIHNjYWxlV2l0aFJlc2lzdGFuY2UgPSByZXNpc3RhbmNlRm9yRGVsdGEoc2NhbGUsIG1fbWFn
bmlmaWNhdGlvbikgKiBzY2FsZTsKLQotICAgIG1fbWFnbmlmaWNhdGlvbiArPSBtX21hZ25pZmlj
YXRpb24gKiBzY2FsZVdpdGhSZXNpc3RhbmNlOwotICAgIG1fbWFnbmlmaWNhdGlvbiA9IHN0ZDo6
bWluKHN0ZDo6bWF4KG1fbWFnbmlmaWNhdGlvbiwgbWluRWxhc3RpY01hZ25pZmljYXRpb24pLCBt
YXhFbGFzdGljTWFnbmlmaWNhdGlvbik7Ci0KLSAgICBtX21hZ25pZmljYXRpb25PcmlnaW4gPSBv
cmlnaW47Ci0KLSAgICBpZiAobV9mcmFtZUhhbmRsZXNNYWduaWZpY2F0aW9uR2VzdHVyZSkKLSAg
ICAgICAgbV93ZWJQYWdlUHJveHkuc2NhbGVQYWdlKG1fbWFnbmlmaWNhdGlvbiwgcm91bmRlZElu
dFBvaW50KG9yaWdpbikpOwotICAgIGVsc2UKLSAgICAgICAgbV93ZWJQYWdlUHJveHkuZHJhd2lu
Z0FyZWEoKS0+YWRqdXN0VHJhbnNpZW50Wm9vbShtX21hZ25pZmljYXRpb24sIHNjYWxlZE1hZ25p
ZmljYXRpb25PcmlnaW4ob3JpZ2luLCBtX21hZ25pZmljYXRpb24pKTsKLX0KLQotdm9pZCBWaWV3
R2VzdHVyZUNvbnRyb2xsZXI6OmVuZE1hZ25pZmljYXRpb25HZXN0dXJlKCkKLXsKLSAgICBBU1NF
UlQobV9hY3RpdmVHZXN0dXJlVHlwZSA9PSBWaWV3R2VzdHVyZVR5cGU6Ok1hZ25pZmljYXRpb24p
OwotCi0gICAgZG91YmxlIG5ld01hZ25pZmljYXRpb24gPSBzdGQ6Om1pbihzdGQ6Om1heChtX21h
Z25pZmljYXRpb24sIG1pbk1hZ25pZmljYXRpb24pLCBtYXhNYWduaWZpY2F0aW9uKTsKLQotICAg
IGlmIChtX2ZyYW1lSGFuZGxlc01hZ25pZmljYXRpb25HZXN0dXJlKQotICAgICAgICBtX3dlYlBh
Z2VQcm94eS5zY2FsZVBhZ2UobmV3TWFnbmlmaWNhdGlvbiwgcm91bmRlZEludFBvaW50KG1fbWFn
bmlmaWNhdGlvbk9yaWdpbikpOwotICAgIGVsc2UKLSAgICAgICAgbV93ZWJQYWdlUHJveHkuZHJh
d2luZ0FyZWEoKS0+Y29tbWl0VHJhbnNpZW50Wm9vbShuZXdNYWduaWZpY2F0aW9uLCBzY2FsZWRN
YWduaWZpY2F0aW9uT3JpZ2luKG1fbWFnbmlmaWNhdGlvbk9yaWdpbiwgbmV3TWFnbmlmaWNhdGlv
bikpOwotfQotCi12b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6aGFuZGxlU21hcnRNYWduaWZp
Y2F0aW9uR2VzdHVyZShGbG9hdFBvaW50IG9yaWdpbikKLXsKLSAgICBpZiAobV9hY3RpdmVHZXN0
dXJlVHlwZSAhPSBWaWV3R2VzdHVyZVR5cGU6Ok5vbmUpCi0gICAgICAgIHJldHVybjsKLQotICAg
IG1fd2ViUGFnZVByb3h5LnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUdlb21l
dHJ5Q29sbGVjdG9yOjpDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJl
KG9yaWdpbiksIG1fd2ViUGFnZVByb3h5LnBhZ2VJRCgpKTsKLX0KLQotc3RhdGljIGZsb2F0IG1h
eGltdW1SZWN0YW5nbGVDb21wb25lbnREZWx0YShGbG9hdFJlY3QgYSwgRmxvYXRSZWN0IGIpCi17
Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KGZhYnMoYS54KCkgLSBiLngoKSksIHN0ZDo6bWF4KGZhYnMo
YS55KCkgLSBiLnkoKSksIHN0ZDo6bWF4KGZhYnMoYS53aWR0aCgpIC0gYi53aWR0aCgpKSwgZmFi
cyhhLmhlaWdodCgpIC0gYi5oZWlnaHQoKSkpKSk7Ci19Ci0KLXZvaWQgVmlld0dlc3R1cmVDb250
cm9sbGVyOjpkaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKEZs
b2F0UG9pbnQgb3JpZ2luLCBGbG9hdFJlY3QgcmVuZGVyUmVjdCwgRmxvYXRSZWN0IHZpc2libGVD
b250ZW50UmVjdCwgYm9vbCBpc1JlcGxhY2VkRWxlbWVudCwgYm9vbCBmcmFtZUhhbmRsZXNNYWdu
aWZpY2F0aW9uR2VzdHVyZSkKLXsKLSAgICBpZiAoZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdl
c3R1cmUpCi0gICAgICAgIHJldHVybjsKLQotICAgIGRvdWJsZSBjdXJyZW50U2NhbGVGYWN0b3Ig
PSBtX3dlYlBhZ2VQcm94eS5wYWdlU2NhbGVGYWN0b3IoKTsKLQotICAgIEZsb2F0UmVjdCB1bnNj
YWxlZFRhcmdldFJlY3QgPSByZW5kZXJSZWN0OwotICAgIHVuc2NhbGVkVGFyZ2V0UmVjdC5zY2Fs
ZSgxIC8gY3VycmVudFNjYWxlRmFjdG9yKTsKLSAgICB1bnNjYWxlZFRhcmdldFJlY3QuaW5mbGF0
ZVgodW5zY2FsZWRUYXJnZXRSZWN0LndpZHRoKCkgKiBzbWFydE1hZ25pZmljYXRpb25FbGVtZW50
UGFkZGluZyk7Ci0gICAgdW5zY2FsZWRUYXJnZXRSZWN0LmluZmxhdGVZKHVuc2NhbGVkVGFyZ2V0
UmVjdC5oZWlnaHQoKSAqIHNtYXJ0TWFnbmlmaWNhdGlvbkVsZW1lbnRQYWRkaW5nKTsKLQotICAg
IGRvdWJsZSB0YXJnZXRNYWduaWZpY2F0aW9uID0gdmlzaWJsZUNvbnRlbnRSZWN0LndpZHRoKCkg
LyB1bnNjYWxlZFRhcmdldFJlY3Qud2lkdGgoKTsKLQotICAgIC8vIEZvciByZXBsYWNlZCBlbGVt
ZW50cyBsaWtlIGltYWdlcywgd2Ugd2FudCB0byBmaXQgdGhlIHdob2xlIGVsZW1lbnQKLSAgICAv
LyBpbiB0aGUgdmlldywgc28gc2NhbGUgaXQgZG93biBlbm91Z2ggdG8gbWFrZSBib3RoIGRpbWVu
c2lvbnMgZml0IGlmIHBvc3NpYmxlLgotICAgIGlmIChpc1JlcGxhY2VkRWxlbWVudCkKLSAgICAg
ICAgdGFyZ2V0TWFnbmlmaWNhdGlvbiA9IHN0ZDo6bWluKHRhcmdldE1hZ25pZmljYXRpb24sIHN0
YXRpY19jYXN0PGRvdWJsZT4odmlzaWJsZUNvbnRlbnRSZWN0LmhlaWdodCgpIC8gdW5zY2FsZWRU
YXJnZXRSZWN0LmhlaWdodCgpKSk7Ci0KLSAgICB0YXJnZXRNYWduaWZpY2F0aW9uID0gc3RkOjpt
aW4oc3RkOjptYXgodGFyZ2V0TWFnbmlmaWNhdGlvbiwgbWluTWFnbmlmaWNhdGlvbiksIG1heE1h
Z25pZmljYXRpb24pOwotCi0gICAgLy8gQWxsb3cgcGFubmluZyBiZXR3ZWVuIGVsZW1lbnRzIHZp
YSBkb3VibGUtdGFwIHdoaWxlIG1hZ25pZmllZCwgdW5sZXNzIHRoZSB0YXJnZXQgcmVjdCBpcwot
ICAgIC8vIHNpbWlsYXIgdG8gdGhlIGxhc3Qgb25lLCBpbiB3aGljaCBjYXNlIHdlJ2xsIHpvb20g
YWxsIHRoZSB3YXkgb3V0LgotICAgIGlmIChjdXJyZW50U2NhbGVGYWN0b3IgPiAxCi0gICAgICAg
ICYmICFtX2xhc3RTbWFydE1hZ25pZmljYXRpb25VbnNjYWxlZFRhcmdldFJlY3QuaXNFbXB0eSgp
Ci0gICAgICAgICYmIG1heGltdW1SZWN0YW5nbGVDb21wb25lbnREZWx0YShtX2xhc3RTbWFydE1h
Z25pZmljYXRpb25VbnNjYWxlZFRhcmdldFJlY3QsIHVuc2NhbGVkVGFyZ2V0UmVjdCkgPCBzbWFy
dE1hZ25pZmljYXRpb25QYW5TY3JvbGxUaHJlc2hvbGQpCi0gICAgICAgIHRhcmdldE1hZ25pZmlj
YXRpb24gPSAxOwotCi0gICAgRmxvYXRSZWN0IHRhcmdldFJlY3QodW5zY2FsZWRUYXJnZXRSZWN0
KTsKLSAgICB0YXJnZXRSZWN0LnNjYWxlKHRhcmdldE1hZ25pZmljYXRpb24pOwotICAgIEZsb2F0
UG9pbnQgdGFyZ2V0T3JpZ2luKHZpc2libGVDb250ZW50UmVjdC5jZW50ZXIoKSk7Ci0gICAgdGFy
Z2V0T3JpZ2luLm1vdmVCeSgtdGFyZ2V0UmVjdC5jZW50ZXIoKSk7Ci0KLSAgICBtX3dlYlBhZ2VQ
cm94eS5kcmF3aW5nQXJlYSgpLT5hZGp1c3RUcmFuc2llbnRab29tKG1fd2ViUGFnZVByb3h5LnBh
Z2VTY2FsZUZhY3RvcigpLCBzY2FsZWRNYWduaWZpY2F0aW9uT3JpZ2luKEZsb2F0UG9pbnQoKSwg
bV93ZWJQYWdlUHJveHkucGFnZVNjYWxlRmFjdG9yKCkpKTsKLSAgICBtX3dlYlBhZ2VQcm94eS5k
cmF3aW5nQXJlYSgpLT5jb21taXRUcmFuc2llbnRab29tKHRhcmdldE1hZ25pZmljYXRpb24sIHRh
cmdldE9yaWdpbik7Ci0KLSAgICBtX2xhc3RTbWFydE1hZ25pZmljYXRpb25VbnNjYWxlZFRhcmdl
dFJlY3QgPSB1bnNjYWxlZFRhcmdldFJlY3Q7Ci19Ci0KLXZvaWQgVmlld0dlc3R1cmVDb250cm9s
bGVyOjplbmRBY3RpdmVHZXN0dXJlKCkKLXsKLSAgICBzd2l0Y2ggKG1fYWN0aXZlR2VzdHVyZVR5
cGUpIHsKLSAgICBjYXNlIFZpZXdHZXN0dXJlVHlwZTo6Tm9uZToKLSAgICBjYXNlIFZpZXdHZXN0
dXJlVHlwZTo6U21hcnRNYWduaWZpY2F0aW9uOgotICAgICAgICBicmVhazsKLSAgICBjYXNlIFZp
ZXdHZXN0dXJlVHlwZTo6TWFnbmlmaWNhdGlvbjoKLSAgICAgICAgZW5kTWFnbmlmaWNhdGlvbkdl
c3R1cmUoKTsKLSAgICB9Ci0KLSAgICBtX3Zpc2libGVDb250ZW50UmVjdElzVmFsaWQgPSBmYWxz
ZTsKLSAgICBtX2FjdGl2ZUdlc3R1cmVUeXBlID0gVmlld0dlc3R1cmVUeXBlOjpOb25lOwotfQot
Ci1kb3VibGUgVmlld0dlc3R1cmVDb250cm9sbGVyOjptYWduaWZpY2F0aW9uKCkgY29uc3QKLXsK
LSAgICBpZiAobV9hY3RpdmVHZXN0dXJlVHlwZSA9PSBWaWV3R2VzdHVyZVR5cGU6Ok1hZ25pZmlj
YXRpb24pCi0gICAgICAgIHJldHVybiBtX21hZ25pZmljYXRpb247Ci0KLSAgICByZXR1cm4gbV93
ZWJQYWdlUHJveHkucGFnZVNjYWxlRmFjdG9yKCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNv
bnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29u
dHJvbGxlci5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2VmY2MxCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVy
ZUNvbnRyb2xsZXIubW0KQEAgLTAsMCArMSwyMTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJj
b25maWcuaCIKKyNpbXBvcnQgIlZpZXdHZXN0dXJlQ29udHJvbGxlci5oIgorCisjaW1wb3J0ICJW
aWV3R2VzdHVyZUNvbnRyb2xsZXJNZXNzYWdlcy5oIgorI2ltcG9ydCAiVmlld0dlc3R1cmVHZW9t
ZXRyeUNvbGxlY3Rvck1lc3NhZ2VzLmgiCisjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKKyNpbXBv
cnQgIldlYlByb2Nlc3NQcm94eS5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworc3Rh
dGljIGNvbnN0IGRvdWJsZSBtaW5NYWduaWZpY2F0aW9uID0gMTsKK3N0YXRpYyBjb25zdCBkb3Vi
bGUgbWF4TWFnbmlmaWNhdGlvbiA9IDM7CisKK3N0YXRpYyBjb25zdCBkb3VibGUgbWluRWxhc3Rp
Y01hZ25pZmljYXRpb24gPSAwLjc1Oworc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhFbGFzdGljTWFn
bmlmaWNhdGlvbiA9IDQ7CisKK3N0YXRpYyBjb25zdCBkb3VibGUgem9vbU91dEJvb3N0ID0gMS42
Oworc3RhdGljIGNvbnN0IGRvdWJsZSB6b29tT3V0UmVzaXN0YW5jZSA9IDAuMTA7CisKK3N0YXRp
YyBjb25zdCBmbG9hdCBzbWFydE1hZ25pZmljYXRpb25FbGVtZW50UGFkZGluZyA9IDAuMDU7Citz
dGF0aWMgY29uc3QgZmxvYXQgc21hcnRNYWduaWZpY2F0aW9uUGFuU2Nyb2xsVGhyZXNob2xkID0g
MTAwOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworVmlld0dlc3R1cmVDb250cm9sbGVyOjpWaWV3
R2VzdHVyZUNvbnRyb2xsZXIoV2ViUGFnZVByb3h5JiB3ZWJQYWdlUHJveHkpCisgICAgOiBtX3dl
YlBhZ2VQcm94eSh3ZWJQYWdlUHJveHkpCisgICAgLCBtX2FjdGl2ZUdlc3R1cmVUeXBlKFZpZXdH
ZXN0dXJlVHlwZTo6Tm9uZSkKKyAgICAsIG1fdmlzaWJsZUNvbnRlbnRSZWN0SXNWYWxpZChmYWxz
ZSkKKyAgICAsIG1fZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdlc3R1cmUoZmFsc2UpCit7Cisg
ICAgbV93ZWJQYWdlUHJveHkucHJvY2VzcygpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6
Vmlld0dlc3R1cmVDb250cm9sbGVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZVBy
b3h5LnBhZ2VJRCgpLCAqdGhpcyk7Cit9CisKK1ZpZXdHZXN0dXJlQ29udHJvbGxlcjo6flZpZXdH
ZXN0dXJlQ29udHJvbGxlcigpCit7CisgICAgbV93ZWJQYWdlUHJveHkucHJvY2VzcygpLnJlbW92
ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjptZXNzYWdl
UmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZVByb3h5LnBhZ2VJRCgpKTsKK30KKworc3RhdGljIGRv
dWJsZSByZXNpc3RhbmNlRm9yRGVsdGEoZG91YmxlIGRlbHRhU2NhbGUsIGRvdWJsZSBjdXJyZW50
U2NhbGUpCit7CisgICAgLy8gWm9vbSBvdXQgd2l0aCBzbGlnaHQgYWNjZWxlcmF0aW9uLCB1bnRp
bCB3ZSByZWFjaCBtaW5pbXVtIHNjYWxlLgorICAgIGlmIChkZWx0YVNjYWxlIDwgMCAmJiBjdXJy
ZW50U2NhbGUgPiBtaW5NYWduaWZpY2F0aW9uKQorICAgICAgICByZXR1cm4gem9vbU91dEJvb3N0
OworCisgICAgLy8gWm9vbSBpbiB3aXRoIG5vIGFjY2VsZXJhdGlvbiwgdW50aWwgd2UgcmVhY2gg
bWF4aW11bSBzY2FsZS4KKyAgICBpZiAoZGVsdGFTY2FsZSA+IDAgJiYgY3VycmVudFNjYWxlIDwg
bWF4TWFnbmlmaWNhdGlvbikKKyAgICAgICAgcmV0dXJuIDE7CisKKyAgICAvLyBPdXRzaWRlIG9m
IHRoZSBleHRyZW1lcywgcmVzaXN0IGZ1cnRoZXIgc2NhbGluZy4KKyAgICBkb3VibGUgbGltaXQg
PSBjdXJyZW50U2NhbGUgPCBtaW5NYWduaWZpY2F0aW9uID8gbWluTWFnbmlmaWNhdGlvbiA6IG1h
eE1hZ25pZmljYXRpb247CisgICAgZG91YmxlIHNjYWxlRGlzdGFuY2UgPSBhYnMobGltaXQgLSBj
dXJyZW50U2NhbGUpOworICAgIGRvdWJsZSBzY2FsZVBlcmNlbnQgPSBzdGQ6Om1pbihzdGQ6Om1h
eChzY2FsZURpc3RhbmNlIC8gbGltaXQsIDAuKSwgMS4pOworICAgIGRvdWJsZSByZXNpc3RhbmNl
ID0gem9vbU91dFJlc2lzdGFuY2UgKyBzY2FsZVBlcmNlbnQgKiAoMC4wMSAtIHpvb21PdXRSZXNp
c3RhbmNlKTsKKworICAgIHJldHVybiByZXNpc3RhbmNlOworfQorCitGbG9hdFBvaW50IFZpZXdH
ZXN0dXJlQ29udHJvbGxlcjo6c2NhbGVkTWFnbmlmaWNhdGlvbk9yaWdpbihGbG9hdFBvaW50IG9y
aWdpbiwgZG91YmxlIHNjYWxlKQoreworICAgIEZsb2F0UG9pbnQgc2NhbGVkTWFnbmlmaWNhdGlv
bk9yaWdpbihvcmlnaW4pOworICAgIHNjYWxlZE1hZ25pZmljYXRpb25PcmlnaW4ubW92ZUJ5KG1f
dmlzaWJsZUNvbnRlbnRSZWN0LmxvY2F0aW9uKCkpOworICAgIGZsb2F0IG1hZ25pZmljYXRpb25P
cmlnaW5TY2FsZSA9IDEgLSAoc2NhbGUgLyBtX3dlYlBhZ2VQcm94eS5wYWdlU2NhbGVGYWN0b3Io
KSk7CisgICAgc2NhbGVkTWFnbmlmaWNhdGlvbk9yaWdpbi5zY2FsZShtYWduaWZpY2F0aW9uT3Jp
Z2luU2NhbGUsIG1hZ25pZmljYXRpb25PcmlnaW5TY2FsZSk7CisgICAgcmV0dXJuIHNjYWxlZE1h
Z25pZmljYXRpb25PcmlnaW47Cit9CisKK3ZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpkaWRD
b2xsZWN0R2VvbWV0cnlGb3JNYWduaWZpY2F0aW9uR2VzdHVyZShGbG9hdFJlY3QgdmlzaWJsZUNv
bnRlbnRSZWN0LCBib29sIGZyYW1lSGFuZGxlc01hZ25pZmljYXRpb25HZXN0dXJlKQoreworICAg
IG1fYWN0aXZlR2VzdHVyZVR5cGUgPSBWaWV3R2VzdHVyZVR5cGU6Ok1hZ25pZmljYXRpb247Cisg
ICAgbV92aXNpYmxlQ29udGVudFJlY3QgPSB2aXNpYmxlQ29udGVudFJlY3Q7CisgICAgbV92aXNp
YmxlQ29udGVudFJlY3RJc1ZhbGlkID0gdHJ1ZTsKKyAgICBtX2ZyYW1lSGFuZGxlc01hZ25pZmlj
YXRpb25HZXN0dXJlID0gZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdlc3R1cmU7Cit9CisKK3Zv
aWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpoYW5kbGVNYWduaWZpY2F0aW9uR2VzdHVyZShkb3Vi
bGUgc2NhbGUsIEZsb2F0UG9pbnQgb3JpZ2luKQoreworICAgIEFTU0VSVChtX2FjdGl2ZUdlc3R1
cmVUeXBlID09IFZpZXdHZXN0dXJlVHlwZTo6Tm9uZSB8fCBtX2FjdGl2ZUdlc3R1cmVUeXBlID09
IFZpZXdHZXN0dXJlVHlwZTo6TWFnbmlmaWNhdGlvbik7CisKKyAgICBpZiAobV9hY3RpdmVHZXN0
dXJlVHlwZSA9PSBWaWV3R2VzdHVyZVR5cGU6Ok5vbmUpIHsKKyAgICAgICAgLy8gRklYTUU6IFdl
IGRyb3AgdGhlIGZpcnN0IGZyYW1lIG9mIHRoZSBnZXN0dXJlIG9uIHRoZSBmbG9vciwgYmVjYXVz
ZSB3ZSBkb24ndCBoYXZlIHRoZSB2aXNpYmxlIGNvbnRlbnQgYm91bmRzIHlldC4KKyAgICAgICAg
bV9tYWduaWZpY2F0aW9uID0gbV93ZWJQYWdlUHJveHkucGFnZVNjYWxlRmFjdG9yKCk7CisgICAg
ICAgIG1fd2ViUGFnZVByb3h5LnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUdl
b21ldHJ5Q29sbGVjdG9yOjpDb2xsZWN0R2VvbWV0cnlGb3JNYWduaWZpY2F0aW9uR2VzdHVyZSgp
LCBtX3dlYlBhZ2VQcm94eS5wYWdlSUQoKSk7CisKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIC8vIFdlJ3JlIHN0aWxsIHdhaXRpbmcgZm9yIHRoZSBEaWRDb2xsZWN0R2VvbWV0cnkgY2Fs
bGJhY2suCisgICAgaWYgKCFtX3Zpc2libGVDb250ZW50UmVjdElzVmFsaWQpCisgICAgICAgIHJl
dHVybjsKKworICAgIG1fYWN0aXZlR2VzdHVyZVR5cGUgPSBWaWV3R2VzdHVyZVR5cGU6Ok1hZ25p
ZmljYXRpb247CisKKyAgICBkb3VibGUgc2NhbGVXaXRoUmVzaXN0YW5jZSA9IHJlc2lzdGFuY2VG
b3JEZWx0YShzY2FsZSwgbV9tYWduaWZpY2F0aW9uKSAqIHNjYWxlOworCisgICAgbV9tYWduaWZp
Y2F0aW9uICs9IG1fbWFnbmlmaWNhdGlvbiAqIHNjYWxlV2l0aFJlc2lzdGFuY2U7CisgICAgbV9t
YWduaWZpY2F0aW9uID0gc3RkOjptaW4oc3RkOjptYXgobV9tYWduaWZpY2F0aW9uLCBtaW5FbGFz
dGljTWFnbmlmaWNhdGlvbiksIG1heEVsYXN0aWNNYWduaWZpY2F0aW9uKTsKKworICAgIG1fbWFn
bmlmaWNhdGlvbk9yaWdpbiA9IG9yaWdpbjsKKworICAgIGlmIChtX2ZyYW1lSGFuZGxlc01hZ25p
ZmljYXRpb25HZXN0dXJlKQorICAgICAgICBtX3dlYlBhZ2VQcm94eS5zY2FsZVBhZ2UobV9tYWdu
aWZpY2F0aW9uLCByb3VuZGVkSW50UG9pbnQob3JpZ2luKSk7CisgICAgZWxzZQorICAgICAgICBt
X3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpLT5hZGp1c3RUcmFuc2llbnRab29tKG1fbWFnbmlm
aWNhdGlvbiwgc2NhbGVkTWFnbmlmaWNhdGlvbk9yaWdpbihvcmlnaW4sIG1fbWFnbmlmaWNhdGlv
bikpOworfQorCit2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6ZW5kTWFnbmlmaWNhdGlvbkdl
c3R1cmUoKQoreworICAgIEFTU0VSVChtX2FjdGl2ZUdlc3R1cmVUeXBlID09IFZpZXdHZXN0dXJl
VHlwZTo6TWFnbmlmaWNhdGlvbik7CisKKyAgICBkb3VibGUgbmV3TWFnbmlmaWNhdGlvbiA9IHN0
ZDo6bWluKHN0ZDo6bWF4KG1fbWFnbmlmaWNhdGlvbiwgbWluTWFnbmlmaWNhdGlvbiksIG1heE1h
Z25pZmljYXRpb24pOworCisgICAgaWYgKG1fZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdlc3R1
cmUpCisgICAgICAgIG1fd2ViUGFnZVByb3h5LnNjYWxlUGFnZShuZXdNYWduaWZpY2F0aW9uLCBy
b3VuZGVkSW50UG9pbnQobV9tYWduaWZpY2F0aW9uT3JpZ2luKSk7CisgICAgZWxzZQorICAgICAg
ICBtX3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpLT5jb21taXRUcmFuc2llbnRab29tKG5ld01h
Z25pZmljYXRpb24sIHNjYWxlZE1hZ25pZmljYXRpb25PcmlnaW4obV9tYWduaWZpY2F0aW9uT3Jp
Z2luLCBuZXdNYWduaWZpY2F0aW9uKSk7Cit9CisKK3ZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVy
OjpoYW5kbGVTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKEZsb2F0UG9pbnQgb3JpZ2luKQorewor
ICAgIGlmIChtX2FjdGl2ZUdlc3R1cmVUeXBlICE9IFZpZXdHZXN0dXJlVHlwZTo6Tm9uZSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgbV93ZWJQYWdlUHJveHkucHJvY2VzcygpLnNlbmQoTWVzc2Fn
ZXM6OlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OkNvbGxlY3RHZW9tZXRyeUZvclNtYXJ0
TWFnbmlmaWNhdGlvbkdlc3R1cmUob3JpZ2luKSwgbV93ZWJQYWdlUHJveHkucGFnZUlEKCkpOwor
fQorCitzdGF0aWMgZmxvYXQgbWF4aW11bVJlY3RhbmdsZUNvbXBvbmVudERlbHRhKEZsb2F0UmVj
dCBhLCBGbG9hdFJlY3QgYikKK3sKKyAgICByZXR1cm4gc3RkOjptYXgoZmFicyhhLngoKSAtIGIu
eCgpKSwgc3RkOjptYXgoZmFicyhhLnkoKSAtIGIueSgpKSwgc3RkOjptYXgoZmFicyhhLndpZHRo
KCkgLSBiLndpZHRoKCkpLCBmYWJzKGEuaGVpZ2h0KCkgLSBiLmhlaWdodCgpKSkpKTsKK30KKwor
dm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmRpZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFn
bmlmaWNhdGlvbkdlc3R1cmUoRmxvYXRQb2ludCBvcmlnaW4sIEZsb2F0UmVjdCByZW5kZXJSZWN0
LCBGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRSZWN0LCBib29sIGlzUmVwbGFjZWRFbGVtZW50LCBi
b29sIGZyYW1lSGFuZGxlc01hZ25pZmljYXRpb25HZXN0dXJlKQoreworICAgIGlmIChmcmFtZUhh
bmRsZXNNYWduaWZpY2F0aW9uR2VzdHVyZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZG91Ymxl
IGN1cnJlbnRTY2FsZUZhY3RvciA9IG1fd2ViUGFnZVByb3h5LnBhZ2VTY2FsZUZhY3RvcigpOwor
CisgICAgRmxvYXRSZWN0IHVuc2NhbGVkVGFyZ2V0UmVjdCA9IHJlbmRlclJlY3Q7CisgICAgdW5z
Y2FsZWRUYXJnZXRSZWN0LnNjYWxlKDEgLyBjdXJyZW50U2NhbGVGYWN0b3IpOworICAgIHVuc2Nh
bGVkVGFyZ2V0UmVjdC5pbmZsYXRlWCh1bnNjYWxlZFRhcmdldFJlY3Qud2lkdGgoKSAqIHNtYXJ0
TWFnbmlmaWNhdGlvbkVsZW1lbnRQYWRkaW5nKTsKKyAgICB1bnNjYWxlZFRhcmdldFJlY3QuaW5m
bGF0ZVkodW5zY2FsZWRUYXJnZXRSZWN0LmhlaWdodCgpICogc21hcnRNYWduaWZpY2F0aW9uRWxl
bWVudFBhZGRpbmcpOworCisgICAgZG91YmxlIHRhcmdldE1hZ25pZmljYXRpb24gPSB2aXNpYmxl
Q29udGVudFJlY3Qud2lkdGgoKSAvIHVuc2NhbGVkVGFyZ2V0UmVjdC53aWR0aCgpOworCisgICAg
Ly8gRm9yIHJlcGxhY2VkIGVsZW1lbnRzIGxpa2UgaW1hZ2VzLCB3ZSB3YW50IHRvIGZpdCB0aGUg
d2hvbGUgZWxlbWVudAorICAgIC8vIGluIHRoZSB2aWV3LCBzbyBzY2FsZSBpdCBkb3duIGVub3Vn
aCB0byBtYWtlIGJvdGggZGltZW5zaW9ucyBmaXQgaWYgcG9zc2libGUuCisgICAgaWYgKGlzUmVw
bGFjZWRFbGVtZW50KQorICAgICAgICB0YXJnZXRNYWduaWZpY2F0aW9uID0gc3RkOjptaW4odGFy
Z2V0TWFnbmlmaWNhdGlvbiwgc3RhdGljX2Nhc3Q8ZG91YmxlPih2aXNpYmxlQ29udGVudFJlY3Qu
aGVpZ2h0KCkgLyB1bnNjYWxlZFRhcmdldFJlY3QuaGVpZ2h0KCkpKTsKKworICAgIHRhcmdldE1h
Z25pZmljYXRpb24gPSBzdGQ6Om1pbihzdGQ6Om1heCh0YXJnZXRNYWduaWZpY2F0aW9uLCBtaW5N
YWduaWZpY2F0aW9uKSwgbWF4TWFnbmlmaWNhdGlvbik7CisKKyAgICAvLyBBbGxvdyBwYW5uaW5n
IGJldHdlZW4gZWxlbWVudHMgdmlhIGRvdWJsZS10YXAgd2hpbGUgbWFnbmlmaWVkLCB1bmxlc3Mg
dGhlIHRhcmdldCByZWN0IGlzCisgICAgLy8gc2ltaWxhciB0byB0aGUgbGFzdCBvbmUsIGluIHdo
aWNoIGNhc2Ugd2UnbGwgem9vbSBhbGwgdGhlIHdheSBvdXQuCisgICAgaWYgKGN1cnJlbnRTY2Fs
ZUZhY3RvciA+IDEKKyAgICAgICAgJiYgIW1fbGFzdFNtYXJ0TWFnbmlmaWNhdGlvblVuc2NhbGVk
VGFyZ2V0UmVjdC5pc0VtcHR5KCkKKyAgICAgICAgJiYgbWF4aW11bVJlY3RhbmdsZUNvbXBvbmVu
dERlbHRhKG1fbGFzdFNtYXJ0TWFnbmlmaWNhdGlvblVuc2NhbGVkVGFyZ2V0UmVjdCwgdW5zY2Fs
ZWRUYXJnZXRSZWN0KSA8IHNtYXJ0TWFnbmlmaWNhdGlvblBhblNjcm9sbFRocmVzaG9sZCkKKyAg
ICAgICAgdGFyZ2V0TWFnbmlmaWNhdGlvbiA9IDE7CisKKyAgICBGbG9hdFJlY3QgdGFyZ2V0UmVj
dCh1bnNjYWxlZFRhcmdldFJlY3QpOworICAgIHRhcmdldFJlY3Quc2NhbGUodGFyZ2V0TWFnbmlm
aWNhdGlvbik7CisgICAgRmxvYXRQb2ludCB0YXJnZXRPcmlnaW4odmlzaWJsZUNvbnRlbnRSZWN0
LmNlbnRlcigpKTsKKyAgICB0YXJnZXRPcmlnaW4ubW92ZUJ5KC10YXJnZXRSZWN0LmNlbnRlcigp
KTsKKworICAgIG1fd2ViUGFnZVByb3h5LmRyYXdpbmdBcmVhKCktPmFkanVzdFRyYW5zaWVudFpv
b20obV93ZWJQYWdlUHJveHkucGFnZVNjYWxlRmFjdG9yKCksIHNjYWxlZE1hZ25pZmljYXRpb25P
cmlnaW4oRmxvYXRQb2ludCgpLCBtX3dlYlBhZ2VQcm94eS5wYWdlU2NhbGVGYWN0b3IoKSkpOwor
ICAgIG1fd2ViUGFnZVByb3h5LmRyYXdpbmdBcmVhKCktPmNvbW1pdFRyYW5zaWVudFpvb20odGFy
Z2V0TWFnbmlmaWNhdGlvbiwgdGFyZ2V0T3JpZ2luKTsKKworICAgIG1fbGFzdFNtYXJ0TWFnbmlm
aWNhdGlvblVuc2NhbGVkVGFyZ2V0UmVjdCA9IHVuc2NhbGVkVGFyZ2V0UmVjdDsKK30KKwordm9p
ZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVuZEFjdGl2ZUdlc3R1cmUoKQoreworICAgIHN3aXRj
aCAobV9hY3RpdmVHZXN0dXJlVHlwZSkgeworICAgIGNhc2UgVmlld0dlc3R1cmVUeXBlOjpOb25l
OgorICAgIGNhc2UgVmlld0dlc3R1cmVUeXBlOjpTbWFydE1hZ25pZmljYXRpb246CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgVmlld0dlc3R1cmVUeXBlOjpNYWduaWZpY2F0aW9uOgorICAgICAg
ICBlbmRNYWduaWZpY2F0aW9uR2VzdHVyZSgpOworICAgIH0KKworICAgIG1fdmlzaWJsZUNvbnRl
bnRSZWN0SXNWYWxpZCA9IGZhbHNlOworICAgIG1fYWN0aXZlR2VzdHVyZVR5cGUgPSBWaWV3R2Vz
dHVyZVR5cGU6Ok5vbmU7Cit9CisKK2RvdWJsZSBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6Om1hZ25p
ZmljYXRpb24oKSBjb25zdAoreworICAgIGlmIChtX2FjdGl2ZUdlc3R1cmVUeXBlID09IFZpZXdH
ZXN0dXJlVHlwZTo6TWFnbmlmaWNhdGlvbikKKyAgICAgICAgcmV0dXJuIG1fbWFnbmlmaWNhdGlv
bjsKKworICAgIHJldHVybiBtX3dlYlBhZ2VQcm94eS5wYWdlU2NhbGVGYWN0b3IoKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQy
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTRhMmI4Ny4uNDVmNmE2NmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM4OSw3
ICszODksNyBAQAogCQkyOUQ1NURGMTE2MUJGOUYxMDAzMUEyRTMgLyogV2ViUGFnZUdyb3VwUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMjlENTVERUYxNjFCRjlGMTAwMzFBMkUzIC8qIFdlYlBhZ2VHcm91cFByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJMjlENTVERjIxNjFCRjlGMTAwMzFBMkUzIC8q
IFdlYlBhZ2VHcm91cFByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDI5RDU1REYwMTYxQkY5RjEwMDMxQTJFMyAvKiBXZWJQYWdlR3Jv
dXBQcm94eU1lc3NhZ2VzLmggKi87IH07CiAJCTJEMTI1QzVFMTg1N0VBMDUwMDNCQTNDQiAvKiBW
aWV3R2VzdHVyZUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEMTI1QzVDMTg1N0VBMDUwMDNCQTNDQiAvKiBWaWV3R2VzdHVyZUNvbnRy
b2xsZXIuaCAqLzsgfTsKLQkJMkQxMjVDNUYxODU3RUEwNTAwM0JBM0NCIC8qIFZpZXdHZXN0dXJl
Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyRDEyNUM1RDE4NTdFQTA1MDAzQkEzQ0IgLyogVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cCAqLzsgfTsKKwkJMkQxMjVDNUYxODU3RUEwNTAwM0JBM0NCIC8qIFZpZXdHZXN0dXJlQ29udHJv
bGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
MTI1QzVEMTg1N0VBMDUwMDNCQTNDQiAvKiBWaWV3R2VzdHVyZUNvbnRyb2xsZXIubW0gKi87IH07
CiAJCTJEMUI1RDVEMTg1ODY5QzgwMDZDNjU5NiAvKiBWaWV3R2VzdHVyZUNvbnRyb2xsZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkQxQjVENUIxODU4NjlDODAwNkM2NTk2IC8qIFZpZXdHZXN0dXJlQ29udHJvbGxlck1l
c3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTJEMUI1RDVFMTg1ODY5QzgwMDZDNjU5NiAvKiBW
aWV3R2VzdHVyZUNvbnRyb2xsZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkQxQjVENUMxODU4NjlDODAwNkM2NTk2IC8qIFZpZXdHZXN0
dXJlQ29udHJvbGxlck1lc3NhZ2VzLmggKi87IH07CiAJCTJEMjhGM0U0MTg4NUNDQzEwMDRCOUVB
RSAvKiBXZWJDaHJvbWVDbGllbnRJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRDI4RjNFMDE4ODVDQ0MxMDA0QjlFQUUgLyogV2ViQ2hyb21lQ2xp
ZW50SU9TLm1tICovOyB9OwpAQCAtMjAyNyw3ICsyMDI3LDcgQEAKIAkJMjlENTVERUYxNjFCRjlG
MTAwMzFBMkUzIC8qIFdlYlBhZ2VHcm91cFByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBhZ2VHcm91cFByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlENTVERjAxNjFCRjlG
MTAwMzFBMkUzIC8qIFdlYlBhZ2VHcm91cFByb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViUGFnZUdyb3VwUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyRDEyNUM1QzE4NTdFQTA1MDAzQkEzQ0IgLyogVmlld0dlc3R1
cmVDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZpZXdHZXN0
dXJlQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkyRDEyNUM1RDE4
NTdFQTA1MDAzQkEzQ0IgLyogVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEMTI1QzVEMTg1N0VBMDUwMDNCQTNDQiAvKiBWaWV3
R2VzdHVyZUNvbnRyb2xsZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBWaWV3R2VzdHVyZUNvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTJEMUI1RDVBMTg1ODY1OTkwMDZDNjU5NiAvKiBWaWV3R2VzdHVyZUNvbnRyb2xsZXIubWVz
c2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gVmlld0dlc3R1cmVDb250cm9sbGVyLm1lc3NhZ2VzLmluOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyRDFCNUQ1QjE4NTg2OUM4MDA2QzY1OTYgLyogVmlld0dl
c3R1cmVDb250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFZpZXdHZXN0dXJlQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEMUI1RDVDMTg1ODY5QzgwMDZDNjU5NiAv
KiBWaWV3R2VzdHVyZUNvbnRyb2xsZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBWaWV3R2VzdHVyZUNvbnRyb2xsZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNTY1OSw3ICs1NjU5LDcgQEAKIAkJCQkxQUYwNUQ4NTE0Njg4MzQ4
MDA4QjFFODEgLyogVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5oICovLAogCQkJ
CTFBRjA1RDg0MTQ2ODgzNDgwMDhCMUU4MSAvKiBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YVByb3h5Lm1tICovLAogCQkJCTJEMTI1QzVDMTg1N0VBMDUwMDNCQTNDQiAvKiBWaWV3R2VzdHVy
ZUNvbnRyb2xsZXIuaCAqLywKLQkJCQkyRDEyNUM1RDE4NTdFQTA1MDAzQkEzQ0IgLyogVmlld0dl
c3R1cmVDb250cm9sbGVyLmNwcCAqLywKKwkJCQkyRDEyNUM1RDE4NTdFQTA1MDAzQkEzQ0IgLyog
Vmlld0dlc3R1cmVDb250cm9sbGVyLm1tICovLAogCQkJCTJEMUI1RDVBMTg1ODY1OTkwMDZDNjU5
NiAvKiBWaWV3R2VzdHVyZUNvbnRyb2xsZXIubWVzc2FnZXMuaW4gKi8sCiAJCQkJNzI4RTg2RUYx
Nzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLmggKi8sCiAJCQkJNzI4RTg2RjAx
Nzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLm1tICovLApAQCAtNzcyMyw3ICs3
NzIzLDcgQEAKIAkJCQlCQ0QzNjc1QzE0OEMyNkMwMDA0NDdFODcgLyogV2ViQ29ubmVjdGlvblRv
VUlQcm9jZXNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNEE2MkE3MTQ3NDRFQzcwMDZDNjgx
QSAvKiBXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
ODI4MzY1MTZCMzU0RjYwMEEyNzhGRSAvKiBXZWJDb250ZW50UHJvY2Vzc01haW4ubW0gaW4gU291
cmNlcyAqLywKLQkJCQkyRDEyNUM1RjE4NTdFQTA1MDAzQkEzQ0IgLyogVmlld0dlc3R1cmVDb250
cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEMTI1QzVGMTg1N0VBMDUwMDNCQTNDQiAv
KiBWaWV3R2VzdHVyZUNvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzgyODM5OTE2
QjQ4REMwMDBBMjc4RkUgLyogV2ViQ29udGVudFNlcnZpY2VFbnRyeVBvaW50Lm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNCOUUyNDQxMTIwREFDQTAwQTEzN0UwIC8qIFdlYkNvbnRleHQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMzFBNTA1RjkxNjgwMDI1NTAwQTkzMEVCIC8qIFdlYkNvbnRleHRD
bGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCg==
</data>
<flag name="review"
          id="245776"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>