<?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>124737</bug_id>
          
          <creation_ts>2013-11-21 12:34:46 -0800</creation_ts>
          <short_desc>Web Inspector: [CSS Shapes] Refactor highlighting code to decrease Shapes API surface</short_desc>
          <delta_ts>2013-11-21 19:14:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>124070</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Bear Travis">betravis</reporter>
          <assigned_to name="Bear Travis">betravis</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>953235</commentid>
    <comment_count>0</comment_count>
    <who name="Bear Travis">betravis</who>
    <bug_when>2013-11-21 12:34:46 -0800</bug_when>
    <thetext>The descendants of the Shapes class have to expose some internal workings in order to build the paths for the inspector highlights.
A cleaner implementation would just pass a path or data struct in to the shape to be populated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953245</commentid>
    <comment_count>1</comment_count>
      <attachid>217602</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2013-11-21 12:49:40 -0800</bug_when>
    <thetext>Created attachment 217602
Initial patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953332</commentid>
    <comment_count>2</comment_count>
      <attachid>217624</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2013-11-21 16:15:17 -0800</bug_when>
    <thetext>Created attachment 217624
Renaming buildInspectorPath to buildPath</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953410</commentid>
    <comment_count>3</comment_count>
      <attachid>217624</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-21 19:14:50 -0800</bug_when>
    <thetext>Comment on attachment 217624
Renaming buildInspectorPath to buildPath

Clearing flags on attachment: 217624

Committed r159671: &lt;http://trac.webkit.org/changeset/159671&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953411</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-21 19:14:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217602</attachid>
            <date>2013-11-21 12:49:40 -0800</date>
            <delta_ts>2013-11-21 16:15:17 -0800</delta_ts>
            <desc>Initial patch</desc>
            <filename>bug-124737-20131121124940.patch</filename>
            <type>text/plain</type>
            <size>18140</size>
            <attacher name="Bear Travis">betravis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY5OWQ5NDBhNDE0MmQ1
MDg4ZmVhYWNkMWYwYjA1NmY0YzZjYjc2Mi4uNzM1ZjllNTBiMGMzYjgwOWMzZTExYzkwODdmYjQ5
OWQ2NjhhOGRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTExLTIxICBCZWFy
IFRyYXZpcyAgPGJldHJhdmlzQGFkb2JlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBb
Q1NTIFNoYXBlc10gUmVmYWN0b3IgaGlnaGxpZ2h0aW5nIGNvZGUgdG8gZGVjcmVhc2UgU2hhcGVz
IEFQSSBzdXJmYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjQ3MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYSB2aXJ0dWFsIG1ldGhvZCB0byBTaGFwZXMsIGJ1aWxkSW5zcGVjdG9yUGF0aCwg
dGhhdCBjYW4gYmUgdXNlZCB0byBidWlsZCB0aGUKKyAgICAgICAgcGF0aCAoaW4gdGhlIFNoYXBl
IGNvb3JkaW5hdGUgc3lzdGVtKSBmb3IgZGlzcGxheSBpbiB0aGUgSW5zcGVjdG9yLiBUaGlzIGFs
bG93cyB1cworICAgICAgICB0byByZW1vdmUgbWV0aG9kcyBzdWNoIGFzIHR5cGUoKSwgcG9seWdv
bigpLCBhbmQgbG9naWNhbFJ4L1J5KCkgd2hpY2ggZXhwb3NlZCB0aGUKKyAgICAgICAgaW5uZXIg
d29ya2luZ3Mgb2YgdGhlIFNoYXBlcyBjbGFzc2VzLiBBbHNvIGNvdmVycyB0aGUgYWRkaXRpb24g
b2YgdGhlIEJveFNoYXBlIHR5cGUuCisKKyAgICAgICAgUmVmYWN0b3JpbmcsIGV4aXN0aW5nIHRl
c3QgaXMgaW5zcGVjdG9yLXByb3RvY29sL21vZGVsL2hpZ2hsaWdodC1zaGFwZS1vdXRzaWRlLmh0
bWwuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjphcHBlbmRQYXRoQ29tbWFuZEFuZFBvaW50cyk6IFBvaW50cyBuZWVkIHRvIGJl
IHRyYW5zbGF0ZWQgZnJvbSBzaGFwZSBzcGFjZQorICAgICAgICB0byByZW5kZXJlciBzcGFjZSB1
c2luZyBTaGFwZUluZm8uCisgICAgICAgIChXZWJDb3JlOjpidWlsZE9iamVjdEZvclNoYXBlT3V0
c2lkZSk6IEFkZCB0aGUgU2hhcGVPdXRzaWRlSW5mbyB0byB0aGUgcGF0aCBpbmZvIHN0cnVjdC4K
KyAgICAgICAgKiByZW5kZXJpbmcvc2hhcGVzL0JveFNoYXBlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkJveFNoYXBlOjpidWlsZEluc3BlY3RvclBhdGgpOiBCdWlsZCB0aGUgcGF0aCBmb3IgYSBC
b3hTaGFwZS4KKyAgICAgICAgKiByZW5kZXJpbmcvc2hhcGVzL0JveFNoYXBlLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL3NoYXBlcy9Qb2x5Z29uU2hhcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UG9seWdvblNoYXBlOjpidWlsZEluc3BlY3RvclBhdGgpOiBCdWlsZCB0aGUgcGF0aCBmb3IgYSBQ
b2x5Z29uU2hhcGUuCisgICAgICAgICogcmVuZGVyaW5nL3NoYXBlcy9Qb2x5Z29uU2hhcGUuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBlLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL3NoYXBlcy9SZWN0YW5nbGVTaGFwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWN0
YW5nbGVTaGFwZTo6YnVpbGRJbnNwZWN0b3JQYXRoKTogQnVpbGQgdGhlIHBhdGggZm9yIGEgUmVj
dGFuZ2xlU2hhcGUuCisgICAgICAgICogcmVuZGVyaW5nL3NoYXBlcy9SZWN0YW5nbGVTaGFwZS5o
OgorICAgICAgICAqIHJlbmRlcmluZy9zaGFwZXMvU2hhcGUuaDoKKwogMjAxMy0xMS0yMSAgQWxl
eGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgV2Vi
Q3J5cHRvIHVud3JhcEtleQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvck92ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92
ZXJsYXkuY3BwCmluZGV4IDRlODI3ZjExOTBiNmNhODM5NjRiNzA3ZDhkNDNhNDIzODJkM2M5N2Qu
LjI2YjJhMjYwZGEwMDVmNGQxZTVkZWExZDllM2FiMjU4ODRhYzAxM2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKQEAgLTU0OCw2ICs1NDgsNyBA
QCBzdHJ1Y3QgUGF0aEFwcGx5SW5mbyB7CiAgICAgRnJhbWVWaWV3KiB2aWV3OwogICAgIEluc3Bl
Y3RvckFycmF5KiBhcnJheTsKICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyOworICAgIGNvbnN0
IFNoYXBlT3V0c2lkZUluZm8qIHNoYXBlT3V0c2lkZUluZm87CiB9OwogCiBzdGF0aWMgdm9pZCBh
cHBlbmRQYXRoQ29tbWFuZEFuZFBvaW50cyhQYXRoQXBwbHlJbmZvKiBpbmZvLCBjb25zdCBTdHJp
bmcmIGNvbW1hbmQsIGNvbnN0IEZsb2F0UG9pbnQgcG9pbnRzW10sIHVuc2lnbmVkIGxlbmd0aCkK
QEAgLTU1NSw3ICs1NTYsOCBAQCBzdGF0aWMgdm9pZCBhcHBlbmRQYXRoQ29tbWFuZEFuZFBvaW50
cyhQYXRoQXBwbHlJbmZvKiBpbmZvLCBjb25zdCBTdHJpbmcmIGNvbW1hbgogICAgIEZsb2F0UG9p
bnQgcG9pbnQ7CiAgICAgaW5mby0+YXJyYXktPnB1c2hTdHJpbmcoY29tbWFuZCk7CiAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIHBvaW50ID0gbG9j
YWxQb2ludFRvUm9vdChpbmZvLT5yZW5kZXJlciwgaW5mby0+cm9vdFZpZXcsIGluZm8tPnZpZXcs
IHBvaW50c1tpXSk7CisgICAgICAgIHBvaW50ID0gaW5mby0+c2hhcGVPdXRzaWRlSW5mby0+c2hh
cGVUb1JlbmRlcmVyUG9pbnQocG9pbnRzW2ldKTsKKyAgICAgICAgcG9pbnQgPSBsb2NhbFBvaW50
VG9Sb290KGluZm8tPnJlbmRlcmVyLCBpbmZvLT5yb290VmlldywgaW5mby0+dmlldywgcG9pbnQp
OwogICAgICAgICBpbmZvLT5hcnJheS0+cHVzaE51bWJlcihwb2ludC54KCkpOwogICAgICAgICBp
bmZvLT5hcnJheS0+cHVzaE51bWJlcihwb2ludC55KCkpOwogICAgIH0KQEAgLTYwMiwzOSArNjA0
LDcgQEAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBidWlsZE9iamVjdEZvclNo
YXBlT3V0c2lkZShGcmFtZSogY29udGFpbmluZ0YKICAgICBzaGFwZU9iamVjdC0+c2V0QXJyYXko
ImJvdW5kcyIsIGJ1aWxkQXJyYXlGb3JRdWFkKHNoYXBlUXVhZCkpOwogCiAgICAgUGF0aCBwYXRo
OwotICAgIHN3aXRjaCAoc2hhcGVPdXRzaWRlSW5mby0+Y29tcHV0ZWRTaGFwZSgpLT50eXBlKCkp
IHsKLSAgICBjYXNlIFNoYXBlOjpSb3VuZGVkUmVjdGFuZ2xlVHlwZTogewotICAgICAgICBjb25z
dCBSZWN0YW5nbGVTaGFwZSogc2hhcGUgPSBzdGF0aWNfY2FzdDxjb25zdCBSZWN0YW5nbGVTaGFw
ZSo+KHNoYXBlT3V0c2lkZUluZm8tPmNvbXB1dGVkU2hhcGUoKSk7Ci0gICAgICAgIEZsb2F0U2l6
ZSByYWRpaShzaGFwZS0+bG9naWNhbFJ4KCksIHNoYXBlLT5sb2dpY2FsUnkoKSk7Ci0gICAgICAg
IHJhZGlpID0gc2hhcGVPdXRzaWRlSW5mby0+c2hhcGVUb1JlbmRlcmVyU2l6ZShyYWRpaSk7Ci0g
ICAgICAgIHBhdGguYWRkUm91bmRlZFJlY3Qoc2hhcGVCb3VuZHMsIHJhZGlpLCBQYXRoOjpQcmVm
ZXJCZXppZXJSb3VuZGVkUmVjdCk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIGNhc2Ug
U2hhcGU6OlBvbHlnb25UeXBlOiB7Ci0gICAgICAgIGNvbnN0IFBvbHlnb25TaGFwZSogc2hhcGUg
PSBzdGF0aWNfY2FzdDxjb25zdCBQb2x5Z29uU2hhcGUqPihzaGFwZU91dHNpZGVJbmZvLT5jb21w
dXRlZFNoYXBlKCkpOwotICAgICAgICBjb25zdCBGbG9hdFBvbHlnb24mIHBvbHlnb24gPSBzaGFw
ZS0+cG9seWdvbigpOwotICAgICAgICBGbG9hdFBvaW50IHZlcnRleDsKLQotICAgICAgICBpZiAo
cG9seWdvbi5udW1iZXJPZlZlcnRpY2VzKCkpIHsKLSAgICAgICAgICAgIHZlcnRleCA9IHNoYXBl
T3V0c2lkZUluZm8tPnNoYXBlVG9SZW5kZXJlclBvaW50KHBvbHlnb24udmVydGV4QXQoMCkpOwot
ICAgICAgICAgICAgcGF0aC5tb3ZlVG8odmVydGV4KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAxOyBpIDwgcG9seWdvbi5udW1iZXJPZlZlcnRpY2VzKCk7IGkrKykgewot
ICAgICAgICAgICAgRmxvYXRQb2ludCB2ZXJ0ZXggPSBzaGFwZU91dHNpZGVJbmZvLT5zaGFwZVRv
UmVuZGVyZXJQb2ludChwb2x5Z29uLnZlcnRleEF0KGkpKTsKLSAgICAgICAgICAgIHBhdGguYWRk
TGluZVRvKHZlcnRleCk7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAocG9seWdvbi5udW1iZXJP
ZlZlcnRpY2VzKCkpCi0gICAgICAgICAgICBwYXRoLmNsb3NlU3VicGF0aCgpOwotICAgICAgICBi
cmVhazsKLSAgICB9Ci0KLSAgICBjYXNlIFNoYXBlOjpSYXN0ZXJUeXBlOgotICAgICAgICAvLyBG
SVhNRTogQnVnIDEyNDA4MCAtIFJhc3RlclNoYXBlcyBhcmUgbm90IHlldCBzdXBwb3J0ZWQgYW5k
IG9ubHkgZGlzcGxheSB0aGVpciBzaGFwZSBib3VuZHMKLSAgICAgICAgYnJlYWs7Ci0gICAgfQor
ICAgIHNoYXBlT3V0c2lkZUluZm8tPmNvbXB1dGVkU2hhcGUoKS0+YnVpbGRJbnNwZWN0b3JQYXRo
KHBhdGgpOwogCiAgICAgaWYgKHBhdGgubGVuZ3RoKCkpIHsKICAgICAgICAgUmVmUHRyPEluc3Bl
Y3RvckFycmF5PiBzaGFwZVBhdGggPSBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCk7CkBAIC02NDMs
NiArNjEzLDcgQEAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBidWlsZE9iamVj
dEZvclNoYXBlT3V0c2lkZShGcmFtZSogY29udGFpbmluZ0YKICAgICAgICAgaW5mby52aWV3ID0g
Y29udGFpbmluZ0ZyYW1lLT52aWV3KCk7CiAgICAgICAgIGluZm8uYXJyYXkgPSBzaGFwZVBhdGgu
Z2V0KCk7CiAgICAgICAgIGluZm8ucmVuZGVyZXIgPSByZW5kZXJlcjsKKyAgICAgICAgaW5mby5z
aGFwZU91dHNpZGVJbmZvID0gc2hhcGVPdXRzaWRlSW5mbzsKIAogICAgICAgICBwYXRoLmFwcGx5
KCZpbmZvLCAmYXBwZW5kUGF0aFNlZ21lbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc2hhcGVzL0JveFNoYXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zaGFwZXMvQm94U2hhcGUuY3BwCmluZGV4IDAyMjJlNzk0NTk1YTdiMzE3ZmQ2MzM0MjI0MTYz
MDQxZTQ3ZWMwNzkuLmVlMjcxYWU4NzVhYjliZjI4OTBjNzgwZWIxYjc5ZWVmZTZmYTk4NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvQm94U2hhcGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvQm94U2hhcGUuY3BwCkBAIC0xMDgs
NCArMTA4LDExIEBAIGJvb2wgQm94U2hhcGU6OmZpcnN0SW5jbHVkZWRJbnRlcnZhbExvZ2ljYWxU
b3AoTGF5b3V0VW5pdCBtaW5Mb2dpY2FsSW50ZXJ2YWxUb3AsCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKK3ZvaWQgQm94U2hhcGU6OmJ1aWxkSW5zcGVjdG9yUGF0aChQYXRoJiBwYXRoKSBjb25zdAor
eworICAgIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCA9IG1fYm91bmRzLnJlY3QoKTsKKyAgICBjb25z
dCBGbG9hdFJvdW5kZWRSZWN0OjpSYWRpaSYgcmFkaWkgPSBtX2JvdW5kcy5yYWRpaSgpOworICAg
IHBhdGguYWRkUm91bmRlZFJlY3QocmVjdCwgcmFkaWkudG9wTGVmdCgpLCByYWRpaS50b3BSaWdo
dCgpLCByYWRpaS5ib3R0b21MZWZ0KCksIHJhZGlpLmJvdHRvbVJpZ2h0KCksIFBhdGg6OlByZWZl
ckJlemllclJvdW5kZWRSZWN0KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9Cb3hTaGFwZS5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9Cb3hTaGFwZS5oCmluZGV4IGM0MjEzZWYxMDJkMzJh
MzczNzE2NTk1NmE0NWZmMzMzNjNiODhlYzkuLjE0NWNkY2UzNTc0MmU1ZDU1ZGIwYjc1N2E5OTBm
Y2JkMDNlOWU5YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMv
Qm94U2hhcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL0JveFNoYXBl
LmgKQEAgLTQ1LDcgKzQ1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBnZXRFeGNsdWRl
ZEludGVydmFscyhMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExheW91dFVuaXQgbG9naWNhbEhlaWdo
dCwgU2VnbWVudExpc3QmKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0SW5j
bHVkZWRJbnRlcnZhbHMoTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXlvdXRVbml0IGxvZ2ljYWxI
ZWlnaHQsIFNlZ21lbnRMaXN0JikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGZp
cnN0SW5jbHVkZWRJbnRlcnZhbExvZ2ljYWxUb3AoTGF5b3V0VW5pdCBtaW5Mb2dpY2FsSW50ZXJ2
YWxUb3AsIGNvbnN0IExheW91dFNpemUmIG1pbkxvZ2ljYWxJbnRlcnZhbFNpemUsIExheW91dFVu
aXQmKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFNoYXBlVHlwZSB0eXBlKCkgY29uc3Qg
T1ZFUlJJREUgeyByZXR1cm4gU2hhcGU6OlJvdW5kZWRSZWN0YW5nbGVUeXBlOyB9CisKKyAgICB2
aXJ0dWFsIHZvaWQgYnVpbGRJbnNwZWN0b3JQYXRoKFBhdGgmKSBjb25zdCBPVkVSUklERTsKIAog
cHJpdmF0ZToKICAgICBGbG9hdFJvdW5kZWRSZWN0IG1fYm91bmRzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9Qb2x5Z29uU2hhcGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9Qb2x5Z29uU2hhcGUuY3BwCmluZGV4IDQ4MGUyMzE5MTRi
ZjgwMThmYmRiMmJiZmU4Y2VmMjdiMjVlNGQ1ODAuLmZhYjQwODgzZTgyNjE1M2E0ZjBhYzdkNDg5
OTViN2VmMmRhMTc5NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFw
ZXMvUG9seWdvblNoYXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVz
L1BvbHlnb25TaGFwZS5jcHAKQEAgLTUyMyw0ICs1MjMsMTkgQEAgYm9vbCBQb2x5Z29uU2hhcGU6
OmZpcnN0SW5jbHVkZWRJbnRlcnZhbExvZ2ljYWxUb3AoTGF5b3V0VW5pdCBtaW5Mb2dpY2FsSW50
ZXJ2YWwKICAgICByZXR1cm4gZmlyc3RGaXRGb3VuZDsKIH0KIAordm9pZCBQb2x5Z29uU2hhcGU6
OmJ1aWxkSW5zcGVjdG9yUGF0aChQYXRoJiBwYXRoKSBjb25zdAoreworICAgIEZsb2F0UG9pbnQg
dmVydGV4OworCisgICAgaWYgKCFtX3BvbHlnb24ubnVtYmVyT2ZWZXJ0aWNlcygpKQorICAgICAg
ICByZXR1cm47CisKKyAgICBwYXRoLm1vdmVUbyhtX3BvbHlnb24udmVydGV4QXQoMCkpOworCisg
ICAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCBtX3BvbHlnb24ubnVtYmVyT2ZWZXJ0aWNlcygpOyBp
KyspCisgICAgICAgIHBhdGguYWRkTGluZVRvKG1fcG9seWdvbi52ZXJ0ZXhBdChpKSk7CisKKyAg
ICBwYXRoLmNsb3NlU3VicGF0aCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1BvbHlnb25TaGFwZS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9Qb2x5Z29uU2hhcGUuaAppbmRleCBlMWE2
NTc1MDU4ZThlZjA2ZmQzOGFhYjk2OTIzZDA5YTZjODg5NmM3Li5jZTUzMmVkOGRhZjFhMzEwZGU3
NGE5ZjNlYzljMjZhOWNlZmU4MTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc2hhcGVzL1BvbHlnb25TaGFwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
aGFwZXMvUG9seWdvblNoYXBlLmgKQEAgLTk3LDkgKzk3LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBnZXRJbmNsdWRlZEludGVydmFscyhMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExheW91
dFVuaXQgbG9naWNhbEhlaWdodCwgU2VnbWVudExpc3QmKSBjb25zdCBPVkVSUklERTsKICAgICB2
aXJ0dWFsIGJvb2wgZmlyc3RJbmNsdWRlZEludGVydmFsTG9naWNhbFRvcChMYXlvdXRVbml0IG1p
bkxvZ2ljYWxJbnRlcnZhbFRvcCwgY29uc3QgTGF5b3V0U2l6ZSYgbWluTG9naWNhbEludGVydmFs
U2l6ZSwgTGF5b3V0VW5pdCYpIGNvbnN0IE9WRVJSSURFOwogCi0gICAgdmlydHVhbCBTaGFwZVR5
cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFNoYXBlOjpQb2x5Z29uVHlwZTsgfQot
Ci0gICAgY29uc3QgRmxvYXRQb2x5Z29uJiBwb2x5Z29uKCkgY29uc3QgeyByZXR1cm4gbV9wb2x5
Z29uOyB9CisgICAgdmlydHVhbCB2b2lkIGJ1aWxkSW5zcGVjdG9yUGF0aChQYXRoJikgY29uc3Qg
T1ZFUlJJREU7CiAKIHByaXZhdGU6CiAgICAgY29uc3QgRmxvYXRQb2x5Z29uJiBzaGFwZU1hcmdp
bkJvdW5kcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3No
YXBlcy9SYXN0ZXJTaGFwZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9SYXN0
ZXJTaGFwZS5oCmluZGV4IGYwZjhjYjNiNjk3MTA2MmMzZWM1ZDg0MzcyMGZmZjNhZTc0YTM1NzQu
LjM1ZWVlNGM2MTU2ODk3Yjk5OGE0MDZhNzhmMDc1MTgzY2I5MzU2YWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUmFzdGVyU2hhcGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBlLmgKQEAgLTEwMSw3ICsxMDEsOCBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGdldEluY2x1ZGVkSW50ZXJ2YWxzKExheW91dFVu
aXQgbG9naWNhbFRvcCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0LCBTZWdtZW50TGlzdCYpIGNv
bnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBmaXJzdEluY2x1ZGVkSW50ZXJ2YWxMb2dp
Y2FsVG9wKExheW91dFVuaXQgbWluTG9naWNhbEludGVydmFsVG9wLCBjb25zdCBMYXlvdXRTaXpl
JiBtaW5Mb2dpY2FsSW50ZXJ2YWxTaXplLCBMYXlvdXRVbml0JikgY29uc3QgT1ZFUlJJREU7CiAK
LSAgICB2aXJ0dWFsIFNoYXBlVHlwZSB0eXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gU2hh
cGU6OlJhc3RlclR5cGU7IH0KKyAgICAvLyBGSVhNRTogQnVnIDEyNDA4MCAtIFJhc3RlclNoYXBl
cyBhcmUgbm90IHlldCBzdXBwb3J0ZWQgYW5kIG9ubHkgZGlzcGxheSB0aGVpciBzaGFwZSBib3Vu
ZHMKKyAgICB2aXJ0dWFsIHZvaWQgYnVpbGRJbnNwZWN0b3JQYXRoKFBhdGgmIHBhdGgpIGNvbnN0
IE9WRVJSSURFIHsgVU5VU0VEX1BBUkFNKHBhdGgpOyB9CiAKIHByaXZhdGU6CiAgICAgY29uc3Qg
UmFzdGVyU2hhcGVJbnRlcnZhbHMmIG1hcmdpbkludGVydmFscygpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9SZWN0YW5nbGVTaGFwZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1JlY3RhbmdsZVNoYXBlLmNwcAppbmRleCA5
Yjg0MjBlMjJhMjM4ODM1YWZiMzU3MTVkZmIyMGFiZjBmOTYwZmQ4Li43MmJkZGY4ZTg4ZTRmMmZk
MjZkYjk3MTE5MDE2YTRkMTY0NDIzMTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc2hhcGVzL1JlY3RhbmdsZVNoYXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc2hhcGVzL1JlY3RhbmdsZVNoYXBlLmNwcApAQCAtMjI4LDQgKzIyOCw5IEBAIGJvb2wg
UmVjdGFuZ2xlU2hhcGU6OmZpcnN0SW5jbHVkZWRJbnRlcnZhbExvZ2ljYWxUb3AoTGF5b3V0VW5p
dCBtaW5Mb2dpY2FsSW50ZXJ2CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCit2b2lkIFJlY3Rhbmds
ZVNoYXBlOjpidWlsZEluc3BlY3RvclBhdGgoUGF0aCYgcGF0aCkgY29uc3QKK3sKKyAgICBwYXRo
LmFkZFJvdW5kZWRSZWN0KG1fYm91bmRzLCBGbG9hdFNpemUobV9ib3VuZHMucngoKSwgbV9ib3Vu
ZHMucnkoKSksIFBhdGg6OlByZWZlckJlemllclJvdW5kZWRSZWN0KTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBl
cy9SZWN0YW5nbGVTaGFwZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9SZWN0
YW5nbGVTaGFwZS5oCmluZGV4IDdmMjUwNzU4YTBkZjNmNzQ2NTg3YWI4NmEzZDZmMGIwZWQ5YzJh
ZmEuLmYyMmQ4NmU2ZWYzZDUxZmNmYTkxOGMyNjU2ZjRiMGFiMThkYjZjMGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUmVjdGFuZ2xlU2hhcGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1JlY3RhbmdsZVNoYXBlLmgKQEAgLTU2LDEw
ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2V0SW5jbHVkZWRJbnRlcnZhbHMo
TGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQsIFNlZ21lbnRM
aXN0JikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGZpcnN0SW5jbHVkZWRJbnRl
cnZhbExvZ2ljYWxUb3AoTGF5b3V0VW5pdCBtaW5Mb2dpY2FsSW50ZXJ2YWxUb3AsIGNvbnN0IExh
eW91dFNpemUmIG1pbkxvZ2ljYWxJbnRlcnZhbFNpemUsIExheW91dFVuaXQmKSBjb25zdCBPVkVS
UklERTsKIAotICAgIExheW91dFVuaXQgbG9naWNhbFJ4KCkgY29uc3QgeyByZXR1cm4gbV9ib3Vu
ZHMucngoKTsgfQotICAgIExheW91dFVuaXQgbG9naWNhbFJ5KCkgY29uc3QgeyByZXR1cm4gbV9i
b3VuZHMucnkoKTsgfQotCi0gICAgdmlydHVhbCBTaGFwZVR5cGUgdHlwZSgpIGNvbnN0IE9WRVJS
SURFIHsgcmV0dXJuIFNoYXBlOjpSb3VuZGVkUmVjdGFuZ2xlVHlwZTsgfQorICAgIHZpcnR1YWwg
dm9pZCBidWlsZEluc3BlY3RvclBhdGgoUGF0aCYpIGNvbnN0IE9WRVJSSURFOwogCiBwcml2YXRl
OgogICAgIGNsYXNzIFNoYXBlQm91bmRzIDogcHVibGljIEZsb2F0UmVjdCB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlLmgKaW5kZXggMDIzZmY4MjUzMGVmYTViYzBkZjU3Nzgz
MzA5MzAxMDA5ZWZkZDU1Zi4uYzU3YTQwMzNhOTY4NmMwYzA0MGZhODg3YTMzYjhkNjM0ZDFhZjMx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvU2hhcGUuaApAQCAtMzIsNiArMzIs
NyBAQAogCiAjaW5jbHVkZSAiQmFzaWNTaGFwZXMuaCIKICNpbmNsdWRlICJMYXlvdXRSZWN0Lmgi
CisjaW5jbHVkZSAiUGF0aC5oIgogI2luY2x1ZGUgIlN0eWxlSW1hZ2UuaCIKICNpbmNsdWRlICJX
cml0aW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC02MCwxMiArNjEs
NiBAQCB0eXBlZGVmIFZlY3RvcjxMaW5lU2VnbWVudD4gU2VnbWVudExpc3Q7CiAKIGNsYXNzIFNo
YXBlIHsKIHB1YmxpYzoKLSAgICBlbnVtIFNoYXBlVHlwZSB7Ci0gICAgICAgIFJvdW5kZWRSZWN0
YW5nbGVUeXBlLAotICAgICAgICBQb2x5Z29uVHlwZSwKLSAgICAgICAgUmFzdGVyVHlwZQotICAg
IH07Ci0KICAgICBzdGF0aWMgUGFzc093blB0cjxTaGFwZT4gY3JlYXRlU2hhcGUoY29uc3QgQmFz
aWNTaGFwZSosIGNvbnN0IExheW91dFNpemUmIGxvZ2ljYWxCb3hTaXplLCBXcml0aW5nTW9kZSwg
TGVuZ3RoIG1hcmdpbiwgTGVuZ3RoIHBhZGRpbmcpOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNo
YXBlPiBjcmVhdGVTaGFwZShjb25zdCBTdHlsZUltYWdlKiwgZmxvYXQgdGhyZXNob2xkLCBjb25z
dCBMYXlvdXRTaXplJiBsb2dpY2FsQm94U2l6ZSwgV3JpdGluZ01vZGUsIExlbmd0aCBtYXJnaW4s
IExlbmd0aCBwYWRkaW5nKTsKICAgICBzdGF0aWMgUGFzc093blB0cjxTaGFwZT4gY3JlYXRlU2hh
cGUoY29uc3QgTGF5b3V0U2l6ZSYgbG9naWNhbEJveFNpemUsIGNvbnN0IExheW91dFNpemUmIGxv
Z2ljYWxSYWRpaSwgV3JpdGluZ01vZGUsIExlbmd0aCBtYXJnaW4sIExlbmd0aCBwYWRkaW5nKTsK
QEAgLTgxLDcgKzc2LDcgQEAgcHVibGljOgogICAgIGJvb2wgbGluZU92ZXJsYXBzU2hhcGVNYXJn
aW5Cb3VuZHMoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpIGNvbnN0
IHsgcmV0dXJuIGxpbmVPdmVybGFwc0JvdW5kaW5nQm94KGxpbmVUb3AsIGxpbmVIZWlnaHQsIHNo
YXBlTWFyZ2luTG9naWNhbEJvdW5kaW5nQm94KCkpOyB9CiAgICAgYm9vbCBsaW5lT3ZlcmxhcHNT
aGFwZVBhZGRpbmdCb3VuZHMoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWln
aHQpIGNvbnN0IHsgcmV0dXJuIGxpbmVPdmVybGFwc0JvdW5kaW5nQm94KGxpbmVUb3AsIGxpbmVI
ZWlnaHQsIHNoYXBlUGFkZGluZ0xvZ2ljYWxCb3VuZGluZ0JveCgpKTsgfQogCi0gICAgdmlydHVh
bCBTaGFwZVR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgYnVpbGRJbnNw
ZWN0b3JQYXRoKFBhdGgmKSBjb25zdCA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBmbG9hdCBzaGFw
ZU1hcmdpbigpIGNvbnN0IHsgcmV0dXJuIG1fbWFyZ2luOyB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTc1YjJjYmQzNzhh
ZDE4YTJkZGYxNjFmZWJjMDcxYWIzYTI3NjdmZi4uMDNkODBhZjNhZDY1MThkMWU0NzVhMzVhODVl
YTAyMjFkNDZkZDExMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTExLTIxICBCZWFyIFRy
YXZpcyAgPGJldHJhdmlzQGFkb2JlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBbQ1NT
IFNoYXBlc10gUmVmYWN0b3IgaGlnaGxpZ2h0aW5nIGNvZGUgdG8gZGVjcmVhc2UgU2hhcGVzIEFQ
SSBzdXJmYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjQ3MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgc2hhcGVzIHBhdGhzIGFyZSBub3cgZHJhd24gaW4gc2hhcGUtY29vcmRpbmF0ZSBzcGFj
ZSBiZWZvcmUgYmVpbmcgdHJhbnNsYXRlZCB0bworICAgICAgICByZW5kZXJlciBzcGFjZS4gV2l0
aCBkaWZmZXJlbnQgd3JpdGluZyBtb2Rlcywgc2hhcGVzIG1heSBoYXZlIHRoZWlyIGNvb3JkaW5h
dGVzCisgICAgICAgIHRyYW5zbGF0ZWQuIEZvciBleGFtcGxlLCBhIHJlY3RhbmdsZSBzcGVjaWZp
ZWQgYXMgZm91ciBwb2ludHMgW3RvcCBsZWZ0LCB0b3AgcmlnaHQsCisgICAgICAgIGJvdHRvbSBy
aWdodCwgYm90dG9tIGxlZnRdIGluIHZlcnRpY2FsLWxyIHNwYWNlIHdvdWxkIGFwcGVhciBhcyBb
dG9wIGxlZnQsIGJvdHRvbSBsZWZ0LAorICAgICAgICBib3R0b20gcmlnaHQsIHRvcCByaWdodF0g
aW4gaG9yaXpvbnRhbC10YiBzcGFjZS4gQWRqdXN0aW5nIHRoZSBwcmV2aW91cyB0ZXN0cywgYW5k
CisgICAgICAgIGFkZGluZyBhIHRlc3QgZm9yIHRoZSBuZXcgYm94IHZhbHVlLgorCisgICAgICAg
ICogaW5zcGVjdG9yLXByb3RvY29sL21vZGVsL2hpZ2hsaWdodC1zaGFwZS1vdXRzaWRlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvbW9kZWwvaGlnaGxpZ2h0LXNo
YXBlLW91dHNpZGUuaHRtbDoKKwogMjAxMy0xMS0yMSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFw
QGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgV2ViQ3J5cHRvIHVud3JhcEtleQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL21vZGVsL2hpZ2hsaWdodC1z
aGFwZS1vdXRzaWRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2Nv
bC9tb2RlbC9oaWdobGlnaHQtc2hhcGUtb3V0c2lkZS1leHBlY3RlZC50eHQKaW5kZXggOGE4MWQ4
OTgxNWQwYTRmODhjOTc1YmYzMmEzNmQ1MDRhMjk1MjJlMy4uZDdiNDQ0ZDM0Yjc3ZTQ5MDEwYjU3
MWYzNmViMzVkMWM2MDAwNGQ4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXBy
b3RvY29sL21vZGVsL2hpZ2hsaWdodC1zaGFwZS1vdXRzaWRlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvbW9kZWwvaGlnaGxpZ2h0LXNoYXBlLW91dHNp
ZGUtZXhwZWN0ZWQudHh0CkBAIC0yLDggKzIsOSBAQCBQQVNTOiBBY3R1YWwgW00gNTAgNTAgTCAx
NTAgNTAgTCAxNTAgMTAwIEwgNTAgMTAwIEwgNTAgNTAgWl0gRXhwZWN0ZWQgW00gNTAgNTAgTAog
UEFTUzogQWN0dWFsIFtNIDUwIDUwIEwgMTAwIDUwIEwgMTAwIDEwMCBMIDUwIDEwMCBaXSBFeHBl
Y3RlZCBbTSA1MCA1MCBMIDEwMCA1MCBMIDEwMCAxMDAgTCA1MCAxMDAgWl0KIFBBU1M6IEFjdHVh
bCBbTSA3NSA3NSBMIDE3NSA3NSBMIDE3NSAxMjUgTCA3NSAxMjUgTCA3NSA3NSBaXSBFeHBlY3Rl
ZCBbTSA3NSA3NSBMIDE3NSA3NSBMIDE3NSAxMjUgTCA3NSAxMjUgTCA3NSA3NSBaXQogUEFTUzog
QWN0dWFsIFtNIDUwIDUwIEwgMTUwIDUwIEwgMTUwIDEwMCBMIDUwIDEwMCBMIDUwIDUwIFpdIEV4
cGVjdGVkIFtNIDUwIDUwIEwgMTUwIDUwIEwgMTUwIDEwMCBMIDUwIDEwMCBMIDUwIDUwIFpdCi1Q
QVNTOiBBY3R1YWwgW00gNTAgNTAgTCAxNTAgNTAgTCAxNTAgMTAwIEwgNTAgMTAwIEwgNTAgNTAg
Wl0gRXhwZWN0ZWQgW00gNTAgNTAgTCAxNTAgNTAgTCAxNTAgMTAwIEwgNTAgMTAwIEwgNTAgNTAg
Wl0KLVBBU1M6IEFjdHVhbCBbTSA1MCA1MCBMIDE1MCA1MCBMIDE1MCAxMDAgTCA1MCAxMDAgTCA1
MCA1MCBaXSBFeHBlY3RlZCBbTSA1MCA1MCBMIDE1MCA1MCBMIDE1MCAxMDAgTCA1MCAxMDAgTCA1
MCA1MCBaXQotUEFTUzogQWN0dWFsIFtNIDc1IDc1IEwgMTc1IDc1IEwgMTc1IDEyNSBMIDc1IDEy
NSBMIDc1IDc1IFpdIEV4cGVjdGVkIFtNIDc1IDc1IEwgMTc1IDc1IEwgMTc1IDEyNSBMIDc1IDEy
NSBMIDc1IDc1IFpdCi1QQVNTOiBBY3R1YWwgW00gNTAgNTAgTCAxNTAgNTAgTCAxNTAgMTAwIEwg
NTAgMTAwIEwgNTAgNTAgWl0gRXhwZWN0ZWQgW00gNTAgNTAgTCAxNTAgNTAgTCAxNTAgMTAwIEwg
NTAgMTAwIEwgNTAgNTAgWl0KK1BBU1M6IEFjdHVhbCBbTSA1MCA1MCBMIDUwIDEwMCBMIDE1MCAx
MDAgTCAxNTAgNTAgTCA1MCA1MCBaXSBFeHBlY3RlZCBbTSA1MCA1MCBMIDUwIDEwMCBMIDE1MCAx
MDAgTCAxNTAgNTAgTCA1MCA1MCBaXQorUEFTUzogQWN0dWFsIFtNIDE1MCA1MCBMIDE1MCAxMDAg
TCA1MCAxMDAgTCA1MCA1MCBMIDE1MCA1MCBaXSBFeHBlY3RlZCBbTSAxNTAgNTAgTCAxNTAgMTAw
IEwgNTAgMTAwIEwgNTAgNTAgTCAxNTAgNTAgWl0KK1BBU1M6IEFjdHVhbCBbTSAxNzUgNzUgTCAx
NzUgMTI1IEwgNzUgMTI1IEwgNzUgNzUgTCAxNzUgNzUgWl0gRXhwZWN0ZWQgW00gMTc1IDc1IEwg
MTc1IDEyNSBMIDc1IDEyNSBMIDc1IDc1IEwgMTc1IDc1IFpdCitQQVNTOiBBY3R1YWwgW00gMTUw
IDUwIEwgMTUwIDEwMCBMIDUwIDEwMCBMIDUwIDUwIEwgMTUwIDUwIFpdIEV4cGVjdGVkIFtNIDE1
MCA1MCBMIDE1MCAxMDAgTCA1MCAxMDAgTCA1MCA1MCBMIDE1MCA1MCBaXQorUEFTUzogQWN0dWFs
IFtNIDI1IDI1IEwgMTI1IDI1IEwgMTI1IDEyNSBMIDI1IDEyNSBMIDI1IDI1IFpdIEV4cGVjdGVk
IFtNIDI1IDI1IEwgMTI1IDI1IEwgMTI1IDEyNSBMIDI1IDEyNSBMIDI1IDI1IFpdCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9tb2RlbC9oaWdobGlnaHQtc2hh
cGUtb3V0c2lkZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL21vZGVsL2hp
Z2hsaWdodC1zaGFwZS1vdXRzaWRlLmh0bWwKaW5kZXggZTE1MzU2MmMyMDdkN2UxMzQ4NTg4MmM5
NmMzZjU4YmYzNGYyYTNiYS4uNzlkZGMxYjE1YjA4ZWNhNzE2OTljMjg3OTQyNzdmNTIzMWMzMWU0
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL21vZGVsL2hpZ2hs
aWdodC1zaGFwZS1vdXRzaWRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3Rv
Y29sL21vZGVsL2hpZ2hsaWdodC1zaGFwZS1vdXRzaWRlLmh0bWwKQEAgLTMwLDYgKzMwLDkgQEAg
Ym9keSB7CiAucG9seWdvbiB7CiAgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDUw
cHggNTBweCwgMTAwcHggNTBweCwgMTAwcHggMTAwcHgsIDUwcHggMTAwcHgpOwogfQorLmNvbnRl
bnQtYm94IHsKKyAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IGNvbnRlbnQtYm94OworfQogPC9z
dHlsZT4KIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yLXByb3RvY29sL3Jlc291cmNlcy9wcm90b2NvbC10ZXN0LmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL3Jlc291cmNlcy9zaGFw
ZS1pbmZvLWhlbHBlci5qcyI+PC9zY3JpcHQ+CkBAIC01NCwxOSArNTcsMjMgQEAgZnVuY3Rpb24g
c2hhcGVUZXN0cygpIHsKICAgICB9LAogICAgIHsKICAgICAgICAgJ3NlbGVjdG9yJyA6ICcucmVj
dGFuZ2xlLnZlcnRpY2FsLWxyJywKLSAgICAgICAgJ3BhdGgnIDogWydNJywgNTAsIDUwLCAnTCcs
IDE1MCwgNTAsICdMJywgMTUwLCAxMDAsICdMJywgNTAsIDEwMCwgJ0wnLCA1MCwgNTAsICdaJ10K
KyAgICAgICAgJ3BhdGgnIDogWydNJywgNTAsIDUwLCAnTCcsIDUwLCAxMDAsICdMJywgMTUwLCAx
MDAsICdMJywgMTUwLCA1MCwgJ0wnLCA1MCwgNTAsICdaJ10KICAgICB9LAogICAgIHsKICAgICAg
ICAgJ3NlbGVjdG9yJyA6ICcucmVjdGFuZ2xlLnZlcnRpY2FsLXJsJywKLSAgICAgICAgJ3BhdGgn
IDogWydNJywgNTAsIDUwLCAnTCcsIDE1MCwgNTAsICdMJywgMTUwLCAxMDAsICdMJywgNTAsIDEw
MCwgJ0wnLCA1MCwgNTAsICdaJ10KKyAgICAgICAgJ3BhdGgnIDogWydNJywgMTUwLCA1MCwgJ0wn
LCAxNTAsIDEwMCwgJ0wnLCA1MCwgMTAwLCAnTCcsIDUwLCA1MCwgJ0wnLCAxNTAsIDUwLCAnWidd
CiAgICAgfSwKICAgICB7CiAgICAgICAgICdzZWxlY3RvcicgOiAnLnJlY3RhbmdsZS5wYWRkZWQu
dmVydGljYWwtcmwnLAotICAgICAgICAncGF0aCcgOiBbJ00nLCA3NSwgNzUsICdMJywgMTc1LCA3
NSwgJ0wnLCAxNzUsIDEyNSwgJ0wnLCA3NSwgMTI1LCAnTCcsIDc1LCA3NSwgJ1onXQorICAgICAg
ICAncGF0aCcgOiBbJ00nLCAxNzUsIDc1LCAnTCcsIDE3NSwgMTI1LCAnTCcsIDc1LCAxMjUsICdM
JywgNzUsIDc1LCAnTCcsIDE3NSwgNzUsICdaJ10KICAgICB9LAogICAgIHsKICAgICAgICAgJ3Nl
bGVjdG9yJyA6ICcucmVjdGFuZ2xlLnBhZGRlZC52ZXJ0aWNhbC1ybC5ib3JkZXItYm94JywKLSAg
ICAgICAgJ3BhdGgnIDogWydNJywgNTAsIDUwLCAnTCcsIDE1MCwgNTAsICdMJywgMTUwLCAxMDAs
ICdMJywgNTAsIDEwMCwgJ0wnLCA1MCwgNTAsICdaJ10KKyAgICAgICAgJ3BhdGgnIDogWydNJywg
MTUwLCA1MCwgJ0wnLCAxNTAsIDEwMCwgJ0wnLCA1MCwgMTAwLCAnTCcsIDUwLCA1MCwgJ0wnLCAx
NTAsIDUwLCAnWiddCisgICAgfSwKKyAgICB7CisgICAgICAgICdzZWxlY3RvcicgOiAnLmNvbnRl
bnQtYm94LnBhZGRlZCcsCisgICAgICAgICdwYXRoJyA6IFsnTScsIDI1LCAyNSwgJ0wnLCAxMjUs
IDI1LCAnTCcsIDEyNSwgMTI1LCAnTCcsIDI1LCAxMjUsICdMJywgMjUsIDI1LCAnWiddCiAgICAg
fQogICAgIF07CiAKQEAgLTk5LDUgKzEwNiw2IEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigp
IHsgU2hhcGVJbmZvSGVscGVyLnJ1blNoYXBlVGVzdChzaGFwZVRlc3RzKTsgfQogICAgIDxkaXYg
Y2xhc3M9J3NoYXBlIHJlY3RhbmdsZSB2ZXJ0aWNhbC1ybCc+PC9kaXY+CiAgICAgPGRpdiBjbGFz
cz0nc2hhcGUgcGFkZGVkIHJlY3RhbmdsZSB2ZXJ0aWNhbC1ybCc+PC9kaXY+CiAgICAgPGRpdiBj
bGFzcz0nc2hhcGUgcGFkZGVkIHJlY3RhbmdsZSB2ZXJ0aWNhbC1ybCBib3JkZXItYm94Jz48L2Rp
dj4KKyAgICA8ZGl2IGNsYXNzPSdzaGFwZSBwYWRkZWQgY29udGVudC1ib3gnPjwvZGl2PgogPC9i
b2R5PgogPC9odG1sPgo=
</data>
<flag name="review"
          id="240773"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217624</attachid>
            <date>2013-11-21 16:15:17 -0800</date>
            <delta_ts>2013-11-21 19:14:50 -0800</delta_ts>
            <desc>Renaming buildInspectorPath to buildPath</desc>
            <filename>124737.patch</filename>
            <type>text/plain</type>
            <size>17140</size>
            <attacher name="Bear Travis">betravis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhNzViMmNiLi5lMTgzZDhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMTEt
MjEgIEJlYXIgVHJhdmlzICA8YmV0cmF2aXNAYWRvYmUuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFtDU1MgU2hhcGVzXSBSZWZhY3RvciBoaWdobGlnaHRpbmcgY29kZSB0byBkZWNyZWFz
ZSBTaGFwZXMgQVBJIHN1cmZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyNDczNworCisgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hl
ci4KKworICAgICAgICBUaGUgc2hhcGVzIHBhdGhzIGFyZSBub3cgZHJhd24gaW4gc2hhcGUtY29v
cmRpbmF0ZSBzcGFjZSBiZWZvcmUgYmVpbmcgdHJhbnNsYXRlZCB0bworICAgICAgICByZW5kZXJl
ciBzcGFjZS4gV2l0aCBkaWZmZXJlbnQgd3JpdGluZyBtb2Rlcywgc2hhcGVzIG1heSBoYXZlIHRo
ZWlyIGNvb3JkaW5hdGVzCisgICAgICAgIHRyYW5zbGF0ZWQuIEZvciBleGFtcGxlLCBhIHJlY3Rh
bmdsZSBzcGVjaWZpZWQgYXMgZm91ciBwb2ludHMgW3RvcCBsZWZ0LCB0b3AgcmlnaHQsCisgICAg
ICAgIGJvdHRvbSByaWdodCwgYm90dG9tIGxlZnRdIGluIHZlcnRpY2FsLWxyIHNwYWNlIHdvdWxk
IGFwcGVhciBhcyBbdG9wIGxlZnQsIGJvdHRvbSBsZWZ0LAorICAgICAgICBib3R0b20gcmlnaHQs
IHRvcCByaWdodF0gaW4gaG9yaXpvbnRhbC10YiBzcGFjZS4gQWRqdXN0aW5nIHRoZSBwcmV2aW91
cyB0ZXN0cywgYW5kCisgICAgICAgIGFkZGluZyBhIHRlc3QgZm9yIHRoZSBuZXcgYm94IHZhbHVl
LgorCisgICAgICAgICogaW5zcGVjdG9yLXByb3RvY29sL21vZGVsL2hpZ2hsaWdodC1zaGFwZS1v
dXRzaWRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvbW9kZWwv
aGlnaGxpZ2h0LXNoYXBlLW91dHNpZGUuaHRtbDoKKwogMjAxMy0xMS0yMSAgQWxleGV5IFByb3Nr
dXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgV2ViQ3J5cHRvIHVu
d3JhcEtleQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL21vZGVs
L2hpZ2hsaWdodC1zaGFwZS1vdXRzaWRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1wcm90b2NvbC9tb2RlbC9oaWdobGlnaHQtc2hhcGUtb3V0c2lkZS1leHBlY3RlZC50eHQK
aW5kZXggOGE4MWQ4OS4uZDdiNDQ0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LXByb3RvY29sL21vZGVsL2hpZ2hsaWdodC1zaGFwZS1vdXRzaWRlLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvbW9kZWwvaGlnaGxpZ2h0LXNoYXBlLW91
dHNpZGUtZXhwZWN0ZWQudHh0CkBAIC0yLDggKzIsOSBAQCBQQVNTOiBBY3R1YWwgW00gNTAgNTAg
TCAxNTAgNTAgTCAxNTAgMTAwIEwgNTAgMTAwIEwgNTAgNTAgWl0gRXhwZWN0ZWQgW00gNTAgNTAg
TAogUEFTUzogQWN0dWFsIFtNIDUwIDUwIEwgMTAwIDUwIEwgMTAwIDEwMCBMIDUwIDEwMCBaXSBF
eHBlY3RlZCBbTSA1MCA1MCBMIDEwMCA1MCBMIDEwMCAxMDAgTCA1MCAxMDAgWl0KIFBBU1M6IEFj
dHVhbCBbTSA3NSA3NSBMIDE3NSA3NSBMIDE3NSAxMjUgTCA3NSAxMjUgTCA3NSA3NSBaXSBFeHBl
Y3RlZCBbTSA3NSA3NSBMIDE3NSA3NSBMIDE3NSAxMjUgTCA3NSAxMjUgTCA3NSA3NSBaXQogUEFT
UzogQWN0dWFsIFtNIDUwIDUwIEwgMTUwIDUwIEwgMTUwIDEwMCBMIDUwIDEwMCBMIDUwIDUwIFpd
IEV4cGVjdGVkIFtNIDUwIDUwIEwgMTUwIDUwIEwgMTUwIDEwMCBMIDUwIDEwMCBMIDUwIDUwIFpd
Ci1QQVNTOiBBY3R1YWwgW00gNTAgNTAgTCAxNTAgNTAgTCAxNTAgMTAwIEwgNTAgMTAwIEwgNTAg
NTAgWl0gRXhwZWN0ZWQgW00gNTAgNTAgTCAxNTAgNTAgTCAxNTAgMTAwIEwgNTAgMTAwIEwgNTAg
NTAgWl0KLVBBU1M6IEFjdHVhbCBbTSA1MCA1MCBMIDE1MCA1MCBMIDE1MCAxMDAgTCA1MCAxMDAg
TCA1MCA1MCBaXSBFeHBlY3RlZCBbTSA1MCA1MCBMIDE1MCA1MCBMIDE1MCAxMDAgTCA1MCAxMDAg
TCA1MCA1MCBaXQotUEFTUzogQWN0dWFsIFtNIDc1IDc1IEwgMTc1IDc1IEwgMTc1IDEyNSBMIDc1
IDEyNSBMIDc1IDc1IFpdIEV4cGVjdGVkIFtNIDc1IDc1IEwgMTc1IDc1IEwgMTc1IDEyNSBMIDc1
IDEyNSBMIDc1IDc1IFpdCi1QQVNTOiBBY3R1YWwgW00gNTAgNTAgTCAxNTAgNTAgTCAxNTAgMTAw
IEwgNTAgMTAwIEwgNTAgNTAgWl0gRXhwZWN0ZWQgW00gNTAgNTAgTCAxNTAgNTAgTCAxNTAgMTAw
IEwgNTAgMTAwIEwgNTAgNTAgWl0KK1BBU1M6IEFjdHVhbCBbTSA1MCA1MCBMIDUwIDEwMCBMIDE1
MCAxMDAgTCAxNTAgNTAgTCA1MCA1MCBaXSBFeHBlY3RlZCBbTSA1MCA1MCBMIDUwIDEwMCBMIDE1
MCAxMDAgTCAxNTAgNTAgTCA1MCA1MCBaXQorUEFTUzogQWN0dWFsIFtNIDE1MCA1MCBMIDE1MCAx
MDAgTCA1MCAxMDAgTCA1MCA1MCBMIDE1MCA1MCBaXSBFeHBlY3RlZCBbTSAxNTAgNTAgTCAxNTAg
MTAwIEwgNTAgMTAwIEwgNTAgNTAgTCAxNTAgNTAgWl0KK1BBU1M6IEFjdHVhbCBbTSAxNzUgNzUg
TCAxNzUgMTI1IEwgNzUgMTI1IEwgNzUgNzUgTCAxNzUgNzUgWl0gRXhwZWN0ZWQgW00gMTc1IDc1
IEwgMTc1IDEyNSBMIDc1IDEyNSBMIDc1IDc1IEwgMTc1IDc1IFpdCitQQVNTOiBBY3R1YWwgW00g
MTUwIDUwIEwgMTUwIDEwMCBMIDUwIDEwMCBMIDUwIDUwIEwgMTUwIDUwIFpdIEV4cGVjdGVkIFtN
IDE1MCA1MCBMIDE1MCAxMDAgTCA1MCAxMDAgTCA1MCA1MCBMIDE1MCA1MCBaXQorUEFTUzogQWN0
dWFsIFtNIDI1IDI1IEwgMTI1IDI1IEwgMTI1IDEyNSBMIDI1IDEyNSBMIDI1IDI1IFpdIEV4cGVj
dGVkIFtNIDI1IDI1IEwgMTI1IDI1IEwgMTI1IDEyNSBMIDI1IDEyNSBMIDI1IDI1IFpdCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9tb2RlbC9oaWdobGlnaHQt
c2hhcGUtb3V0c2lkZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL21vZGVs
L2hpZ2hsaWdodC1zaGFwZS1vdXRzaWRlLmh0bWwKaW5kZXggZTE1MzU2Mi4uNzlkZGMxYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL21vZGVsL2hpZ2hsaWdodC1z
aGFwZS1vdXRzaWRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL21v
ZGVsL2hpZ2hsaWdodC1zaGFwZS1vdXRzaWRlLmh0bWwKQEAgLTMwLDYgKzMwLDkgQEAgYm9keSB7
CiAucG9seWdvbiB7CiAgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDUwcHggNTBw
eCwgMTAwcHggNTBweCwgMTAwcHggMTAwcHgsIDUwcHggMTAwcHgpOwogfQorLmNvbnRlbnQtYm94
IHsKKyAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IGNvbnRlbnQtYm94OworfQogPC9zdHlsZT4K
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yLXByb3RvY29sL3Jlc291cmNlcy9wcm90b2NvbC10ZXN0LmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL3Jlc291cmNlcy9zaGFwZS1pbmZv
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CkBAIC01NCwxOSArNTcsMjMgQEAgZnVuY3Rpb24gc2hhcGVU
ZXN0cygpIHsKICAgICB9LAogICAgIHsKICAgICAgICAgJ3NlbGVjdG9yJyA6ICcucmVjdGFuZ2xl
LnZlcnRpY2FsLWxyJywKLSAgICAgICAgJ3BhdGgnIDogWydNJywgNTAsIDUwLCAnTCcsIDE1MCwg
NTAsICdMJywgMTUwLCAxMDAsICdMJywgNTAsIDEwMCwgJ0wnLCA1MCwgNTAsICdaJ10KKyAgICAg
ICAgJ3BhdGgnIDogWydNJywgNTAsIDUwLCAnTCcsIDUwLCAxMDAsICdMJywgMTUwLCAxMDAsICdM
JywgMTUwLCA1MCwgJ0wnLCA1MCwgNTAsICdaJ10KICAgICB9LAogICAgIHsKICAgICAgICAgJ3Nl
bGVjdG9yJyA6ICcucmVjdGFuZ2xlLnZlcnRpY2FsLXJsJywKLSAgICAgICAgJ3BhdGgnIDogWydN
JywgNTAsIDUwLCAnTCcsIDE1MCwgNTAsICdMJywgMTUwLCAxMDAsICdMJywgNTAsIDEwMCwgJ0wn
LCA1MCwgNTAsICdaJ10KKyAgICAgICAgJ3BhdGgnIDogWydNJywgMTUwLCA1MCwgJ0wnLCAxNTAs
IDEwMCwgJ0wnLCA1MCwgMTAwLCAnTCcsIDUwLCA1MCwgJ0wnLCAxNTAsIDUwLCAnWiddCiAgICAg
fSwKICAgICB7CiAgICAgICAgICdzZWxlY3RvcicgOiAnLnJlY3RhbmdsZS5wYWRkZWQudmVydGlj
YWwtcmwnLAotICAgICAgICAncGF0aCcgOiBbJ00nLCA3NSwgNzUsICdMJywgMTc1LCA3NSwgJ0wn
LCAxNzUsIDEyNSwgJ0wnLCA3NSwgMTI1LCAnTCcsIDc1LCA3NSwgJ1onXQorICAgICAgICAncGF0
aCcgOiBbJ00nLCAxNzUsIDc1LCAnTCcsIDE3NSwgMTI1LCAnTCcsIDc1LCAxMjUsICdMJywgNzUs
IDc1LCAnTCcsIDE3NSwgNzUsICdaJ10KICAgICB9LAogICAgIHsKICAgICAgICAgJ3NlbGVjdG9y
JyA6ICcucmVjdGFuZ2xlLnBhZGRlZC52ZXJ0aWNhbC1ybC5ib3JkZXItYm94JywKLSAgICAgICAg
J3BhdGgnIDogWydNJywgNTAsIDUwLCAnTCcsIDE1MCwgNTAsICdMJywgMTUwLCAxMDAsICdMJywg
NTAsIDEwMCwgJ0wnLCA1MCwgNTAsICdaJ10KKyAgICAgICAgJ3BhdGgnIDogWydNJywgMTUwLCA1
MCwgJ0wnLCAxNTAsIDEwMCwgJ0wnLCA1MCwgMTAwLCAnTCcsIDUwLCA1MCwgJ0wnLCAxNTAsIDUw
LCAnWiddCisgICAgfSwKKyAgICB7CisgICAgICAgICdzZWxlY3RvcicgOiAnLmNvbnRlbnQtYm94
LnBhZGRlZCcsCisgICAgICAgICdwYXRoJyA6IFsnTScsIDI1LCAyNSwgJ0wnLCAxMjUsIDI1LCAn
TCcsIDEyNSwgMTI1LCAnTCcsIDI1LCAxMjUsICdMJywgMjUsIDI1LCAnWiddCiAgICAgfQogICAg
IF07CiAKQEAgLTk5LDUgKzEwNiw2IEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsgU2hh
cGVJbmZvSGVscGVyLnJ1blNoYXBlVGVzdChzaGFwZVRlc3RzKTsgfQogICAgIDxkaXYgY2xhc3M9
J3NoYXBlIHJlY3RhbmdsZSB2ZXJ0aWNhbC1ybCc+PC9kaXY+CiAgICAgPGRpdiBjbGFzcz0nc2hh
cGUgcGFkZGVkIHJlY3RhbmdsZSB2ZXJ0aWNhbC1ybCc+PC9kaXY+CiAgICAgPGRpdiBjbGFzcz0n
c2hhcGUgcGFkZGVkIHJlY3RhbmdsZSB2ZXJ0aWNhbC1ybCBib3JkZXItYm94Jz48L2Rpdj4KKyAg
ICA8ZGl2IGNsYXNzPSdzaGFwZSBwYWRkZWQgY29udGVudC1ib3gnPjwvZGl2PgogPC9ib2R5Pgog
PC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhmOTlkOTQuLjA3YmIyY2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAxMy0xMS0yMSAgQmVhciBUcmF2aXMgIDxiZXRyYXZpc0BhZG9iZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogW0NTUyBTaGFwZXNdIFJlZmFjdG9yIGhpZ2hsaWdo
dGluZyBjb2RlIHRvIGRlY3JlYXNlIFNoYXBlcyBBUEkgc3VyZmFjZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0NzM3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgorCisgICAgICAgIEFkZCBhIHZpcnR1YWwgbWV0aG9kIHRv
IFNoYXBlcywgYnVpbGRQYXRoLCB0aGF0IGNhbiBiZSB1c2VkIHRvIGJ1aWxkIHRoZQorICAgICAg
ICBwYXRoIChpbiB0aGUgU2hhcGUgY29vcmRpbmF0ZSBzeXN0ZW0pIGZvciBkaXNwbGF5IGluIHRo
ZSBJbnNwZWN0b3IuIFRoaXMgYWxsb3dzIHVzCisgICAgICAgIHRvIHJlbW92ZSBtZXRob2RzIHN1
Y2ggYXMgdHlwZSgpLCBwb2x5Z29uKCksIGFuZCBsb2dpY2FsUngvUnkoKSB3aGljaCBleHBvc2Vk
IHRoZQorICAgICAgICBpbm5lciB3b3JraW5ncyBvZiB0aGUgU2hhcGVzIGNsYXNzZXMuIEFsc28g
Y292ZXJzIHRoZSBhZGRpdGlvbiBvZiB0aGUgQm94U2hhcGUgdHlwZS4KKworICAgICAgICBSZWZh
Y3RvcmluZywgZXhpc3RpbmcgdGVzdCBpcyBpbnNwZWN0b3ItcHJvdG9jb2wvbW9kZWwvaGlnaGxp
Z2h0LXNoYXBlLW91dHNpZGUuaHRtbC4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JP
dmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFwcGVuZFBhdGhDb21tYW5kQW5kUG9pbnRz
KTogUG9pbnRzIG5lZWQgdG8gYmUgdHJhbnNsYXRlZCBmcm9tIHNoYXBlIHNwYWNlCisgICAgICAg
IHRvIHJlbmRlcmVyIHNwYWNlIHVzaW5nIFNoYXBlSW5mby4KKyAgICAgICAgKFdlYkNvcmU6OmJ1
aWxkT2JqZWN0Rm9yU2hhcGVPdXRzaWRlKTogQWRkIHRoZSBTaGFwZU91dHNpZGVJbmZvIHRvIHRo
ZSBwYXRoIGluZm8gc3RydWN0LgorICAgICAgICAqIHJlbmRlcmluZy9zaGFwZXMvQm94U2hhcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Qm94U2hhcGU6OmJ1aWxkUGF0aCk6IEJ1aWxkIHRoZSBw
YXRoIGZvciBhIEJveFNoYXBlLgorICAgICAgICAqIHJlbmRlcmluZy9zaGFwZXMvQm94U2hhcGUu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvc2hhcGVzL1BvbHlnb25TaGFwZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQb2x5Z29uU2hhcGU6OmJ1aWxkUGF0aCk6IEJ1aWxkIHRoZSBwYXRoIGZvciBh
IFBvbHlnb25TaGFwZS4KKyAgICAgICAgKiByZW5kZXJpbmcvc2hhcGVzL1BvbHlnb25TaGFwZS5o
OgorICAgICAgICAqIHJlbmRlcmluZy9zaGFwZXMvUmFzdGVyU2hhcGUuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc2hhcGVzL1JlY3RhbmdsZVNoYXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
Y3RhbmdsZVNoYXBlOjpidWlsZFBhdGgpOiBCdWlsZCB0aGUgcGF0aCBmb3IgYSBSZWN0YW5nbGVT
aGFwZS4KKyAgICAgICAgKiByZW5kZXJpbmcvc2hhcGVzL1JlY3RhbmdsZVNoYXBlLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL3NoYXBlcy9TaGFwZS5oOgorCiAyMDEzLTExLTIxICBBbGV4ZXkgUHJv
c2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBXZWJDcnlwdG8g
dW53cmFwS2V5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
T3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5j
cHAKaW5kZXggNGU4MjdmMS4uODFlYmEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JPdmVybGF5LmNwcApAQCAtNTQ4LDYgKzU0OCw3IEBAIHN0cnVjdCBQYXRoQXBw
bHlJbmZvIHsKICAgICBGcmFtZVZpZXcqIHZpZXc7CiAgICAgSW5zcGVjdG9yQXJyYXkqIGFycmF5
OwogICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXI7CisgICAgY29uc3QgU2hhcGVPdXRzaWRlSW5m
byogc2hhcGVPdXRzaWRlSW5mbzsKIH07CiAKIHN0YXRpYyB2b2lkIGFwcGVuZFBhdGhDb21tYW5k
QW5kUG9pbnRzKFBhdGhBcHBseUluZm8qIGluZm8sIGNvbnN0IFN0cmluZyYgY29tbWFuZCwgY29u
c3QgRmxvYXRQb2ludCBwb2ludHNbXSwgdW5zaWduZWQgbGVuZ3RoKQpAQCAtNTU1LDcgKzU1Niw4
IEBAIHN0YXRpYyB2b2lkIGFwcGVuZFBhdGhDb21tYW5kQW5kUG9pbnRzKFBhdGhBcHBseUluZm8q
IGluZm8sIGNvbnN0IFN0cmluZyYgY29tbWFuCiAgICAgRmxvYXRQb2ludCBwb2ludDsKICAgICBp
bmZvLT5hcnJheS0+cHVzaFN0cmluZyhjb21tYW5kKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgbGVuZ3RoOyBpKyspIHsKLSAgICAgICAgcG9pbnQgPSBsb2NhbFBvaW50VG9Sb290KGlu
Zm8tPnJlbmRlcmVyLCBpbmZvLT5yb290VmlldywgaW5mby0+dmlldywgcG9pbnRzW2ldKTsKKyAg
ICAgICAgcG9pbnQgPSBpbmZvLT5zaGFwZU91dHNpZGVJbmZvLT5zaGFwZVRvUmVuZGVyZXJQb2lu
dChwb2ludHNbaV0pOworICAgICAgICBwb2ludCA9IGxvY2FsUG9pbnRUb1Jvb3QoaW5mby0+cmVu
ZGVyZXIsIGluZm8tPnJvb3RWaWV3LCBpbmZvLT52aWV3LCBwb2ludCk7CiAgICAgICAgIGluZm8t
PmFycmF5LT5wdXNoTnVtYmVyKHBvaW50LngoKSk7CiAgICAgICAgIGluZm8tPmFycmF5LT5wdXNo
TnVtYmVyKHBvaW50LnkoKSk7CiAgICAgfQpAQCAtNjAyLDM5ICs2MDQsNyBAQCBzdGF0aWMgUGFz
c1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGJ1aWxkT2JqZWN0Rm9yU2hhcGVPdXRzaWRlKEZyYW1l
KiBjb250YWluaW5nRgogICAgIHNoYXBlT2JqZWN0LT5zZXRBcnJheSgiYm91bmRzIiwgYnVpbGRB
cnJheUZvclF1YWQoc2hhcGVRdWFkKSk7CiAKICAgICBQYXRoIHBhdGg7Ci0gICAgc3dpdGNoIChz
aGFwZU91dHNpZGVJbmZvLT5jb21wdXRlZFNoYXBlKCktPnR5cGUoKSkgewotICAgIGNhc2UgU2hh
cGU6OlJvdW5kZWRSZWN0YW5nbGVUeXBlOiB7Ci0gICAgICAgIGNvbnN0IFJlY3RhbmdsZVNoYXBl
KiBzaGFwZSA9IHN0YXRpY19jYXN0PGNvbnN0IFJlY3RhbmdsZVNoYXBlKj4oc2hhcGVPdXRzaWRl
SW5mby0+Y29tcHV0ZWRTaGFwZSgpKTsKLSAgICAgICAgRmxvYXRTaXplIHJhZGlpKHNoYXBlLT5s
b2dpY2FsUngoKSwgc2hhcGUtPmxvZ2ljYWxSeSgpKTsKLSAgICAgICAgcmFkaWkgPSBzaGFwZU91
dHNpZGVJbmZvLT5zaGFwZVRvUmVuZGVyZXJTaXplKHJhZGlpKTsKLSAgICAgICAgcGF0aC5hZGRS
b3VuZGVkUmVjdChzaGFwZUJvdW5kcywgcmFkaWksIFBhdGg6OlByZWZlckJlemllclJvdW5kZWRS
ZWN0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgY2FzZSBTaGFwZTo6UG9seWdvblR5
cGU6IHsKLSAgICAgICAgY29uc3QgUG9seWdvblNoYXBlKiBzaGFwZSA9IHN0YXRpY19jYXN0PGNv
bnN0IFBvbHlnb25TaGFwZSo+KHNoYXBlT3V0c2lkZUluZm8tPmNvbXB1dGVkU2hhcGUoKSk7Ci0g
ICAgICAgIGNvbnN0IEZsb2F0UG9seWdvbiYgcG9seWdvbiA9IHNoYXBlLT5wb2x5Z29uKCk7Ci0g
ICAgICAgIEZsb2F0UG9pbnQgdmVydGV4OwotCi0gICAgICAgIGlmIChwb2x5Z29uLm51bWJlck9m
VmVydGljZXMoKSkgewotICAgICAgICAgICAgdmVydGV4ID0gc2hhcGVPdXRzaWRlSW5mby0+c2hh
cGVUb1JlbmRlcmVyUG9pbnQocG9seWdvbi52ZXJ0ZXhBdCgwKSk7Ci0gICAgICAgICAgICBwYXRo
Lm1vdmVUbyh2ZXJ0ZXgpOwotICAgICAgICB9Ci0KLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDE7
IGkgPCBwb2x5Z29uLm51bWJlck9mVmVydGljZXMoKTsgaSsrKSB7Ci0gICAgICAgICAgICBGbG9h
dFBvaW50IHZlcnRleCA9IHNoYXBlT3V0c2lkZUluZm8tPnNoYXBlVG9SZW5kZXJlclBvaW50KHBv
bHlnb24udmVydGV4QXQoaSkpOwotICAgICAgICAgICAgcGF0aC5hZGRMaW5lVG8odmVydGV4KTsK
LSAgICAgICAgfQotCi0gICAgICAgIGlmIChwb2x5Z29uLm51bWJlck9mVmVydGljZXMoKSkKLSAg
ICAgICAgICAgIHBhdGguY2xvc2VTdWJwYXRoKCk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQot
ICAgIGNhc2UgU2hhcGU6OlJhc3RlclR5cGU6Ci0gICAgICAgIC8vIEZJWE1FOiBCdWcgMTI0MDgw
IC0gUmFzdGVyU2hhcGVzIGFyZSBub3QgeWV0IHN1cHBvcnRlZCBhbmQgb25seSBkaXNwbGF5IHRo
ZWlyIHNoYXBlIGJvdW5kcwotICAgICAgICBicmVhazsKLSAgICB9CisgICAgc2hhcGVPdXRzaWRl
SW5mby0+Y29tcHV0ZWRTaGFwZSgpLT5idWlsZFBhdGgocGF0aCk7CiAKICAgICBpZiAocGF0aC5s
ZW5ndGgoKSkgewogICAgICAgICBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IHNoYXBlUGF0aCA9IElu
c3BlY3RvckFycmF5OjpjcmVhdGUoKTsKQEAgLTY0Myw2ICs2MTMsNyBAQCBzdGF0aWMgUGFzc1Jl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGJ1aWxkT2JqZWN0Rm9yU2hhcGVPdXRzaWRlKEZyYW1lKiBj
b250YWluaW5nRgogICAgICAgICBpbmZvLnZpZXcgPSBjb250YWluaW5nRnJhbWUtPnZpZXcoKTsK
ICAgICAgICAgaW5mby5hcnJheSA9IHNoYXBlUGF0aC5nZXQoKTsKICAgICAgICAgaW5mby5yZW5k
ZXJlciA9IHJlbmRlcmVyOworICAgICAgICBpbmZvLnNoYXBlT3V0c2lkZUluZm8gPSBzaGFwZU91
dHNpZGVJbmZvOwogCiAgICAgICAgIHBhdGguYXBwbHkoJmluZm8sICZhcHBlbmRQYXRoU2VnbWVu
dCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvQm94U2hh
cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9Cb3hTaGFwZS5jcHAKaW5k
ZXggMDIyMmU3OS4uZTU1MTU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3NoYXBlcy9Cb3hTaGFwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBl
cy9Cb3hTaGFwZS5jcHAKQEAgLTEwOCw0ICsxMDgsMTEgQEAgYm9vbCBCb3hTaGFwZTo6Zmlyc3RJ
bmNsdWRlZEludGVydmFsTG9naWNhbFRvcChMYXlvdXRVbml0IG1pbkxvZ2ljYWxJbnRlcnZhbFRv
cCwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBCb3hTaGFwZTo6YnVpbGRQYXRoKFBhdGgm
IHBhdGgpIGNvbnN0Cit7CisgICAgY29uc3QgRmxvYXRSZWN0JiByZWN0ID0gbV9ib3VuZHMucmVj
dCgpOworICAgIGNvbnN0IEZsb2F0Um91bmRlZFJlY3Q6OlJhZGlpJiByYWRpaSA9IG1fYm91bmRz
LnJhZGlpKCk7CisgICAgcGF0aC5hZGRSb3VuZGVkUmVjdChyZWN0LCByYWRpaS50b3BMZWZ0KCks
IHJhZGlpLnRvcFJpZ2h0KCksIHJhZGlpLmJvdHRvbUxlZnQoKSwgcmFkaWkuYm90dG9tUmlnaHQo
KSwgUGF0aDo6UHJlZmVyQmV6aWVyUm91bmRlZFJlY3QpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL0JveFNo
YXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL0JveFNoYXBlLmgKaW5kZXgg
YzQyMTNlZi4uMmRhZTg2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3No
YXBlcy9Cb3hTaGFwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvQm94
U2hhcGUuaApAQCAtNDUsNyArNDUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGdldEV4
Y2x1ZGVkSW50ZXJ2YWxzKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW5pdCBsb2dpY2Fs
SGVpZ2h0LCBTZWdtZW50TGlzdCYpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBn
ZXRJbmNsdWRlZEludGVydmFscyhMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExheW91dFVuaXQgbG9n
aWNhbEhlaWdodCwgU2VnbWVudExpc3QmKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJv
b2wgZmlyc3RJbmNsdWRlZEludGVydmFsTG9naWNhbFRvcChMYXlvdXRVbml0IG1pbkxvZ2ljYWxJ
bnRlcnZhbFRvcCwgY29uc3QgTGF5b3V0U2l6ZSYgbWluTG9naWNhbEludGVydmFsU2l6ZSwgTGF5
b3V0VW5pdCYpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgU2hhcGVUeXBlIHR5cGUoKSBj
b25zdCBPVkVSUklERSB7IHJldHVybiBTaGFwZTo6Um91bmRlZFJlY3RhbmdsZVR5cGU7IH0KKwor
ICAgIHZpcnR1YWwgdm9pZCBidWlsZFBhdGgoUGF0aCYpIGNvbnN0IE9WRVJSSURFOwogCiBwcml2
YXRlOgogICAgIEZsb2F0Um91bmRlZFJlY3QgbV9ib3VuZHM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1BvbHlnb25TaGFwZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc2hhcGVzL1BvbHlnb25TaGFwZS5jcHAKaW5kZXggNDgwZTIzMS4uMmQyYWEw
OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUG9seWdvblNo
YXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1BvbHlnb25TaGFw
ZS5jcHAKQEAgLTUyMyw0ICs1MjMsMTkgQEAgYm9vbCBQb2x5Z29uU2hhcGU6OmZpcnN0SW5jbHVk
ZWRJbnRlcnZhbExvZ2ljYWxUb3AoTGF5b3V0VW5pdCBtaW5Mb2dpY2FsSW50ZXJ2YWwKICAgICBy
ZXR1cm4gZmlyc3RGaXRGb3VuZDsKIH0KIAordm9pZCBQb2x5Z29uU2hhcGU6OmJ1aWxkUGF0aChQ
YXRoJiBwYXRoKSBjb25zdAoreworICAgIEZsb2F0UG9pbnQgdmVydGV4OworCisgICAgaWYgKCFt
X3BvbHlnb24ubnVtYmVyT2ZWZXJ0aWNlcygpKQorICAgICAgICByZXR1cm47CisKKyAgICBwYXRo
Lm1vdmVUbyhtX3BvbHlnb24udmVydGV4QXQoMCkpOworCisgICAgZm9yIChzaXplX3QgaSA9IDE7
IGkgPCBtX3BvbHlnb24ubnVtYmVyT2ZWZXJ0aWNlcygpOyBpKyspCisgICAgICAgIHBhdGguYWRk
TGluZVRvKG1fcG9seWdvbi52ZXJ0ZXhBdChpKSk7CisKKyAgICBwYXRoLmNsb3NlU3VicGF0aCgp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc2hhcGVzL1BvbHlnb25TaGFwZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3NoYXBlcy9Qb2x5Z29uU2hhcGUuaAppbmRleCBlMWE2NTc1Li4zYjU5ZDc0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1BvbHlnb25TaGFwZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUG9seWdvblNoYXBlLmgKQEAgLTk3LDkg
Kzk3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBnZXRJbmNsdWRlZEludGVydmFscyhM
YXlvdXRVbml0IGxvZ2ljYWxUb3AsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCwgU2VnbWVudExp
c3QmKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgZmlyc3RJbmNsdWRlZEludGVy
dmFsTG9naWNhbFRvcChMYXlvdXRVbml0IG1pbkxvZ2ljYWxJbnRlcnZhbFRvcCwgY29uc3QgTGF5
b3V0U2l6ZSYgbWluTG9naWNhbEludGVydmFsU2l6ZSwgTGF5b3V0VW5pdCYpIGNvbnN0IE9WRVJS
SURFOwogCi0gICAgdmlydHVhbCBTaGFwZVR5cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIFNoYXBlOjpQb2x5Z29uVHlwZTsgfQotCi0gICAgY29uc3QgRmxvYXRQb2x5Z29uJiBwb2x5
Z29uKCkgY29uc3QgeyByZXR1cm4gbV9wb2x5Z29uOyB9CisgICAgdmlydHVhbCB2b2lkIGJ1aWxk
UGF0aChQYXRoJikgY29uc3QgT1ZFUlJJREU7CiAKIHByaXZhdGU6CiAgICAgY29uc3QgRmxvYXRQ
b2x5Z29uJiBzaGFwZU1hcmdpbkJvdW5kcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5oCmluZGV4IGYwZjhjYjMuLjczMWUwOTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUmFzdGVyU2hhcGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBlLmgKQEAgLTEwMSw3
ICsxMDEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGdldEluY2x1ZGVkSW50ZXJ2YWxz
KExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0LCBTZWdtZW50
TGlzdCYpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBmaXJzdEluY2x1ZGVkSW50
ZXJ2YWxMb2dpY2FsVG9wKExheW91dFVuaXQgbWluTG9naWNhbEludGVydmFsVG9wLCBjb25zdCBM
YXlvdXRTaXplJiBtaW5Mb2dpY2FsSW50ZXJ2YWxTaXplLCBMYXlvdXRVbml0JikgY29uc3QgT1ZF
UlJJREU7CiAKLSAgICB2aXJ0dWFsIFNoYXBlVHlwZSB0eXBlKCkgY29uc3QgT1ZFUlJJREUgeyBy
ZXR1cm4gU2hhcGU6OlJhc3RlclR5cGU7IH0KKyAgICAvLyBGSVhNRTogQnVnIDEyNDA4MCAtIFJh
c3RlclNoYXBlcyBhcmUgbm90IHlldCBzdXBwb3J0ZWQgYW5kIG9ubHkgZGlzcGxheSB0aGVpciBz
aGFwZSBib3VuZHMKKyAgICB2aXJ0dWFsIHZvaWQgYnVpbGRQYXRoKFBhdGgmIHBhdGgpIGNvbnN0
IE9WRVJSSURFIHsgVU5VU0VEX1BBUkFNKHBhdGgpOyB9CiAKIHByaXZhdGU6CiAgICAgY29uc3Qg
UmFzdGVyU2hhcGVJbnRlcnZhbHMmIG1hcmdpbkludGVydmFscygpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9SZWN0YW5nbGVTaGFwZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1JlY3RhbmdsZVNoYXBlLmNwcAppbmRleCA5
Yjg0MjBlLi43ZDBiZTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hh
cGVzL1JlY3RhbmdsZVNoYXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hh
cGVzL1JlY3RhbmdsZVNoYXBlLmNwcApAQCAtMjI4LDQgKzIyOCw5IEBAIGJvb2wgUmVjdGFuZ2xl
U2hhcGU6OmZpcnN0SW5jbHVkZWRJbnRlcnZhbExvZ2ljYWxUb3AoTGF5b3V0VW5pdCBtaW5Mb2dp
Y2FsSW50ZXJ2CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCit2b2lkIFJlY3RhbmdsZVNoYXBlOjpi
dWlsZFBhdGgoUGF0aCYgcGF0aCkgY29uc3QKK3sKKyAgICBwYXRoLmFkZFJvdW5kZWRSZWN0KG1f
Ym91bmRzLCBGbG9hdFNpemUobV9ib3VuZHMucngoKSwgbV9ib3VuZHMucnkoKSksIFBhdGg6OlBy
ZWZlckJlemllclJvdW5kZWRSZWN0KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9SZWN0YW5nbGVTaGFwZS5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9SZWN0YW5nbGVTaGFwZS5oCmluZGV4
IDdmMjUwNzUuLjE5OGFhZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
aGFwZXMvUmVjdGFuZ2xlU2hhcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hh
cGVzL1JlY3RhbmdsZVNoYXBlLmgKQEAgLTU2LDEwICs1Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgZ2V0SW5jbHVkZWRJbnRlcnZhbHMoTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXlv
dXRVbml0IGxvZ2ljYWxIZWlnaHQsIFNlZ21lbnRMaXN0JikgY29uc3QgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBib29sIGZpcnN0SW5jbHVkZWRJbnRlcnZhbExvZ2ljYWxUb3AoTGF5b3V0VW5pdCBt
aW5Mb2dpY2FsSW50ZXJ2YWxUb3AsIGNvbnN0IExheW91dFNpemUmIG1pbkxvZ2ljYWxJbnRlcnZh
bFNpemUsIExheW91dFVuaXQmKSBjb25zdCBPVkVSUklERTsKIAotICAgIExheW91dFVuaXQgbG9n
aWNhbFJ4KCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZHMucngoKTsgfQotICAgIExheW91dFVuaXQg
bG9naWNhbFJ5KCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZHMucnkoKTsgfQotCi0gICAgdmlydHVh
bCBTaGFwZVR5cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFNoYXBlOjpSb3VuZGVk
UmVjdGFuZ2xlVHlwZTsgfQorICAgIHZpcnR1YWwgdm9pZCBidWlsZFBhdGgoUGF0aCYpIGNvbnN0
IE9WRVJSSURFOwogCiBwcml2YXRlOgogICAgIGNsYXNzIFNoYXBlQm91bmRzIDogcHVibGljIEZs
b2F0UmVjdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1No
YXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlLmgKaW5kZXggMDIz
ZmY4Mi4uZDY3OThjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBl
cy9TaGFwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvU2hhcGUuaApA
QCAtMzIsNiArMzIsNyBAQAogCiAjaW5jbHVkZSAiQmFzaWNTaGFwZXMuaCIKICNpbmNsdWRlICJM
YXlvdXRSZWN0LmgiCisjaW5jbHVkZSAiUGF0aC5oIgogI2luY2x1ZGUgIlN0eWxlSW1hZ2UuaCIK
ICNpbmNsdWRlICJXcml0aW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBA
IC02MCwxMiArNjEsNiBAQCB0eXBlZGVmIFZlY3RvcjxMaW5lU2VnbWVudD4gU2VnbWVudExpc3Q7
CiAKIGNsYXNzIFNoYXBlIHsKIHB1YmxpYzoKLSAgICBlbnVtIFNoYXBlVHlwZSB7Ci0gICAgICAg
IFJvdW5kZWRSZWN0YW5nbGVUeXBlLAotICAgICAgICBQb2x5Z29uVHlwZSwKLSAgICAgICAgUmFz
dGVyVHlwZQotICAgIH07Ci0KICAgICBzdGF0aWMgUGFzc093blB0cjxTaGFwZT4gY3JlYXRlU2hh
cGUoY29uc3QgQmFzaWNTaGFwZSosIGNvbnN0IExheW91dFNpemUmIGxvZ2ljYWxCb3hTaXplLCBX
cml0aW5nTW9kZSwgTGVuZ3RoIG1hcmdpbiwgTGVuZ3RoIHBhZGRpbmcpOwogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPFNoYXBlPiBjcmVhdGVTaGFwZShjb25zdCBTdHlsZUltYWdlKiwgZmxvYXQgdGhy
ZXNob2xkLCBjb25zdCBMYXlvdXRTaXplJiBsb2dpY2FsQm94U2l6ZSwgV3JpdGluZ01vZGUsIExl
bmd0aCBtYXJnaW4sIExlbmd0aCBwYWRkaW5nKTsKICAgICBzdGF0aWMgUGFzc093blB0cjxTaGFw
ZT4gY3JlYXRlU2hhcGUoY29uc3QgTGF5b3V0U2l6ZSYgbG9naWNhbEJveFNpemUsIGNvbnN0IExh
eW91dFNpemUmIGxvZ2ljYWxSYWRpaSwgV3JpdGluZ01vZGUsIExlbmd0aCBtYXJnaW4sIExlbmd0
aCBwYWRkaW5nKTsKQEAgLTgxLDcgKzc2LDcgQEAgcHVibGljOgogICAgIGJvb2wgbGluZU92ZXJs
YXBzU2hhcGVNYXJnaW5Cb3VuZHMoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVI
ZWlnaHQpIGNvbnN0IHsgcmV0dXJuIGxpbmVPdmVybGFwc0JvdW5kaW5nQm94KGxpbmVUb3AsIGxp
bmVIZWlnaHQsIHNoYXBlTWFyZ2luTG9naWNhbEJvdW5kaW5nQm94KCkpOyB9CiAgICAgYm9vbCBs
aW5lT3ZlcmxhcHNTaGFwZVBhZGRpbmdCb3VuZHMoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRV
bml0IGxpbmVIZWlnaHQpIGNvbnN0IHsgcmV0dXJuIGxpbmVPdmVybGFwc0JvdW5kaW5nQm94KGxp
bmVUb3AsIGxpbmVIZWlnaHQsIHNoYXBlUGFkZGluZ0xvZ2ljYWxCb3VuZGluZ0JveCgpKTsgfQog
Ci0gICAgdmlydHVhbCBTaGFwZVR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgYnVpbGRQYXRoKFBhdGgmKSBjb25zdCA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBmbG9hdCBz
aGFwZU1hcmdpbigpIGNvbnN0IHsgcmV0dXJuIG1fbWFyZ2luOyB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>