<?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>196822</bug_id>
          
          <creation_ts>2019-04-11 12:08:02 -0700</creation_ts>
          <short_desc>Extract UTI mapping and allow for additions</short_desc>
          <delta_ts>2019-04-14 13:14:54 -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>WebKit 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="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>darin</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1526419</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-04-11 12:08:02 -0700</bug_when>
    <thetext>Extract UTI mapping and allow for additions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526420</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-11 12:08:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/49822339&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526421</commentid>
    <comment_count>2</comment_count>
      <attachid>367231</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-04-11 12:13:17 -0700</bug_when>
    <thetext>Created attachment 367231
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526425</commentid>
    <comment_count>3</comment_count>
      <attachid>367231</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-04-11 12:15:35 -0700</bug_when>
    <thetext>Comment on attachment 367231
Patch

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

&gt; Source/WebKit/Shared/ios/UTIMappings.mm:42
&gt; +NSString *UTIforMIMEType(const String&amp; mimeType)

Seems like this should fold into UTIUtilities</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526483</commentid>
    <comment_count>4</comment_count>
      <attachid>367247</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-04-11 15:04:39 -0700</bug_when>
    <thetext>Created attachment 367247
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526489</commentid>
    <comment_count>5</comment_count>
      <attachid>367247</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-04-11 15:20:00 -0700</bug_when>
    <thetext>Comment on attachment 367247
Patch

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

&gt; Source/WebCore/platform/network/mac/UTIUtilities.mm:89
&gt; +    static const auto map = makeNeverDestroyed([] {

Why not just go straight to UTI instead of using CoreServices, if you&apos;re already hardcoding?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526523</commentid>
    <comment_count>6</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-04-11 16:13:55 -0700</bug_when>
    <thetext>Committed r244201: &lt;https://trac.webkit.org/changeset/244201&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526755</commentid>
    <comment_count>7</comment_count>
      <attachid>367247</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-04-12 09:12:21 -0700</bug_when>
    <thetext>Comment on attachment 367247
Patch

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

&gt; Source/WebCore/platform/network/mac/UTIUtilities.mm:112
&gt; +    return String(adoptCF(UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, mapEntry-&gt;value.createCFString().get(), nil)).get());

I don’t think the explicit String constructor is needed here.

&gt; Source/WebCore/platform/network/mac/UTIUtilities.mm:121
&gt; +            return String(type.get());

I don’t think the explicit String constructor is needed here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527107</commentid>
    <comment_count>8</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-04-14 13:14:28 -0700</bug_when>
    <thetext>Committed r244247: &lt;https://trac.webkit.org/changeset/244247&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527108</commentid>
    <comment_count>9</comment_count>
      <attachid>367247</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-04-14 13:14:54 -0700</bug_when>
    <thetext>Comment on attachment 367247
Patch

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

&gt;&gt; Source/WebCore/platform/network/mac/UTIUtilities.mm:121
&gt;&gt; +            return String(type.get());
&gt; 
&gt; I don’t think the explicit String constructor is needed here.

Fixed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367231</attachid>
            <date>2019-04-11 12:13:17 -0700</date>
            <delta_ts>2019-04-11 15:04:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196822-20190411121316.patch</filename>
            <type>text/plain</type>
            <size>16719</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGI1MDczNzNjOGM0ZWEw
ZjcyMzJlYzFjMzBmN2U0NmY3ZTEwYzdiZi4uNWIxMTJkZThiNzMzZjRiMjdmNzIyZWRjNTE3YTQ3
MjQ1YzYwNDQwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTA0LTExICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBFeHRyYWN0IFVUSSBtYXBwaW5n
IGFuZCBhbGxvdyBmb3IgYWRkaXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTY4MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5ODIyMzM5
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBh
biBBRERJVElPTkFMX1NZU1RFTV9QUkVWSUVXX1RZUEVTIG1hY3JvIHRvIHRoZSBsaXN0CisgICAg
ICAgIG9mIGFjY2VwdGVkIE1JTUUgdHlwZXMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlw
ZVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OnN5c3Rl
bVByZXZpZXdNSU1FVHlwZXMpOgorCiAyMDE5LTA0LTEwICBKdXN0aW4gRmFuICA8anVzdGluX2Zh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYiBHUFVdIEluZGV4ZWQgZHJhd2luZyBhbmQgR1BV
Q29tbWFuZEVuY29kZXIgY3Jhc2ggcHJldmVudGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlYzMyYWEwNGMwMjVj
Y2JjOTQ3MWI1N2QwMTI2NjZlZDhjZDA2YTQxLi5lNmEzMTQ4YTc0ZmExYmQzNDQ0N2JlMTdjOGVj
YWU4N2U5MGY1OTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTA0LTExICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBFeHRyYWN0IFVUSSBtYXBwaW5n
IGFuZCBhbGxvdyBmb3IgYWRkaXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTY4MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5ODIyMzM5
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBh
IG5ldyBoZWxwZXIgZnVuY3Rpb24gdG8gcHJvdmlkZSBhIG1hcHBpbmcgZnJvbSBNSU1FIHR5cGUg
dG8KKyAgICAgICAgVVRJIHN0cmluZy4KKworICAgICAgICAqIFNoYXJlZC9pb3MvVVRJTWFwcGlu
Z3MuaDogQWRkZWQuCisgICAgICAgICogU2hhcmVkL2lvcy9VVElNYXBwaW5ncy5tbTogQWRkZWQu
CisgICAgICAgIChVVElmb3JNSU1FVHlwZSk6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvU3lzdGVtUHJldmlld0NvbnRyb2xsZXJDb2NvYS5t
bToKKyAgICAgICAgKC1bX1dLUHJldmlld0NvbnRyb2xsZXJEYXRhU291cmNlIHByZXZpZXdDb250
cm9sbGVyOnByZXZpZXdJdGVtQXRJbmRleDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dL
U3lzdGVtUHJldmlld1ZpZXcubW06CisgICAgICAgIChnZXRVVElGb3JTeXN0ZW1QcmV2aWV3TUlN
RVR5cGUpOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAy
MDE5LTA0LTEwICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIHJ1bkphdmFTY3JpcHRJbkZyYW1lIGZvciBXZWJQYWdlUHJveHkvV2ViUGFnZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcAppbmRleCA2Y2FlMTRhYTRi
Y2ZjZGE1MDUzZDhlNjc4YTQ5MDRiMDc3ZDgzOGE5Li5hMDRmZWFjOTY3YmJlZDg5YzBhZDIyODk5
MjlmOTcwNTI2ZDhlZmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1F
VHlwZVJlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJl
Z2lzdHJ5LmNwcApAQCAtNTcsNiArNTcsMTIgQEAKICNpbmNsdWRlICJQcmV2aWV3Q29udmVydGVy
LmgiCiAjZW5kaWYKIAorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8V2Vi
S2l0QWRkaXRpb25zL0FkZGl0aW9uYWxTeXN0ZW1QcmV2aWV3VHlwZXMuaD4KKyNlbHNlCisjZGVm
aW5lIEFERElUSU9OQUxfU1lTVEVNX1BSRVZJRVdfVFlQRVMKKyNlbmRpZgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNvbnN0IEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhh
c2g+JiBNSU1FVHlwZVJlZ2lzdHJ5OjpzdXBwb3J0ZWRJbWFnZU1JTUVUeXBlcygpCkBAIC02NzEs
NyArNjc3LDggQEAgY29uc3QgSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFz
aD4mIE1JTUVUeXBlUmVnaXN0cnk6OnN5c3RlbVByZXZpZXcKICAgICAgICAgIm1vZGVsL3ZuZC51
c2R6K3ppcCIsCiAgICAgICAgIC8vIFVub2ZmaWNpYWwsIGJ1dCBzdXBwb3J0ZWQgYmVjYXVzZSB3
ZSBkb2N1bWVudGVkIHRoZW0uCiAgICAgICAgICJtb2RlbC91c2QiLAotICAgICAgICAibW9kZWwv
dm5kLnBpeGFyLnVzZCIKKyAgICAgICAgIm1vZGVsL3ZuZC5waXhhci51c2QiLAorICAgICAgICBB
RERJVElPTkFMX1NZU1RFTV9QUkVWSUVXX1RZUEVTCiAgICAgfTsKICAgICByZXR1cm4gc3lzdGVt
UHJldmlld01JTUVUeXBlczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lv
cy9VVElNYXBwaW5ncy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL1VUSU1hcHBpbmdzLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTRjNmIyOGQyYjQyY2ExZmUxMGIzMDVjODliNTE3NWNkMTgzY2ZhMgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9VVElNYXBwaW5ncy5oCkBA
IC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorI2ltcG9y
dCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK05TU3RyaW5nICpVVElmb3JNSU1FVHlwZShjb25z
dCBTdHJpbmcmIG1pbWVUeXBlKTsKKworI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvVVRJTWFwcGluZ3MubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9pb3MvVVRJTWFwcGluZ3MubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzIxNzcxOGM5
Mjk0ZDE2OGE2NGMwOGRjMDQ1MDFlMTk3NmU1NmQ1ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL2lvcy9VVElNYXBwaW5ncy5tbQpAQCAtMCwwICsxLDcwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJVVElNYXBwaW5ncy5oIgorCisj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworI2ltcG9ydCA8TW9iaWxlQ29yZVNlcnZpY2VzL01v
YmlsZUNvcmVTZXJ2aWNlcy5oPgorI2ltcG9ydCA8d3RmL0hhc2hNYXAuaD4KKyNpbXBvcnQgPHd0
Zi9OZXZlckRlc3Ryb3llZC5oPgorI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgorCisj
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFdlYktpdEFkZGl0aW9ucy9BZGRp
dGlvbmFsVVRJTWFwcGluZ3MuaD4KKyNlbHNlCisjZGVmaW5lIEFERElUSU9OQUxfVVRJX01BUFBJ
TkdTCisjZW5kaWYKKworTlNTdHJpbmcgKlVUSWZvck1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWlt
ZVR5cGUpCit7CisgICAgc3RhdGljIGNvbnN0IGF1dG8gbWFwID0gbWFrZU5ldmVyRGVzdHJveWVk
KFtdIHsKKyAgICAgICAgc3RydWN0IFR5cGVFeHRlbnNpb25QYWlyIHsKKyAgICAgICAgICAgIEFT
Q0lJTGl0ZXJhbCB0eXBlOworICAgICAgICAgICAgQVNDSUlMaXRlcmFsIGV4dGVuc2lvbjsKKyAg
ICAgICAgfTsKKworICAgICAgICBzdGF0aWMgY29uc3QgVHlwZUV4dGVuc2lvblBhaXIgcGFpcnNb
XSA9IHsKKyAgICAgICAgICAgIHsgIm1vZGVsL3ZuZC51c2R6K3ppcCJfcywgInVzZHoiX3MgfSwK
KyAgICAgICAgICAgIHsgIm1vZGVsL3VzZCJfcywgInVzZHoiX3MgfSwKKyAgICAgICAgICAgIHsg
Im1vZGVsL3ZuZC5waXhhci51c2QiX3MsICJ1c2R6Il9zIH0sCisgICAgICAgICAgICBBRERJVElP
TkFMX1VUSV9NQVBQSU5HUworICAgICAgICB9OworCisgICAgICAgIEhhc2hNYXA8U3RyaW5nLCBT
dHJpbmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4gbWFwOworICAgICAgICBmb3IgKGF1dG8m
IHBhaXIgOiBwYWlycykKKyAgICAgICAgICAgIG1hcC5hZGQocGFpci50eXBlLCBwYWlyLmV4dGVu
c2lvbik7CisgICAgICAgIHJldHVybiBtYXA7CisgICAgfSgpKTsKKworICAgIGF1dG8gbWFwRW50
cnkgPSBtYXAuZ2V0KCkuZmluZChtaW1lVHlwZSk7CisgICAgaWYgKG1hcEVudHJ5ID09IG1hcC5n
ZXQoKS5lbmQoKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIHJldHVybiAoX19icmlkZ2Ug
TlNTdHJpbmcgKikgVVRUeXBlQ3JlYXRlUHJlZmVycmVkSWRlbnRpZmllckZvclRhZyhrVVRUYWdD
bGFzc0ZpbGVuYW1lRXh0ZW5zaW9uLCAoQ0ZTdHJpbmdSZWYpJm1hcEVudHJ5LT52YWx1ZSwgbmls
KTsKK30KKworI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50
eHQKaW5kZXggZmQzOGRhMzMxYjI0ZTBmNTdiMTE5ODkyYjQ1NTE3M2IyNmQ0ZDVhMC4uODU1M2Uy
YmFhYjY2NWIyNTc3OTdkY2ZjOGIwNjY1MjJjNDRjOGRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dApAQCAtMTY3LDYgKzE2Nyw3IEBAIFNoYXJlZC9pb3MvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudElP
Uy5tbQogU2hhcmVkL2lvcy9OYXRpdmVXZWJNb3VzZUV2ZW50SU9TLm1tCiBTaGFyZWQvaW9zL05h
dGl2ZVdlYlRvdWNoRXZlbnRJT1MubW0KIFNoYXJlZC9pb3MvUXVpY2tMb29rRG9jdW1lbnREYXRh
LmNwcAorU2hhcmVkL2lvcy9VVElNYXBwaW5ncy5tbQogU2hhcmVkL2lvcy9XZWJJY29uVXRpbGl0
aWVzLm1tCiBTaGFyZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbQogU2hhcmVkL2lvcy9XZWJQ
bGF0Zm9ybVRvdWNoUG9pbnRJT1MuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9TeXN0ZW1QcmV2aWV3Q29udHJvbGxlckNvY29hLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvU3lzdGVtUHJldmlld0NvbnRyb2xsZXJDb2NvYS5tbQppbmRleCA3
NDk4YmE0ZTFiZTgzYmM4MmYyY2NkY2FjMzc4NjI3YmZlODA4NGRjLi5jNDg4NzdhMzJjMDc1Njlj
ODBhM2NmZWJlY2QwMzI1Nzk1ZmE1ODFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9TeXN0ZW1QcmV2aWV3Q29udHJvbGxlckNvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1N5c3RlbVByZXZpZXdDb250cm9sbGVyQ29jb2EubW0KQEAg
LTI5LDYgKzI5LDcgQEAKICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCiAKICNpbXBvcnQgIkFQSVVJ
Q2xpZW50LmgiCisjaW1wb3J0ICJVVElNYXBwaW5ncy5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5
LmgiCiAjaW1wb3J0IDxNb2JpbGVDb3JlU2VydmljZXMvTW9iaWxlQ29yZVNlcnZpY2VzLmg+CiAj
aW1wb3J0IDxRdWlja0xvb2svUXVpY2tMb29rLmg+CkBAIC04MSw5ICs4Miw3IEBACiAgICAgX2l0
ZW1Qcm92aWRlciA9IGFkb3B0TlMoW1tOU0l0ZW1Qcm92aWRlciBhbGxvY10gaW5pdF0pOwogICAg
IC8vIEZJWE1FOiBXZSBhcmUgbGF1bmNoaW5nIHRoZSBwcmV2aWV3IGNvbnRyb2xsZXIgYmVmb3Jl
IGdldHRpbmcgYSByZXNwb25zZSBmcm9tIHRoZSByZXNvdXJjZSwgd2hpY2gKICAgICAvLyBtZWFu
cyB3ZSBkb24ndCBhY3R1YWxseSBrbm93IHRoZSByZWFsIE1JTUUgdHlwZSB5ZXQuCi0gICAgLy8g
RklYTUU6IEF0IHRoZSBtb21lbnQgd2Ugb25seSBoYXZlIG9uZSBzdXBwb3J0ZWQgVVRJLCBidXQg
aWYgd2Ugc3RhcnQgc3VwcG9ydGluZyBtb3JlIHR5cGVzLAotICAgIC8vIHRoZW4gd2UnbGwgbmVl
ZCBhIHRhYmxlLgotICAgIHN0YXRpYyBOU1N0cmluZyAqY29udGVudFR5cGUgPSAoX19icmlkZ2Ug
TlNTdHJpbmcgKikgVVRUeXBlQ3JlYXRlUHJlZmVycmVkSWRlbnRpZmllckZvclRhZyhrVVRUYWdD
bGFzc0ZpbGVuYW1lRXh0ZW5zaW9uLCBDRlNUUigidXNkeiIpLCBuaWwpOworICAgIE5TU3RyaW5n
ICpjb250ZW50VHlwZSA9IFVUSWZvck1JTUVUeXBlKCJtb2RlbC92bmQudXNkeit6aXAiX3MpOwog
CiAgICAgX2l0ZW0gPSBhZG9wdE5TKFtQQUw6OmFsbG9jUUxJdGVtSW5zdGFuY2UoKSBpbml0V2l0
aFByZXZpZXdJdGVtUHJvdmlkZXI6X2l0ZW1Qcm92aWRlci5nZXQoKSBjb250ZW50VHlwZTpjb250
ZW50VHlwZSBwcmV2aWV3VGl0bGU6QCJQcmV2aWV3IiBmaWxlU2l6ZTpAKDApXSk7CiAgICAgW19p
dGVtIHNldFVzZUxvYWRpbmdUaW1lb3V0Ok5PXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS1N5c3RlbVByZXZpZXdWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcubW0KaW5kZXggN2FkMmFkNTkzZWFiNzViNTc3
NTFmMjhjZTgyNTk3YTM5YWFhOGM2Yy4uODVkOGVkMzc1YzA4ZmVmYmZkYmY0ZDFiZWEwN2RjZTQy
ZDc2NmY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3lzdGVt
UHJldmlld1ZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3lzdGVt
UHJldmlld1ZpZXcubW0KQEAgLTMwLDYgKzMwLDcgQEAKIAogI2ltcG9ydCAiQVBJRmluZENsaWVu
dC5oIgogI2ltcG9ydCAiQVBJVUlDbGllbnQuaCIKKyNpbXBvcnQgIlVUSU1hcHBpbmdzLmgiCiAj
aW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAj
aW1wb3J0IDxNb2JpbGVDb3JlU2VydmljZXMvTW9iaWxlQ29yZVNlcnZpY2VzLmg+CkBAIC00NSwx
NiArNDYsMTIgQEAKIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SSyhBc3NldFZpZXdlcik7CiBT
T0ZUX0xJTktfQ0xBU1MoQXNzZXRWaWV3ZXIsIEFTVlRodW1ibmFpbFZpZXcpOwogCi0vLyBGSVhN
RTogQXQgdGhlIG1vbWVudCB3ZSBvbmx5IGhhdmUgb25lIHN1cHBvcnRlZCBVVEksIGJ1dAotLy8g
aWYgd2Ugc3RhcnQgc3VwcG9ydGluZyBtb3JlIHR5cGVzLCB0aGVuIHdlJ2xsIG5lZWQgYSB0YWJs
ZS4KIHN0YXRpYyBOU1N0cmluZyAqZ2V0VVRJRm9yU3lzdGVtUHJldmlld01JTUVUeXBlKGNvbnN0
IFN0cmluZyYgbWltZVR5cGUpCiB7Ci0gICAgc3RhdGljIE5TU3RyaW5nICp1dGkgPSAoX19icmlk
Z2UgTlNTdHJpbmcgKikgVVRUeXBlQ3JlYXRlUHJlZmVycmVkSWRlbnRpZmllckZvclRhZyhrVVRU
YWdDbGFzc0ZpbGVuYW1lRXh0ZW5zaW9uLCBDRlNUUigidXNkeiIpLCBuaWwpOwotCiAgICAgaWYg
KCFXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N5c3RlbVByZXZpZXdNSU1FVHlwZShtaW1l
VHlwZSkpCiAgICAgICAgIHJldHVybiBuaWw7CiAKLSAgICByZXR1cm4gdXRpOworICAgIHJldHVy
biBVVElmb3JNSU1FVHlwZShtaW1lVHlwZSk7CiB9CiAKIEBpbnRlcmZhY2UgV0tTeXN0ZW1QcmV2
aWV3VmlldyAoKSA8QVNWVGh1bWJuYWlsVmlld0RlbGVnYXRlPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTUzMGIzOGNhZjdiMmQxZWQ5
MjFjOTQ3N2UzYjc3ZDE4OTYzMWQyNC4uM2M1MTM2MGMzOTc5MGQ4ZGQ1MjJmYjczOTY5YjcwNzYz
N2Y4ODQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC03NjEsNiArNzYxLDcgQEAKIAkJMzE3RkU3Q0YxQzQ4N0RCRDAwQTBDQTg5IC8q
IF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxN0ZFN0M3MUM0ODdEOUQwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50
YWxGZWF0dXJlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMzE4QkUxNzExNDc0M0RCMTAwQThGQkIyIC8qIFdLTm90aWZpY2F0aW9uTWFuYWdlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE4QkUxNzAx
NDc0M0RCMTAwQThGQkIyIC8qIFdLTm90aWZpY2F0aW9uTWFuYWdlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxOEJFMTc5MTQ3NDNFNkYwMEE4
RkJCMiAvKiBXS05vdGlmaWNhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzE4QkUxNzgxNDc0M0U2QTAwQThGQkIyIC8qIFdLTm90aWZpY2F0aW9u
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzE5
ODVEQzAyMjVGQzM2MTAwMEVGMDIyIC8qIFVUSU1hcHBpbmdzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTk4NURCRTIyNUZDMzYxMDAwRUYwMjIgLyog
VVRJTWFwcGluZ3MuaCAqLzsgfTsKIAkJMzFBMkVDNDkxNDg5OTdDMjAwODEwRDcxIC8qIFdlYk5v
dGlmaWNhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzFBMkVDNDIxNDg5OTdCRTAwODEwRDcxIC8qIFdlYk5vdGlmaWNhdGlvbi5oICovOyB9Owog
CQkzMUEyRUM0QjE0ODk5N0MyMDA4MTBENzEgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUEyRUM0
NDE0ODk5N0JGMDA4MTBENzEgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmggKi87IH07
CiAJCTMxQTJFQzRFMTQ4OTk3QzIwMDgxMEQ3MSAvKiBXZWJOb3RpZmljYXRpb25Qcm92aWRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBMkVDNDcx
NDg5OTdDMTAwODEwRDcxIC8qIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmggKi87IH07CkBAIC0y
ODc1LDYgKzI4NzYsOCBAQAogCQkzMThCRTE3NDE0NzQzREQ2MDBBOEZCQjIgLyogV0tOb3RpZmlj
YXRpb25NYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdL
Tm90aWZpY2F0aW9uTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMx
OEJFMTc2MTQ3NDNFNjAwMEE4RkJCMiAvKiBXS05vdGlmaWNhdGlvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS05vdGlmaWNhdGlvbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTMxOEJFMTc4MTQ3NDNFNkEwMEE4RkJCMiAvKiBXS05vdGlmaWNh
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS05vdGlmaWNhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMTk4NURCRTIyNUZDMzYxMDAwRUYwMjIgLyogVVRJTWFwcGluZ3MuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gVVRJTWFwcGluZ3MuaDsgcGF0aCA9IGlvcy9VVElNYXBwaW5ncy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTk4NURCRjIyNUZDMzYxMDAwRUYwMjIgLyog
VVRJTWFwcGluZ3MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBVVElNYXBwaW5ncy5tbTsgcGF0
aCA9IGlvcy9VVElNYXBwaW5ncy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFB
MkVDNDExNDg5OTdCRTAwODEwRDcxIC8qIFdlYk5vdGlmaWNhdGlvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJOb3RpZmljYXRpb24uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkzMUEyRUM0MjE0ODk5N0JFMDA4MTBENzEgLyogV2ViTm90aWZp
Y2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlv
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUEyRUM0MzE0ODk5N0JFMDA4MTBE
NzEgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01MjM1LDkgKzUyMzgsOSBAQAogCQkJCTVDOEREMzgx
MUZFNDU1Q0EwMEYyQTU1NiAvKiBXZWJzaXRlQXV0b3BsYXlRdWlyay5oICovLAogCQkJCTUxMUY3
RDNGMUVCMUJDRUUwMEU0N0I4MyAvKiBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5jcHAgKi8s
CiAJCQkJNTExRjdENDAxRUIxQkNFRTAwRTQ3QjgzIC8qIFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0
ZXJzLmggKi8sCisJCQkJRjQzMEU5NDEyMjQ3MzJBOTAwNUZFMDUzIC8qIFdlYnNpdGVNZXRhVmll
d3BvcnRQb2xpY3kuaCAqLywKIAkJCQk1QzNBRUE4RTFGRTFGMURGMDAyMzE4RDMgLyogV2Vic2l0
ZVBvbGljaWVzRGF0YS5jcHAgKi8sCiAJCQkJNUMxMzAyNEExRkUzNDFBNzAwMEQ5QjMxIC8qIFdl
YnNpdGVQb2xpY2llc0RhdGEuaCAqLywKLQkJCQlGNDMwRTk0MTIyNDczMkE5MDA1RkUwNTMgLyog
V2Vic2l0ZU1ldGFWaWV3cG9ydFBvbGljeS5oICovLAogCQkJCTBFREU4NTAyMjAwNEU3NDkwMDAz
MDU2MCAvKiBXZWJzaXRlUG9wVXBQb2xpY3kuaCAqLywKIAkJCQk4MzYwMzQ5RDFBQ0IzNEQ2MDA2
MjY1NDkgLyogV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcCAqLywKIAkJCQk4MzYwMzQ5RTFB
Q0IzNEQ2MDA2MjY1NDkgLyogV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmggKi8sCkBAIC01ODc1
LDYgKzU4NzgsOCBAQAogCQkJCTJEQTk0NDk4MTg4NEU0RjAwMEVEODZEQiAvKiBOYXRpdmVXZWJU
b3VjaEV2ZW50SU9TLm1tICovLAogCQkJCUExMThBOUVDMTkwN0FENkYwMEY3QzkyQiAvKiBRdWlj
a0xvb2tEb2N1bWVudERhdGEuY3BwICovLAogCQkJCUExMThBOUVEMTkwN0FENkYwMEY3QzkyQiAv
KiBRdWlja0xvb2tEb2N1bWVudERhdGEuaCAqLywKKwkJCQkzMTk4NURCRTIyNUZDMzYxMDAwRUYw
MjIgLyogVVRJTWFwcGluZ3MuaCAqLywKKwkJCQkzMTk4NURCRjIyNUZDMzYxMDAwRUYwMjIgLyog
VVRJTWFwcGluZ3MubW0gKi8sCiAJCQkJRjQwRDFCNjgyMjBCREMwRjAwQjQ5QTAxIC8qIFdlYkF1
dG9jb3JyZWN0aW9uQ29udGV4dC5oICovLAogCQkJCUY0NERGRUIwMUU5RTc1MkYwMDM4RDE5NiAv
KiBXZWJJY29uVXRpbGl0aWVzLmggKi8sCiAJCQkJRjQ0REZFQjExRTlFNzUyRjAwMzhEMTk2IC8q
IFdlYkljb25VdGlsaXRpZXMubW0gKi8sCkBAIC05NTEwLDYgKzk1MTUsNyBAQAogCQkJCTRBM0ND
MThCMTlCMDY0MEYwMEQxNEFFRiAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEEzQ0MxOEQxOUIwNjQxOTAwRDE0QUVGIC8qIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3NEU3
NUZFMURGMjIxMTkwMEQzMThFQyAvKiBVc2VyTWVkaWFQcm9jZXNzTWFuYWdlci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMzE5ODVEQzAyMjVGQzM2MTAwMEVGMDIyIC8qIFVUSU1hcHBpbmdzLmggaW4g
SGVhZGVycyAqLywKIAkJCQlFNEU4NjQ5MzFCMTY3NTA3MDBDODJGNDAgLyogVmVyc2lvbkNoZWNr
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTJENUExQjAxQzU3NDk1QTAwREUzNEEzIC8qIFZpZGVv
RnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQxMjVDNUUxODU3
RUEwNTAwM0JBM0NCIC8qIFZpZXdHZXN0dXJlQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCkBA
IC05NzA5LDYgKzk3MTUsNyBAQAogCQkJCTFBNDgzMkQxMUE5QkRDMkYwMDhCNERGRSAvKiBXZWJz
aXRlRGF0YVJlY29yZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1M0MyQUExQTMyNTczMDAwNEU4
QzcwIC8qIFdlYnNpdGVEYXRhU3RvcmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMUY3RDQxMUVC
MUJDRjUwMEU0N0I4MyAvKiBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJRjQzMEU5NDIyMjQ3MzM1RjAwNUZFMDUzIC8qIFdlYnNpdGVNZXRhVmlld3BvcnRQ
b2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTBFREU4NTAzMjAwNEU3NUQwMDAzMDU2MCAvKiBX
ZWJzaXRlUG9wVXBQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUMxNDkzODA5MjIzNDcxMDQw
MDBDRDcwNyAvKiBXZWJTcGVlY2hTeW50aGVzaXNDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTgzNjAzNEEwMUFDQjM0RDYwMDYyNjU0OSAvKiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaCBp
biBIZWFkZXJzICovLApAQCAtOTgzNCw3ICs5ODQxLDYgQEAKIAkJCQlCQzQwNzVGODEyNEZGMDI3
MDA2OEYyMEEgLyogV0tEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0E3MDlBNzFFM0VBMEZE
MDBDQTU5NjkgLyogV0tEYXRhRGV0ZWN0b3JUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzdB
NzA5QTkxRTNFQTQwQzAwQ0E1OTY5IC8qIFdLRGF0YURldGVjdG9yVHlwZXNJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJRjQzMEU5NDIyMjQ3MzM1RjAwNUZFMDUzIC8qIFdlYnNpdGVNZXRh
Vmlld3BvcnRQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFOTRGQzE2MjAzNTFBNkQwMDk3
NEJBMCAvKiBXS0RhdGVQaWNrZXJWaWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Mzc3RUFENDUxN0UyQzUxQTAwMkQxOTNEIC8qIFdLRGVjbGFyYXRpb25TcGVjaWZpZXJzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1QzM1OUMwRDIxNTQ3MzlGMDA5RTc5NDggLyogV0tEZXByZWNhdGVk
LmggaW4gSGVhZGVycyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367247</attachid>
            <date>2019-04-11 15:04:39 -0700</date>
            <delta_ts>2019-04-11 15:20:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196822-20190411150438.patch</filename>
            <type>text/plain</type>
            <size>7866</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGI1MDczNzNjOGM0ZWEw
ZjcyMzJlYzFjMzBmN2U0NmY3ZTEwYzdiZi4uZWY1ZWE5NWVmODA5MGRkMjUyM2Y0ZjJhMDljNmQw
ZTFmYzgxOWM3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE5LTA0LTExICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBFeHRyYWN0IFVUSSBtYXBwaW5n
IGFuZCBhbGxvdyBmb3IgYWRkaXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTY4MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5ODIyMzM5
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBh
biBBRERJVElPTkFMX1NZU1RFTV9QUkVWSUVXX1RZUEVTIG1hY3JvIHRvIHRoZSBsaXN0CisgICAg
ICAgIG9mIGFjY2VwdGVkIE1JTUUgdHlwZXMuIEFuZCBhZGQgYSBuZXcgaGVscGVyIHRvIG1hcAor
ICAgICAgICBNSU1FIHR5cGVzIHRvIFVUSSB0eXBlcyB3aGVuIHRoZSBzeXN0ZW0gd2FzIHVuYWJs
ZSB0bworICAgICAgICBmaW5kIGFuIGV4aXN0aW5nIHR5cGUuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0
cnk6OnN5c3RlbVByZXZpZXdNSU1FVHlwZXMpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
bWFjL1VUSVV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlVUSUZyb21Vbmtub3duTUlN
RVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3k6OmNy
ZWF0ZVZhbHVlRm9yS2V5KToKKwogMjAxOS0wNC0xMCAgSnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgR1BVXSBJbmRleGVkIGRyYXdpbmcgYW5kIEdQVUNv
bW1hbmRFbmNvZGVyIGNyYXNoIHByZXZlbnRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZWMzMmFhMDRjMDI1Y2Ni
Yzk0NzFiNTdkMDEyNjY2ZWQ4Y2QwNmE0MS4uZTZmMDJhZjE3YWNmMjJlMjk1OTk2MDMzZDZkM2Zj
MDk4NWIyYTMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0wNC0xMSAgRGVhbiBK
YWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgRXh0cmFjdCBVVEkgbWFwcGluZyBh
bmQgYWxsb3cgZm9yIGFkZGl0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk2ODIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80OTgyMjMzOT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgdGhl
IG5ldyBoZWxwZXIgdG8gbWFwIE1JTUUgdHlwZSB0byBVVEkuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvU3lzdGVtUHJldmlld0NvbnRyb2xsZXJDb2NvYS5tbToKKyAgICAgICAgKC1bX1dL
UHJldmlld0NvbnRyb2xsZXJEYXRhU291cmNlIHByZXZpZXdDb250cm9sbGVyOnByZXZpZXdJdGVt
QXRJbmRleDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcu
bW06CisgICAgICAgIChnZXRVVElGb3JTeXN0ZW1QcmV2aWV3TUlNRVR5cGUpOgorCisKIDIwMTkt
MDQtMTAgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQg
cnVuSmF2YVNjcmlwdEluRnJhbWUgZm9yIFdlYlBhZ2VQcm94eS9XZWJQYWdlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCmluZGV4IDZjYWUxNGFhNGJjZmNk
YTUwNTNkOGU2NzhhNDkwNGIwNzdkODM4YTkuLmEwNGZlYWM5NjdiYmVkODljMGFkMjI4OTkyOWY5
NzA1MjZkOGVmYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBl
UmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0
cnkuY3BwCkBAIC01Nyw2ICs1NywxMiBAQAogI2luY2x1ZGUgIlByZXZpZXdDb252ZXJ0ZXIuaCIK
ICNlbmRpZgogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxXZWJLaXRB
ZGRpdGlvbnMvQWRkaXRpb25hbFN5c3RlbVByZXZpZXdUeXBlcy5oPgorI2Vsc2UKKyNkZWZpbmUg
QURESVRJT05BTF9TWVNURU1fUFJFVklFV19UWVBFUworI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY29uc3QgSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4m
IE1JTUVUeXBlUmVnaXN0cnk6OnN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKCkKQEAgLTY3MSw3ICs2
NzcsOCBAQCBjb25zdCBIYXNoU2V0PFN0cmluZywgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiYg
TUlNRVR5cGVSZWdpc3RyeTo6c3lzdGVtUHJldmlldwogICAgICAgICAibW9kZWwvdm5kLnVzZHor
emlwIiwKICAgICAgICAgLy8gVW5vZmZpY2lhbCwgYnV0IHN1cHBvcnRlZCBiZWNhdXNlIHdlIGRv
Y3VtZW50ZWQgdGhlbS4KICAgICAgICAgIm1vZGVsL3VzZCIsCi0gICAgICAgICJtb2RlbC92bmQu
cGl4YXIudXNkIgorICAgICAgICAibW9kZWwvdm5kLnBpeGFyLnVzZCIsCisgICAgICAgIEFERElU
SU9OQUxfU1lTVEVNX1BSRVZJRVdfVFlQRVMKICAgICB9OwogICAgIHJldHVybiBzeXN0ZW1QcmV2
aWV3TUlNRVR5cGVzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvVVRJVXRpbGl0aWVzLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvVVRJVXRpbGl0aWVzLm1tCmluZGV4IDJlMzYxY2U3NmJjMzdkZGI0NTZiYzQ2ZWI1NGJl
ZjNjYjdjZjNiNDkuLmEwODVlYzUxNTFkY2JlMzdiMGE3ZTg5MzIyZGVkNDI0YWVmNTE4ZDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGll
cy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRp
ZXMubW0KQEAgLTMzLDYgKzMzLDEyIEBACiAjaW1wb3J0IDxNb2JpbGVDb3JlU2VydmljZXMvTW9i
aWxlQ29yZVNlcnZpY2VzLmg+CiAjZW5kaWYKIAorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
CisjaW1wb3J0IDxXZWJLaXRBZGRpdGlvbnMvQWRkaXRpb25hbFVUSU1hcHBpbmdzLmg+CisjZWxz
ZQorI2RlZmluZSBBRERJVElPTkFMX1VUSV9NQVBQSU5HUworI2VuZGlmCisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogU3RyaW5nIE1JTUVUeXBlRnJvbVVUSShjb25zdCBTdHJpbmcmIHV0aSkKQEAg
LTc4LDExICs4NCw0MiBAQCBTdHJpbmcgTUlNRVR5cGVGcm9tVVRJVHJlZShjb25zdCBTdHJpbmcm
IHV0aSkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK3N0YXRpYyBTdHJpbmcgVVRJRnJvbVVu
a25vd25NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQoreworICAgIHN0YXRpYyBjb25z
dCBhdXRvIG1hcCA9IG1ha2VOZXZlckRlc3Ryb3llZChbXSB7CisgICAgICAgIHN0cnVjdCBUeXBl
RXh0ZW5zaW9uUGFpciB7CisgICAgICAgICAgICBBU0NJSUxpdGVyYWwgdHlwZTsKKyAgICAgICAg
ICAgIEFTQ0lJTGl0ZXJhbCBleHRlbnNpb247CisgICAgICAgIH07CisKKyAgICAgICAgc3RhdGlj
IGNvbnN0IFR5cGVFeHRlbnNpb25QYWlyIHBhaXJzW10gPSB7CisgICAgICAgICAgICB7ICJtb2Rl
bC92bmQudXNkeit6aXAiX3MsICJ1c2R6Il9zIH0sCisgICAgICAgICAgICB7ICJtb2RlbC91c2Qi
X3MsICJ1c2R6Il9zIH0sCisgICAgICAgICAgICB7ICJtb2RlbC92bmQucGl4YXIudXNkIl9zLCAi
dXNkeiJfcyB9LAorICAgICAgICAgICAgQURESVRJT05BTF9VVElfTUFQUElOR1MKKyAgICAgICAg
fTsKKworICAgICAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2
ZUhhc2g+IG1hcDsKKyAgICAgICAgZm9yIChhdXRvJiBwYWlyIDogcGFpcnMpCisgICAgICAgICAg
ICBtYXAuYWRkKHBhaXIudHlwZSwgcGFpci5leHRlbnNpb24pOworICAgICAgICByZXR1cm4gbWFw
OworICAgIH0oKSk7CisKKyAgICBhdXRvIG1hcEVudHJ5ID0gbWFwLmdldCgpLmZpbmQobWltZVR5
cGUpOworICAgIGlmIChtYXBFbnRyeSA9PSBtYXAuZ2V0KCkuZW5kKCkpCisgICAgICAgIHJldHVy
biBlbXB0eVN0cmluZygpOworCisgICAgcmV0dXJuIFN0cmluZyhhZG9wdENGKFVUVHlwZUNyZWF0
ZVByZWZlcnJlZElkZW50aWZpZXJGb3JUYWcoa1VUVGFnQ2xhc3NGaWxlbmFtZUV4dGVuc2lvbiwg
bWFwRW50cnktPnZhbHVlLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIG5pbCkpLmdldCgpKTsKK30K
Kwogc3RydWN0IFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5IDogVGlueUxSVUNhY2hlUG9saWN5
PFN0cmluZywgU3RyaW5nPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFN0cmluZyBjcmVhdGVWYWx1
ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSkKICAgICB7Ci0gICAgICAgIHJldHVybiBTdHJpbmco
YWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9yVGFnKGtVVFRhZ0NsYXNz
TUlNRVR5cGUsIGtleS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCAwKSkuZ2V0KCkpOworICAgICAg
ICBhdXRvIHR5cGUgPSBhZG9wdENGKFVUVHlwZUNyZWF0ZVByZWZlcnJlZElkZW50aWZpZXJGb3JU
YWcoa1VUVGFnQ2xhc3NNSU1FVHlwZSwga2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIDApKTsK
KyAgICAgICAgaWYgKHR5cGUpCisgICAgICAgICAgICByZXR1cm4gU3RyaW5nKHR5cGUuZ2V0KCkp
OworICAgICAgICByZXR1cm4gVVRJRnJvbVVua25vd25NSU1FVHlwZShrZXkpOwogICAgIH0KIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1N5c3RlbVByZXZp
ZXdDb250cm9sbGVyQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9TeXN0
ZW1QcmV2aWV3Q29udHJvbGxlckNvY29hLm1tCmluZGV4IDc0OThiYTRlMWJlODNiYzgyZjJjY2Rj
YWMzNzg2MjdiZmU4MDg0ZGMuLjU4ODM0ZTkwNjg4NTRiYWVjOTQ5N2VkZjE3YWFjMThiM2JiMmQ5
OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1N5c3RlbVByZXZp
ZXdDb250cm9sbGVyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
U3lzdGVtUHJldmlld0NvbnRyb2xsZXJDb2NvYS5tbQpAQCAtMzQsNiArMzQsNyBAQAogI2ltcG9y
dCA8UXVpY2tMb29rL1F1aWNrTG9vay5oPgogI2ltcG9ydCA8VUlLaXQvVUlWaWV3Q29udHJvbGxl
ci5oPgogI2ltcG9ydCA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CisjaW1wb3J0IDxXZWJD
b3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8cGFsL2lvcy9RdWlja0xvb2tTb2Z0TGluay5o
PgogI2ltcG9ydCA8cGFsL3NwaS9pb3MvUXVpY2tMb29rU1BJLmg+CiAjaW1wb3J0IDx3dGYvV2Vh
a09iakNQdHIuaD4KQEAgLTgxLDkgKzgyLDcgQEAKICAgICBfaXRlbVByb3ZpZGVyID0gYWRvcHRO
UyhbW05TSXRlbVByb3ZpZGVyIGFsbG9jXSBpbml0XSk7CiAgICAgLy8gRklYTUU6IFdlIGFyZSBs
YXVuY2hpbmcgdGhlIHByZXZpZXcgY29udHJvbGxlciBiZWZvcmUgZ2V0dGluZyBhIHJlc3BvbnNl
IGZyb20gdGhlIHJlc291cmNlLCB3aGljaAogICAgIC8vIG1lYW5zIHdlIGRvbid0IGFjdHVhbGx5
IGtub3cgdGhlIHJlYWwgTUlNRSB0eXBlIHlldC4KLSAgICAvLyBGSVhNRTogQXQgdGhlIG1vbWVu
dCB3ZSBvbmx5IGhhdmUgb25lIHN1cHBvcnRlZCBVVEksIGJ1dCBpZiB3ZSBzdGFydCBzdXBwb3J0
aW5nIG1vcmUgdHlwZXMsCi0gICAgLy8gdGhlbiB3ZSdsbCBuZWVkIGEgdGFibGUuCi0gICAgc3Rh
dGljIE5TU3RyaW5nICpjb250ZW50VHlwZSA9IChfX2JyaWRnZSBOU1N0cmluZyAqKSBVVFR5cGVD
cmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9yVGFnKGtVVFRhZ0NsYXNzRmlsZW5hbWVFeHRlbnNp
b24sIENGU1RSKCJ1c2R6IiksIG5pbCk7CisgICAgTlNTdHJpbmcgKmNvbnRlbnRUeXBlID0gV2Vi
Q29yZTo6VVRJRnJvbU1JTUVUeXBlKCJtb2RlbC92bmQudXNkeit6aXAiX3MpOwogCiAgICAgX2l0
ZW0gPSBhZG9wdE5TKFtQQUw6OmFsbG9jUUxJdGVtSW5zdGFuY2UoKSBpbml0V2l0aFByZXZpZXdJ
dGVtUHJvdmlkZXI6X2l0ZW1Qcm92aWRlci5nZXQoKSBjb250ZW50VHlwZTpjb250ZW50VHlwZSBw
cmV2aWV3VGl0bGU6QCJQcmV2aWV3IiBmaWxlU2l6ZTpAKDApXSk7CiAgICAgW19pdGVtIHNldFVz
ZUxvYWRpbmdUaW1lb3V0Ok5PXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS1N5c3RlbVByZXZpZXdWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLU3lzdGVtUHJldmlld1ZpZXcubW0KaW5kZXggN2FkMmFkNTkzZWFiNzViNTc3NTFmMjhjZTgy
NTk3YTM5YWFhOGM2Yy4uYmEyZTZkYTAxMWYzNzg1MWMyMTI2ZDdhNDBlYzNiNTU0N2FhYmY5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1Zp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1Zp
ZXcubW0KQEAgLTM2LDYgKzM2LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvTUlN
RVR5cGVSZWdpc3RyeS5oPgorI2ltcG9ydCA8V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4KICNpbXBv
cnQgPHBhbC9pb3MvUXVpY2tMb29rU29mdExpbmsuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2cvQ29y
ZUdyYXBoaWNzU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2lvcy9TeXN0ZW1QcmV2aWV3U1BJLmg+
CkBAIC00NSwxNiArNDYsMTIgQEAKIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SSyhBc3NldFZp
ZXdlcik7CiBTT0ZUX0xJTktfQ0xBU1MoQXNzZXRWaWV3ZXIsIEFTVlRodW1ibmFpbFZpZXcpOwog
Ci0vLyBGSVhNRTogQXQgdGhlIG1vbWVudCB3ZSBvbmx5IGhhdmUgb25lIHN1cHBvcnRlZCBVVEks
IGJ1dAotLy8gaWYgd2Ugc3RhcnQgc3VwcG9ydGluZyBtb3JlIHR5cGVzLCB0aGVuIHdlJ2xsIG5l
ZWQgYSB0YWJsZS4KIHN0YXRpYyBOU1N0cmluZyAqZ2V0VVRJRm9yU3lzdGVtUHJldmlld01JTUVU
eXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiB7Ci0gICAgc3RhdGljIE5TU3RyaW5nICp1dGkg
PSAoX19icmlkZ2UgTlNTdHJpbmcgKikgVVRUeXBlQ3JlYXRlUHJlZmVycmVkSWRlbnRpZmllckZv
clRhZyhrVVRUYWdDbGFzc0ZpbGVuYW1lRXh0ZW5zaW9uLCBDRlNUUigidXNkeiIpLCBuaWwpOwot
CiAgICAgaWYgKCFXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N5c3RlbVByZXZpZXdNSU1F
VHlwZShtaW1lVHlwZSkpCiAgICAgICAgIHJldHVybiBuaWw7CiAKLSAgICByZXR1cm4gdXRpOwor
ICAgIHJldHVybiBXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpOwogfQogCiBAaW50
ZXJmYWNlIFdLU3lzdGVtUHJldmlld1ZpZXcgKCkgPEFTVlRodW1ibmFpbFZpZXdEZWxlZ2F0ZT4K
</data>
<flag name="review"
          id="383600"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>