<?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>133600</bug_id>
          
          <creation_ts>2014-06-06 20:50:48 -0700</creation_ts>
          <short_desc>[iOS] Expose _WKWebViewPrintFormatter and -_webView:printFrame: as SPI</short_desc>
          <delta_ts>2014-06-09 16:13:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>andersca</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1013926</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-06-06 20:50:48 -0700</bug_when>
    <thetext>[iOS] Expose _WKWebViewPrintFormatter as SPI</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1013927</commentid>
    <comment_count>1</comment_count>
      <attachid>232650</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-06-06 21:07:23 -0700</bug_when>
    <thetext>Created attachment 232650
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1013928</commentid>
    <comment_count>2</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-06-06 21:08:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/17088525&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1013939</commentid>
    <comment_count>3</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-06-06 23:35:58 -0700</bug_when>
    <thetext>Maybe I&apos;m missing the real error, but the Windows EWS failure doesn&apos;t seem related to my patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014244</commentid>
    <comment_count>4</comment_count>
      <attachid>232650</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-06-09 15:14:57 -0700</bug_when>
    <thetext>Comment on attachment 232650
Patch

r=me (Andy said I could review this as a non-WK2-owner since the patch was written by a WK2 owner)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014268</commentid>
    <comment_count>5</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-06-09 16:13:03 -0700</bug_when>
    <thetext>Committed r169727: &lt;http://trac.webkit.org/changeset/169727&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232650</attachid>
            <date>2014-06-06 21:07:23 -0700</date>
            <delta_ts>2014-06-09 15:14:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133600-20140606210658.patch</filename>
            <type>text/plain</type>
            <size>30955</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5NTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDJhYzc2ZWQ5OWYyYmY5
ZjJjZDYwMDkwNmRmZTUyOWFmYzdiYTRkYi4uNzUyNGFjMmJhOTZkMGJjYzU5NDUwZGQzNzk0NDYz
ZDI0OTZkMGI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE0LTA2LTA2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBFeHBvc2UgX1dLV2Vi
Vmlld1ByaW50Rm9ybWF0dGVyIGFuZCAtX3dlYlZpZXc6cHJpbnRGcmFtZTogYXMgU1BJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM2MDAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBvc2UgLV93ZWJW
aWV3OnByaW50RnJhbWU6IGluIFdLVUlEZWxlZ2F0ZVByaXZhdGUgc28gdGhhdCBjbGllbnRzIGNh
biBpbXBsZW1lbnQgc3VwcG9ydCBmb3Igd2luZG93LnByaW50KCkuCisgICAgICAgIFNpbmNlIHdp
bmRvdy5wcmludCgpIGNhbiBiZSBjYWxsZWQgZnJvbSBhIHN1YmZyYW1lLCBleHBvc2UgX1dLV2Vi
Vmlld1ByaW50Rm9ybWF0dGVyIChyZW5hbWVkIGZyb20KKyAgICAgICAgV0tXZWJWaWV3UHJpbnRG
b3JtYXR0ZXIgdG8gcmVmbGVjdCBpdHMgbmV3IFNQSSBzdGF0dXMpIGFzIFNQSSBhbmQgYWRkIGEg
ZnJhbWVUb1ByaW50IHByb3BlcnR5LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1VJRGVsZWdhdGVQcml2YXRlLmg6IEZvcndhcmQtZGVjbGFyZWQgX1dLRnJhbWVIYW5kbGUgYW5k
IGRlY2xhcmVkIC1fd2ViVmlldzpwcmludEZyYW1lOi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF93ZWJWaWV3UHJpbnRG
b3JtYXR0ZXJdKTogQWRkZWQgdG8gZ2V0IGEgX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLgorICAg
ICAgICAoLVtXS1dlYlZpZXcgX3ByaW50Rm9ybWF0dGVyQ2xhc3NdKTogVXBkYXRlZCB0aGUgY2xh
c3MgbmFtZSB0byBfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIuCisgICAgICAgICgtW1dLV2ViVmll
dyBfY29tcHV0ZVBhZ2VDb3VudEFuZFN0YXJ0RHJhd2luZ1RvUERGRm9yRnJhbWU6cHJpbnRJbmZv
OldlYktpdDo6Zmlyc3RQYWdlOmNvbXB1dGVkVG90YWxTY2FsZUZhY3RvcjpdKToKKyAgICAgICAg
QWRkZWQgYSBmcmFtZSBhcmd1bWVudC4gSWYgZnJhbWUgaXMgbmlsLCBwcmludCB0aGUgbWFpbiBm
cmFtZS4KKyAgICAgICAgKC1bV0tXZWJWaWV3IF9jb21wdXRlUGFnZUNvdW50QW5kU3RhcnREcmF3
aW5nVG9QREZXaXRoUHJpbnRJbmZvOldlYktpdDo6Zmlyc3RQYWdlOmNvbXB1dGVkVG90YWxTY2Fs
ZUZhY3RvcjpdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld0ludGVybmFsLmg6IEZvcndhcmQtZGVjbGFyZWQgX1dLRnJhbWVIYW5kbGU7IHJlbW92ZWQg
YW4gdW5uZWNjZXNzYXJ5CisgICAgICAgIGZvcndhcmQtZGVjbGFyYXRpb24gb2YgV0tXZWJWaWV3
UHJpbnRGb3JtYXR0ZXIuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQ
cml2YXRlLmg6IEFkZGVkIGEgX3dlYlZpZXdQcmludEZvcm1hdHRlciBwcm9wZXJ0eS4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXREZWxl
Z2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpwcmludEZyYW1l
KTogQ2FsbGVkIC1fd2ViVmlldzpwcmludEZyYW1lOi4KKyAgICAgICAgKiBVSVByb2Nlc3MvX1dL
V2ViVmlld1ByaW50Rm9ybWF0dGVyLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIuaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvX1dL
V2ViVmlld1ByaW50Rm9ybWF0dGVyLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLm1tLgorICAgICAgICAqIFdlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxNC0wNi0wMiAgRW5yaWNhIENhc3VjY2kgIDxl
bnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKGlPUyBXZWJLaXQyKTogU2lu
Z2xlIHRhcCBpbiBwYWdlcyB3aXRoIGZvY3VzIG9uIGxvYWQgd2lsbCBjbGVhciB0aGUgc2VsZWN0
aW9uIGFmdGVyIHRoZSBrZXlib2FyZCBhcHBlYXJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAppbmRleCBmM2Fj
ZjE1ZTdlNmM1MWIwN2Y1NjNkNDNlYTE4NmJiYzA2M2I1NWM2Li4zMDY5NTcxYzE1YThhMjkzNmVi
MTAzZWRkZWMyYmRiYTZmZGIwZWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaApAQCAtMjksMTAgKzI5LDE0
IEBACiAKICNpbXBvcnQgPFdlYktpdC9fV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5oPgogCitAY2xh
c3MgX1dLRnJhbWVIYW5kbGU7CisKIEBwcm90b2NvbCBXS1VJRGVsZWdhdGVQcml2YXRlIDxXS1VJ
RGVsZWdhdGU+CiAKIEBvcHRpb25hbAogCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3
ZWJWaWV3IHByaW50RnJhbWU6KF9XS0ZyYW1lSGFuZGxlICopZnJhbWU7CisKICNpZiBUQVJHRVRf
T1NfSVBIT05FCiAtIChOU0FycmF5ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgYWN0
aW9uc0ZvckVsZW1lbnQ6KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxlbWVudCBkZWZhdWx0
QWN0aW9uczooTlNBcnJheSAqKWRlZmF1bHRBY3Rpb25zOwogLSAodm9pZClfd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBkaWROb3RIYW5kbGVUYXBBc0NsaWNrQXRQb2ludDooQ0dQb2ludClw
b2ludDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KaW5kZXggN2Y0MmVjNjE4OWI2Y2E5YzJiNjg3MjVhZjhmZDk2ZWFlMTM3MzA4ZC4uNjQ0MTk5
MzEwZDNkODZiMTIxYmY4MjM4NGMyNDU3ZTVmNDM3ZTc5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTcwLDEyICs3MCwxMyBAQAog
I2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQorI2ltcG9ydCAi
X1dLRnJhbWVIYW5kbGVJbnRlcm5hbC5oIgorI2ltcG9ydCAiX1dLV2ViVmlld1ByaW50Rm9ybWF0
dGVyLmgiCiAjaW1wb3J0ICJQcmludEluZm8uaCIKICNpbXBvcnQgIlByb2Nlc3NUaHJvdHRsZXIu
aCIKICNpbXBvcnQgIldLUERGVmlldy5oIgogI2ltcG9ydCAiV0tTY3JvbGxWaWV3LmgiCiAjaW1w
b3J0ICJXS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5oIgotI2ltcG9ydCAiV0tXZWJW
aWV3UHJpbnRGb3JtYXR0ZXIuaCIKICNpbXBvcnQgIldlYlBhZ2VNZXNzYWdlcy5oIgogI2ltcG9y
dCA8Q29yZUdyYXBoaWNzL0NHRmxvYXQuaD4KICNpbXBvcnQgPENvcmVHcmFwaGljcy9DR1BERkRv
Y3VtZW50UHJpdmF0ZS5oPgpAQCAtMTk0NSw2ICsxOTQ2LDEzIEBAIC0gKENHRmxvYXQpX3ZpZXdw
b3J0TWV0YVRhZ1dpZHRoCiAgICAgcmV0dXJuIF92aWV3cG9ydE1ldGFUYWdXaWR0aDsKIH0KIAor
LSAoX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyICopX3dlYlZpZXdQcmludEZvcm1hdHRlcgorewor
ICAgIFVJVmlld1ByaW50Rm9ybWF0dGVyICp2aWV3UHJpbnRGb3JtYXR0ZXIgPSBzZWxmLnZpZXdQ
cmludEZvcm1hdHRlcjsKKyAgICBBU1NFUlQoW3ZpZXdQcmludEZvcm1hdHRlciBpc0tpbmRPZkNs
YXNzOltfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIgY2xhc3NdXSk7CisgICAgcmV0dXJuIChfV0tX
ZWJWaWV3UHJpbnRGb3JtYXR0ZXIgKil2aWV3UHJpbnRGb3JtYXR0ZXI7Cit9CisKICNlbHNlCiAK
ICNwcmFnbWEgbWFyayAtIE9TIFgtc3BlY2lmaWMgbWV0aG9kcwpAQCAtMjAzOSwyMSArMjA0Nywy
MiBAQCBAZW5kCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykKLUBpbXBsZW1lbnRhdGlvbiBX
S1dlYlZpZXcgKFdLV2ViVmlld1ByaW50Rm9ybWF0dGVyKQorQGltcGxlbWVudGF0aW9uIFdLV2Vi
VmlldyAoX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyKQogCiAtIChDbGFzcylfcHJpbnRGb3JtYXR0
ZXJDbGFzcwogewotICAgIHJldHVybiBbV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIgY2xhc3NdOwor
ICAgIHJldHVybiBbX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyIGNsYXNzXTsKIH0KIAotLSAoTlNJ
bnRlZ2VyKV9jb21wdXRlUGFnZUNvdW50QW5kU3RhcnREcmF3aW5nVG9QREZXaXRoUHJpbnRJbmZv
Oihjb25zdCBXZWJLaXQ6OlByaW50SW5mbyYpcHJpbnRJbmZvIGZpcnN0UGFnZToodWludDMyX3Qp
Zmlyc3RQYWdlIGNvbXB1dGVkVG90YWxTY2FsZUZhY3RvcjooZG91YmxlJil0b3RhbFNjYWxlRmFj
dG9yCistIChOU0ludGVnZXIpX2NvbXB1dGVQYWdlQ291bnRBbmRTdGFydERyYXdpbmdUb1BERkZv
ckZyYW1lOihfV0tGcmFtZUhhbmRsZSAqKWZyYW1lIHByaW50SW5mbzooY29uc3QgV2ViS2l0OjpQ
cmludEluZm8mKXByaW50SW5mbyBmaXJzdFBhZ2U6KHVpbnQzMl90KWZpcnN0UGFnZSBjb21wdXRl
ZFRvdGFsU2NhbGVGYWN0b3I6KGRvdWJsZSYpdG90YWxTY2FsZUZhY3RvcgogewogICAgIGlmIChb
c2VsZiBfaXNEaXNwbGF5aW5nUERGXSkKICAgICAgICAgcmV0dXJuIENHUERGRG9jdW1lbnRHZXRO
dW1iZXJPZlBhZ2VzKFsoV0tQREZWaWV3ICopX2N1c3RvbUNvbnRlbnRWaWV3IHBkZkRvY3VtZW50
XSk7CiAKICAgICBfcGFnZUlzUHJpbnRpbmdUb1BERiA9IFlFUzsKICAgICBWZWN0b3I8V2ViQ29y
ZTo6SW50UmVjdD4gcGFnZVJlY3RzOwotICAgIGlmICghX3BhZ2UtPnNlbmRTeW5jKE1lc3NhZ2Vz
OjpXZWJQYWdlOjpDb21wdXRlUGFnZXNGb3JQcmludGluZ0FuZFN0YXJ0RHJhd2luZ1RvUERGKF9w
YWdlLT5tYWluRnJhbWUoKS0+ZnJhbWVJRCgpLCBwcmludEluZm8sIGZpcnN0UGFnZSksIE1lc3Nh
Z2VzOjpXZWJQYWdlOjpDb21wdXRlUGFnZXNGb3JQcmludGluZ0FuZFN0YXJ0RHJhd2luZ1RvUERG
OjpSZXBseShwYWdlUmVjdHMsIHRvdGFsU2NhbGVGYWN0b3IpKSkKKyAgICB1aW50NjRfdCBmcmFt
ZUlEID0gZnJhbWUgPyBmcmFtZS5fZnJhbWVJRCA6IF9wYWdlLT5tYWluRnJhbWUoKS0+ZnJhbWVJ
RCgpOworICAgIGlmICghX3BhZ2UtPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlOjpDb21wdXRl
UGFnZXNGb3JQcmludGluZ0FuZFN0YXJ0RHJhd2luZ1RvUERGKGZyYW1lSUQsIHByaW50SW5mbywg
Zmlyc3RQYWdlKSwgTWVzc2FnZXM6OldlYlBhZ2U6OkNvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5k
U3RhcnREcmF3aW5nVG9QREY6OlJlcGx5KHBhZ2VSZWN0cywgdG90YWxTY2FsZUZhY3RvcikpKQog
ICAgICAgICByZXR1cm4gMDsKICAgICByZXR1cm4gcGFnZVJlY3RzLnNpemUoKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJu
YWwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJu
YWwuaAppbmRleCBjM2U1ZjcwMWVmNTE5ZDE3MDlmMTAwNmY1OWViMmFhNzYxNWNmZGQ1Li43OGVj
N2UzMmQ2YzIxZjU0YmU5YWU0NmU3ZWZmMzk1OTc0OWY0MTE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCkBAIC01
MSw3ICs1MSw3IEBAIHN0cnVjdCBQcmludEluZm87CiBzdHJ1Y3QgVmlld1NuYXBzaG90OwogfQog
Ci1AY2xhc3MgV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXI7CitAY2xhc3MgX1dLRnJhbWVIYW5kbGU7
CiAKIEBpbnRlcmZhY2UgV0tXZWJWaWV3ICgpIFdLX1dFQl9WSUVXX1BST1RPQ09MUyB7CiAKQEAg
LTkyLDggKzkyLDggQEAgc3RydWN0IFZpZXdTbmFwc2hvdDsKIFdLV2ViVmlldyogZnJvbVdlYlBh
Z2VQcm94eShXZWJLaXQ6OldlYlBhZ2VQcm94eSYpOwogCiAjaWYgUExBVEZPUk0oSU9TKQotQGlu
dGVyZmFjZSBXS1dlYlZpZXcgKFdLV2ViVmlld1ByaW50Rm9ybWF0dGVyKQotLSAoTlNJbnRlZ2Vy
KV9jb21wdXRlUGFnZUNvdW50QW5kU3RhcnREcmF3aW5nVG9QREZXaXRoUHJpbnRJbmZvOihjb25z
dCBXZWJLaXQ6OlByaW50SW5mbyYpcHJpbnRJbmZvIGZpcnN0UGFnZToodWludDMyX3QpZmlyc3RQ
YWdlIGNvbXB1dGVkVG90YWxTY2FsZUZhY3RvcjooZG91YmxlJil0b3RhbFNjYWxlRmFjdG9yOwor
QGludGVyZmFjZSBXS1dlYlZpZXcgKF9XS1dlYlZpZXdQcmludEZvcm1hdHRlcikKKy0gKE5TSW50
ZWdlcilfY29tcHV0ZVBhZ2VDb3VudEFuZFN0YXJ0RHJhd2luZ1RvUERGRm9yRnJhbWU6KF9XS0Zy
YW1lSGFuZGxlICopZnJhbWUgcHJpbnRJbmZvOihjb25zdCBXZWJLaXQ6OlByaW50SW5mbyYpcHJp
bnRJbmZvIGZpcnN0UGFnZToodWludDMyX3QpZmlyc3RQYWdlIGNvbXB1dGVkVG90YWxTY2FsZUZh
Y3RvcjooZG91YmxlJil0b3RhbFNjYWxlRmFjdG9yOwogLSAodm9pZClfZW5kUHJpbnRpbmc7CiBA
cHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRQcmludGVkRG9jdW1lbnQ6KSBDR1BERkRv
Y3VtZW50UmVmIF9wcmludGVkRG9jdW1lbnQ7CiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDA2NDU2YzI3
YTRiOTA0NDJiNmMzNDYzNmNmZmZjOWEzMGZmYWI1N2MuLmU0ZDk1YWRiZDFkMjAxMmM1ZjhhMTli
ZjQ2OTM1Y2I4OThkOGIyZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC01NCw2ICs1NCw3IEBAIHR5cGVkZWYg
TlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tGaW5kT3B0aW9ucykgewogCiBAY2xhc3MgV0tCcm93
c2luZ0NvbnRleHRIYW5kbGU7CiBAY2xhc3MgX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnk7CitAY2xh
c3MgX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyOwogCiBAcHJvdG9jb2wgV0tIaXN0b3J5RGVsZWdh
dGVQcml2YXRlOwogQHByb3RvY29sIF9XS0ZpbmREZWxlZ2F0ZTsKQEAgLTExOSw2ICsxMjAsOCBA
QCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLRmluZE9wdGlvbnMpIHsKIC8vIFRo
ZSB2aWV3cG9ydCBtZXRhIHRhZyB3aWR0aCBpcyBuZWdhdGl2ZSBpZiB0aGUgdmFsdWUgaXMgbm90
IGRlZmluZWQuCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIENHRmxvYXQgX3ZpZXdw
b3J0TWV0YVRhZ1dpZHRoOwogCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIF9XS1dl
YlZpZXdQcmludEZvcm1hdHRlciAqX3dlYlZpZXdQcmludEZvcm1hdHRlcjsKKwogLSAodm9pZClf
YmVnaW5JbnRlcmFjdGl2ZU9ic2N1cmVkSW5zZXRzQ2hhbmdlOwogLSAodm9pZClfZW5kSW50ZXJh
Y3RpdmVPYnNjdXJlZEluc2V0c0NoYW5nZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLmgKaW5kZXggMDc1NmFlNzJjMTZhODAwNTg3N2ZmOThlNGY5ZjcxZjE1
NTRjNDZjOS4uNzIxNzYyN2U4ODRmY2JiMTM1MjVhNTE5ZjNjMzY4NDM0NDYxOWQ0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCkBAIC02Miw2ICs2Miw3
IEBAIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBydW5KYXZhU2NyaXB0QWxlcnQoV2Vi
S2l0OjpXZWJQYWdlUHJveHkqLCBjb25zdCBXVEY6OlN0cmluZyYsIFdlYktpdDo6V2ViRnJhbWVQ
cm94eSosIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gY29tcGxldGlvbkhhbmRsZXIpIG92ZXJyaWRl
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuSmF2YVNjcmlwdENvbmZpcm0oV2ViS2l0OjpXZWJQ
YWdlUHJveHkqLCBjb25zdCBXVEY6OlN0cmluZyYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSosIHN0
ZDo6ZnVuY3Rpb248dm9pZCAoYm9vbCk+IGNvbXBsZXRpb25IYW5kbGVyKSBvdmVycmlkZTsKICAg
ICAgICAgdmlydHVhbCB2b2lkIHJ1bkphdmFTY3JpcHRQcm9tcHQoV2ViS2l0OjpXZWJQYWdlUHJv
eHkqLCBjb25zdCBXVEY6OlN0cmluZyYsIGNvbnN0IFdURjo6U3RyaW5nJiwgV2ViS2l0OjpXZWJG
cmFtZVByb3h5Kiwgc3RkOjpmdW5jdGlvbjx2b2lkIChjb25zdCBXVEY6OlN0cmluZyYpPiBjb21w
bGV0aW9uSGFuZGxlcikgb3ZlcnJpZGU7CisgICAgICAgIHZpcnR1YWwgdm9pZCBwcmludEZyYW1l
KFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5Kikgb3ZlcnJpZGU7
CiAgICAgI2lmIFBMQVRGT1JNKElPUykKICAgICAgICAgdmlydHVhbCBSZXRhaW5QdHI8TlNBcnJh
eT4gYWN0aW9uc0ZvckVsZW1lbnQoX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKiwgUmV0YWluUHRy
PE5TQXJyYXk+IGRlZmF1bHRBY3Rpb25zKSBvdmVycmlkZTsKICAgICAgICAgdmlydHVhbCB2b2lk
IGRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSBvdmVycmlk
ZTsKQEAgLTc5LDYgKzgwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCB3ZWJWaWV3UnVuSmF2
YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVzc2FnZUluaXRpYXRlZEJ5RnJhbWVDb21wbGV0aW9uSGFu
ZGxlciA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld1J1bkphdmFTY3JpcHRDb25maXJtUGFuZWxX
aXRoTWVzc2FnZUluaXRpYXRlZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxlciA6IDE7CiAgICAgICAg
IGJvb2wgd2ViVmlld1J1bkphdmFTY3JpcHRUZXh0SW5wdXRQYW5lbFdpdGhQcm9tcHREZWZhdWx0
VGV4dEluaXRpYXRlZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxlciA6IDE7CisgICAgICAgIGJvb2wg
d2ViVmlld1ByaW50RnJhbWUgOiAxOwogI2lmIFBMQVRGT1JNKElPUykKICAgICAgICAgYm9vbCB3
ZWJWaWV3QWN0aW9uc0ZvckVsZW1lbnREZWZhdWx0QWN0aW9ucyA6IDE7CiAgICAgICAgIGJvb2wg
d2ViVmlld0RpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50IDogMTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KaW5kZXggODYwMzhlZWExZTU2NzU2MDIx
ZDM0ZGIxOTUyNDQ3NWI5ZTg3NWZmNC4uYWFhYTU2MTE0ZTM0YmVhNmYwMTI4NTc3NDMxNTVhMWFj
OWFlYTAzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVs
ZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUu
bW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKKyNpbXBvcnQgIl9X
S0ZyYW1lSGFuZGxlSW50ZXJuYWwuaCIKICNpbXBvcnQgIk5hdmlnYXRpb25BY3Rpb25EYXRhLmgi
CiAjaW1wb3J0ICJXS0ZyYW1lSW5mb0ludGVybmFsLmgiCiAjaW1wb3J0ICJXS05hdmlnYXRpb25B
Y3Rpb25JbnRlcm5hbC5oIgpAQCAtMTE2LDYgKzExNyw3IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6c2V0
RGVsZWdhdGUoaWQgPFdLVUlEZWxlZ2F0ZT4gZGVsZWdhdGUpCiAgICAgbV9kZWxlZ2F0ZU1ldGhv
ZHMud2ViVmlld1J1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2VJbml0aWF0ZWRCeUZy
YW1lQ29tcGxldGlvbkhhbmRsZXIgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3Rvcih3ZWJWaWV3OnJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVk
QnlGcmFtZTpjb21wbGV0aW9uSGFuZGxlcjopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJW
aWV3UnVuSmF2YVNjcmlwdENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlSW5pdGlhdGVkQnlGcmFtZUNv
bXBsZXRpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
d2ViVmlldzpydW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVkQnlG
cmFtZTpjb21wbGV0aW9uSGFuZGxlcjopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3
UnVuSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsV2l0aFByb21wdERlZmF1bHRUZXh0SW5pdGlhdGVk
QnlGcmFtZUNvbXBsZXRpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3Iod2ViVmlldzpydW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxXaXRoUHJvbXB0OmRl
ZmF1bHRUZXh0OmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6KV07CisgICAgbV9k
ZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1ByaW50RnJhbWUgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpwcmludEZyYW1lOildOwogI2lmIFBMQVRGT1JNKElP
UykKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3QWN0aW9uc0ZvckVsZW1lbnREZWZhdWx0
QWN0aW9ucyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3
OmFjdGlvbnNGb3JFbGVtZW50OmRlZmF1bHRBY3Rpb25zOildOwogICAgIG1fZGVsZWdhdGVNZXRo
b2RzLndlYlZpZXdEaWROb3RIYW5kbGVUYXBBc0NsaWNrQXRQb2ludCA9IFtkZWxlZ2F0ZSByZXNw
b25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2tB
dFBvaW50OildOwpAQCAtMjE5LDYgKzIyMSwyMCBAQCB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50
OjpydW5KYXZhU2NyaXB0UHJvbXB0KFdlYktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOgog
ICAgIH1dOwogfQogCit2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpwcmludEZyYW1lKFdlYktp
dDo6V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5KiB3ZWJGcmFtZVByb3h5KQor
eworICAgIEFTU0VSVF9BUkcod2ViRnJhbWVQcm94eSwgd2ViRnJhbWVQcm94eSk7CisKKyAgICBp
ZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3UHJpbnRGcmFtZSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVn
YXRlLmdldCgpOworICAgIGlmICghZGVsZWdhdGUpCisgICAgICAgIHJldHVybjsKKworICAgIFso
aWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5t
X3dlYlZpZXcgcHJpbnRGcmFtZTp3cmFwcGVyKCpBUEk6OkZyYW1lSGFuZGxlOjpjcmVhdGUod2Vi
RnJhbWVQcm94eS0+ZnJhbWVJRCgpKSldOworfQorCiAjaWYgUExBVEZPUk0oSU9TKQogUmV0YWlu
UHRyPE5TQXJyYXk+IFVJRGVsZWdhdGU6OlVJQ2xpZW50OjphY3Rpb25zRm9yRWxlbWVudChfV0tB
Y3RpdmF0ZWRFbGVtZW50SW5mbyAqZWxlbWVudEluZm8sIFJldGFpblB0cjxOU0FycmF5PiBkZWZh
dWx0QWN0aW9ucykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XS1dl
YlZpZXdQcmludEZvcm1hdHRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dLV2ViVmll
d1ByaW50Rm9ybWF0dGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhNTViNjQ2
OTA1ZmUyMWE3NTU4MGJkNzk0MTNjOTUzN2U4OTk3ZmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dLV2ViVmll
d1ByaW50Rm9ybWF0dGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
LSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
Ci0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2lmIFBMQVRGT1JNKElPUykKLQotI2ltcG9ydCA8VUlLaXQvVUlQcmludEZvcm1hdHRl
ci5oPgotI2ltcG9ydCA8V2ViQ29yZS9JbnRSZWN0Lmg+Ci0jaW1wb3J0IDx3dGYvVmVjdG9yLmg+
Ci0KLUBpbnRlcmZhY2UgV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIgOiBVSVZpZXdQcmludEZvcm1h
dHRlcgotQGVuZAotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XS1dlYlZpZXdQcmludEZvcm1hdHRlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
S1dlYlZpZXdQcmludEZvcm1hdHRlci5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NDA2YTg5YzkwODlmNzU0OTllNzNkYTE2ZDUyMzY3Y2RmMWYwZTAzOC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0KKysrIC9kZXYvbnVsbApAQCAtMSwxMDcgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiV0tXZWJWaWV3UHJp
bnRGb3JtYXR0ZXIuaCIKLQotI2lmIFBMQVRGT1JNKElPUykKLQotI2ltcG9ydCAiUHJpbnRJbmZv
LmgiCi0jaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgotI2ltcG9ydCA8d3RmL1JldGFpblB0
ci5oPgotCi1AaW50ZXJmYWNlIFVJUHJpbnRGb3JtYXR0ZXIgKERldGFpbHMpCi0tIChDR1JlY3Qp
X3BhZ2VDb250ZW50UmVjdDooQk9PTClmaXJzdFBhZ2U7Ci0tICh2b2lkKV9yZWNhbGNJZk5lY2Vz
c2FyeTsKLUBlbmQKLQotQGludGVyZmFjZSBXS1dlYlZpZXdQcmludEZvcm1hdHRlciAoKQotQHBy
b3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBXS1dlYlZpZXcgKndlYlZpZXc7Ci1AZW5kCi0K
LUBpbXBsZW1lbnRhdGlvbiBXS1dlYlZpZXdQcmludEZvcm1hdHRlciB7Ci0gICAgZG91YmxlIF90
b3RhbFNjYWxlRmFjdG9yOwotICAgIFdlYktpdDo6UHJpbnRJbmZvIF9wcmludEluZm87Ci19Ci0K
LS0gKHZvaWQpZGVhbGxvYwotewotICAgIFtzZWxmLndlYlZpZXcgX2VuZFByaW50aW5nXTsKLSAg
ICBbc3VwZXIgZGVhbGxvY107Ci19Ci0KLS0gKFdLV2ViVmlldyAqKXdlYlZpZXcKLXsKLSAgICBB
U1NFUlQoW3NlbGYudmlldyBpc0tpbmRPZkNsYXNzOltXS1dlYlZpZXcgY2xhc3NdXSk7Ci0gICAg
cmV0dXJuIHN0YXRpY19jYXN0PFdLV2ViVmlldyAqPihzZWxmLnZpZXcpOwotfQotCi0tIChOU0lu
dGVnZXIpX3JlY2FsY1BhZ2VDb3VudAotewotICAgIEFTU0VSVChbc2VsZiByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKF9wYWdlQ29udGVudFJlY3Q6KV0pOwotCi0gICAgQ0dSZWN0IGZpcnN0
UmVjdCA9IFtzZWxmIF9wYWdlQ29udGVudFJlY3Q6WUVTXTsKLSAgICBDR1JlY3QgbmV4dFJlY3Qg
PSBbc2VsZiBfcGFnZUNvbnRlbnRSZWN0Ok5PXTsKLSAgICBpZiAoQ0dSZWN0SXNFbXB0eShmaXJz
dFJlY3QpIHx8IENHUmVjdElzRW1wdHkobmV4dFJlY3QpKQotICAgICAgICByZXR1cm4gMDsKLQot
ICAgIC8vIFRoZSBmaXJzdCBwYWdlIGNhbiBoYXZlIGEgc21hbGxlciBjb250ZW50IHJlY3QgdGhh
biBzdWJzZXF1ZW50IHBhZ2VzIGlmIGEgdG9wIGNvbnRlbnQgaW5zZXQgaXMgc3BlY2lmaWVkLiBT
aW5jZQotICAgIC8vIFdlYktpdCByZXF1aXJlcyBhIHVuaWZvcm0gY29udGVudCByZWN0IGZvciBl
YWNoIHBhZ2UgZHVyaW5nIGxheW91dCwgdXNlIHRoZSBmaXJzdCBwYWdlIHJlY3QgZm9yIGFsbCBw
YWdlcyBpZiBpdCdzCi0gICAgLy8gc21hbGxlci4gVGhpcyBpcyB3aGF0IFVJV2ViVmlldydzIHBy
aW50IGZvcm1hdHRlciBkb2VzLgotICAgIEFTU0VSVChmaXJzdFJlY3Quc2l6ZS53aWR0aCA9PSBu
ZXh0UmVjdC5zaXplLndpZHRoKTsKLSAgICBBU1NFUlQoZmlyc3RSZWN0Lm9yaWdpbi55ID49IG5l
eHRSZWN0Lm9yaWdpbi55KTsKLSAgICBfcHJpbnRJbmZvLnBhZ2VTZXR1cFNjYWxlRmFjdG9yID0g
MTsKLSAgICBfcHJpbnRJbmZvLmF2YWlsYWJsZVBhcGVyV2lkdGggPSBuZXh0UmVjdC5zaXplLndp
ZHRoOwotICAgIF9wcmludEluZm8uYXZhaWxhYmxlUGFwZXJIZWlnaHQgPSBuZXh0UmVjdC5zaXpl
LmhlaWdodCAtIChmaXJzdFJlY3Qub3JpZ2luLnkgLSBuZXh0UmVjdC5vcmlnaW4ueSk7Ci0KLSAg
ICByZXR1cm4gW3NlbGYud2ViVmlldyBfY29tcHV0ZVBhZ2VDb3VudEFuZFN0YXJ0RHJhd2luZ1Rv
UERGV2l0aFByaW50SW5mbzpfcHJpbnRJbmZvIGZpcnN0UGFnZTpzZWxmLnN0YXJ0UGFnZSBjb21w
dXRlZFRvdGFsU2NhbGVGYWN0b3I6X3RvdGFsU2NhbGVGYWN0b3JdOwotfQotCi0tIChDR1JlY3Qp
cmVjdEZvclBhZ2VBdEluZGV4OihOU0ludGVnZXIpcGFnZUluZGV4Ci17Ci0gICAgQVNTRVJUKFtz
ZWxmIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3JlY2FsY0lmTmVjZXNzYXJ5KV0pOwot
ICAgIFtzZWxmIF9yZWNhbGNJZk5lY2Vzc2FyeV07Ci0gICAgcmV0dXJuIFtzZWxmIF9wYWdlQ29u
dGVudFJlY3Q6cGFnZUluZGV4ID09IHNlbGYuc3RhcnRQYWdlXTsKLX0KLQotLSAodm9pZClkcmF3
SW5SZWN0OihDR1JlY3QpcmVjdCBmb3JQYWdlQXRJbmRleDooTlNJbnRlZ2VyKXBhZ2VJbmRleAot
ewotICAgIC8vIENHUERGRG9jdW1lbnRzIHVzZSAxLWJhc2VkIHBhZ2UgaW5kZXhpbmcuCi0gICAg
Q0dQREZQYWdlUmVmIHBkZlBhZ2UgPSBDR1BERkRvY3VtZW50R2V0UGFnZShzZWxmLndlYlZpZXcu
X3ByaW50ZWREb2N1bWVudCwgcGFnZUluZGV4IC0gc2VsZi5zdGFydFBhZ2UgKyAxKTsKLQotICAg
IENHQ29udGV4dFJlZiBjb250ZXh0ID0gVUlHcmFwaGljc0dldEN1cnJlbnRDb250ZXh0KCk7Ci0g
ICAgQ0dDb250ZXh0U2F2ZUdTdGF0ZShjb250ZXh0KTsKLQotICAgIENHQ29udGV4dFRyYW5zbGF0
ZUNUTShjb250ZXh0LCByZWN0Lm9yaWdpbi54LCByZWN0Lm9yaWdpbi55KTsKLSAgICBDR0NvbnRl
eHRTY2FsZUNUTShjb250ZXh0LCBfdG90YWxTY2FsZUZhY3RvciwgLV90b3RhbFNjYWxlRmFjdG9y
KTsKLSAgICBDR0NvbnRleHRUcmFuc2xhdGVDVE0oY29udGV4dCwgMCwgLUNHUERGUGFnZUdldEJv
eFJlY3QocGRmUGFnZSwga0NHUERGTWVkaWFCb3gpLnNpemUuaGVpZ2h0KTsKLSAgICBDR0NvbnRl
eHREcmF3UERGUGFnZShjb250ZXh0LCBwZGZQYWdlKTsKLQotICAgIENHQ29udGV4dFJlc3RvcmVH
U3RhdGUoY29udGV4dCk7Ci19Ci0KLUBlbmQKLQotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9fV0tXZWJWaWV3UHJpbnRGb3JtYXR0
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9fV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iZWZkY2M3OGI2ODM1ODExZjliNjcwNWZiOWFiZjA4YTJkMjcwMWFiCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL19XS1dlYlZpZXdQcmlu
dEZvcm1hdHRlci5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgVEFSR0VUX09T
X0lQSE9ORQorCisjaW1wb3J0IDxVSUtpdC9VSVByaW50Rm9ybWF0dGVyLmg+CisKK0BjbGFzcyBf
V0tGcmFtZUhhbmRsZTsKKworQGludGVyZmFjZSBfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIgOiBV
SVZpZXdQcmludEZvcm1hdHRlcgorCitAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBfV0tG
cmFtZUhhbmRsZSAqZnJhbWVUb1ByaW50OworCitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL19XS1dlYlZpZXdQcmludEZvcm1hdHRlci5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9fV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDQ2ZDA5ZGQwNGEzZDA2MmNhOTdiOTRiY2UyMjM1ZmNkNzBkYTVhYgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9fV0tXZWJWaWV3UHJpbnRGb3JtYXR0
ZXIubW0KQEAgLTAsMCArMSwxMDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIK
KyNpbXBvcnQgIl9XS1dlYlZpZXdQcmludEZvcm1hdHRlci5oIgorCisjaWYgUExBVEZPUk0oSU9T
KQorCisjaW1wb3J0ICJQcmludEluZm8uaCIKKyNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgi
CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKK0BpbnRlcmZhY2UgVUlQcmludEZvcm1hdHRl
ciAoRGV0YWlscykKKy0gKENHUmVjdClfcGFnZUNvbnRlbnRSZWN0OihCT09MKWZpcnN0UGFnZTsK
Ky0gKHZvaWQpX3JlY2FsY0lmTmVjZXNzYXJ5OworQGVuZAorCitAaW50ZXJmYWNlIF9XS1dlYlZp
ZXdQcmludEZvcm1hdHRlciAoKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBXS1dl
YlZpZXcgKndlYlZpZXc7CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBfV0tXZWJWaWV3UHJpbnRG
b3JtYXR0ZXIgeworICAgIGRvdWJsZSBfdG90YWxTY2FsZUZhY3RvcjsKKyAgICBXZWJLaXQ6OlBy
aW50SW5mbyBfcHJpbnRJbmZvOworfQorCistICh2b2lkKWRlYWxsb2MKK3sKKyAgICBbc2VsZi53
ZWJWaWV3IF9lbmRQcmludGluZ107CisgICAgW3N1cGVyIGRlYWxsb2NdOworfQorCistIChXS1dl
YlZpZXcgKil3ZWJWaWV3Cit7CisgICAgQVNTRVJUKFtzZWxmLnZpZXcgaXNLaW5kT2ZDbGFzczpb
V0tXZWJWaWV3IGNsYXNzXV0pOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxXS1dlYlZpZXcgKj4o
c2VsZi52aWV3KTsKK30KKworLSAoTlNJbnRlZ2VyKV9yZWNhbGNQYWdlQ291bnQKK3sKKyAgICBB
U1NFUlQoW3NlbGYgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfcGFnZUNvbnRlbnRSZWN0
OildKTsKKworICAgIENHUmVjdCBmaXJzdFJlY3QgPSBbc2VsZiBfcGFnZUNvbnRlbnRSZWN0OllF
U107CisgICAgQ0dSZWN0IG5leHRSZWN0ID0gW3NlbGYgX3BhZ2VDb250ZW50UmVjdDpOT107Cisg
ICAgaWYgKENHUmVjdElzRW1wdHkoZmlyc3RSZWN0KSB8fCBDR1JlY3RJc0VtcHR5KG5leHRSZWN0
KSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICAvLyBUaGUgZmlyc3QgcGFnZSBjYW4gaGF2ZSBh
IHNtYWxsZXIgY29udGVudCByZWN0IHRoYW4gc3Vic2VxdWVudCBwYWdlcyBpZiBhIHRvcCBjb250
ZW50IGluc2V0IGlzIHNwZWNpZmllZC4gU2luY2UKKyAgICAvLyBXZWJLaXQgcmVxdWlyZXMgYSB1
bmlmb3JtIGNvbnRlbnQgcmVjdCBmb3IgZWFjaCBwYWdlIGR1cmluZyBsYXlvdXQsIHVzZSB0aGUg
Zmlyc3QgcGFnZSByZWN0IGZvciBhbGwgcGFnZXMgaWYgaXQncworICAgIC8vIHNtYWxsZXIuIFRo
aXMgaXMgd2hhdCBVSVdlYlZpZXcncyBwcmludCBmb3JtYXR0ZXIgZG9lcy4KKyAgICBBU1NFUlQo
Zmlyc3RSZWN0LnNpemUud2lkdGggPT0gbmV4dFJlY3Quc2l6ZS53aWR0aCk7CisgICAgQVNTRVJU
KGZpcnN0UmVjdC5vcmlnaW4ueSA+PSBuZXh0UmVjdC5vcmlnaW4ueSk7CisgICAgX3ByaW50SW5m
by5wYWdlU2V0dXBTY2FsZUZhY3RvciA9IDE7CisgICAgX3ByaW50SW5mby5hdmFpbGFibGVQYXBl
cldpZHRoID0gbmV4dFJlY3Quc2l6ZS53aWR0aDsKKyAgICBfcHJpbnRJbmZvLmF2YWlsYWJsZVBh
cGVySGVpZ2h0ID0gbmV4dFJlY3Quc2l6ZS5oZWlnaHQgLSAoZmlyc3RSZWN0Lm9yaWdpbi55IC0g
bmV4dFJlY3Qub3JpZ2luLnkpOworCisgICAgcmV0dXJuIFtzZWxmLndlYlZpZXcgX2NvbXB1dGVQ
YWdlQ291bnRBbmRTdGFydERyYXdpbmdUb1BERkZvckZyYW1lOl9mcmFtZVRvUHJpbnQgcHJpbnRJ
bmZvOl9wcmludEluZm8gZmlyc3RQYWdlOnNlbGYuc3RhcnRQYWdlIGNvbXB1dGVkVG90YWxTY2Fs
ZUZhY3RvcjpfdG90YWxTY2FsZUZhY3Rvcl07Cit9CisKKy0gKENHUmVjdClyZWN0Rm9yUGFnZUF0
SW5kZXg6KE5TSW50ZWdlcilwYWdlSW5kZXgKK3sKKyAgICBBU1NFUlQoW3NlbGYgcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3RvcihfcmVjYWxjSWZOZWNlc3NhcnkpXSk7CisgICAgW3NlbGYgX3Jl
Y2FsY0lmTmVjZXNzYXJ5XTsKKyAgICByZXR1cm4gW3NlbGYgX3BhZ2VDb250ZW50UmVjdDpwYWdl
SW5kZXggPT0gc2VsZi5zdGFydFBhZ2VdOworfQorCistICh2b2lkKWRyYXdJblJlY3Q6KENHUmVj
dClyZWN0IGZvclBhZ2VBdEluZGV4OihOU0ludGVnZXIpcGFnZUluZGV4Cit7CisgICAgLy8gQ0dQ
REZEb2N1bWVudHMgdXNlIDEtYmFzZWQgcGFnZSBpbmRleGluZy4KKyAgICBDR1BERlBhZ2VSZWYg
cGRmUGFnZSA9IENHUERGRG9jdW1lbnRHZXRQYWdlKHNlbGYud2ViVmlldy5fcHJpbnRlZERvY3Vt
ZW50LCBwYWdlSW5kZXggLSBzZWxmLnN0YXJ0UGFnZSArIDEpOworCisgICAgQ0dDb250ZXh0UmVm
IGNvbnRleHQgPSBVSUdyYXBoaWNzR2V0Q3VycmVudENvbnRleHQoKTsKKyAgICBDR0NvbnRleHRT
YXZlR1N0YXRlKGNvbnRleHQpOworCisgICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RNKGNvbnRleHQs
IHJlY3Qub3JpZ2luLngsIHJlY3Qub3JpZ2luLnkpOworICAgIENHQ29udGV4dFNjYWxlQ1RNKGNv
bnRleHQsIF90b3RhbFNjYWxlRmFjdG9yLCAtX3RvdGFsU2NhbGVGYWN0b3IpOworICAgIENHQ29u
dGV4dFRyYW5zbGF0ZUNUTShjb250ZXh0LCAwLCAtQ0dQREZQYWdlR2V0Qm94UmVjdChwZGZQYWdl
LCBrQ0dQREZNZWRpYUJveCkuc2l6ZS5oZWlnaHQpOworICAgIENHQ29udGV4dERyYXdQREZQYWdl
KGNvbnRleHQsIHBkZlBhZ2UpOworCisgICAgQ0dDb250ZXh0UmVzdG9yZUdTdGF0ZShjb250ZXh0
KTsKK30KKworQGVuZAorCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNkYWI3NTk4MDU2
YzJmMDg2M2QxMjBhMjZmMGZiNmVhM2JjM2NkMzUuLjFlMzliMzcxN2Y2OGZmNWQ5YzMzZjA4ZmYz
ZWYwNmZiYjI5YjQyMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNzEsOCArMTA3MSw4IEBACiAJCTlGNTRGODk1MTY0OEFF
MEYwMDdERjgxQSAvKiBQbHVnaW5Qcm9jZXNzTWFuYWdlck1hYy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlGNTRGODk0MTY0OEFFMEUwMDdERjgxQSAv
KiBQbHVnaW5Qcm9jZXNzTWFuYWdlck1hYy5tbSAqLzsgfTsKIAkJOUZCNUYzOTQxNjlFNkE4MDAw
MkMyNUJGIC8qIFdLQ29udGV4dFByaXZhdGVNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RkI1RjM5MjE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250
ZXh0UHJpdmF0ZU1hYy5tbSAqLzsgfTsKIAkJOUZCNUYzOTUxNjlFNkE4MDAwMkMyNUJGIC8qIFdL
Q29udGV4dFByaXZhdGVNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDlGQjVGMzkzMTY5RTZBODAwMDJDMjVCRiAvKiBXS0NvbnRleHRQcml2YXRlTWFj
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQTEx
NURDNzExOTFEODJENzAwREE4MDcyIC8qIFdLV2ViVmlld1ByaW50Rm9ybWF0dGVyLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExNURDNkQxOTFEODJB
QjAwREE4MDcyIC8qIFdLV2ViVmlld1ByaW50Rm9ybWF0dGVyLm1tICovOyB9OwotCQlBMTE1REM3
MjE5MUQ4MkRBMDBEQTgwNzIgLyogV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMTVEQzZFMTkxRDgyQUIwMERB
ODA3MiAvKiBXS1dlYlZpZXdQcmludEZvcm1hdHRlci5oICovOyB9OworCQlBMTE1REM3MTE5MUQ4
MkQ3MDBEQTgwNzIgLyogX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExNURDNkQxOTFEODJBQjAwREE4MDcy
IC8qIF9XS1dlYlZpZXdQcmludEZvcm1hdHRlci5tbSAqLzsgfTsKKwkJQTExNURDNzIxOTFEODJE
QTAwREE4MDcyIC8qIF9XS1dlYlZpZXdQcmludEZvcm1hdHRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExNURDNkUxOTFEODJBQjAwREE4MDcyIC8q
IF9XS1dlYlZpZXdQcmludEZvcm1hdHRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUExMThBOUVFMTkwN0FENkYwMEY3QzkyQiAvKiBRdWlja0xv
b2tEb2N1bWVudERhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTExOEE5RUMxOTA3QUQ2RjAwRjdDOTJCIC8qIFF1aWNrTG9va0RvY3VtZW50RGF0
YS5jcHAgKi87IH07CiAJCUExMThBOUVGMTkwN0FENkYwMEY3QzkyQiAvKiBRdWlja0xvb2tEb2N1
bWVudERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEExMThBOUVEMTkwN0FENkYwMEY3QzkyQiAvKiBRdWlja0xvb2tEb2N1bWVudERhdGEuaCAqLzsg
fTsKIAkJQTExOEE5RjIxOTA4QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRyYXMu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE4QTlG
MDE5MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5tbSAqLzsgfTsKQEAg
LTMwOTIsOCArMzA5Miw4IEBACiAJCTlGNTRGODk0MTY0OEFFMEUwMDdERjgxQSAvKiBQbHVnaW5Q
cm9jZXNzTWFuYWdlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFBsdWdpblByb2Nlc3NNYW5hZ2VyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5RkI1RjM5MjE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250ZXh0UHJpdmF0ZU1hYy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLQ29udGV4dFByaXZhdGVN
YWMubW07IHBhdGggPSBtYWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOUZCNUYzOTMxNjlFNkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZh
dGVNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tDb250ZXh0UHJpdmF0
ZU1hYy5oOyBwYXRoID0gbWFjL1dLQ29udGV4dFByaXZhdGVNYWMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJQTExNURDNkQxOTFEODJBQjAwREE4MDcyIC8qIFdLV2ViVmlld1ByaW50
Rm9ybWF0dGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tX
ZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUEx
MTVEQzZFMTkxRDgyQUIwMERBODA3MiAvKiBXS1dlYlZpZXdQcmludEZvcm1hdHRlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1dlYlZpZXdQcmludEZvcm1hdHRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTE1REM2RDE5MUQ4MkFCMDBEQTgwNzIgLyog
X1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBMTE1REM2RTE5MUQ4MkFCMDBEQTgwNzIgLyogX1dLV2ViVmlld1ByaW50
Rm9ybWF0dGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1dlYlZpZXdQ
cmludEZvcm1hdHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTE4QTlFQzE5
MDdBRDZGMDBGN0M5MkIgLyogUXVpY2tMb29rRG9jdW1lbnREYXRhLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFF1aWNrTG9va0RvY3VtZW50RGF0YS5jcHA7IHBhdGgg
PSBpb3MvUXVpY2tMb29rRG9jdW1lbnREYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTExOEE5RUQxOTA3QUQ2RjAwRjdDOTJCIC8qIFF1aWNrTG9va0RvY3VtZW50RGF0YS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBRdWlja0xvb2tEb2N1bWVudERhdGEu
aDsgcGF0aCA9IGlvcy9RdWlja0xvb2tEb2N1bWVudERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTExOEE5RjAxOTA4QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJF
eHRyYXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBfV0tOU0Zp
bGVNYW5hZ2VyRXh0cmFzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDc4NSw4
ICs0Nzg1LDggQEAKIAkJCQkwRkNCNEU0MTE4QkJFMDQ0MDAwRkNGQzkgLyogV0tHZW9sb2NhdGlv
blByb3ZpZGVySU9TT2JqQ1NlY3VyaXR5T3JpZ2luLm1tICovLAogCQkJCTBGQ0I0RTQ0MThCQkUw
NDQwMDBGQ0ZDOSAvKiBXS1Njcm9sbFZpZXcuaCAqLywKIAkJCQkwRkNCNEU0NTE4QkJFMDQ0MDAw
RkNGQzkgLyogV0tTY3JvbGxWaWV3Lm1tICovLAotCQkJCUExMTVEQzZFMTkxRDgyQUIwMERBODA3
MiAvKiBXS1dlYlZpZXdQcmludEZvcm1hdHRlci5oICovLAotCQkJCUExMTVEQzZEMTkxRDgyQUIw
MERBODA3MiAvKiBXS1dlYlZpZXdQcmludEZvcm1hdHRlci5tbSAqLywKKwkJCQlBMTE1REM2RTE5
MUQ4MkFCMDBEQTgwNzIgLyogX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLmggKi8sCisJCQkJQTEx
NURDNkQxOTFEODJBQjAwREE4MDcyIC8qIF9XS1dlYlZpZXdQcmludEZvcm1hdHRlci5tbSAqLywK
IAkJCSk7CiAJCQluYW1lID0gaW9zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTcx
MjUsNyArNzEyNSw3IEBACiAJCQkJMUE5RTMyODkxODIxNjM2OTAwRjVEMDRDIC8qIF9XS1JlbW90
ZU9iamVjdFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTY1NEVGRTE4NEVGMzNGMDA3
REM4MzcgLyogVW5pcXVlSURCRGF0YWJhc2VCYWNraW5nU3RvcmVTUUxpdGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMzNFMEQxMTI0MDhFODYwMDM2MEYzRiAvKiBJbmplY3RlZEJ1bmRsZVJhbmdl
SGFuZGxlLmggaW4gSGVhZGVycyAqLywKLQkJCQlBMTE1REM3MjE5MUQ4MkRBMDBEQTgwNzIgLyog
V0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUExMTVEQzcyMTkx
RDgyREEwMERBODA3MiAvKiBfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGQ0I0RTYwMThCQkUzRDkwMDBGQ0ZDOSAvKiBGaW5kSW5kaWNhdG9yV2luZG93Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE0REY3NzEyMEI1Qjc5MDA4MjZDMEMgLyogSW5qZWN0ZWRC
dW5kbGVTY3JpcHRXb3JsZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCMEIwREUxMjMwNUE4QzAw
QjEzNDFFIC8qIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VDb2RlcnMuaCBpbiBIZWFkZXJzICov
LApAQCAtOTA5Myw3ICs5MDkzLDcgQEAKIAkJCQk1MTlFRjU4RTE4RUY3NzBEMDAwM0I3RjQgLyog
VGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlCQ0Y2OUZBMzExNzZEMDE0MDA0NzFBNTIgLyogQVBJTmF2aWdhdGlvbkRhdGEuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMzFBMkVDNDgxNDg5OTdDMjAwODEwRDcxIC8qIFdlYk5vdGlmaWNhdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlBMTE1REM3MTE5MUQ4MkQ3MDBEQTgwNzIgLyogV0tX
ZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0gaW4gU291cmNlcyAqLywKKwkJCQlBMTE1REM3MTE5MUQ4
MkQ3MDBEQTgwNzIgLyogX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMzEwOTk5NzMxNDZDNzVBMjAwMjlERUI5IC8qIFdlYk5vdGlmaWNhdGlvbkNsaWVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkyRERFMEFGQjE4Mjk4Q0M5MDBGOTdFQUEgLyogUmVtb3Rl
TGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzEzMTI2MjAx
NDhGRjgyQzAwQkEyQTM5IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCg==
</data>
<flag name="review"
          id="257145"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
          </attachment>
      

    </bug>

</bugzilla>