<?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>146922</bug_id>
          
          <creation_ts>2015-07-13 16:38:23 -0700</creation_ts>
          <short_desc>[Win] Update Media Player Private for new Legible Output API</short_desc>
          <delta_ts>2015-07-13 18:12:19 -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>Media</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="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1109279</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-13 16:38:23 -0700</bug_when>
    <thetext>Update the Windows port to use the newer Legible Output API if it is available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109280</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-13 16:38:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/20542574&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109282</commentid>
    <comment_count>2</comment_count>
      <attachid>256745</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-13 16:45:56 -0700</bug_when>
    <thetext>Created attachment 256745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109289</commentid>
    <comment_count>3</comment_count>
      <attachid>256747</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-13 17:17:48 -0700</bug_when>
    <thetext>Created attachment 256747
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109290</commentid>
    <comment_count>4</comment_count>
      <attachid>256748</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-13 17:31:57 -0700</bug_when>
    <thetext>Created attachment 256748
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109301</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-13 18:12:19 -0700</bug_when>
    <thetext>Committed r186798: &lt;http://trac.webkit.org/changeset/186798&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256745</attachid>
            <date>2015-07-13 16:45:56 -0700</date>
            <delta_ts>2015-07-13 17:17:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146922-20150713165824.patch</filename>
            <type>text/plain</type>
            <size>16438</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4Njc5NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE1LTA3LTEzICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIFVwZGF0ZSBNZWRp
YSBQbGF5ZXIgbG9naWMgZm9yIG5ldyBMZWdpYmxlIE91dHB1dCBBUEkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjkyMgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjA1NDI1NzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBBVkZvdW5kYXRpb25TdXBwb3J0LnB5OiBDaGVjayBmb3IgdXBkYXRlZCBB
VkZDRiBmZWF0dXJlLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9J
bmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluYmFuZFRl
eHRUcmFja1ByaXZhdGVBVkY6OnByb2Nlc3NOYXRpdmVTYW1wbGVzKTogVXBkYXRlIHRvIGNhbGwg
dGhlCisgICAgICAgIG5ldyAncmVhZE5hdGl2ZVNhbXBsZUJ1ZmZlcicgbWV0aG9kLgorICAgICAg
ICAoV2ViQ29yZTo6SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cmVhZE5hdGl2ZVNhbXBsZUJ1
ZmZlcik6IEFkZGVkLiBUaGlzIGlzIGEgbm8tb3AKKyAgICAgICAgb24gV2luZG93cyBpZiBpdCBo
YXMgdGhlIG5ldyBBVkNGIEFQSS4gT3RoZXJ3aXNlLCBpdCBjb250YWlucyB0aGUgc2FtZSBpbXBs
ZW1lbnRhdGlvbgorICAgICAgICB0aGF0IGhhcyBhbHdheXMgYmVlbiB1c2VkIGluICdwcm9jZXNz
TmF0aXZlU2FtcGxlcycuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0YuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0Y6OnJlYWROYXRpdmVTYW1wbGVC
dWZmZXIpOiBBZGRlZC4gVXNlIHRoZSBuZXcKKyAgICAgICAgTGVnaWJsZSBPdXRwdXQgQVBJIGlu
c3RlYWQgb2YgdGhlIG9sZCBDb3JlTWVkaWEgc29sdXRpb24gaWYgaXQgaXMgYXZhaWxhYmxlLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJh
Y2tQcml2YXRlQVZDRi5oOgorICAgICAgICAoV2ViQ29yZTo6SW5iYW5kVGV4dFRyYWNrUHJpdmF0
ZUFWQ0Y6Om1lZGlhU2VsZWN0aW9uT3B0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWQ0YuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWQ0Y6OnJlYWRO
YXRpdmVTYW1wbGVCdWZmZXIpOiBBZGQgYSBzdHViIGltcGxlbWVudGF0aW9uLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJhY2tQcml2YXRl
TGVnYWN5QVZDRi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9j
Zi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBVkZXcmFwcGVyOjpjcmVhdGVQbGF5ZXJJdGVtKTogVXNlIHRoZSBuZXcgTGVnaWJsZSBPdXRw
dXQgQVBJIGlmIGl0IGlzIGF2YWlsYWJsZS4KKwogMjAxNS0wNy0xMyAgTWF0dCBSYWpjYSAgPG1y
YWpjYUBhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWEgU2Vzc2lvbjogYWRkIHBsdW1iaW5nIGZv
ciBkZWxpdmVyaW5nIHN0YXJ0L2VuZC1vZi1pbnRlcnJ1cHRpb24gZXZlbnRzCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9BVkZvdW5kYXRpb25TdXBwb3J0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL0FWRm91bmRhdGlvblN1cHBvcnQucHkJKHJldmlzaW9uIDE4Njc2NikKKysrIFNvdXJj
ZS9XZWJDb3JlL0FWRm91bmRhdGlvblN1cHBvcnQucHkJKHdvcmtpbmcgY29weSkKQEAgLTU3LDMg
KzU3LDcgQEAgaWYgbG9va0ZvcigiL2luY2x1ZGUvUXVhcnR6Q29yZS9DQUNGTGF5ZQogICAgIHJl
Z2V4cCA9IHJlLmNvbXBpbGUoIkNBQ0ZMYXllclNldENvbnRlbnRzU2NhbGUiKQogICAgIGlmIGZp
bGVDb250YWlucygiL2luY2x1ZGUvUXVhcnR6Q29yZS9DQUNGTGF5ZXIuaCIsIHJlZ2V4cCk6CiAg
ICAgICAgIHByaW50ICIjZGVmaW5lIEhBVkVfQ0FDRkxBWUVSX1NFVENPTlRFTlRTU0NBTEUgMSIK
K2lmIGxvb2tGb3IoIi9pbmNsdWRlL0FWRm91bmRhdGlvbkNGL0FWQ0ZQbGF5ZXJJdGVtTGVnaWJs
ZU91dHB1dC5oIik6CisgICAgcmVnZXhwID0gcmUuY29tcGlsZSgia0FWQ0ZQbGF5ZXJJdGVtTGVn
aWJsZU91dHB1dF9DYWxsYmFja3NWZXJzaW9uXzIiKQorICAgIGlmIGZpbGVDb250YWlucygiL2lu
Y2x1ZGUvQVZGb3VuZGF0aW9uQ0YvQVZDRlBsYXllckl0ZW1MZWdpYmxlT3V0cHV0LmgiLCByZWdl
eHApOgorICAgICAgICBwcmludCAiI2RlZmluZSBIQVZFX0FWQ0ZQTEFZRVJJVEVNX0NBTExCQUNL
X1ZFUlNJT05fMiAxIgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9JbmJhbmRUZXh0VHJh
Y2tQcml2YXRlQVZGLmNwcAkocmV2aXNpb24gMTg2NzY2KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00ODksMjkgKzQ4OSwxMSBAQCB2b2lkIEluYmFuZFRleHRUcmFj
a1ByaXZhdGVBVkY6OnByb2Nlc3NOCiAgICAgTE9HKE1lZGlhLCAiSW5iYW5kVGV4dFRyYWNrUHJp
dmF0ZUFWRjo6cHJvY2Vzc05hdGl2ZVNhbXBsZXMgLSAlbGkgc2FtcGxlIGJ1ZmZlcnMgYXQgdGlt
ZSAlLjJmXG4iLCBjb3VudCwgcHJlc2VudGF0aW9uVGltZS50b0RvdWJsZSgpKTsKIAogICAgIGZv
ciAoQ0ZJbmRleCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKLQotICAgICAgICBDTVNhbXBsZUJ1
ZmZlclJlZiBzYW1wbGVCdWZmZXIgPSAoQ01TYW1wbGVCdWZmZXJSZWYpQ0ZBcnJheUdldFZhbHVl
QXRJbmRleChuYXRpdmVTYW1wbGVzLCBpKTsKLSAgICAgICAgaWYgKCFzYW1wbGVCdWZmZXIpCi0g
ICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBDTVNhbXBsZVRpbWluZ0luZm8gdGltaW5n
SW5mbzsKLSAgICAgICAgT1NTdGF0dXMgc3RhdHVzID0gQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVU
aW1pbmdJbmZvKHNhbXBsZUJ1ZmZlciwgaSwgJnRpbWluZ0luZm8pOwotICAgICAgICBpZiAoc3Rh
dHVzKSB7Ci0gICAgICAgICAgICBMT0coTWVkaWEsICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZG
Ojpwcm9jZXNzTmF0aXZlU2FtcGxlcyglcCkgLSBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWlu
Z0luZm8gcmV0dXJuZWQgZXJyb3IgJXggZm9yIHNhbXBsZSAlbGkiLCB0aGlzLCBzdGF0aWNfY2Fz
dDxpbnQ+KHN0YXR1cyksIGkpOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLQot
ICAgICAgICBDTUJsb2NrQnVmZmVyUmVmIGJsb2NrQnVmZmVyID0gQ01TYW1wbGVCdWZmZXJHZXRE
YXRhQnVmZmVyKHNhbXBsZUJ1ZmZlcik7Ci0gICAgICAgIHNpemVfdCBidWZmZXJMZW5ndGggPSBD
TUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aChibG9ja0J1ZmZlcik7Ci0gICAgICAgIGlmIChidWZm
ZXJMZW5ndGggPCBJU09Cb3g6OmJveEhlYWRlclNpemUoKSkgewotICAgICAgICAgICAgTE9HKE1l
ZGlhLCAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cHJvY2Vzc05hdGl2ZVNhbXBsZXMoJXAp
IC0gRVJST1I6IENNU2FtcGxlQnVmZmVyIHNpemUgbGVuZ3RoIHVuZXhwZWN0ZWRseSBzbWFsbCAo
JXp1KSEhIiwgdGhpcywgYnVmZmVyTGVuZ3RoKTsKKyAgICAgICAgUmVmUHRyPEFycmF5QnVmZmVy
PiBidWZmZXI7CisgICAgICAgIE1lZGlhVGltZSBkdXJhdGlvbjsKKyAgICAgICAgQ01Gb3JtYXRE
ZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbjsKKyAgICAgICAgaWYgKCFyZWFkTmF0aXZl
U2FtcGxlQnVmZmVyKG5hdGl2ZVNhbXBsZXMsIGksIGJ1ZmZlciwgZHVyYXRpb24sIGZvcm1hdERl
c2NyaXB0aW9uKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0KLSAgICAgICAg
bV9zYW1wbGVJbnB1dEJ1ZmZlci5yZXNpemUobV9zYW1wbGVJbnB1dEJ1ZmZlci5zaXplKCkgKyBi
dWZmZXJMZW5ndGgpOwotICAgICAgICBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcyhibG9ja0J1
ZmZlciwgMCwgYnVmZmVyTGVuZ3RoLCBtX3NhbXBsZUlucHV0QnVmZmVyLmRhdGEoKSArIG1fc2Ft
cGxlSW5wdXRCdWZmZXIuc2l6ZSgpIC0gYnVmZmVyTGVuZ3RoKTsKLQotICAgICAgICBSZWZQdHI8
QXJyYXlCdWZmZXI+IGJ1ZmZlciA9IEFycmF5QnVmZmVyOjpjcmVhdGUobV9zYW1wbGVJbnB1dEJ1
ZmZlci5kYXRhKCksIG1fc2FtcGxlSW5wdXRCdWZmZXIuc2l6ZSgpKTsKIAogICAgICAgICBTdHJp
bmcgdHlwZSA9IElTT0JveDo6cGVla1R5cGUoYnVmZmVyLmdldCgpKTsKICAgICAgICAgc2l6ZV90
IGJveExlbmd0aCA9IElTT0JveDo6cGVla0xlbmd0aChidWZmZXIuZ2V0KCkpOwpAQCAtNTIzLDcg
KzUwNSw3IEBAIHZvaWQgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cHJvY2Vzc04KICAgICAg
ICAgTE9HKE1lZGlhLCAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cHJvY2Vzc05hdGl2ZVNh
bXBsZXMoJXApIC0gY2h1bmsgdHlwZSA9ICclcycsIHNpemUgPSAlenUiLCB0aGlzLCB0eXBlLnV0
ZjgoKS5kYXRhKCksIGJveExlbmd0aCk7CiAKICAgICAgICAgaWYgKHR5cGUgPT0gSVNPV2ViVlRU
Q3VlOjpib3hUeXBlKCkpIHsKLSAgICAgICAgICAgIElTT1dlYlZUVEN1ZSBjdWVEYXRhID0gSVNP
V2ViVlRUQ3VlKHByZXNlbnRhdGlvblRpbWUsIHRvTWVkaWFUaW1lKHRpbWluZ0luZm8uZHVyYXRp
b24pLCBidWZmZXIuZ2V0KCkpOworICAgICAgICAgICAgSVNPV2ViVlRUQ3VlIGN1ZURhdGEgPSBJ
U09XZWJWVFRDdWUocHJlc2VudGF0aW9uVGltZSwgZHVyYXRpb24sIGJ1ZmZlci5nZXQoKSk7CiAg
ICAgICAgICAgICBMT0coTWVkaWEsICIgICAgc2FtcGxlIHByZXNlbnRhdGlvbiB0aW1lID0gJS4y
ZiwgZHVyYXRpb24gPSAlLjJmIiwgY3VlRGF0YS5wcmVzZW50YXRpb25UaW1lKCkudG9Eb3VibGUo
KSwgY3VlRGF0YS5kdXJhdGlvbigpLnRvRG91YmxlKCkpOwogICAgICAgICAgICAgTE9HKE1lZGlh
LCAiICAgIGlkID0gXCIlc1wiLCBzZXR0aW5ncyA9IFwiJXNcIiwgY3VlIHRleHQgPSBcIiVzXCIi
LCBjdWVEYXRhLmlkKCkudXRmOCgpLmRhdGEoKSwgY3VlRGF0YS5zZXR0aW5ncygpLnV0ZjgoKS5k
YXRhKCksIGN1ZURhdGEuY3VlVGV4dCgpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICAgICAgTE9H
KE1lZGlhLCAiICAgIHNvdXJjZUlEID0gXCIlc1wiLCBvcmlnaW5hbFN0YXJ0VGltZSA9IFwiJXNc
IiIsIGN1ZURhdGEuc291cmNlSUQoKS51dGY4KCkuZGF0YSgpLCBjdWVEYXRhLm9yaWdpbmFsU3Rh
cnRUaW1lKCkudXRmOCgpLmRhdGEoKSk7CkBAIC01MzUsNyArNTE3LDYgQEAgdm9pZCBJbmJhbmRU
ZXh0VHJhY2tQcml2YXRlQVZGOjpwcm9jZXNzTgogICAgICAgICAgICAgaWYgKG1faGF2ZVJlcG9y
dGVkVlRUSGVhZGVyKQogICAgICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgICAgICBDTUZv
cm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0gQ01TYW1wbGVCdWZmZXJHZXRG
b3JtYXREZXNjcmlwdGlvbihzYW1wbGVCdWZmZXIpOwogICAgICAgICAgICAgaWYgKCFmb3JtYXRE
ZXNjcmlwdGlvbikKICAgICAgICAgICAgICAgICBicmVhazsKIApAQCAtNTQ2LDcgKzUyNyw3IEBA
IHZvaWQgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cHJvY2Vzc04KICAgICAgICAgICAgIENG
RGljdGlvbmFyeVJlZiBzYW1wbGVEZXNjcmlwdGlvbkV4dGVuc2lvbnMgPSBzdGF0aWNfY2FzdDxD
RkRpY3Rpb25hcnlSZWY+KENGRGljdGlvbmFyeUdldFZhbHVlKGV4dGVuc2lvbnMsIGtDTUZvcm1h
dERlc2NyaXB0aW9uRXh0ZW5zaW9uX1NhbXBsZURlc2NyaXB0aW9uRXh0ZW5zaW9uQXRvbXMpKTsK
ICAgICAgICAgICAgIGlmICghc2FtcGxlRGVzY3JpcHRpb25FeHRlbnNpb25zKQogICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgCisKICAgICAgICAgICAgIENGRGF0YVJlZiB3ZWJ2
dHRIZWFkZXJEYXRhID0gc3RhdGljX2Nhc3Q8Q0ZEYXRhUmVmPihDRkRpY3Rpb25hcnlHZXRWYWx1
ZShzYW1wbGVEZXNjcmlwdGlvbkV4dGVuc2lvbnMsIENGU1RSKCJ2dHRDIikpKTsKICAgICAgICAg
ICAgIGlmICghd2VidnR0SGVhZGVyRGF0YSkKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTU3
MCw2ICs1NTEsNDIgQEAgdm9pZCBJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGOjpwcm9jZXNzTgog
ICAgIH0KIH0KIAorYm9vbCBJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGOjpyZWFkTmF0aXZlU2Ft
cGxlQnVmZmVyKENGQXJyYXlSZWYgbmF0aXZlU2FtcGxlcywgQ0ZJbmRleCBpbmRleCwgUmVmUHRy
PEFycmF5QnVmZmVyPiYgYnVmZmVyLCBNZWRpYVRpbWUmIGR1cmF0aW9uLCBDTUZvcm1hdERlc2Ny
aXB0aW9uUmVmJiBmb3JtYXREZXNjcmlwdGlvbikKK3sKKyNpZiBPUyhXSU5ET1dTKSAmJiBIQVZF
KEFWQ0ZQTEFZRVJJVEVNX0NBTExCQUNLX1ZFUlNJT05fMikKKyAgICByZXR1cm4gZmFsc2U7Cisj
ZWxzZQorICAgIGNvbnN0IENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZUJ1ZmZlciA9IHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgQ01TYW1wbGVCdWZmZXJSZWY+KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgo
bmF0aXZlU2FtcGxlcywgaW5kZXgpKTsKKyAgICBpZiAoIXNhbXBsZUJ1ZmZlcikKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgQ01TYW1wbGVUaW1pbmdJbmZvIHRpbWluZ0luZm87CisgICAg
T1NTdGF0dXMgc3RhdHVzID0gQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZvKHNhbXBs
ZUJ1ZmZlciwgaW5kZXgsICZ0aW1pbmdJbmZvKTsKKyAgICBpZiAoc3RhdHVzKSB7CisgICAgICAg
IExPRyhNZWRpYSwgIkluYmFuZFRleHRUcmFja1ByaXZhdGVBVkY6OnJlYWROYXRpdmVTYW1wbGVC
dWZmZXIoJXApIC0gQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZvIHJldHVybmVkIGVy
cm9yICV4IGZvciBzYW1wbGUgJWxpIiwgdGhpcywgc3RhdGljX2Nhc3Q8aW50PihzdGF0dXMpLCBp
bmRleCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBkdXJhdGlvbiA9IHRv
TWVkaWFUaW1lKHRpbWluZ0luZm8uZHVyYXRpb24pOworCisgICAgQ01CbG9ja0J1ZmZlclJlZiBi
bG9ja0J1ZmZlciA9IENNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlcihzYW1wbGVCdWZmZXIpOwor
ICAgIHNpemVfdCBidWZmZXJMZW5ndGggPSBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aChibG9j
a0J1ZmZlcik7CisgICAgaWYgKGJ1ZmZlckxlbmd0aCA8IElTT0JveDo6Ym94SGVhZGVyU2l6ZSgp
KSB7CisgICAgICAgIExPRyhNZWRpYSwgIkluYmFuZFRleHRUcmFja1ByaXZhdGVBVkY6OnJlYWRO
YXRpdmVTYW1wbGVCdWZmZXIoJXApIC0gRVJST1I6IENNU2FtcGxlQnVmZmVyIHNpemUgbGVuZ3Ro
IHVuZXhwZWN0ZWRseSBzbWFsbCAoJXp1KSEhIiwgdGhpcywgYnVmZmVyTGVuZ3RoKTsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIG1fc2FtcGxlSW5wdXRCdWZmZXIucmVzaXpl
KG1fc2FtcGxlSW5wdXRCdWZmZXIuc2l6ZSgpICsgYnVmZmVyTGVuZ3RoKTsKKyAgICBDTUJsb2Nr
QnVmZmVyQ29weURhdGFCeXRlcyhibG9ja0J1ZmZlciwgMCwgYnVmZmVyTGVuZ3RoLCBtX3NhbXBs
ZUlucHV0QnVmZmVyLmRhdGEoKSArIG1fc2FtcGxlSW5wdXRCdWZmZXIuc2l6ZSgpIC0gYnVmZmVy
TGVuZ3RoKTsKKworICAgIGJ1ZmZlciA9IEFycmF5QnVmZmVyOjpjcmVhdGUobV9zYW1wbGVJbnB1
dEJ1ZmZlci5kYXRhKCksIG1fc2FtcGxlSW5wdXRCdWZmZXIuc2l6ZSgpKTsKKworICAgIGZvcm1h
dERlc2NyaXB0aW9uID0gQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbihzYW1wbGVC
dWZmZXIpOworCisgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFZJREVPKSAmJiAoVVNFKEFWRk9VTkRBVElPTikg
fHwgUExBVEZPUk0oSU9TKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRleHRU
cmFja1ByaXZhdGVBVkYuaAkocmV2aXNpb24gMTg2NzY2KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuaAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIt
MjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTItMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDYgKzMyLDEyIEBACiAjaW5jbHVkZSAiSW5iYW5kVGV4dFRy
YWNrUHJpdmF0ZUNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4K
IAordHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlwdGlvbiogQ01Gb3Jt
YXREZXNjcmlwdGlvblJlZjsKKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBBcnJheUJ1ZmZlcjsK
K30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBVkZJbmJhbmRUcmFja1BhcmVudCB7
CkBAIC03MCw2ICs3Niw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIENhdGVnb3J5IHRleHRUcmFj
a0NhdGVnb3J5KCkgY29uc3QgPSAwOwogICAgIAogICAgIHZpcnR1YWwgTWVkaWFUaW1lIHN0YXJ0
VGltZVZhcmlhbmNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gTWVkaWFUaW1lKDEsIDQpOyB9
CisKKyAgICB2aXJ0dWFsIGJvb2wgcmVhZE5hdGl2ZVNhbXBsZUJ1ZmZlcihDRkFycmF5UmVmIG5h
dGl2ZVNhbXBsZXMsIENGSW5kZXgsIFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiYsIE1lZGlhVGlt
ZSYsIENNRm9ybWF0RGVzY3JpcHRpb25SZWYmKTsKICAgICAKIHByb3RlY3RlZDoKICAgICBJbmJh
bmRUZXh0VHJhY2tQcml2YXRlQVZGKEFWRkluYmFuZFRyYWNrUGFyZW50KiwgQ3VlRm9ybWF0KTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9J
bmJhbmRUZXh0VHJhY2tQcml2YXRlQVZDRi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL0luYmFuZFRleHRUcmFja1ByaXZh
dGVBVkNGLmNwcAkocmV2aXNpb24gMTg2NzY2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkNGLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMzAsMTAgKzMwLDEzIEBACiAjaW5jbHVkZSAiSW5iYW5kVGV4dFRyYWNr
UHJpdmF0ZUFWQ0YuaCIKIAogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUg
IklTT1ZUVEN1ZS5oIgogI2luY2x1ZGUgIkluYmFuZFRleHRUcmFja1ByaXZhdGUuaCIKICNpbmNs
dWRlICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgor
I2luY2x1ZGUgIk1lZGlhVGltZUFWRm91bmRhdGlvbi5oIgogI2luY2x1ZGUgIlNvZnRMaW5raW5n
LmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQXJyYXlCdWZmZXIuaD4KIAogI2luY2x1ZGUg
PEFWRm91bmRhdGlvbkNGL0FWQ0ZQbGF5ZXJJdGVtTGVnaWJsZU91dHB1dC5oPgogI2luY2x1ZGUg
PEFWRm91bmRhdGlvbkNGL0FWRm91bmRhdGlvbkNGLmg+CkBAIC0xODQsNiArMTg3LDI5IEBAIGJv
b2wgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0Y6OmlzRGVmYXUKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKK2Jvb2wgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0Y6OnJlYWROYXRpdmVTYW1wbGVC
dWZmZXIoQ0ZBcnJheVJlZiBuYXRpdmVTYW1wbGVzLCBDRkluZGV4IGluZGV4LCBSZWZQdHI8QXJy
YXlCdWZmZXI+JiBidWZmZXIsIE1lZGlhVGltZSYgZHVyYXRpb24sIENNRm9ybWF0RGVzY3JpcHRp
b25SZWYmIGZvcm1hdERlc2NyaXB0aW9uKQoreworICAgIGNvbnN0IEFWQ0ZQbGF5ZXJJdGVtTGVn
aWJsZU91dHB1dFNhbXBsZSogc2FtcGxlQnVmZmVyID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBB
VkNGUGxheWVySXRlbUxlZ2libGVPdXRwdXRTYW1wbGUqPihDRkFycmF5R2V0VmFsdWVBdEluZGV4
KG5hdGl2ZVNhbXBsZXMsIGluZGV4KSk7CisgICAgaWYgKCFzYW1wbGVCdWZmZXIpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIGR1cmF0aW9uID0gdG9NZWRpYVRpbWUoc2FtcGxlQnVmZmVy
LT5kdXJhdGlvbik7CisgICAgZm9ybWF0RGVzY3JpcHRpb24gPSBzYW1wbGVCdWZmZXItPmZvcm1h
dERlc2NyaXB0aW9uOworCisgICAgc2l6ZV90IGJ1ZmZlckxlbmd0aCA9IENGRGF0YUdldExlbmd0
aChzYW1wbGVCdWZmZXItPmJ1ZmZlcik7CisgICAgaWYgKGJ1ZmZlckxlbmd0aCA8IElTT0JveDo6
Ym94SGVhZGVyU2l6ZSgpKSB7CisgICAgICAgIExPRyhNZWRpYSwgIkluYmFuZFRleHRUcmFja1By
aXZhdGVMZWdhY3lBVkNGOjpyZWFkTmF0aXZlU2FtcGxlQnVmZmVyKCVwKSAtIEVSUk9SOiBDRkJ1
ZmZlciBzaXplIGxlbmd0aCB1bmV4cGVjdGVkbHkgc21hbGwgKCV6dSkhISIsIHRoaXMsIGJ1ZmZl
ckxlbmd0aCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBtX3NhbXBsZUlu
cHV0QnVmZmVyLnJlc2l6ZShtX3NhbXBsZUlucHV0QnVmZmVyLnNpemUoKSArIGJ1ZmZlckxlbmd0
aCk7CisgICAgQ0ZEYXRhR2V0Qnl0ZXMoc2FtcGxlQnVmZmVyLT5idWZmZXIsIENGUmFuZ2VNYWtl
KDAsIGJ1ZmZlckxlbmd0aCksIHJlaW50ZXJwcmV0X2Nhc3Q8VUludDgqPihtX3NhbXBsZUlucHV0
QnVmZmVyLmRhdGEoKSkgKyBtX3NhbXBsZUlucHV0QnVmZmVyLnNpemUoKSAtIGJ1ZmZlckxlbmd0
aCk7CisKKyAgICBidWZmZXIgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKG1fc2FtcGxlSW5wdXRCdWZm
ZXIuZGF0YSgpLCBtX3NhbXBsZUlucHV0QnVmZmVyLnNpemUoKSk7CisKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJhY2tQ
cml2YXRlQVZDRi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZDRi5oCShyZXZpc2lv
biAxODY3NjYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0YuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU1
LDcgKzU1LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3QoKSBvdmVy
cmlkZTsKIAotICAgIHZpcnR1YWwgQ2F0ZWdvcnkgdGV4dFRyYWNrQ2F0ZWdvcnkoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBJbkJhbmQ7IH0KKyAgICBDYXRlZ29yeSB0ZXh0VHJhY2tDYXRlZ29y
eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEluQmFuZDsgfQorICAgIGJvb2wgcmVhZE5hdGl2
ZVNhbXBsZUJ1ZmZlcihDRkFycmF5UmVmIG5hdGl2ZVNhbXBsZXMsIENGSW5kZXgsIFJlZlB0cjxK
U0M6OkFycmF5QnVmZmVyPiYsIE1lZGlhVGltZSYsIENNRm9ybWF0RGVzY3JpcHRpb25SZWYmKSBv
dmVycmlkZTsKIAogICAgIEFWQ0ZNZWRpYVNlbGVjdGlvbk9wdGlvblJlZiBtZWRpYVNlbGVjdGlv
bk9wdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTZWxlY3Rpb25PcHRpb24uZ2V0KCk7IH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2Nm
L0luYmFuZFRleHRUcmFja1ByaXZhdGVMZWdhY3lBVkNGLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4dFRy
YWNrUHJpdmF0ZUxlZ2FjeUFWQ0YuY3BwCShyZXZpc2lvbiAxODY3NjYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4dFRyYWNrUHJp
dmF0ZUxlZ2FjeUFWQ0YuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMjMsNiArMTIzLDExIEBAIEF0b21p
Y1N0cmluZyBJbmJhbmRUZXh0VHJhY2tQcml2YXRlTGVnYWMKICAgICByZXR1cm4gQ0ZMb2NhbGVH
ZXRJZGVudGlmaWVyKGxvY2FsZS5nZXQoKSk7CiB9CiAKK2Jvb2wgSW5iYW5kVGV4dFRyYWNrUHJp
dmF0ZUxlZ2FjeUFWQ0Y6OnJlYWROYXRpdmVTYW1wbGVCdWZmZXIoQ0ZBcnJheVJlZiwgQ0ZJbmRl
eCwgUmVmUHRyPEFycmF5QnVmZmVyPiYsIE1lZGlhVGltZSYsIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWYmKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9jZi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlTGVnYWN5QVZDRi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRU
ZXh0VHJhY2tQcml2YXRlTGVnYWN5QVZDRi5oCShyZXZpc2lvbiAxODY3NjYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4dFRyYWNr
UHJpdmF0ZUxlZ2FjeUFWQ0YuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTUsNyArNTUsOCBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdCgpIG92ZXJyaWRlOwogCi0gICAgdmlydHVh
bCBDYXRlZ29yeSB0ZXh0VHJhY2tDYXRlZ29yeSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIExl
Z2FjeUNsb3NlZENhcHRpb247IH0KKyAgICBDYXRlZ29yeSB0ZXh0VHJhY2tDYXRlZ29yeSgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIExlZ2FjeUNsb3NlZENhcHRpb247IH0KKyAgICBib29sIHJl
YWROYXRpdmVTYW1wbGVCdWZmZXIoQ0ZBcnJheVJlZiBuYXRpdmVTYW1wbGVzLCBDRkluZGV4LCBS
ZWZQdHI8QXJyYXlCdWZmZXI+JiwgTWVkaWFUaW1lJiwgQ01Gb3JtYXREZXNjcmlwdGlvblJlZiYp
IG92ZXJyaWRlOwogCiAgICAgQVZDRlBsYXllckl0ZW1UcmFja1JlZiBhdlBsYXllckl0ZW1UcmFj
aygpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWVySXRlbVRyYWNrLmdldCgpOyB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbkNGLmNwcAkocmV2aXNpb24gMTg2NzY2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bkNGLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYxNiw3ICsxNjE2LDExIEBAIHZvaWQgQVZGV3Jh
cHBlcjo6Y3JlYXRlUGxheWVySXRlbSgpCiAgICAgQVZDRlBsYXllckl0ZW1PdXRwdXRTZXRTdXBw
cmVzc1BsYXllclJlbmRlcmluZyhtX2xlZ2libGVPdXRwdXQuZ2V0KCksIFRSVUUpOwogCiAgICAg
QVZDRlBsYXllckl0ZW1MZWdpYmxlT3V0cHV0Q2FsbGJhY2tzIGNhbGxiYWNrSW5mbzsKKyNpZiBI
QVZFKEFWQ0ZQTEFZRVJJVEVNX0NBTExCQUNLX1ZFUlNJT05fMikKKyAgICBjYWxsYmFja0luZm8u
dmVyc2lvbiA9IGtBVkNGUGxheWVySXRlbUxlZ2libGVPdXRwdXRfQ2FsbGJhY2tzVmVyc2lvbl8y
OworI2Vsc2UKICAgICBjYWxsYmFja0luZm8udmVyc2lvbiA9IGtBVkNGUGxheWVySXRlbUxlZ2li
bGVPdXRwdXRfQ2FsbGJhY2tzVmVyc2lvbl8xOworI2VuZGlmCiAgICAgQVNTRVJUKGNhbGxiYWNr
Q29udGV4dCgpKTsKICAgICBjYWxsYmFja0luZm8uY29udGV4dCA9IGNhbGxiYWNrQ29udGV4dCgp
OwogICAgIGNhbGxiYWNrSW5mby5sZWdpYmxlT3V0cHV0Q2FsbGJhY2sgPSBBVkZXcmFwcGVyOjps
ZWdpYmxlT3V0cHV0Q2FsbGJhY2s7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256747</attachid>
            <date>2015-07-13 17:17:48 -0700</date>
            <delta_ts>2015-07-13 17:31:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146922-20150713171642.patch</filename>
            <type>text/plain</type>
            <size>16451</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4Njc5NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE1LTA3LTEzICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIFVwZGF0ZSBNZWRp
YSBQbGF5ZXIgbG9naWMgZm9yIG5ldyBMZWdpYmxlIE91dHB1dCBBUEkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjkyMgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjA1NDI1NzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBBVkZvdW5kYXRpb25TdXBwb3J0LnB5OiBDaGVjayBmb3IgdXBkYXRlZCBB
VkZDRiBmZWF0dXJlLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9J
bmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluYmFuZFRl
eHRUcmFja1ByaXZhdGVBVkY6OnByb2Nlc3NOYXRpdmVTYW1wbGVzKTogVXBkYXRlIHRvIGNhbGwg
dGhlCisgICAgICAgIG5ldyAncmVhZE5hdGl2ZVNhbXBsZUJ1ZmZlcicgbWV0aG9kLgorICAgICAg
ICAoV2ViQ29yZTo6SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cmVhZE5hdGl2ZVNhbXBsZUJ1
ZmZlcik6IEFkZGVkLiBUaGlzIGlzIGEgbm8tb3AKKyAgICAgICAgb24gV2luZG93cyBpZiBpdCBo
YXMgdGhlIG5ldyBBVkNGIEFQSS4gT3RoZXJ3aXNlLCBpdCBjb250YWlucyB0aGUgc2FtZSBpbXBs
ZW1lbnRhdGlvbgorICAgICAgICB0aGF0IGhhcyBhbHdheXMgYmVlbiB1c2VkIGluICdwcm9jZXNz
TmF0aXZlU2FtcGxlcycuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0YuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0Y6OnJlYWROYXRpdmVTYW1wbGVC
dWZmZXIpOiBBZGRlZC4gVXNlIHRoZSBuZXcKKyAgICAgICAgTGVnaWJsZSBPdXRwdXQgQVBJIGlu
c3RlYWQgb2YgdGhlIG9sZCBDb3JlTWVkaWEgc29sdXRpb24gaWYgaXQgaXMgYXZhaWxhYmxlLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJh
Y2tQcml2YXRlQVZDRi5oOgorICAgICAgICAoV2ViQ29yZTo6SW5iYW5kVGV4dFRyYWNrUHJpdmF0
ZUFWQ0Y6Om1lZGlhU2VsZWN0aW9uT3B0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWQ0YuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWQ0Y6OnJlYWRO
YXRpdmVTYW1wbGVCdWZmZXIpOiBBZGQgYSBzdHViIGltcGxlbWVudGF0aW9uLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJhY2tQcml2YXRl
TGVnYWN5QVZDRi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9j
Zi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBVkZXcmFwcGVyOjpjcmVhdGVQbGF5ZXJJdGVtKTogVXNlIHRoZSBuZXcgTGVnaWJsZSBPdXRw
dXQgQVBJIGlmIGl0IGlzIGF2YWlsYWJsZS4KKwogMjAxNS0wNy0xMyAgTWF0dCBSYWpjYSAgPG1y
YWpjYUBhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWEgU2Vzc2lvbjogYWRkIHBsdW1iaW5nIGZv
ciBkZWxpdmVyaW5nIHN0YXJ0L2VuZC1vZi1pbnRlcnJ1cHRpb24gZXZlbnRzCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9BVkZvdW5kYXRpb25TdXBwb3J0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL0FWRm91bmRhdGlvblN1cHBvcnQucHkJKHJldmlzaW9uIDE4Njc5NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL0FWRm91bmRhdGlvblN1cHBvcnQucHkJKHdvcmtpbmcgY29weSkKQEAgLTU3LDMg
KzU3LDcgQEAgaWYgbG9va0ZvcigiL2luY2x1ZGUvUXVhcnR6Q29yZS9DQUNGTGF5ZQogICAgIHJl
Z2V4cCA9IHJlLmNvbXBpbGUoIkNBQ0ZMYXllclNldENvbnRlbnRzU2NhbGUiKQogICAgIGlmIGZp
bGVDb250YWlucygiL2luY2x1ZGUvUXVhcnR6Q29yZS9DQUNGTGF5ZXIuaCIsIHJlZ2V4cCk6CiAg
ICAgICAgIHByaW50ICIjZGVmaW5lIEhBVkVfQ0FDRkxBWUVSX1NFVENPTlRFTlRTU0NBTEUgMSIK
K2lmIGxvb2tGb3IoIi9pbmNsdWRlL0FWRm91bmRhdGlvbkNGL0FWQ0ZQbGF5ZXJJdGVtTGVnaWJs
ZU91dHB1dC5oIik6CisgICAgcmVnZXhwID0gcmUuY29tcGlsZSgia0FWQ0ZQbGF5ZXJJdGVtTGVn
aWJsZU91dHB1dF9DYWxsYmFja3NWZXJzaW9uXzIiKQorICAgIGlmIGZpbGVDb250YWlucygiL2lu
Y2x1ZGUvQVZGb3VuZGF0aW9uQ0YvQVZDRlBsYXllckl0ZW1MZWdpYmxlT3V0cHV0LmgiLCByZWdl
eHApOgorICAgICAgICBwcmludCAiI2RlZmluZSBIQVZFX0FWQ0ZQTEFZRVJJVEVNX0NBTExCQUNL
X1ZFUlNJT05fMiAxIgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9JbmJhbmRUZXh0VHJh
Y2tQcml2YXRlQVZGLmNwcAkocmV2aXNpb24gMTg2Nzk1KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00ODksMjkgKzQ4OSwxMSBAQCB2b2lkIEluYmFuZFRleHRUcmFj
a1ByaXZhdGVBVkY6OnByb2Nlc3NOCiAgICAgTE9HKE1lZGlhLCAiSW5iYW5kVGV4dFRyYWNrUHJp
dmF0ZUFWRjo6cHJvY2Vzc05hdGl2ZVNhbXBsZXMgLSAlbGkgc2FtcGxlIGJ1ZmZlcnMgYXQgdGlt
ZSAlLjJmXG4iLCBjb3VudCwgcHJlc2VudGF0aW9uVGltZS50b0RvdWJsZSgpKTsKIAogICAgIGZv
ciAoQ0ZJbmRleCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKLQotICAgICAgICBDTVNhbXBsZUJ1
ZmZlclJlZiBzYW1wbGVCdWZmZXIgPSAoQ01TYW1wbGVCdWZmZXJSZWYpQ0ZBcnJheUdldFZhbHVl
QXRJbmRleChuYXRpdmVTYW1wbGVzLCBpKTsKLSAgICAgICAgaWYgKCFzYW1wbGVCdWZmZXIpCi0g
ICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBDTVNhbXBsZVRpbWluZ0luZm8gdGltaW5n
SW5mbzsKLSAgICAgICAgT1NTdGF0dXMgc3RhdHVzID0gQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVU
aW1pbmdJbmZvKHNhbXBsZUJ1ZmZlciwgaSwgJnRpbWluZ0luZm8pOwotICAgICAgICBpZiAoc3Rh
dHVzKSB7Ci0gICAgICAgICAgICBMT0coTWVkaWEsICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZG
Ojpwcm9jZXNzTmF0aXZlU2FtcGxlcyglcCkgLSBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWlu
Z0luZm8gcmV0dXJuZWQgZXJyb3IgJXggZm9yIHNhbXBsZSAlbGkiLCB0aGlzLCBzdGF0aWNfY2Fz
dDxpbnQ+KHN0YXR1cyksIGkpOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLQot
ICAgICAgICBDTUJsb2NrQnVmZmVyUmVmIGJsb2NrQnVmZmVyID0gQ01TYW1wbGVCdWZmZXJHZXRE
YXRhQnVmZmVyKHNhbXBsZUJ1ZmZlcik7Ci0gICAgICAgIHNpemVfdCBidWZmZXJMZW5ndGggPSBD
TUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aChibG9ja0J1ZmZlcik7Ci0gICAgICAgIGlmIChidWZm
ZXJMZW5ndGggPCBJU09Cb3g6OmJveEhlYWRlclNpemUoKSkgewotICAgICAgICAgICAgTE9HKE1l
ZGlhLCAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cHJvY2Vzc05hdGl2ZVNhbXBsZXMoJXAp
IC0gRVJST1I6IENNU2FtcGxlQnVmZmVyIHNpemUgbGVuZ3RoIHVuZXhwZWN0ZWRseSBzbWFsbCAo
JXp1KSEhIiwgdGhpcywgYnVmZmVyTGVuZ3RoKTsKKyAgICAgICAgUmVmUHRyPEFycmF5QnVmZmVy
PiBidWZmZXI7CisgICAgICAgIE1lZGlhVGltZSBkdXJhdGlvbjsKKyAgICAgICAgQ01Gb3JtYXRE
ZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbjsKKyAgICAgICAgaWYgKCFyZWFkTmF0aXZl
U2FtcGxlQnVmZmVyKG5hdGl2ZVNhbXBsZXMsIGksIGJ1ZmZlciwgZHVyYXRpb24sIGZvcm1hdERl
c2NyaXB0aW9uKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0KLSAgICAgICAg
bV9zYW1wbGVJbnB1dEJ1ZmZlci5yZXNpemUobV9zYW1wbGVJbnB1dEJ1ZmZlci5zaXplKCkgKyBi
dWZmZXJMZW5ndGgpOwotICAgICAgICBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcyhibG9ja0J1
ZmZlciwgMCwgYnVmZmVyTGVuZ3RoLCBtX3NhbXBsZUlucHV0QnVmZmVyLmRhdGEoKSArIG1fc2Ft
cGxlSW5wdXRCdWZmZXIuc2l6ZSgpIC0gYnVmZmVyTGVuZ3RoKTsKLQotICAgICAgICBSZWZQdHI8
QXJyYXlCdWZmZXI+IGJ1ZmZlciA9IEFycmF5QnVmZmVyOjpjcmVhdGUobV9zYW1wbGVJbnB1dEJ1
ZmZlci5kYXRhKCksIG1fc2FtcGxlSW5wdXRCdWZmZXIuc2l6ZSgpKTsKIAogICAgICAgICBTdHJp
bmcgdHlwZSA9IElTT0JveDo6cGVla1R5cGUoYnVmZmVyLmdldCgpKTsKICAgICAgICAgc2l6ZV90
IGJveExlbmd0aCA9IElTT0JveDo6cGVla0xlbmd0aChidWZmZXIuZ2V0KCkpOwpAQCAtNTIzLDcg
KzUwNSw3IEBAIHZvaWQgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cHJvY2Vzc04KICAgICAg
ICAgTE9HKE1lZGlhLCAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cHJvY2Vzc05hdGl2ZVNh
bXBsZXMoJXApIC0gY2h1bmsgdHlwZSA9ICclcycsIHNpemUgPSAlenUiLCB0aGlzLCB0eXBlLnV0
ZjgoKS5kYXRhKCksIGJveExlbmd0aCk7CiAKICAgICAgICAgaWYgKHR5cGUgPT0gSVNPV2ViVlRU
Q3VlOjpib3hUeXBlKCkpIHsKLSAgICAgICAgICAgIElTT1dlYlZUVEN1ZSBjdWVEYXRhID0gSVNP
V2ViVlRUQ3VlKHByZXNlbnRhdGlvblRpbWUsIHRvTWVkaWFUaW1lKHRpbWluZ0luZm8uZHVyYXRp
b24pLCBidWZmZXIuZ2V0KCkpOworICAgICAgICAgICAgSVNPV2ViVlRUQ3VlIGN1ZURhdGEgPSBJ
U09XZWJWVFRDdWUocHJlc2VudGF0aW9uVGltZSwgZHVyYXRpb24sIGJ1ZmZlci5nZXQoKSk7CiAg
ICAgICAgICAgICBMT0coTWVkaWEsICIgICAgc2FtcGxlIHByZXNlbnRhdGlvbiB0aW1lID0gJS4y
ZiwgZHVyYXRpb24gPSAlLjJmIiwgY3VlRGF0YS5wcmVzZW50YXRpb25UaW1lKCkudG9Eb3VibGUo
KSwgY3VlRGF0YS5kdXJhdGlvbigpLnRvRG91YmxlKCkpOwogICAgICAgICAgICAgTE9HKE1lZGlh
LCAiICAgIGlkID0gXCIlc1wiLCBzZXR0aW5ncyA9IFwiJXNcIiwgY3VlIHRleHQgPSBcIiVzXCIi
LCBjdWVEYXRhLmlkKCkudXRmOCgpLmRhdGEoKSwgY3VlRGF0YS5zZXR0aW5ncygpLnV0ZjgoKS5k
YXRhKCksIGN1ZURhdGEuY3VlVGV4dCgpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICAgICAgTE9H
KE1lZGlhLCAiICAgIHNvdXJjZUlEID0gXCIlc1wiLCBvcmlnaW5hbFN0YXJ0VGltZSA9IFwiJXNc
IiIsIGN1ZURhdGEuc291cmNlSUQoKS51dGY4KCkuZGF0YSgpLCBjdWVEYXRhLm9yaWdpbmFsU3Rh
cnRUaW1lKCkudXRmOCgpLmRhdGEoKSk7CkBAIC01MzUsNyArNTE3LDYgQEAgdm9pZCBJbmJhbmRU
ZXh0VHJhY2tQcml2YXRlQVZGOjpwcm9jZXNzTgogICAgICAgICAgICAgaWYgKG1faGF2ZVJlcG9y
dGVkVlRUSGVhZGVyKQogICAgICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgICAgICBDTUZv
cm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0gQ01TYW1wbGVCdWZmZXJHZXRG
b3JtYXREZXNjcmlwdGlvbihzYW1wbGVCdWZmZXIpOwogICAgICAgICAgICAgaWYgKCFmb3JtYXRE
ZXNjcmlwdGlvbikKICAgICAgICAgICAgICAgICBicmVhazsKIApAQCAtNTQ2LDcgKzUyNyw3IEBA
IHZvaWQgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cHJvY2Vzc04KICAgICAgICAgICAgIENG
RGljdGlvbmFyeVJlZiBzYW1wbGVEZXNjcmlwdGlvbkV4dGVuc2lvbnMgPSBzdGF0aWNfY2FzdDxD
RkRpY3Rpb25hcnlSZWY+KENGRGljdGlvbmFyeUdldFZhbHVlKGV4dGVuc2lvbnMsIGtDTUZvcm1h
dERlc2NyaXB0aW9uRXh0ZW5zaW9uX1NhbXBsZURlc2NyaXB0aW9uRXh0ZW5zaW9uQXRvbXMpKTsK
ICAgICAgICAgICAgIGlmICghc2FtcGxlRGVzY3JpcHRpb25FeHRlbnNpb25zKQogICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgCisKICAgICAgICAgICAgIENGRGF0YVJlZiB3ZWJ2
dHRIZWFkZXJEYXRhID0gc3RhdGljX2Nhc3Q8Q0ZEYXRhUmVmPihDRkRpY3Rpb25hcnlHZXRWYWx1
ZShzYW1wbGVEZXNjcmlwdGlvbkV4dGVuc2lvbnMsIENGU1RSKCJ2dHRDIikpKTsKICAgICAgICAg
ICAgIGlmICghd2VidnR0SGVhZGVyRGF0YSkKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTU3
MCw2ICs1NTEsNDIgQEAgdm9pZCBJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGOjpwcm9jZXNzTgog
ICAgIH0KIH0KIAorYm9vbCBJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGOjpyZWFkTmF0aXZlU2Ft
cGxlQnVmZmVyKENGQXJyYXlSZWYgbmF0aXZlU2FtcGxlcywgQ0ZJbmRleCBpbmRleCwgUmVmUHRy
PEFycmF5QnVmZmVyPiYgYnVmZmVyLCBNZWRpYVRpbWUmIGR1cmF0aW9uLCBDTUZvcm1hdERlc2Ny
aXB0aW9uUmVmJiBmb3JtYXREZXNjcmlwdGlvbikKK3sKKyNpZiBPUyhXSU5ET1dTKSAmJiBIQVZF
KEFWQ0ZQTEFZRVJJVEVNX0NBTExCQUNLX1ZFUlNJT05fMikKKyAgICByZXR1cm4gZmFsc2U7Cisj
ZWxzZQorICAgIENNU2FtcGxlQnVmZmVyUmVmIGNvbnN0IHNhbXBsZUJ1ZmZlciA9IHJlaW50ZXJw
cmV0X2Nhc3Q8Q01TYW1wbGVCdWZmZXJSZWY+KGNvbnN0X2Nhc3Q8dm9pZCo+KENGQXJyYXlHZXRW
YWx1ZUF0SW5kZXgobmF0aXZlU2FtcGxlcywgaW5kZXgpKSk7CisgICAgaWYgKCFzYW1wbGVCdWZm
ZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIENNU2FtcGxlVGltaW5nSW5mbyB0aW1p
bmdJbmZvOworICAgIE9TU3RhdHVzIHN0YXR1cyA9IENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGlt
aW5nSW5mbyhzYW1wbGVCdWZmZXIsIGluZGV4LCAmdGltaW5nSW5mbyk7CisgICAgaWYgKHN0YXR1
cykgeworICAgICAgICBMT0coTWVkaWEsICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGOjpyZWFk
TmF0aXZlU2FtcGxlQnVmZmVyKCVwKSAtIENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlVGltaW5nSW5m
byByZXR1cm5lZCBlcnJvciAleCBmb3Igc2FtcGxlICVsaSIsIHRoaXMsIHN0YXRpY19jYXN0PGlu
dD4oc3RhdHVzKSwgaW5kZXgpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAg
ZHVyYXRpb24gPSB0b01lZGlhVGltZSh0aW1pbmdJbmZvLmR1cmF0aW9uKTsKKworICAgIENNQmxv
Y2tCdWZmZXJSZWYgYmxvY2tCdWZmZXIgPSBDTVNhbXBsZUJ1ZmZlckdldERhdGFCdWZmZXIoc2Ft
cGxlQnVmZmVyKTsKKyAgICBzaXplX3QgYnVmZmVyTGVuZ3RoID0gQ01CbG9ja0J1ZmZlckdldERh
dGFMZW5ndGgoYmxvY2tCdWZmZXIpOworICAgIGlmIChidWZmZXJMZW5ndGggPCBJU09Cb3g6OmJv
eEhlYWRlclNpemUoKSkgeworICAgICAgICBMT0coTWVkaWEsICJJbmJhbmRUZXh0VHJhY2tQcml2
YXRlQVZGOjpyZWFkTmF0aXZlU2FtcGxlQnVmZmVyKCVwKSAtIEVSUk9SOiBDTVNhbXBsZUJ1ZmZl
ciBzaXplIGxlbmd0aCB1bmV4cGVjdGVkbHkgc21hbGwgKCV6dSkhISIsIHRoaXMsIGJ1ZmZlckxl
bmd0aCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBtX3NhbXBsZUlucHV0
QnVmZmVyLnJlc2l6ZShtX3NhbXBsZUlucHV0QnVmZmVyLnNpemUoKSArIGJ1ZmZlckxlbmd0aCk7
CisgICAgQ01CbG9ja0J1ZmZlckNvcHlEYXRhQnl0ZXMoYmxvY2tCdWZmZXIsIDAsIGJ1ZmZlckxl
bmd0aCwgbV9zYW1wbGVJbnB1dEJ1ZmZlci5kYXRhKCkgKyBtX3NhbXBsZUlucHV0QnVmZmVyLnNp
emUoKSAtIGJ1ZmZlckxlbmd0aCk7CisKKyAgICBidWZmZXIgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRl
KG1fc2FtcGxlSW5wdXRCdWZmZXIuZGF0YSgpLCBtX3NhbXBsZUlucHV0QnVmZmVyLnNpemUoKSk7
CisKKyAgICBmb3JtYXREZXNjcmlwdGlvbiA9IENNU2FtcGxlQnVmZmVyR2V0Rm9ybWF0RGVzY3Jp
cHRpb24oc2FtcGxlQnVmZmVyKTsKKworICAgIHJldHVybiB0cnVlOworI2VuZGlmCit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShWSURFTykgJiYgKFVTRShB
VkZPVU5EQVRJT04pIHx8IFBMQVRGT1JNKElPUykpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmgJKHJldmlzaW9uIDE4Njc5NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9JbmJhbmRUZXh0VHJhY2tQ
cml2YXRlQVZGLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEyLTIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEyLTIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMiw2ICszMiwxMiBAQAogI2luY2x1ZGUg
IkluYmFuZFRleHRUcmFja1ByaXZhdGVDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdCdWlsZGVyLmg+CiAKK3R5cGVkZWYgY29uc3Qgc3RydWN0IG9wYXF1ZUNNRm9ybWF0RGVzY3Jp
cHRpb24qIENNRm9ybWF0RGVzY3JpcHRpb25SZWY7CisKK25hbWVzcGFjZSBKU0MgeworY2xhc3Mg
QXJyYXlCdWZmZXI7Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQVZGSW5iYW5k
VHJhY2tQYXJlbnQgewpAQCAtNzAsNiArNzYsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBDYXRl
Z29yeSB0ZXh0VHJhY2tDYXRlZ29yeSgpIGNvbnN0ID0gMDsKICAgICAKICAgICB2aXJ0dWFsIE1l
ZGlhVGltZSBzdGFydFRpbWVWYXJpYW5jZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIE1lZGlh
VGltZSgxLCA0KTsgfQorCisgICAgdmlydHVhbCBib29sIHJlYWROYXRpdmVTYW1wbGVCdWZmZXIo
Q0ZBcnJheVJlZiBuYXRpdmVTYW1wbGVzLCBDRkluZGV4LCBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZl
cj4mLCBNZWRpYVRpbWUmLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmJik7CiAgICAgCiBwcm90ZWN0
ZWQ6CiAgICAgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRihBVkZJbmJhbmRUcmFja1BhcmVudCos
IEN1ZUZvcm1hdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0YuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRU
ZXh0VHJhY2tQcml2YXRlQVZDRi5jcHAJKHJldmlzaW9uIDE4Njc5NSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJhY2tQcml2
YXRlQVZDRi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMwLDEwICszMCwxMyBAQAogI2luY2x1ZGUgIklu
YmFuZFRleHRUcmFja1ByaXZhdGVBVkNGLmgiCiAKICNpbmNsdWRlICJGbG9hdENvbnZlcnNpb24u
aCIKKyNpbmNsdWRlICJJU09WVFRDdWUuaCIKICNpbmNsdWRlICJJbmJhbmRUZXh0VHJhY2tQcml2
YXRlLmgiCiAjaW5jbHVkZSAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5oIgogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJNZWRpYVRpbWVBVkZvdW5kYXRpb24uaCIKICNpbmNsdWRl
ICJTb2Z0TGlua2luZy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVmZmVyLmg+
CiAKICNpbmNsdWRlIDxBVkZvdW5kYXRpb25DRi9BVkNGUGxheWVySXRlbUxlZ2libGVPdXRwdXQu
aD4KICNpbmNsdWRlIDxBVkZvdW5kYXRpb25DRi9BVkZvdW5kYXRpb25DRi5oPgpAQCAtMTg0LDYg
KzE4NywyOSBAQCBib29sIEluYmFuZFRleHRUcmFja1ByaXZhdGVBVkNGOjppc0RlZmF1CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCitib29sIEluYmFuZFRleHRUcmFja1ByaXZhdGVBVkNGOjpyZWFk
TmF0aXZlU2FtcGxlQnVmZmVyKENGQXJyYXlSZWYgbmF0aXZlU2FtcGxlcywgQ0ZJbmRleCBpbmRl
eCwgUmVmUHRyPEFycmF5QnVmZmVyPiYgYnVmZmVyLCBNZWRpYVRpbWUmIGR1cmF0aW9uLCBDTUZv
cm1hdERlc2NyaXB0aW9uUmVmJiBmb3JtYXREZXNjcmlwdGlvbikKK3sKKyAgICBjb25zdCBBVkNG
UGxheWVySXRlbUxlZ2libGVPdXRwdXRTYW1wbGUqIHNhbXBsZUJ1ZmZlciA9IHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgQVZDRlBsYXllckl0ZW1MZWdpYmxlT3V0cHV0U2FtcGxlKj4oQ0ZBcnJheUdl
dFZhbHVlQXRJbmRleChuYXRpdmVTYW1wbGVzLCBpbmRleCkpOworICAgIGlmICghc2FtcGxlQnVm
ZmVyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBkdXJhdGlvbiA9IHRvTWVkaWFUaW1l
KHNhbXBsZUJ1ZmZlci0+ZHVyYXRpb24pOworICAgIGZvcm1hdERlc2NyaXB0aW9uID0gc2FtcGxl
QnVmZmVyLT5mb3JtYXREZXNjcmlwdGlvbjsKKworICAgIHNpemVfdCBidWZmZXJMZW5ndGggPSBD
RkRhdGFHZXRMZW5ndGgoc2FtcGxlQnVmZmVyLT5idWZmZXIpOworICAgIGlmIChidWZmZXJMZW5n
dGggPCBJU09Cb3g6OmJveEhlYWRlclNpemUoKSkgeworICAgICAgICBMT0coTWVkaWEsICJJbmJh
bmRUZXh0VHJhY2tQcml2YXRlTGVnYWN5QVZDRjo6cmVhZE5hdGl2ZVNhbXBsZUJ1ZmZlciglcCkg
LSBFUlJPUjogQ0ZCdWZmZXIgc2l6ZSBsZW5ndGggdW5leHBlY3RlZGx5IHNtYWxsICglenUpISEi
LCB0aGlzLCBidWZmZXJMZW5ndGgpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisg
ICAgbV9zYW1wbGVJbnB1dEJ1ZmZlci5yZXNpemUobV9zYW1wbGVJbnB1dEJ1ZmZlci5zaXplKCkg
KyBidWZmZXJMZW5ndGgpOworICAgIENGRGF0YUdldEJ5dGVzKHNhbXBsZUJ1ZmZlci0+YnVmZmVy
LCBDRlJhbmdlTWFrZSgwLCBidWZmZXJMZW5ndGgpLCByZWludGVycHJldF9jYXN0PFVJbnQ4Kj4o
bV9zYW1wbGVJbnB1dEJ1ZmZlci5kYXRhKCkpICsgbV9zYW1wbGVJbnB1dEJ1ZmZlci5zaXplKCkg
LSBidWZmZXJMZW5ndGgpOworCisgICAgYnVmZmVyID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShtX3Nh
bXBsZUlucHV0QnVmZmVyLmRhdGEoKSwgbV9zYW1wbGVJbnB1dEJ1ZmZlci5zaXplKCkpOworCisg
ICAgcmV0dXJuIHRydWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvSW5i
YW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0YuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFW
Q0YuaAkocmV2aXNpb24gMTg2Nzk1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL2NmL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkNGLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC01NSw3ICs1NSw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaXNj
b25uZWN0KCkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIENhdGVnb3J5IHRleHRUcmFja0NhdGVn
b3J5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gSW5CYW5kOyB9CisgICAgQ2F0ZWdvcnkgdGV4
dFRyYWNrQ2F0ZWdvcnkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBJbkJhbmQ7IH0KKyAgICBi
b29sIHJlYWROYXRpdmVTYW1wbGVCdWZmZXIoQ0ZBcnJheVJlZiBuYXRpdmVTYW1wbGVzLCBDRklu
ZGV4LCBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4mLCBNZWRpYVRpbWUmLCBDTUZvcm1hdERlc2Ny
aXB0aW9uUmVmJikgb3ZlcnJpZGU7CiAKICAgICBBVkNGTWVkaWFTZWxlY3Rpb25PcHRpb25SZWYg
bWVkaWFTZWxlY3Rpb25PcHRpb24oKSBjb25zdCB7IHJldHVybiBtX21lZGlhU2VsZWN0aW9uT3B0
aW9uLmdldCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlTGVnYWN5QVZDRi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2Nm
L0luYmFuZFRleHRUcmFja1ByaXZhdGVMZWdhY3lBVkNGLmNwcAkocmV2aXNpb24gMTg2Nzk1KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL0luYmFu
ZFRleHRUcmFja1ByaXZhdGVMZWdhY3lBVkNGLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTIzLDYgKzEy
MywxMSBAQCBBdG9taWNTdHJpbmcgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxlZ2FjCiAgICAgcmV0
dXJuIENGTG9jYWxlR2V0SWRlbnRpZmllcihsb2NhbGUuZ2V0KCkpOwogfQogCitib29sIEluYmFu
ZFRleHRUcmFja1ByaXZhdGVMZWdhY3lBVkNGOjpyZWFkTmF0aXZlU2FtcGxlQnVmZmVyKENGQXJy
YXlSZWYsIENGSW5kZXgsIFJlZlB0cjxBcnJheUJ1ZmZlcj4mLCBNZWRpYVRpbWUmLCBDTUZvcm1h
dERlc2NyaXB0aW9uUmVmJikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWQ0YuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWQ0YuaAkocmV2aXNpb24gMTg2Nzk1
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL0lu
YmFuZFRleHRUcmFja1ByaXZhdGVMZWdhY3lBVkNGLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU1LDcgKzU1
LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3QoKSBvdmVycmlkZTsK
IAotICAgIHZpcnR1YWwgQ2F0ZWdvcnkgdGV4dFRyYWNrQ2F0ZWdvcnkoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBMZWdhY3lDbG9zZWRDYXB0aW9uOyB9CisgICAgQ2F0ZWdvcnkgdGV4dFRyYWNr
Q2F0ZWdvcnkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBMZWdhY3lDbG9zZWRDYXB0aW9uOyB9
CisgICAgYm9vbCByZWFkTmF0aXZlU2FtcGxlQnVmZmVyKENGQXJyYXlSZWYgbmF0aXZlU2FtcGxl
cywgQ0ZJbmRleCwgUmVmUHRyPEFycmF5QnVmZmVyPiYsIE1lZGlhVGltZSYsIENNRm9ybWF0RGVz
Y3JpcHRpb25SZWYmKSBvdmVycmlkZTsKIAogICAgIEFWQ0ZQbGF5ZXJJdGVtVHJhY2tSZWYgYXZQ
bGF5ZXJJdGVtVHJhY2soKSBjb25zdCB7IHJldHVybiBtX3BsYXllckl0ZW1UcmFjay5nZXQoKTsg
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
Y2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHAJKHJldmlzaW9uIDE4Njc5NSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25DRi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MTYsNyArMTYxNiwxMSBA
QCB2b2lkIEFWRldyYXBwZXI6OmNyZWF0ZVBsYXllckl0ZW0oKQogICAgIEFWQ0ZQbGF5ZXJJdGVt
T3V0cHV0U2V0U3VwcHJlc3NQbGF5ZXJSZW5kZXJpbmcobV9sZWdpYmxlT3V0cHV0LmdldCgpLCBU
UlVFKTsKIAogICAgIEFWQ0ZQbGF5ZXJJdGVtTGVnaWJsZU91dHB1dENhbGxiYWNrcyBjYWxsYmFj
a0luZm87CisjaWYgSEFWRShBVkNGUExBWUVSSVRFTV9DQUxMQkFDS19WRVJTSU9OXzIpCisgICAg
Y2FsbGJhY2tJbmZvLnZlcnNpb24gPSBrQVZDRlBsYXllckl0ZW1MZWdpYmxlT3V0cHV0X0NhbGxi
YWNrc1ZlcnNpb25fMjsKKyNlbHNlCiAgICAgY2FsbGJhY2tJbmZvLnZlcnNpb24gPSBrQVZDRlBs
YXllckl0ZW1MZWdpYmxlT3V0cHV0X0NhbGxiYWNrc1ZlcnNpb25fMTsKKyNlbmRpZgogICAgIEFT
U0VSVChjYWxsYmFja0NvbnRleHQoKSk7CiAgICAgY2FsbGJhY2tJbmZvLmNvbnRleHQgPSBjYWxs
YmFja0NvbnRleHQoKTsKICAgICBjYWxsYmFja0luZm8ubGVnaWJsZU91dHB1dENhbGxiYWNrID0g
QVZGV3JhcHBlcjo6bGVnaWJsZU91dHB1dENhbGxiYWNrOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256748</attachid>
            <date>2015-07-13 17:31:57 -0700</date>
            <delta_ts>2015-07-13 17:50:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146922-20150713173051.patch</filename>
            <type>text/plain</type>
            <size>13827</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4Njc5NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE1LTA3LTEzICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIFVwZGF0ZSBNZWRp
YSBQbGF5ZXIgbG9naWMgZm9yIG5ldyBMZWdpYmxlIE91dHB1dCBBUEkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjkyMgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjA1NDI1NzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBBVkZvdW5kYXRpb25TdXBwb3J0LnB5OiBDaGVjayBmb3IgdXBkYXRlZCBB
VkZDRiBmZWF0dXJlLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9J
bmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluYmFuZFRl
eHRUcmFja1ByaXZhdGVBVkY6OnByb2Nlc3NOYXRpdmVTYW1wbGVzKTogVXBkYXRlIHRvIGNhbGwg
dGhlCisgICAgICAgIG5ldyAncmVhZE5hdGl2ZVNhbXBsZUJ1ZmZlcicgbWV0aG9kLgorICAgICAg
ICAoV2ViQ29yZTo6SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cmVhZE5hdGl2ZVNhbXBsZUJ1
ZmZlcik6IEFkZGVkLiBUaGlzIGlzIGEgbm8tb3AKKyAgICAgICAgb24gV2luZG93cyBpZiBpdCBo
YXMgdGhlIG5ldyBBVkNGIEFQSS4gT3RoZXJ3aXNlLCBpdCBjb250YWlucyB0aGUgc2FtZSBpbXBs
ZW1lbnRhdGlvbgorICAgICAgICB0aGF0IGhhcyBhbHdheXMgYmVlbiB1c2VkIGluICdwcm9jZXNz
TmF0aXZlU2FtcGxlcycuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0YuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0Y6OnJlYWROYXRpdmVTYW1wbGVC
dWZmZXIpOiBBZGRlZC4gVXNlIHRoZSBuZXcKKyAgICAgICAgTGVnaWJsZSBPdXRwdXQgQVBJIGlu
c3RlYWQgb2YgdGhlIG9sZCBDb3JlTWVkaWEgc29sdXRpb24gaWYgaXQgaXMgYXZhaWxhYmxlLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJh
Y2tQcml2YXRlQVZDRi5oOgorICAgICAgICAoV2ViQ29yZTo6SW5iYW5kVGV4dFRyYWNrUHJpdmF0
ZUFWQ0Y6Om1lZGlhU2VsZWN0aW9uT3B0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWQ0YuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWQ0Y6OnJlYWRO
YXRpdmVTYW1wbGVCdWZmZXIpOiBBZGQgYSBzdHViIGltcGxlbWVudGF0aW9uLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJhY2tQcml2YXRl
TGVnYWN5QVZDRi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9j
Zi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBVkZXcmFwcGVyOjpjcmVhdGVQbGF5ZXJJdGVtKTogVXNlIHRoZSBuZXcgTGVnaWJsZSBPdXRw
dXQgQVBJIGlmIGl0IGlzIGF2YWlsYWJsZS4KKwogMjAxNS0wNy0xMyAgTWF0dCBSYWpjYSAgPG1y
YWpjYUBhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWEgU2Vzc2lvbjogYWRkIHBsdW1iaW5nIGZv
ciBkZWxpdmVyaW5nIHN0YXJ0L2VuZC1vZi1pbnRlcnJ1cHRpb24gZXZlbnRzCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9BVkZvdW5kYXRpb25TdXBwb3J0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL0FWRm91bmRhdGlvblN1cHBvcnQucHkJKHJldmlzaW9uIDE4Njc5NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL0FWRm91bmRhdGlvblN1cHBvcnQucHkJKHdvcmtpbmcgY29weSkKQEAgLTU3LDMg
KzU3LDcgQEAgaWYgbG9va0ZvcigiL2luY2x1ZGUvUXVhcnR6Q29yZS9DQUNGTGF5ZQogICAgIHJl
Z2V4cCA9IHJlLmNvbXBpbGUoIkNBQ0ZMYXllclNldENvbnRlbnRzU2NhbGUiKQogICAgIGlmIGZp
bGVDb250YWlucygiL2luY2x1ZGUvUXVhcnR6Q29yZS9DQUNGTGF5ZXIuaCIsIHJlZ2V4cCk6CiAg
ICAgICAgIHByaW50ICIjZGVmaW5lIEhBVkVfQ0FDRkxBWUVSX1NFVENPTlRFTlRTU0NBTEUgMSIK
K2lmIGxvb2tGb3IoIi9pbmNsdWRlL0FWRm91bmRhdGlvbkNGL0FWQ0ZQbGF5ZXJJdGVtTGVnaWJs
ZU91dHB1dC5oIik6CisgICAgcmVnZXhwID0gcmUuY29tcGlsZSgia0FWQ0ZQbGF5ZXJJdGVtTGVn
aWJsZU91dHB1dF9DYWxsYmFja3NWZXJzaW9uXzIiKQorICAgIGlmIGZpbGVDb250YWlucygiL2lu
Y2x1ZGUvQVZGb3VuZGF0aW9uQ0YvQVZDRlBsYXllckl0ZW1MZWdpYmxlT3V0cHV0LmgiLCByZWdl
eHApOgorICAgICAgICBwcmludCAiI2RlZmluZSBIQVZFX0FWQ0ZQTEFZRVJJVEVNX0NBTExCQUNL
X1ZFUlNJT05fMiAxIgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9JbmJhbmRUZXh0VHJh
Y2tQcml2YXRlQVZGLmNwcAkocmV2aXNpb24gMTg2Nzk1KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00ODksMjkgKzQ4OSwxMSBAQCB2b2lkIEluYmFuZFRleHRUcmFj
a1ByaXZhdGVBVkY6OnByb2Nlc3NOCiAgICAgTE9HKE1lZGlhLCAiSW5iYW5kVGV4dFRyYWNrUHJp
dmF0ZUFWRjo6cHJvY2Vzc05hdGl2ZVNhbXBsZXMgLSAlbGkgc2FtcGxlIGJ1ZmZlcnMgYXQgdGlt
ZSAlLjJmXG4iLCBjb3VudCwgcHJlc2VudGF0aW9uVGltZS50b0RvdWJsZSgpKTsKIAogICAgIGZv
ciAoQ0ZJbmRleCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKLQotICAgICAgICBDTVNhbXBsZUJ1
ZmZlclJlZiBzYW1wbGVCdWZmZXIgPSAoQ01TYW1wbGVCdWZmZXJSZWYpQ0ZBcnJheUdldFZhbHVl
QXRJbmRleChuYXRpdmVTYW1wbGVzLCBpKTsKLSAgICAgICAgaWYgKCFzYW1wbGVCdWZmZXIpCi0g
ICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBDTVNhbXBsZVRpbWluZ0luZm8gdGltaW5n
SW5mbzsKLSAgICAgICAgT1NTdGF0dXMgc3RhdHVzID0gQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVU
aW1pbmdJbmZvKHNhbXBsZUJ1ZmZlciwgaSwgJnRpbWluZ0luZm8pOwotICAgICAgICBpZiAoc3Rh
dHVzKSB7Ci0gICAgICAgICAgICBMT0coTWVkaWEsICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZG
Ojpwcm9jZXNzTmF0aXZlU2FtcGxlcyglcCkgLSBDTVNhbXBsZUJ1ZmZlckdldFNhbXBsZVRpbWlu
Z0luZm8gcmV0dXJuZWQgZXJyb3IgJXggZm9yIHNhbXBsZSAlbGkiLCB0aGlzLCBzdGF0aWNfY2Fz
dDxpbnQ+KHN0YXR1cyksIGkpOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLQot
ICAgICAgICBDTUJsb2NrQnVmZmVyUmVmIGJsb2NrQnVmZmVyID0gQ01TYW1wbGVCdWZmZXJHZXRE
YXRhQnVmZmVyKHNhbXBsZUJ1ZmZlcik7Ci0gICAgICAgIHNpemVfdCBidWZmZXJMZW5ndGggPSBD
TUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aChibG9ja0J1ZmZlcik7Ci0gICAgICAgIGlmIChidWZm
ZXJMZW5ndGggPCBJU09Cb3g6OmJveEhlYWRlclNpemUoKSkgewotICAgICAgICAgICAgTE9HKE1l
ZGlhLCAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cHJvY2Vzc05hdGl2ZVNhbXBsZXMoJXAp
IC0gRVJST1I6IENNU2FtcGxlQnVmZmVyIHNpemUgbGVuZ3RoIHVuZXhwZWN0ZWRseSBzbWFsbCAo
JXp1KSEhIiwgdGhpcywgYnVmZmVyTGVuZ3RoKTsKKyAgICAgICAgUmVmUHRyPEFycmF5QnVmZmVy
PiBidWZmZXI7CisgICAgICAgIE1lZGlhVGltZSBkdXJhdGlvbjsKKyAgICAgICAgQ01Gb3JtYXRE
ZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlwdGlvbjsKKyAgICAgICAgaWYgKCFyZWFkTmF0aXZl
U2FtcGxlQnVmZmVyKG5hdGl2ZVNhbXBsZXMsIGksIGJ1ZmZlciwgZHVyYXRpb24sIGZvcm1hdERl
c2NyaXB0aW9uKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0KLSAgICAgICAg
bV9zYW1wbGVJbnB1dEJ1ZmZlci5yZXNpemUobV9zYW1wbGVJbnB1dEJ1ZmZlci5zaXplKCkgKyBi
dWZmZXJMZW5ndGgpOwotICAgICAgICBDTUJsb2NrQnVmZmVyQ29weURhdGFCeXRlcyhibG9ja0J1
ZmZlciwgMCwgYnVmZmVyTGVuZ3RoLCBtX3NhbXBsZUlucHV0QnVmZmVyLmRhdGEoKSArIG1fc2Ft
cGxlSW5wdXRCdWZmZXIuc2l6ZSgpIC0gYnVmZmVyTGVuZ3RoKTsKLQotICAgICAgICBSZWZQdHI8
QXJyYXlCdWZmZXI+IGJ1ZmZlciA9IEFycmF5QnVmZmVyOjpjcmVhdGUobV9zYW1wbGVJbnB1dEJ1
ZmZlci5kYXRhKCksIG1fc2FtcGxlSW5wdXRCdWZmZXIuc2l6ZSgpKTsKIAogICAgICAgICBTdHJp
bmcgdHlwZSA9IElTT0JveDo6cGVla1R5cGUoYnVmZmVyLmdldCgpKTsKICAgICAgICAgc2l6ZV90
IGJveExlbmd0aCA9IElTT0JveDo6cGVla0xlbmd0aChidWZmZXIuZ2V0KCkpOwpAQCAtNTIzLDcg
KzUwNSw3IEBAIHZvaWQgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cHJvY2Vzc04KICAgICAg
ICAgTE9HKE1lZGlhLCAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cHJvY2Vzc05hdGl2ZVNh
bXBsZXMoJXApIC0gY2h1bmsgdHlwZSA9ICclcycsIHNpemUgPSAlenUiLCB0aGlzLCB0eXBlLnV0
ZjgoKS5kYXRhKCksIGJveExlbmd0aCk7CiAKICAgICAgICAgaWYgKHR5cGUgPT0gSVNPV2ViVlRU
Q3VlOjpib3hUeXBlKCkpIHsKLSAgICAgICAgICAgIElTT1dlYlZUVEN1ZSBjdWVEYXRhID0gSVNP
V2ViVlRUQ3VlKHByZXNlbnRhdGlvblRpbWUsIHRvTWVkaWFUaW1lKHRpbWluZ0luZm8uZHVyYXRp
b24pLCBidWZmZXIuZ2V0KCkpOworICAgICAgICAgICAgSVNPV2ViVlRUQ3VlIGN1ZURhdGEgPSBJ
U09XZWJWVFRDdWUocHJlc2VudGF0aW9uVGltZSwgZHVyYXRpb24sIGJ1ZmZlci5nZXQoKSk7CiAg
ICAgICAgICAgICBMT0coTWVkaWEsICIgICAgc2FtcGxlIHByZXNlbnRhdGlvbiB0aW1lID0gJS4y
ZiwgZHVyYXRpb24gPSAlLjJmIiwgY3VlRGF0YS5wcmVzZW50YXRpb25UaW1lKCkudG9Eb3VibGUo
KSwgY3VlRGF0YS5kdXJhdGlvbigpLnRvRG91YmxlKCkpOwogICAgICAgICAgICAgTE9HKE1lZGlh
LCAiICAgIGlkID0gXCIlc1wiLCBzZXR0aW5ncyA9IFwiJXNcIiwgY3VlIHRleHQgPSBcIiVzXCIi
LCBjdWVEYXRhLmlkKCkudXRmOCgpLmRhdGEoKSwgY3VlRGF0YS5zZXR0aW5ncygpLnV0ZjgoKS5k
YXRhKCksIGN1ZURhdGEuY3VlVGV4dCgpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICAgICAgTE9H
KE1lZGlhLCAiICAgIHNvdXJjZUlEID0gXCIlc1wiLCBvcmlnaW5hbFN0YXJ0VGltZSA9IFwiJXNc
IiIsIGN1ZURhdGEuc291cmNlSUQoKS51dGY4KCkuZGF0YSgpLCBjdWVEYXRhLm9yaWdpbmFsU3Rh
cnRUaW1lKCkudXRmOCgpLmRhdGEoKSk7CkBAIC01MzUsNyArNTE3LDYgQEAgdm9pZCBJbmJhbmRU
ZXh0VHJhY2tQcml2YXRlQVZGOjpwcm9jZXNzTgogICAgICAgICAgICAgaWYgKG1faGF2ZVJlcG9y
dGVkVlRUSGVhZGVyKQogICAgICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgICAgICBDTUZv
cm1hdERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0gQ01TYW1wbGVCdWZmZXJHZXRG
b3JtYXREZXNjcmlwdGlvbihzYW1wbGVCdWZmZXIpOwogICAgICAgICAgICAgaWYgKCFmb3JtYXRE
ZXNjcmlwdGlvbikKICAgICAgICAgICAgICAgICBicmVhazsKIApAQCAtNTcwLDYgKzU1MSw0MiBA
QCB2b2lkIEluYmFuZFRleHRUcmFja1ByaXZhdGVBVkY6OnByb2Nlc3NOCiAgICAgfQogfQogCiti
b29sIEluYmFuZFRleHRUcmFja1ByaXZhdGVBVkY6OnJlYWROYXRpdmVTYW1wbGVCdWZmZXIoQ0ZB
cnJheVJlZiBuYXRpdmVTYW1wbGVzLCBDRkluZGV4IGluZGV4LCBSZWZQdHI8QXJyYXlCdWZmZXI+
JiBidWZmZXIsIE1lZGlhVGltZSYgZHVyYXRpb24sIENNRm9ybWF0RGVzY3JpcHRpb25SZWYmIGZv
cm1hdERlc2NyaXB0aW9uKQoreworI2lmIE9TKFdJTkRPV1MpICYmIEhBVkUoQVZDRlBMQVlFUklU
RU1fQ0FMTEJBQ0tfVkVSU0lPTl8yKQorICAgIHJldHVybiBmYWxzZTsKKyNlbHNlCisgICAgQ01T
YW1wbGVCdWZmZXJSZWYgY29uc3Qgc2FtcGxlQnVmZmVyID0gcmVpbnRlcnByZXRfY2FzdDxDTVNh
bXBsZUJ1ZmZlclJlZj4oY29uc3RfY2FzdDx2b2lkKj4oQ0ZBcnJheUdldFZhbHVlQXRJbmRleChu
YXRpdmVTYW1wbGVzLCBpbmRleCkpKTsKKyAgICBpZiAoIXNhbXBsZUJ1ZmZlcikKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgQ01TYW1wbGVUaW1pbmdJbmZvIHRpbWluZ0luZm87CisgICAg
T1NTdGF0dXMgc3RhdHVzID0gQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZvKHNhbXBs
ZUJ1ZmZlciwgaW5kZXgsICZ0aW1pbmdJbmZvKTsKKyAgICBpZiAoc3RhdHVzKSB7CisgICAgICAg
IExPRyhNZWRpYSwgIkluYmFuZFRleHRUcmFja1ByaXZhdGVBVkY6OnJlYWROYXRpdmVTYW1wbGVC
dWZmZXIoJXApIC0gQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVUaW1pbmdJbmZvIHJldHVybmVkIGVy
cm9yICV4IGZvciBzYW1wbGUgJWxpIiwgdGhpcywgc3RhdGljX2Nhc3Q8aW50PihzdGF0dXMpLCBp
bmRleCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBkdXJhdGlvbiA9IHRv
TWVkaWFUaW1lKHRpbWluZ0luZm8uZHVyYXRpb24pOworCisgICAgQ01CbG9ja0J1ZmZlclJlZiBi
bG9ja0J1ZmZlciA9IENNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlcihzYW1wbGVCdWZmZXIpOwor
ICAgIHNpemVfdCBidWZmZXJMZW5ndGggPSBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aChibG9j
a0J1ZmZlcik7CisgICAgaWYgKGJ1ZmZlckxlbmd0aCA8IElTT0JveDo6Ym94SGVhZGVyU2l6ZSgp
KSB7CisgICAgICAgIExPRyhNZWRpYSwgIkluYmFuZFRleHRUcmFja1ByaXZhdGVBVkY6OnJlYWRO
YXRpdmVTYW1wbGVCdWZmZXIoJXApIC0gRVJST1I6IENNU2FtcGxlQnVmZmVyIHNpemUgbGVuZ3Ro
IHVuZXhwZWN0ZWRseSBzbWFsbCAoJXp1KSEhIiwgdGhpcywgYnVmZmVyTGVuZ3RoKTsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIG1fc2FtcGxlSW5wdXRCdWZmZXIucmVzaXpl
KG1fc2FtcGxlSW5wdXRCdWZmZXIuc2l6ZSgpICsgYnVmZmVyTGVuZ3RoKTsKKyAgICBDTUJsb2Nr
QnVmZmVyQ29weURhdGFCeXRlcyhibG9ja0J1ZmZlciwgMCwgYnVmZmVyTGVuZ3RoLCBtX3NhbXBs
ZUlucHV0QnVmZmVyLmRhdGEoKSArIG1fc2FtcGxlSW5wdXRCdWZmZXIuc2l6ZSgpIC0gYnVmZmVy
TGVuZ3RoKTsKKworICAgIGJ1ZmZlciA9IEFycmF5QnVmZmVyOjpjcmVhdGUobV9zYW1wbGVJbnB1
dEJ1ZmZlci5kYXRhKCksIG1fc2FtcGxlSW5wdXRCdWZmZXIuc2l6ZSgpKTsKKworICAgIGZvcm1h
dERlc2NyaXB0aW9uID0gQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbihzYW1wbGVC
dWZmZXIpOworCisgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFZJREVPKSAmJiAoVVNFKEFWRk9VTkRBVElPTikg
fHwgUExBVEZPUk0oSU9TKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRleHRU
cmFja1ByaXZhdGVBVkYuaAkocmV2aXNpb24gMTg2Nzk1KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuaAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIt
MjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTItMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDYgKzMyLDEyIEBACiAjaW5jbHVkZSAiSW5iYW5kVGV4dFRy
YWNrUHJpdmF0ZUNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4K
IAordHlwZWRlZiBjb25zdCBzdHJ1Y3Qgb3BhcXVlQ01Gb3JtYXREZXNjcmlwdGlvbiogQ01Gb3Jt
YXREZXNjcmlwdGlvblJlZjsKKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBBcnJheUJ1ZmZlcjsK
K30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBVkZJbmJhbmRUcmFja1BhcmVudCB7
CkBAIC03MCw2ICs3Niw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIENhdGVnb3J5IHRleHRUcmFj
a0NhdGVnb3J5KCkgY29uc3QgPSAwOwogICAgIAogICAgIHZpcnR1YWwgTWVkaWFUaW1lIHN0YXJ0
VGltZVZhcmlhbmNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gTWVkaWFUaW1lKDEsIDQpOyB9
CisKKyAgICB2aXJ0dWFsIGJvb2wgcmVhZE5hdGl2ZVNhbXBsZUJ1ZmZlcihDRkFycmF5UmVmIG5h
dGl2ZVNhbXBsZXMsIENGSW5kZXgsIFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiYsIE1lZGlhVGlt
ZSYsIENNRm9ybWF0RGVzY3JpcHRpb25SZWYmKTsKICAgICAKIHByb3RlY3RlZDoKICAgICBJbmJh
bmRUZXh0VHJhY2tQcml2YXRlQVZGKEFWRkluYmFuZFRyYWNrUGFyZW50KiwgQ3VlRm9ybWF0KTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9J
bmJhbmRUZXh0VHJhY2tQcml2YXRlQVZDRi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL0luYmFuZFRleHRUcmFja1ByaXZh
dGVBVkNGLmNwcAkocmV2aXNpb24gMTg2Nzk1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkNGLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMzAsMTAgKzMwLDEzIEBACiAjaW5jbHVkZSAiSW5iYW5kVGV4dFRyYWNr
UHJpdmF0ZUFWQ0YuaCIKIAogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUg
IklTT1ZUVEN1ZS5oIgogI2luY2x1ZGUgIkluYmFuZFRleHRUcmFja1ByaXZhdGUuaCIKICNpbmNs
dWRlICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgor
I2luY2x1ZGUgIk1lZGlhVGltZUFWRm91bmRhdGlvbi5oIgogI2luY2x1ZGUgIlNvZnRMaW5raW5n
LmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQXJyYXlCdWZmZXIuaD4KIAogI2luY2x1ZGUg
PEFWRm91bmRhdGlvbkNGL0FWQ0ZQbGF5ZXJJdGVtTGVnaWJsZU91dHB1dC5oPgogI2luY2x1ZGUg
PEFWRm91bmRhdGlvbkNGL0FWRm91bmRhdGlvbkNGLmg+CkBAIC0xODQsNiArMTg3LDI5IEBAIGJv
b2wgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0Y6OmlzRGVmYXUKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKK2Jvb2wgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0Y6OnJlYWROYXRpdmVTYW1wbGVC
dWZmZXIoQ0ZBcnJheVJlZiBuYXRpdmVTYW1wbGVzLCBDRkluZGV4IGluZGV4LCBSZWZQdHI8QXJy
YXlCdWZmZXI+JiBidWZmZXIsIE1lZGlhVGltZSYgZHVyYXRpb24sIENNRm9ybWF0RGVzY3JpcHRp
b25SZWYmIGZvcm1hdERlc2NyaXB0aW9uKQoreworICAgIGNvbnN0IEFWQ0ZQbGF5ZXJJdGVtTGVn
aWJsZU91dHB1dFNhbXBsZSogc2FtcGxlQnVmZmVyID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBB
VkNGUGxheWVySXRlbUxlZ2libGVPdXRwdXRTYW1wbGUqPihDRkFycmF5R2V0VmFsdWVBdEluZGV4
KG5hdGl2ZVNhbXBsZXMsIGluZGV4KSk7CisgICAgaWYgKCFzYW1wbGVCdWZmZXIpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIGR1cmF0aW9uID0gdG9NZWRpYVRpbWUoc2FtcGxlQnVmZmVy
LT5kdXJhdGlvbik7CisgICAgZm9ybWF0RGVzY3JpcHRpb24gPSBzYW1wbGVCdWZmZXItPmZvcm1h
dERlc2NyaXB0aW9uOworCisgICAgc2l6ZV90IGJ1ZmZlckxlbmd0aCA9IENGRGF0YUdldExlbmd0
aChzYW1wbGVCdWZmZXItPmJ1ZmZlcik7CisgICAgaWYgKGJ1ZmZlckxlbmd0aCA8IElTT0JveDo6
Ym94SGVhZGVyU2l6ZSgpKSB7CisgICAgICAgIExPRyhNZWRpYSwgIkluYmFuZFRleHRUcmFja1By
aXZhdGVMZWdhY3lBVkNGOjpyZWFkTmF0aXZlU2FtcGxlQnVmZmVyKCVwKSAtIEVSUk9SOiBDRkJ1
ZmZlciBzaXplIGxlbmd0aCB1bmV4cGVjdGVkbHkgc21hbGwgKCV6dSkhISIsIHRoaXMsIGJ1ZmZl
ckxlbmd0aCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBtX3NhbXBsZUlu
cHV0QnVmZmVyLnJlc2l6ZShtX3NhbXBsZUlucHV0QnVmZmVyLnNpemUoKSArIGJ1ZmZlckxlbmd0
aCk7CisgICAgQ0ZEYXRhR2V0Qnl0ZXMoc2FtcGxlQnVmZmVyLT5idWZmZXIsIENGUmFuZ2VNYWtl
KDAsIGJ1ZmZlckxlbmd0aCksIHJlaW50ZXJwcmV0X2Nhc3Q8VUludDgqPihtX3NhbXBsZUlucHV0
QnVmZmVyLmRhdGEoKSkgKyBtX3NhbXBsZUlucHV0QnVmZmVyLnNpemUoKSAtIGJ1ZmZlckxlbmd0
aCk7CisKKyAgICBidWZmZXIgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKG1fc2FtcGxlSW5wdXRCdWZm
ZXIuZGF0YSgpLCBtX3NhbXBsZUlucHV0QnVmZmVyLnNpemUoKSk7CisKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJhY2tQ
cml2YXRlQVZDRi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZDRi5oCShyZXZpc2lv
biAxODY3OTUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0YuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU1
LDcgKzU1LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3QoKSBvdmVy
cmlkZTsKIAotICAgIHZpcnR1YWwgQ2F0ZWdvcnkgdGV4dFRyYWNrQ2F0ZWdvcnkoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBJbkJhbmQ7IH0KKyAgICBDYXRlZ29yeSB0ZXh0VHJhY2tDYXRlZ29y
eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEluQmFuZDsgfQorICAgIGJvb2wgcmVhZE5hdGl2
ZVNhbXBsZUJ1ZmZlcihDRkFycmF5UmVmIG5hdGl2ZVNhbXBsZXMsIENGSW5kZXgsIFJlZlB0cjxK
U0M6OkFycmF5QnVmZmVyPiYsIE1lZGlhVGltZSYsIENNRm9ybWF0RGVzY3JpcHRpb25SZWYmKSBv
dmVycmlkZTsKIAogICAgIEFWQ0ZNZWRpYVNlbGVjdGlvbk9wdGlvblJlZiBtZWRpYVNlbGVjdGlv
bk9wdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTZWxlY3Rpb25PcHRpb24uZ2V0KCk7IH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2Nm
L01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCShyZXZpc2lvbiAxODY3OTUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uQ0YuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjE2LDcgKzE2MTYsMTEgQEAg
dm9pZCBBVkZXcmFwcGVyOjpjcmVhdGVQbGF5ZXJJdGVtKCkKICAgICBBVkNGUGxheWVySXRlbU91
dHB1dFNldFN1cHByZXNzUGxheWVyUmVuZGVyaW5nKG1fbGVnaWJsZU91dHB1dC5nZXQoKSwgVFJV
RSk7CiAKICAgICBBVkNGUGxheWVySXRlbUxlZ2libGVPdXRwdXRDYWxsYmFja3MgY2FsbGJhY2tJ
bmZvOworI2lmIEhBVkUoQVZDRlBMQVlFUklURU1fQ0FMTEJBQ0tfVkVSU0lPTl8yKQorICAgIGNh
bGxiYWNrSW5mby52ZXJzaW9uID0ga0FWQ0ZQbGF5ZXJJdGVtTGVnaWJsZU91dHB1dF9DYWxsYmFj
a3NWZXJzaW9uXzI7CisjZWxzZQogICAgIGNhbGxiYWNrSW5mby52ZXJzaW9uID0ga0FWQ0ZQbGF5
ZXJJdGVtTGVnaWJsZU91dHB1dF9DYWxsYmFja3NWZXJzaW9uXzE7CisjZW5kaWYKICAgICBBU1NF
UlQoY2FsbGJhY2tDb250ZXh0KCkpOwogICAgIGNhbGxiYWNrSW5mby5jb250ZXh0ID0gY2FsbGJh
Y2tDb250ZXh0KCk7CiAgICAgY2FsbGJhY2tJbmZvLmxlZ2libGVPdXRwdXRDYWxsYmFjayA9IEFW
RldyYXBwZXI6OmxlZ2libGVPdXRwdXRDYWxsYmFjazsK
</data>
<flag name="review"
          id="281852"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>