1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-09-29 22:27:12 +02:00
Commit Graph

318 Commits

Author SHA1 Message Date
Raymond Hill
2eb9b726a5
Fix generichide not being evaluated for local context
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/5704
2019-06-03 06:37:39 -04:00
Raymond Hill
eef76c49ae
Add a link to the remote asset in asset viewer
The link will be present if and only if the content
of the currently viewed asset has been fetched from
a remote location.
2019-05-23 19:29:59 -04:00
Raymond Hill
e8c2f7eea3
Fix "Close this window" not working on document-blocked page
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/breeux/
2019-05-21 18:56:59 -04:00
Raymond Hill
72d9758faa
Ensure the "Filter lists" pane is in sync with update status
Related issue:
- https://github.com/gorhill/uBlock/issues/2394

Additionally, I added a new advanced setting to control
how long after launch an auto-update session should be
started -- value is in seconds:

    autoUpdateDelayAfterLaunch 180
2019-05-19 18:31:12 -04:00
Raymond Hill
a0ac1b7ee8
Fix handling of data: for filtering purpose in logger
Related issue:
- https://github.com/gorhill/uBlock/issues/2469
2019-05-19 17:00:49 -04:00
Raymond Hill
f7bbc80717
Improve "Whitelist pane"; remove now useless built-in switch rule
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/214

Built-in whitelist directives are now rendered differently
than user-defined whitelist directives. Also, removing a
built-in whitelist directive will only cause that directive
to be commented out, so that users do not have to remember
built-in directives should they want to bring them back.

Related issue:
 https://github.com/uBlockOrigin/uBlock-issues/issues/494

The built-in per-site switch rule
`no-scripting: behind-the-scene false` has been removed,
it should not ever be needed since there will always be a
valid root context for main- and sub-frames.
2019-05-18 14:20:05 -04:00
Raymond Hill
3573b6b32c
Add ability to report exception cosmetic filters in the logger
Related issue:
- https://github.com/gorhill/uBlock/issues/127

Additionally, the extended exception filters in the
logger will be rendered with a line-through to more
easily distinguish them from non-exception ones.

Also, opportunistically converted revisited code to
ES6 syntax.
2019-05-16 13:44:49 -04:00
Raymond Hill
915c1f1f3c
Report resources blocked by csp= option in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/552
2019-05-11 10:40:34 -04:00
Raymond Hill
f62d866b36
Code review implementation of cacheStorage.clear()
Possibly related issue:
- https://old.reddit.com/r/firefox/comments/b3u4nj/what_is_the_estimated_time_period_for_reviewing_a/

@gwarser has been able to reproduce at will, while I have been
unable to reproduce at all. The change here is to clear the
content of the database instead of outright deleting it before
restoring backed up settings.
2019-03-28 10:17:47 -03:00
Raymond Hill
0d369cda21
Allow use of browser.storage.local as cache storage backend in Firefox
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/409

By default `indexedDB` is used in Firefox for purpose of cache storage
backend.

This commit allows to force the use of `browser.storage.local` instead
as cache storage backend. For this to happen, set `cacheStorageAPI` to
`browser.storage.local` in advanced settings.

Additionally, should `indexedDB` not be available for whatever reason,
uBO will automatically fallback to `browser.storage.local`.
2019-02-17 15:40:09 -05:00
Raymond Hill
ed5d63df69
Grand refactoring of the logger
Performance-related work: the logger data has been decoupled
from the DOM -- inspired from CodeMirror's way of efficiently
handling large amout of text data.

This decoupling now makes the logger highly efficient CPU- and
memory-wise, and open the way to more possibilities.

Ability to configure some aspect of the logger behavior and
visuals:
- The hard-coded limit of 5000 entries has been
  removed and is now replaced with a variety of
  user-configurable settings to enforce the discarding of
  logger entries.
- Some columns in the logger output can now be hidden.

The filter list look-up feature has been merged into the
existing overlay dialog used to create URL rules or static
filters, as an entry in a new "Details" pane.

Other issues addressed during refactoring:
- https://github.com/uBlockOrigin/uBlock-issues/issues/280
- https://github.com/gorhill/uBlock/issues/1999

The minimum version supported on Firefox has been bumped
up to 55.0.
2019-01-12 16:36:20 -05:00
Raymond Hill
64bea27881
Add ability to control auto-commenting at filter creation time
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/372
- https://github.com/gorhill/uBlock/issues/93

A new advanced settings has been added: `autoCommentFilterTemplate`.

Default value is `{{date}} {{origin}}`.

Placeholders are identified by `{{...}}`. There are currently
only three placeholders supported:

- `{{date}}`: will be replaced with current date
- `{{time}}`: will be replaced with current time
- `{{origin}}`: will be replaced with site information on which
  the filter(s) was created

If no placeholder is found in `autoCommentFilterTemplate`, this
will disable auto-commenting. So one can use `-` to disable
auto-commenting.

Additionally, if auto-commenting is enabled, uBO will not emit a
comment if an emitted comment would be a duplicate of the last
one found in the user filter list.
2019-01-08 07:37:50 -05:00
Raymond Hill
e9d76b3575
Report inline script tags in logger if present in document
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/343
2018-12-21 14:16:17 -05:00
Raymond Hill
610ca2684b
Remove (broken) benchmark pane 2018-12-21 12:01:24 -05:00
Raymond Hill
56f7505ad8
Further improve logger along with fixes to specific logger issues
- Add tooltip support (not yet complete):
  https://github.com/gorhill/uBlock/issues/1222
- Add a link to logger documentation:
  https://github.com/gorhill/uBlock/issues/2876#issuecomment-322905413
- Migrate to from fontawesome font to svgs:
  https://github.com/uBlockOrigin/uBlock-issues/issues/249
2018-12-17 13:54:17 -05:00
Raymond Hill
932c13bfa0
drop deprecated windowType from windows.get() 2018-12-14 14:15:43 -05:00
Raymond Hill
5b7a3c9983
fix https://github.com/uBlockOrigin/uBlock-issues/issues/256; add regex support in logger filter field 2018-12-14 11:01:21 -05:00
Raymond Hill
9b27a98f90
Fix https://github.com/gorhill/uBlock/issues/3654
Additionally, there has been refactoring work done regarding
filtering context used throughout uBO, motivated by the fix
here.
2018-12-13 12:30:54 -05:00
Raymond Hill
d693d4fba3
add new "Benchmarks" pane in dashboard
Purpose is strictly for development purpose. The new pane can
be enabled by setting the advanced setting `benchmarkingPane`
to  `true`.
2018-11-02 16:18:50 -03:00
Raymond Hill
6d9382a501
fix https://github.com/uBlockOrigin/uBlock-issues/issues/77 2018-10-29 09:56:51 -03:00
Raymond Hill
1d108082b7
minor code review re. 8b5a7aa398 2018-09-07 10:52:10 -04:00
Raymond Hill
8b5a7aa398
remove context menu entry and picker tools for whitelisted sites 2018-09-07 10:42:59 -04:00
Raymond Hill
6d34a52179
fix #2859 2018-09-03 14:06:49 -04:00
Raymond Hill
96525cffa5
code review for 3c85c03194: simplify counting of script resources 2018-09-01 06:36:17 -04:00
Raymond Hill
3c85c03194
fix #308, #3436, https://github.com/uBlockOrigin/uBlock-issues/issues/155
<https://github.com/gorhill/uBlock/issues/3436>: a new per-site switch
has been added, no-scripting, which purpose is to wholly disable/enable
javascript for a given site. This new switch has precedence over all
other ways javascript can be disabled, including precedence over dynamic
filtering rules.

The popup panel will report the number of script resources which have
been seen by uBO for the current page. There is a minor inaccuracy to
be fixed regarding the count, and which fix requires to extend request
journaling.

<https://github.com/gorhill/uBlock/issues/308>: the `noscript` tags will
now be respected when the new no-scripting switch is in effect on a given
site.

A default setting has been added to the _Settings_ pane to
disable/enable globally the new no-script switch, such that one can
work in default-deny mode regarding javascript execution.

<https://github.com/uBlockOrigin/uBlock-issues/issues/155>: a new
hidden setting, `requestJournalProcessPeriod`, has been added to
allow controlling the delay before uBO internally process it's
network request journal queue. Default to 1000 (milliseconds).
2018-08-31 18:47:02 -04:00
Raymond Hill
aeb19c952b
fix false positive detection of popups
Possibly what was being experienced by this user:
https://twitter.com/Reiniervdhulst/status/1035251223669211137
2018-08-31 09:26:10 -04:00
Raymond Hill
38aabc937a
reorganize cache storage compression; workaround fix for #2812 2018-08-11 10:39:43 -04:00
Raymond Hill
7ae68c8d7d
fix https://github.com/uBlockOrigin/uBlock-issues/issues/144 2018-07-24 09:17:18 -04:00
Raymond Hill
51a4e9ccf4
fix #2763 2018-07-22 10:47:02 -04:00
Raymond Hill
c57c760b1e
code review for https://github.com/uBlockOrigin/uBlock-issues/issues/106 2018-07-20 13:52:14 -04:00
Raymond Hill
ef455deb0a
fix https://github.com/uBlockOrigin/uBlock-issues/issues/106 2018-07-18 18:00:55 -04:00
Raymond Hill
211048396f
fix https://github.com/uBlockOrigin/uBlock-issues/issues/102 2018-07-04 15:03:09 -04:00
Raymond Hill
ab867dedf5
improve in-memory storage of specific cosmetic filters + more ES6
- collate together specific filters with same base domain
- replace string-based hash to integer-based hash
- revisit code to benefit from ES6-specific syntax
2018-05-31 10:41:03 -04:00
Raymond Hill
c6cab02999
fine-tune logger-related code
- Default to being detached
- Default to "Current tab"
- Append current tab title to "Current tab" entry
- Avoid iterating through all tabs when no change
2018-05-27 08:31:17 -04:00
Raymond Hill
b4306e3297
code reivew of c5d8588118: immediate scriptlets injection works well only on Chromium-based browsers for now 2018-05-18 10:19:14 -04:00
Raymond Hill
21670a031f
use name in manifest for "About" pane 2018-05-17 12:45:57 -04:00
Raymond Hill
c5d8588118
inject scriptlets earlier (experimental) (ex. https://github.com/uBlockOrigin/uAssets/issues/2300) 2018-05-17 07:33:21 -04:00
Raymond Hill
7e5661383a
code review to further lower overhead of updating toolbar icon 2018-05-08 09:43:25 -04:00
Raymond Hill
427d0fd0ff
fix https://github.com/uBlockOrigin/uBlock-issues/issues/21 2018-04-24 17:12:41 -04:00
Raymond Hill
9ce1f8af08
fix https://www.reddit.com/r/uBlockOrigin/comments/8524cf/my_custom_scriptlets_doesnt_work_what_am_i_doing/ 2018-03-19 10:25:03 -04:00
Raymond Hill
9715d1e8b9
make use of CodeMirror for Whitelist pane 2018-03-12 08:28:07 -04:00
Raymond Hill
eb789939ca
code review for b10ac0020d: fix too rigid field separator 2018-03-11 12:52:02 -04:00
Raymond Hill
b10ac0020d
make use of CodeMirror in "My rules" pane 2018-03-11 10:59:39 -04:00
Raymond Hill
2c901588c7
fix #3546, #3428 2018-02-26 13:59:16 -05:00
Raymond Hill
a81d2a759b
fix #3318, #3387 2018-02-21 13:29:36 -05:00
Raymond Hill
6b7d8e75f4
bring out of band fixes (c5cbf5db47, 2999dbee5c) for Firefox/webext into master 2018-02-21 08:19:43 -05:00
Raymond Hill
17930cc778
fix #3474, #2823 2018-02-15 17:25:38 -05:00
Raymond Hill
94c8cfc3f3
fix #3506 2018-02-12 08:18:24 -05:00
Raymond Hill
36b1eac88e
fix #3425 (regression from 6cdb20df) 2018-01-10 17:59:07 -05:00
Raymond Hill
6cdb20dffe
improve logger convenience following fix for #2854 2018-01-09 08:08:17 -05:00
Raymond Hill
689d18c54f
fix #2854 2018-01-08 14:29:39 -05:00
Raymond Hill
b7155a0e0f
fix #3408 2018-01-07 17:53:33 -05:00
Raymond Hill
a0375bb6a3
add support for iso-8859-1/windows-1252 encoding (https://github.com/gorhill/uBlock/issues/3391#issuecomment-354868704) 2018-01-05 13:15:56 -05:00
Raymond Hill
04d84cf92a
fix #3397 2018-01-03 13:59:38 -05:00
Raymond Hill
1cd61063fa
fix #3380 2017-12-30 17:38:07 -05:00
Raymond Hill
a9f68fe02f
Fix #3069, and consequently #3374, #3378.
A new filtering class has been created: "static extended filtering".
This new class is an umbrella class for more specialized filtering
engines:
- Cosmetic filtering
- Scriptlet filtering
- HTML filtering

HTML filtering is available only on platforms which support modifying
the response body on the fly, so only Firefox 57+ at the moment.

With the ability to modify the response body, HTML filtering has
been introduced: removing elements from the DOM before the source
data has been parsed by the browser.

A consequence of HTML filtering ability is to bring back script tag
filtering feature.
2017-12-28 13:49:02 -05:00
Raymond Hill
dec0b80a72
fix #2877 2017-12-17 08:09:47 -05:00
Raymond Hill
36956cbc7a
remove obsolete resource caching code 2017-12-14 16:42:54 -05:00
gorhill
48f65f11d1
fix #2963 2017-11-12 07:41:55 -05:00
gorhill
44ce44aa42
code review: early injection of lookred up generic cosmetic filters when possible 2017-10-26 06:18:03 -04:00
gorhill
6112a68faf
fix #2984 2017-10-21 13:43:46 -04:00
gorhill
2660bee0d2
fix #2919 2017-09-05 19:49:48 -04:00
gorhill
eb3519b075
fix #2839 2017-08-03 10:18:05 -04:00
gorhill
39aeaa12a7
new feature: element zapper 2017-05-27 11:51:24 -04:00
gorhill
fcf43d972e
tentatively fix issue reported in #2612 re. FFox 24.8.1 2017-05-19 10:12:55 -04:00
gorhill
892d9b504a
minor code review while at it 2017-05-13 08:57:30 -04:00
gorhill
f1805d8175
fix #2607 2017-05-13 08:51:56 -04:00
gorhill
0232382695
refactor static network filtering, add support for csp injection 2017-05-12 10:35:11 -04:00
gorhill
510eba6bc4
fix #2477 2017-04-04 16:45:50 -04:00
gorhill
53b0db3d25
fix #2447 2017-03-14 15:09:40 -04:00
gorhill
cbca48307c fix https://github.com/gorhill/uBlock/pull/2314#issuecomment-278716960 2017-02-09 13:33:32 -05:00
gorhill
60605033bf fix #1871? ("blind" fix, need confirmation) 2017-02-03 08:12:26 -05:00
gorhill
aadf4a6427 fix #2340 2017-01-26 10:17:38 -05:00
gorhill
96df129ddb code reivew: do not cache assets fetched for viewing purpose 2017-01-23 10:13:07 -05:00
gorhill
50800427b3 generic code review related to the new 3rd-party filter pane 2017-01-23 09:35:05 -05:00
gorhill
9309df4196 3rd-party filters pane revisited 2017-01-22 16:05:16 -05:00
Raymond Hill
3b9fd49c50 Assets management refactored (#2314)
* refactoring assets management code

* finalizing refactoring of assets management

* various code review of new assets management code

* fix #2281

* fix #1961

* fix #1293

* fix #1275

* fix update scheduler timing logic

* forward compatibility (to be removed once 1.11+ is widespread)

* more codereview; give admins ability to specify own assets.json

* "assetKey" is more accurate than "path"

* fix group count update when building dom incrementally

* reorganize content (order, added URLs, etc.)

* ability to customize updater through advanced settings

* better spinner icon
2017-01-18 13:17:47 -05:00
gorhill
6e458dca5c fix #2264 2016-12-26 11:35:37 -05:00
gorhill
73a69711f2 add chainable and recursive cosmetic procedural filters 2016-12-25 16:56:39 -05:00
gorhill
d913eea1f6 fix #2132 + various minor code review 2016-11-08 15:53:08 -05:00
gorhill
ee4fc2aed6 code review re advanced settings + added popupFontSize 2016-11-06 16:27:21 -05:00
gorhill
8c3da95d65 fix #2067 (experimental) + support for hidden settings 2016-11-03 11:20:47 -04:00
gorhill
b2193a2b54 probably fix #2053 2016-10-29 11:15:04 -04:00
gorhill
3628de7a9d necessary changes for https://github.com/nikrolls/uBlock-Edge/pull/22 2016-10-28 08:40:38 -04:00
gorhill
e01a130bc5 changes required to use chromium platform code for webext platform code 2016-10-19 10:20:26 -04:00
gorhill
2e953b45c9 make cloud storage support optional
(currently not supported on FF-webext and MS Edge)
2016-10-16 13:04:31 -04:00
gorhill
da163bbe4b fix #1641 2016-10-13 13:25:57 -04:00
gorhill
3ff3ae7d70 fix #2053 2016-10-08 10:15:31 -04:00
gorhill
269c35a04a fix #1997 2016-09-16 17:41:17 -04:00
gorhill
e6d1a1f896 fix #1927 (revised commit msg due to missing quote) 2016-08-22 19:14:37 -04:00
gorhill
e9157bafb7 fix #1892, #1891 2016-08-13 16:42:58 -04:00
gorhill
6fd0bb4291 more refactoring of content script: better modularization of various components 2016-08-12 08:55:35 -04:00
gorhill
6fab1fe585 code review domCollapser: avoid duplicates -- helps for https://bugzilla.mozilla.org/show_bug.cgi?id=1232354 2016-08-08 09:59:57 -04:00
gorhill
6bd356dd2c fix #1856 2016-08-06 12:05:01 -04:00
gorhill
4da4709ed5 hopefully fix #1782: treat data: URI as 1st-party resources 2016-07-25 08:18:17 -04:00
gorhill
ed315d0a3b fix #1786 2016-07-07 16:42:01 -04:00
gorhill
8374799c7d various minor code review 2016-06-30 22:03:29 -04:00
gorhill
367e6ee8de fix #1726 2016-06-16 19:10:07 -04:00
gorhill
a33dc4f8e2 fix #1725 (assuming the issue was uBO not properly blocking data: images) 2016-06-16 09:46:18 -04:00
gorhill
e475e1ece8 this fixes #650; code reviewed changes re. #1202, #1545; fine tuning picker UI 2016-04-16 11:20:01 -04:00
gorhill
eb8c17d55c this takes care of #1443 2016-03-08 16:35:06 -05:00
gorhill
e5c2eff2d0 code review to fix "javascript.options.strict" warnings in browser console of Firefox 2016-03-07 09:55:04 -05:00
gorhill
abb6d1a610 this fixes #1403 2016-02-22 15:54:07 -05:00
gorhill
0adae9fb65 this fixes #1395 2016-02-17 09:28:20 -05:00
gorhill
89148351e8 #1163: this implements "block elements by size" 2016-01-17 13:30:43 -05:00
gorhill
7fbde83a28 this fixes #912 2016-01-04 10:48:28 -05:00
gorhill
ea49484dd3 this fixes #1067 + partially fixes #1070 2015-12-15 10:40:40 -05:00
gorhill
9c12ef02bb cosmetic filtering switch must disable ONLY cosmetic filtering.
Before this fix, the turning off cosmetic filtering through the per-site
cosmetic filtering switch was also disabling the blocked resources
collapser.
2015-12-13 00:33:53 -05:00
gorhill
fd1ccebf41 this fixes #1022 2015-12-07 08:59:22 -05:00
gorhill
2705432f43 code review 2015-12-02 00:59:51 -05:00
gorhill
72f5e44ec0 code review 2015-11-29 17:06:58 -05:00
gorhill
f2d2133d76 minor code review 2015-11-28 10:29:05 -05:00
gorhill
46d39838e3 redirect engine: more fine tuning + proof of concept for dayt.se 2015-11-26 17:56:30 -05:00
gorhill
2e8adfe944 this fixes #978 2015-11-26 11:11:28 -05:00
gorhill
135ad95d61 #760: reflect obsolete status immediately in UI 2015-10-14 14:16:43 -04:00
gorhill
6cc07a4027 removed unused code 2015-09-14 10:48:23 -04:00
gorhill
36a15e2e02 Experimental fix for #44
Disregard no-popups per-site switch for a URL which matches
a link clicked by the user.
2015-09-10 13:46:18 -04:00
gorhill
9b4b998364 #608: this fixes a bunch of strictness-related warnings 2015-08-18 11:44:24 -04:00
gorhill
690421aead sync feature (#80): draft 2015-08-11 15:29:14 -04:00
gorhill
8dd21c5f49 change of mind: removing 3p-passive because redundancy, better to work on doc 2015-07-27 09:20:47 -04:00
gorhill
35106dcd90 new dynamic rule type: "3p-passive", for css/images 2015-07-24 19:27:23 -04:00
gorhill
aeba71790f some refactoring: move to-aux-process-messaging timeout into vAPI 2015-06-29 10:46:20 -04:00
gorhill
f12bbd4703 comment 2015-06-27 08:52:45 -04:00
gorhill
7d2855180c some refactoring of new DOM inspector code 2015-06-26 15:45:54 -04:00
gorhill
631443768f dom inspector: ébauche 2015-06-26 00:08:41 -04:00
gorhill
9a5404ef07 this fixes the other half of #58: from which list(s) a cosmetic filter originates 2015-06-13 11:21:55 -04:00
gorhill
060a43fe81 this addresses half of #58: find list(s) from which a static network filter originates 2015-06-11 12:12:23 -04:00
gorhill
113c2e11a5 this (indirectly) fixes #15: let uBlock block remote fonts globally or on a site-basis 2015-06-10 09:23:48 -04:00
gorhill
90d009ea3f this fixes https://github.com/chrisaljoudi/uBlock/issues/675 2015-06-07 20:27:19 -04:00
gorhill
48f47a6849 logger: ability to create static net filters 2015-06-06 18:31:38 -04:00
gorhill
72c930ddff logger: UI work on URL-based dynamic filtering 2015-05-24 18:50:09 -04:00
gorhill
43f9657d0f this fixes #227 2015-05-22 08:05:55 -04:00
gorhill
284b4f62d1 dynamic url filtering 2015-05-21 14:15:17 -04:00
gorhill
6c3217d9af go-style switch-case 2015-05-19 13:59:53 -04:00
gorhill
f0a7f8ffea this fixes #184 2015-05-18 10:39:20 -04:00
gorhill
ea4f4cee72 logger: do not regenerate whole tab selector if no change 2015-05-18 08:12:35 -04:00
gorhill
e0284b8908 this fixes #193 2015-05-16 10:15:02 -04:00
gorhill
7eed999ff3 this fixes #188 2015-05-09 08:25:05 -04:00
gorhill
ce6eb9b7ac this fixes logger button in popup 2015-05-08 19:00:01 -04:00
gorhill
f9652b5f57 importing uMatrix unified logger 2015-05-08 18:28:01 -04:00
gorhill
ef84fd18ba this fixes https://github.com/chrisaljoudi/uBlock/issues/10 2015-04-26 11:39:39 -04:00
gorhill
0ce32af7af this fixes under-reporting of active cosmetic filters in logger 2015-04-25 08:27:27 -04:00
gorhill
9f9465d7e9 report in which frame the cosmetic filters were injected 2015-04-25 07:33:50 -04:00
gorhill
3d3bd13ea1 report active cosmetic filters in logger 2015-04-25 07:28:35 -04:00
gorhill
51e0ce6ad1 this fixes #87 2015-04-24 08:36:19 -04:00
gorhill
87a14ff339 import color-blind color scheme into logger 2015-04-23 18:46:14 -04:00
gorhill
361d2ac1a2 dissociate logging infrastructure from page stores 2015-04-23 18:23:03 -04:00
gorhill
78ad7929a6 This addresses colour-blindness issues, using contributed solution https://github.com/chrisaljoudi/uBlock/issues/467#issuecomment-95177219 2015-04-22 10:46:10 -04:00
gorhill
544e1215dd this fixes #63 2015-04-16 12:14:43 -04:00
gorhill
475aa5a8fc code review 2015-04-10 16:31:29 -04:00