etro 0.12.1 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/dependabot.yml +6 -0
- package/.github/scripts/update-changelog.js +72 -0
- package/.github/workflows/dependabot-changelog.yml +57 -0
- package/.github/workflows/nodejs.yml +2 -2
- package/CHANGELOG.md +29 -0
- package/README.md +7 -1
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/base.css +224 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/block-navigation.js +87 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/favicon.png +0 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/index.html +176 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/prettify.css +1 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/prettify.js +2 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/sort-arrow-sprite.png +0 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/sorter.js +196 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/custom-array.ts.html +214 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/base.ts.html +433 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/brightness.ts.html +214 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/channels.ts.html +235 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/chroma-key.ts.html +331 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/contrast.ts.html +211 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/elliptical-mask.ts.html +310 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/gaussian-blur.ts.html +796 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/grayscale.ts.html +187 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/index.html +311 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/index.ts.html +154 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/pixelate.ts.html +259 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/shader.ts.html +1774 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/stack.ts.html +358 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/transform.ts.html +685 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/effect/visual.ts.html +148 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/etro.ts.html +163 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/event.ts.html +691 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/index.html +176 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/index.ts.html +109 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/layer/audio-source.ts.html +835 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/layer/audio.ts.html +241 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/layer/base.ts.html +772 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/layer/image.ts.html +181 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/layer/index.html +236 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/layer/index.ts.html +124 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/layer/text.ts.html +658 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/layer/video.ts.html +211 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/layer/visual-source.ts.html +721 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/layer/visual.ts.html +760 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/movie/effects.ts.html +163 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/movie/index.html +161 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/movie/index.ts.html +88 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/movie/layers.ts.html +163 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/movie/movie.ts.html +2692 -0
- package/coverage/Chrome Headless 79.0.3945.0 (Mac OS 10.16.0)/html/src/util.ts.html +1426 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/base.css +224 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/block-navigation.js +87 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/favicon.png +0 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/index.html +176 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/prettify.css +1 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/prettify.js +2 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/sort-arrow-sprite.png +0 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/sorter.js +196 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/custom-array.ts.html +214 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/base.ts.html +433 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/brightness.ts.html +214 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/channels.ts.html +235 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/chroma-key.ts.html +331 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/contrast.ts.html +211 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/elliptical-mask.ts.html +310 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/gaussian-blur.ts.html +796 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/grayscale.ts.html +187 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/index.html +311 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/index.ts.html +154 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/pixelate.ts.html +259 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/shader.ts.html +1948 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/stack.ts.html +358 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/transform.ts.html +685 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/effect/visual.ts.html +148 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/etro.ts.html +163 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/event.ts.html +691 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/index.html +176 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/index.ts.html +109 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/layer/audio-source.ts.html +835 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/layer/audio.ts.html +241 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/layer/base.ts.html +772 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/layer/image.ts.html +181 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/layer/index.html +236 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/layer/index.ts.html +124 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/layer/text.ts.html +658 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/layer/video.ts.html +211 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/layer/visual-source.ts.html +721 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/layer/visual.ts.html +760 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/movie/effects.ts.html +163 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/movie/index.html +161 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/movie/index.ts.html +88 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/movie/layers.ts.html +163 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/movie/movie.ts.html +2692 -0
- package/coverage/Firefox 118.0 (Mac OS 10.15)/html/src/util.ts.html +1426 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/base.css +224 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/block-navigation.js +87 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/favicon.png +0 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/index.html +176 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/prettify.css +1 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/prettify.js +2 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/sort-arrow-sprite.png +0 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/sorter.js +196 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/custom-array.ts.html +214 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/base.ts.html +433 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/brightness.ts.html +214 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/channels.ts.html +235 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/chroma-key.ts.html +331 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/contrast.ts.html +211 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/elliptical-mask.ts.html +310 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/gaussian-blur.ts.html +790 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/grayscale.ts.html +187 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/index.html +311 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/index.ts.html +154 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/pixelate.ts.html +259 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/shader.ts.html +1948 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/stack.ts.html +358 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/transform.ts.html +685 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/effect/visual.ts.html +148 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/etro.ts.html +163 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/event.ts.html +691 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/index.html +176 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/index.ts.html +109 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/layer/audio-source.ts.html +835 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/layer/audio.ts.html +241 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/layer/base.ts.html +772 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/layer/image.ts.html +181 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/layer/index.html +236 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/layer/index.ts.html +124 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/layer/text.ts.html +658 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/layer/video.ts.html +211 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/layer/visual-source.ts.html +721 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/layer/visual.ts.html +760 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/movie/effects.ts.html +163 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/movie/index.html +161 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/movie/index.ts.html +88 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/movie/layers.ts.html +163 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/movie/movie.ts.html +2692 -0
- package/coverage/Firefox 120.0 (Mac OS 10.15)/html/src/util.ts.html +1426 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/base.css +224 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/block-navigation.js +87 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/favicon.png +0 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/index.html +176 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/prettify.css +1 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/prettify.js +2 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/sort-arrow-sprite.png +0 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/sorter.js +196 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/custom-array.ts.html +214 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/base.ts.html +433 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/brightness.ts.html +214 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/channels.ts.html +235 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/chroma-key.ts.html +331 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/contrast.ts.html +211 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/elliptical-mask.ts.html +310 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/gaussian-blur.ts.html +796 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/grayscale.ts.html +187 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/index.html +311 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/index.ts.html +154 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/pixelate.ts.html +259 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/shader.ts.html +1774 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/stack.ts.html +358 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/transform.ts.html +685 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/effect/visual.ts.html +148 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/etro.ts.html +163 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/event.ts.html +691 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/index.html +176 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/index.ts.html +109 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/layer/audio-source.ts.html +835 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/layer/audio.ts.html +241 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/layer/base.ts.html +772 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/layer/image.ts.html +181 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/layer/index.html +236 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/layer/index.ts.html +124 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/layer/text.ts.html +658 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/layer/video.ts.html +211 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/layer/visual-source.ts.html +721 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/layer/visual.ts.html +760 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/movie/effects.ts.html +163 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/movie/index.html +161 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/movie/index.ts.html +88 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/movie/layers.ts.html +163 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/movie/movie.ts.html +2698 -0
- package/coverage/Firefox 121.0 (Mac OS 10.15)/html/src/util.ts.html +1453 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/base.css +224 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/block-navigation.js +87 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/favicon.png +0 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/index.html +161 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/prettify.css +1 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/prettify.js +2 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/sort-arrow-sprite.png +0 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/sorter.js +196 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/custom-array.ts.html +214 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/base.ts.html +433 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/brightness.ts.html +214 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/channels.ts.html +235 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/chroma-key.ts.html +331 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/contrast.ts.html +211 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/elliptical-mask.ts.html +310 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/gaussian-blur.ts.html +796 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/grayscale.ts.html +187 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/index.html +311 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/index.ts.html +154 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/pixelate.ts.html +259 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/shader.ts.html +1774 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/stack.ts.html +358 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/transform.ts.html +685 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/effect/visual.ts.html +148 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/etro.ts.html +163 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/event.ts.html +691 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/index.html +176 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/index.ts.html +109 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/layer/audio-source.ts.html +835 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/layer/audio.ts.html +241 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/layer/base.ts.html +772 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/layer/image.ts.html +181 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/layer/index.html +236 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/layer/index.ts.html +124 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/layer/text.ts.html +658 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/layer/video.ts.html +211 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/layer/visual-source.ts.html +721 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/layer/visual.ts.html +760 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/movie/effects.ts.html +163 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/movie/index.html +161 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/movie/index.ts.html +88 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/movie/layers.ts.html +163 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/movie/movie.ts.html +2698 -0
- package/coverage/Firefox 148.0 (Mac OS 10.15)/html/src/util.ts.html +1453 -0
- package/dist/etro-cjs.js +78 -63
- package/dist/etro-iife.js +79 -64
- package/dist/movie/movie.d.ts +4 -3
- package/dist/util.d.ts +3 -1
- package/karma.conf.js +9 -0
- package/package.json +4 -5
- package/src/effect/shader.ts +1 -1
- package/src/movie/movie.ts +7 -5
- package/src/util.ts +12 -3
|
@@ -0,0 +1,1426 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/util.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../index.html">All files</a> / <a href="index.html">src</a> util.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">38.42% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>73/190</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">19.81% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>22/111</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">59.09% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>13/22</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">40.22% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>70/174</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line low'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
+
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
+
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
+
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
+
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
+
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
+
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
+
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
+
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
+
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
+
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
+
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
+
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
+
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
+
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
+
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
+
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
+
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
+
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
+
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
+
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
+
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
+
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
+
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
+
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
+
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
+
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
+
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
+
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
+
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
+
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
+
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
+
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
+
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
+
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
+
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
+
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
+
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
+
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
+
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
+
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
+
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
+
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
+
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
+
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
+
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
+
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
+
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
+
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
+
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
+
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
+
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
+
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
+
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
+
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
+
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
+
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
+
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
+
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
+
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
+
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
+
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
+
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
+
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
+
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
+
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
+
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
+
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
+
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
+
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
+
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
+
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
+
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
+
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
+
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
+
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
+
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
+
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
+
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
+
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
+
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
+
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
+
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
+
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
+
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
+
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
+
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
+
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
+
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
+
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
+
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
+
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
+
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
+
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
+
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
+
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
+
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
+
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
+
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
+
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
+
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
+
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
+
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
+
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
+
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
+
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
+
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
+
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
+
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
+
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
+
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
+
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
+
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
+
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
+
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
+
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
+
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
+
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
+
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
+
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
+
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
+
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
+
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
+
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
+
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
+
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
+
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
+
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
+
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
+
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
+
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
+
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
+
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
+
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
+
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
+
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
+
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
+
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
+
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
+
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
+
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
+
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
+
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
+
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
+
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
+
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
+
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
+
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
+
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
+
<a name='L278'></a><a href='#L278'>278</a>
|
|
344
|
+
<a name='L279'></a><a href='#L279'>279</a>
|
|
345
|
+
<a name='L280'></a><a href='#L280'>280</a>
|
|
346
|
+
<a name='L281'></a><a href='#L281'>281</a>
|
|
347
|
+
<a name='L282'></a><a href='#L282'>282</a>
|
|
348
|
+
<a name='L283'></a><a href='#L283'>283</a>
|
|
349
|
+
<a name='L284'></a><a href='#L284'>284</a>
|
|
350
|
+
<a name='L285'></a><a href='#L285'>285</a>
|
|
351
|
+
<a name='L286'></a><a href='#L286'>286</a>
|
|
352
|
+
<a name='L287'></a><a href='#L287'>287</a>
|
|
353
|
+
<a name='L288'></a><a href='#L288'>288</a>
|
|
354
|
+
<a name='L289'></a><a href='#L289'>289</a>
|
|
355
|
+
<a name='L290'></a><a href='#L290'>290</a>
|
|
356
|
+
<a name='L291'></a><a href='#L291'>291</a>
|
|
357
|
+
<a name='L292'></a><a href='#L292'>292</a>
|
|
358
|
+
<a name='L293'></a><a href='#L293'>293</a>
|
|
359
|
+
<a name='L294'></a><a href='#L294'>294</a>
|
|
360
|
+
<a name='L295'></a><a href='#L295'>295</a>
|
|
361
|
+
<a name='L296'></a><a href='#L296'>296</a>
|
|
362
|
+
<a name='L297'></a><a href='#L297'>297</a>
|
|
363
|
+
<a name='L298'></a><a href='#L298'>298</a>
|
|
364
|
+
<a name='L299'></a><a href='#L299'>299</a>
|
|
365
|
+
<a name='L300'></a><a href='#L300'>300</a>
|
|
366
|
+
<a name='L301'></a><a href='#L301'>301</a>
|
|
367
|
+
<a name='L302'></a><a href='#L302'>302</a>
|
|
368
|
+
<a name='L303'></a><a href='#L303'>303</a>
|
|
369
|
+
<a name='L304'></a><a href='#L304'>304</a>
|
|
370
|
+
<a name='L305'></a><a href='#L305'>305</a>
|
|
371
|
+
<a name='L306'></a><a href='#L306'>306</a>
|
|
372
|
+
<a name='L307'></a><a href='#L307'>307</a>
|
|
373
|
+
<a name='L308'></a><a href='#L308'>308</a>
|
|
374
|
+
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
|
+
<a name='L310'></a><a href='#L310'>310</a>
|
|
376
|
+
<a name='L311'></a><a href='#L311'>311</a>
|
|
377
|
+
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
+
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
+
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
+
<a name='L315'></a><a href='#L315'>315</a>
|
|
381
|
+
<a name='L316'></a><a href='#L316'>316</a>
|
|
382
|
+
<a name='L317'></a><a href='#L317'>317</a>
|
|
383
|
+
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
|
+
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
|
+
<a name='L320'></a><a href='#L320'>320</a>
|
|
386
|
+
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
|
+
<a name='L322'></a><a href='#L322'>322</a>
|
|
388
|
+
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
|
+
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
|
+
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
+
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
+
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
+
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
+
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
+
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
+
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
+
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
+
<a name='L333'></a><a href='#L333'>333</a>
|
|
399
|
+
<a name='L334'></a><a href='#L334'>334</a>
|
|
400
|
+
<a name='L335'></a><a href='#L335'>335</a>
|
|
401
|
+
<a name='L336'></a><a href='#L336'>336</a>
|
|
402
|
+
<a name='L337'></a><a href='#L337'>337</a>
|
|
403
|
+
<a name='L338'></a><a href='#L338'>338</a>
|
|
404
|
+
<a name='L339'></a><a href='#L339'>339</a>
|
|
405
|
+
<a name='L340'></a><a href='#L340'>340</a>
|
|
406
|
+
<a name='L341'></a><a href='#L341'>341</a>
|
|
407
|
+
<a name='L342'></a><a href='#L342'>342</a>
|
|
408
|
+
<a name='L343'></a><a href='#L343'>343</a>
|
|
409
|
+
<a name='L344'></a><a href='#L344'>344</a>
|
|
410
|
+
<a name='L345'></a><a href='#L345'>345</a>
|
|
411
|
+
<a name='L346'></a><a href='#L346'>346</a>
|
|
412
|
+
<a name='L347'></a><a href='#L347'>347</a>
|
|
413
|
+
<a name='L348'></a><a href='#L348'>348</a>
|
|
414
|
+
<a name='L349'></a><a href='#L349'>349</a>
|
|
415
|
+
<a name='L350'></a><a href='#L350'>350</a>
|
|
416
|
+
<a name='L351'></a><a href='#L351'>351</a>
|
|
417
|
+
<a name='L352'></a><a href='#L352'>352</a>
|
|
418
|
+
<a name='L353'></a><a href='#L353'>353</a>
|
|
419
|
+
<a name='L354'></a><a href='#L354'>354</a>
|
|
420
|
+
<a name='L355'></a><a href='#L355'>355</a>
|
|
421
|
+
<a name='L356'></a><a href='#L356'>356</a>
|
|
422
|
+
<a name='L357'></a><a href='#L357'>357</a>
|
|
423
|
+
<a name='L358'></a><a href='#L358'>358</a>
|
|
424
|
+
<a name='L359'></a><a href='#L359'>359</a>
|
|
425
|
+
<a name='L360'></a><a href='#L360'>360</a>
|
|
426
|
+
<a name='L361'></a><a href='#L361'>361</a>
|
|
427
|
+
<a name='L362'></a><a href='#L362'>362</a>
|
|
428
|
+
<a name='L363'></a><a href='#L363'>363</a>
|
|
429
|
+
<a name='L364'></a><a href='#L364'>364</a>
|
|
430
|
+
<a name='L365'></a><a href='#L365'>365</a>
|
|
431
|
+
<a name='L366'></a><a href='#L366'>366</a>
|
|
432
|
+
<a name='L367'></a><a href='#L367'>367</a>
|
|
433
|
+
<a name='L368'></a><a href='#L368'>368</a>
|
|
434
|
+
<a name='L369'></a><a href='#L369'>369</a>
|
|
435
|
+
<a name='L370'></a><a href='#L370'>370</a>
|
|
436
|
+
<a name='L371'></a><a href='#L371'>371</a>
|
|
437
|
+
<a name='L372'></a><a href='#L372'>372</a>
|
|
438
|
+
<a name='L373'></a><a href='#L373'>373</a>
|
|
439
|
+
<a name='L374'></a><a href='#L374'>374</a>
|
|
440
|
+
<a name='L375'></a><a href='#L375'>375</a>
|
|
441
|
+
<a name='L376'></a><a href='#L376'>376</a>
|
|
442
|
+
<a name='L377'></a><a href='#L377'>377</a>
|
|
443
|
+
<a name='L378'></a><a href='#L378'>378</a>
|
|
444
|
+
<a name='L379'></a><a href='#L379'>379</a>
|
|
445
|
+
<a name='L380'></a><a href='#L380'>380</a>
|
|
446
|
+
<a name='L381'></a><a href='#L381'>381</a>
|
|
447
|
+
<a name='L382'></a><a href='#L382'>382</a>
|
|
448
|
+
<a name='L383'></a><a href='#L383'>383</a>
|
|
449
|
+
<a name='L384'></a><a href='#L384'>384</a>
|
|
450
|
+
<a name='L385'></a><a href='#L385'>385</a>
|
|
451
|
+
<a name='L386'></a><a href='#L386'>386</a>
|
|
452
|
+
<a name='L387'></a><a href='#L387'>387</a>
|
|
453
|
+
<a name='L388'></a><a href='#L388'>388</a>
|
|
454
|
+
<a name='L389'></a><a href='#L389'>389</a>
|
|
455
|
+
<a name='L390'></a><a href='#L390'>390</a>
|
|
456
|
+
<a name='L391'></a><a href='#L391'>391</a>
|
|
457
|
+
<a name='L392'></a><a href='#L392'>392</a>
|
|
458
|
+
<a name='L393'></a><a href='#L393'>393</a>
|
|
459
|
+
<a name='L394'></a><a href='#L394'>394</a>
|
|
460
|
+
<a name='L395'></a><a href='#L395'>395</a>
|
|
461
|
+
<a name='L396'></a><a href='#L396'>396</a>
|
|
462
|
+
<a name='L397'></a><a href='#L397'>397</a>
|
|
463
|
+
<a name='L398'></a><a href='#L398'>398</a>
|
|
464
|
+
<a name='L399'></a><a href='#L399'>399</a>
|
|
465
|
+
<a name='L400'></a><a href='#L400'>400</a>
|
|
466
|
+
<a name='L401'></a><a href='#L401'>401</a>
|
|
467
|
+
<a name='L402'></a><a href='#L402'>402</a>
|
|
468
|
+
<a name='L403'></a><a href='#L403'>403</a>
|
|
469
|
+
<a name='L404'></a><a href='#L404'>404</a>
|
|
470
|
+
<a name='L405'></a><a href='#L405'>405</a>
|
|
471
|
+
<a name='L406'></a><a href='#L406'>406</a>
|
|
472
|
+
<a name='L407'></a><a href='#L407'>407</a>
|
|
473
|
+
<a name='L408'></a><a href='#L408'>408</a>
|
|
474
|
+
<a name='L409'></a><a href='#L409'>409</a>
|
|
475
|
+
<a name='L410'></a><a href='#L410'>410</a>
|
|
476
|
+
<a name='L411'></a><a href='#L411'>411</a>
|
|
477
|
+
<a name='L412'></a><a href='#L412'>412</a>
|
|
478
|
+
<a name='L413'></a><a href='#L413'>413</a>
|
|
479
|
+
<a name='L414'></a><a href='#L414'>414</a>
|
|
480
|
+
<a name='L415'></a><a href='#L415'>415</a>
|
|
481
|
+
<a name='L416'></a><a href='#L416'>416</a>
|
|
482
|
+
<a name='L417'></a><a href='#L417'>417</a>
|
|
483
|
+
<a name='L418'></a><a href='#L418'>418</a>
|
|
484
|
+
<a name='L419'></a><a href='#L419'>419</a>
|
|
485
|
+
<a name='L420'></a><a href='#L420'>420</a>
|
|
486
|
+
<a name='L421'></a><a href='#L421'>421</a>
|
|
487
|
+
<a name='L422'></a><a href='#L422'>422</a>
|
|
488
|
+
<a name='L423'></a><a href='#L423'>423</a>
|
|
489
|
+
<a name='L424'></a><a href='#L424'>424</a>
|
|
490
|
+
<a name='L425'></a><a href='#L425'>425</a>
|
|
491
|
+
<a name='L426'></a><a href='#L426'>426</a>
|
|
492
|
+
<a name='L427'></a><a href='#L427'>427</a>
|
|
493
|
+
<a name='L428'></a><a href='#L428'>428</a>
|
|
494
|
+
<a name='L429'></a><a href='#L429'>429</a>
|
|
495
|
+
<a name='L430'></a><a href='#L430'>430</a>
|
|
496
|
+
<a name='L431'></a><a href='#L431'>431</a>
|
|
497
|
+
<a name='L432'></a><a href='#L432'>432</a>
|
|
498
|
+
<a name='L433'></a><a href='#L433'>433</a>
|
|
499
|
+
<a name='L434'></a><a href='#L434'>434</a>
|
|
500
|
+
<a name='L435'></a><a href='#L435'>435</a>
|
|
501
|
+
<a name='L436'></a><a href='#L436'>436</a>
|
|
502
|
+
<a name='L437'></a><a href='#L437'>437</a>
|
|
503
|
+
<a name='L438'></a><a href='#L438'>438</a>
|
|
504
|
+
<a name='L439'></a><a href='#L439'>439</a>
|
|
505
|
+
<a name='L440'></a><a href='#L440'>440</a>
|
|
506
|
+
<a name='L441'></a><a href='#L441'>441</a>
|
|
507
|
+
<a name='L442'></a><a href='#L442'>442</a>
|
|
508
|
+
<a name='L443'></a><a href='#L443'>443</a>
|
|
509
|
+
<a name='L444'></a><a href='#L444'>444</a>
|
|
510
|
+
<a name='L445'></a><a href='#L445'>445</a>
|
|
511
|
+
<a name='L446'></a><a href='#L446'>446</a>
|
|
512
|
+
<a name='L447'></a><a href='#L447'>447</a>
|
|
513
|
+
<a name='L448'></a><a href='#L448'>448</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
514
|
+
<span class="cline-any cline-neutral"> </span>
|
|
515
|
+
<span class="cline-any cline-neutral"> </span>
|
|
516
|
+
<span class="cline-any cline-neutral"> </span>
|
|
517
|
+
<span class="cline-any cline-neutral"> </span>
|
|
518
|
+
<span class="cline-any cline-neutral"> </span>
|
|
519
|
+
<span class="cline-any cline-neutral"> </span>
|
|
520
|
+
<span class="cline-any cline-neutral"> </span>
|
|
521
|
+
<span class="cline-any cline-neutral"> </span>
|
|
522
|
+
<span class="cline-any cline-neutral"> </span>
|
|
523
|
+
<span class="cline-any cline-neutral"> </span>
|
|
524
|
+
<span class="cline-any cline-neutral"> </span>
|
|
525
|
+
<span class="cline-any cline-neutral"> </span>
|
|
526
|
+
<span class="cline-any cline-neutral"> </span>
|
|
527
|
+
<span class="cline-any cline-yes">1575x</span>
|
|
528
|
+
<span class="cline-any cline-yes">4108x</span>
|
|
529
|
+
<span class="cline-any cline-yes">4108x</span>
|
|
530
|
+
<span class="cline-any cline-yes">989x</span>
|
|
531
|
+
<span class="cline-any cline-neutral"> </span>
|
|
532
|
+
<span class="cline-any cline-neutral"> </span>
|
|
533
|
+
<span class="cline-any cline-yes">3119x</span>
|
|
534
|
+
<span class="cline-any cline-neutral"> </span>
|
|
535
|
+
<span class="cline-any cline-yes">586x</span>
|
|
536
|
+
<span class="cline-any cline-neutral"> </span>
|
|
537
|
+
<span class="cline-any cline-neutral"> </span>
|
|
538
|
+
<span class="cline-any cline-neutral"> </span>
|
|
539
|
+
<span class="cline-any cline-neutral"> </span>
|
|
540
|
+
<span class="cline-any cline-neutral"> </span>
|
|
541
|
+
<span class="cline-any cline-neutral"> </span>
|
|
542
|
+
<span class="cline-any cline-neutral"> </span>
|
|
543
|
+
<span class="cline-any cline-neutral"> </span>
|
|
544
|
+
<span class="cline-any cline-neutral"> </span>
|
|
545
|
+
<span class="cline-any cline-neutral"> </span>
|
|
546
|
+
<span class="cline-any cline-neutral"> </span>
|
|
547
|
+
<span class="cline-any cline-neutral"> </span>
|
|
548
|
+
<span class="cline-any cline-neutral"> </span>
|
|
549
|
+
<span class="cline-any cline-yes">1x</span>
|
|
550
|
+
<span class="cline-any cline-yes">175x</span>
|
|
551
|
+
<span class="cline-any cline-neutral"> </span>
|
|
552
|
+
<span class="cline-any cline-neutral"> </span>
|
|
553
|
+
<span class="cline-any cline-yes">175x</span>
|
|
554
|
+
<span class="cline-any cline-neutral"> </span>
|
|
555
|
+
<span class="cline-any cline-yes">320x</span>
|
|
556
|
+
<span class="cline-any cline-no"> </span>
|
|
557
|
+
<span class="cline-any cline-neutral"> </span>
|
|
558
|
+
<span class="cline-any cline-neutral"> </span>
|
|
559
|
+
<span class="cline-any cline-neutral"> </span>
|
|
560
|
+
<span class="cline-any cline-neutral"> </span>
|
|
561
|
+
<span class="cline-any cline-yes">175x</span>
|
|
562
|
+
<span class="cline-any cline-neutral"> </span>
|
|
563
|
+
<span class="cline-any cline-neutral"> </span>
|
|
564
|
+
<span class="cline-any cline-yes">175x</span>
|
|
565
|
+
<span class="cline-any cline-yes">1575x</span>
|
|
566
|
+
<span class="cline-any cline-neutral"> </span>
|
|
567
|
+
<span class="cline-any cline-yes">1575x</span>
|
|
568
|
+
<span class="cline-any cline-yes">814x</span>
|
|
569
|
+
<span class="cline-any cline-neutral"> </span>
|
|
570
|
+
<span class="cline-any cline-neutral"> </span>
|
|
571
|
+
<span class="cline-any cline-neutral"> </span>
|
|
572
|
+
<span class="cline-any cline-neutral"> </span>
|
|
573
|
+
<span class="cline-any cline-neutral"> </span>
|
|
574
|
+
<span class="cline-any cline-yes">1x</span>
|
|
575
|
+
<span class="cline-any cline-neutral"> </span>
|
|
576
|
+
<span class="cline-any cline-neutral"> </span>
|
|
577
|
+
<span class="cline-any cline-yes">13539x</span>
|
|
578
|
+
<span class="cline-any cline-yes">1899x</span>
|
|
579
|
+
<span class="cline-any cline-neutral"> </span>
|
|
580
|
+
<span class="cline-any cline-neutral"> </span>
|
|
581
|
+
<span class="cline-any cline-yes">13539x</span>
|
|
582
|
+
<span class="cline-any cline-neutral"> </span>
|
|
583
|
+
<span class="cline-any cline-neutral"> </span>
|
|
584
|
+
<span class="cline-any cline-yes">13539x</span>
|
|
585
|
+
<span class="cline-any cline-yes">3760x</span>
|
|
586
|
+
<span class="cline-any cline-neutral"> </span>
|
|
587
|
+
<span class="cline-any cline-neutral"> </span>
|
|
588
|
+
<span class="cline-any cline-yes">13539x</span>
|
|
589
|
+
<span class="cline-any cline-neutral"> </span>
|
|
590
|
+
<span class="cline-any cline-neutral"> </span>
|
|
591
|
+
<span class="cline-any cline-yes">13539x</span>
|
|
592
|
+
<span class="cline-any cline-yes">13539x</span>
|
|
593
|
+
<span class="cline-any cline-neutral"> </span>
|
|
594
|
+
<span class="cline-any cline-neutral"> </span>
|
|
595
|
+
<span class="cline-any cline-yes">19602x</span>
|
|
596
|
+
<span class="cline-any cline-neutral"> </span>
|
|
597
|
+
<span class="cline-any cline-neutral"> </span>
|
|
598
|
+
<span class="cline-any cline-neutral"> </span>
|
|
599
|
+
<span class="cline-any cline-neutral"> </span>
|
|
600
|
+
<span class="cline-any cline-yes">6063x</span>
|
|
601
|
+
<span class="cline-any cline-neutral"> </span>
|
|
602
|
+
<span class="cline-any cline-yes">1x</span>
|
|
603
|
+
<span class="cline-any cline-yes">1888x</span>
|
|
604
|
+
<span class="cline-any cline-neutral"> </span>
|
|
605
|
+
<span class="cline-any cline-neutral"> </span>
|
|
606
|
+
<span class="cline-any cline-neutral"> </span>
|
|
607
|
+
<span class="cline-any cline-neutral"> </span>
|
|
608
|
+
<span class="cline-any cline-neutral"> </span>
|
|
609
|
+
<span class="cline-any cline-neutral"> </span>
|
|
610
|
+
<span class="cline-any cline-neutral"> </span>
|
|
611
|
+
<span class="cline-any cline-neutral"> </span>
|
|
612
|
+
<span class="cline-any cline-neutral"> </span>
|
|
613
|
+
<span class="cline-any cline-neutral"> </span>
|
|
614
|
+
<span class="cline-any cline-neutral"> </span>
|
|
615
|
+
<span class="cline-any cline-yes">1x</span>
|
|
616
|
+
<span class="cline-any cline-neutral"> </span>
|
|
617
|
+
<span class="cline-any cline-neutral"> </span>
|
|
618
|
+
<span class="cline-any cline-neutral"> </span>
|
|
619
|
+
<span class="cline-any cline-neutral"> </span>
|
|
620
|
+
<span class="cline-any cline-no"> </span>
|
|
621
|
+
<span class="cline-any cline-no"> </span>
|
|
622
|
+
<span class="cline-any cline-no"> </span>
|
|
623
|
+
<span class="cline-any cline-neutral"> </span>
|
|
624
|
+
<span class="cline-any cline-neutral"> </span>
|
|
625
|
+
<span class="cline-any cline-yes">1x</span>
|
|
626
|
+
<span class="cline-any cline-no"> </span>
|
|
627
|
+
<span class="cline-any cline-no"> </span>
|
|
628
|
+
<span class="cline-any cline-neutral"> </span>
|
|
629
|
+
<span class="cline-any cline-neutral"> </span>
|
|
630
|
+
<span class="cline-any cline-yes">1x</span>
|
|
631
|
+
<span class="cline-any cline-no"> </span>
|
|
632
|
+
<span class="cline-any cline-no"> </span>
|
|
633
|
+
<span class="cline-any cline-neutral"> </span>
|
|
634
|
+
<span class="cline-any cline-neutral"> </span>
|
|
635
|
+
<span class="cline-any cline-no"> </span>
|
|
636
|
+
<span class="cline-any cline-no"> </span>
|
|
637
|
+
<span class="cline-any cline-neutral"> </span>
|
|
638
|
+
<span class="cline-any cline-neutral"> </span>
|
|
639
|
+
<span class="cline-any cline-no"> </span>
|
|
640
|
+
<span class="cline-any cline-no"> </span>
|
|
641
|
+
<span class="cline-any cline-no"> </span>
|
|
642
|
+
<span class="cline-any cline-neutral"> </span>
|
|
643
|
+
<span class="cline-any cline-neutral"> </span>
|
|
644
|
+
<span class="cline-any cline-neutral"> </span>
|
|
645
|
+
<span class="cline-any cline-no"> </span>
|
|
646
|
+
<span class="cline-any cline-no"> </span>
|
|
647
|
+
<span class="cline-any cline-no"> </span>
|
|
648
|
+
<span class="cline-any cline-neutral"> </span>
|
|
649
|
+
<span class="cline-any cline-no"> </span>
|
|
650
|
+
<span class="cline-any cline-no"> </span>
|
|
651
|
+
<span class="cline-any cline-no"> </span>
|
|
652
|
+
<span class="cline-any cline-no"> </span>
|
|
653
|
+
<span class="cline-any cline-no"> </span>
|
|
654
|
+
<span class="cline-any cline-neutral"> </span>
|
|
655
|
+
<span class="cline-any cline-neutral"> </span>
|
|
656
|
+
<span class="cline-any cline-no"> </span>
|
|
657
|
+
<span class="cline-any cline-no"> </span>
|
|
658
|
+
<span class="cline-any cline-no"> </span>
|
|
659
|
+
<span class="cline-any cline-no"> </span>
|
|
660
|
+
<span class="cline-any cline-neutral"> </span>
|
|
661
|
+
<span class="cline-any cline-neutral"> </span>
|
|
662
|
+
<span class="cline-any cline-no"> </span>
|
|
663
|
+
<span class="cline-any cline-no"> </span>
|
|
664
|
+
<span class="cline-any cline-neutral"> </span>
|
|
665
|
+
<span class="cline-any cline-neutral"> </span>
|
|
666
|
+
<span class="cline-any cline-neutral"> </span>
|
|
667
|
+
<span class="cline-any cline-neutral"> </span>
|
|
668
|
+
<span class="cline-any cline-neutral"> </span>
|
|
669
|
+
<span class="cline-any cline-neutral"> </span>
|
|
670
|
+
<span class="cline-any cline-neutral"> </span>
|
|
671
|
+
<span class="cline-any cline-neutral"> </span>
|
|
672
|
+
<span class="cline-any cline-no"> </span>
|
|
673
|
+
<span class="cline-any cline-neutral"> </span>
|
|
674
|
+
<span class="cline-any cline-neutral"> </span>
|
|
675
|
+
<span class="cline-any cline-neutral"> </span>
|
|
676
|
+
<span class="cline-any cline-yes">1x</span>
|
|
677
|
+
<span class="cline-any cline-neutral"> </span>
|
|
678
|
+
<span class="cline-any cline-neutral"> </span>
|
|
679
|
+
<span class="cline-any cline-neutral"> </span>
|
|
680
|
+
<span class="cline-any cline-neutral"> </span>
|
|
681
|
+
<span class="cline-any cline-neutral"> </span>
|
|
682
|
+
<span class="cline-any cline-neutral"> </span>
|
|
683
|
+
<span class="cline-any cline-neutral"> </span>
|
|
684
|
+
<span class="cline-any cline-neutral"> </span>
|
|
685
|
+
<span class="cline-any cline-neutral"> </span>
|
|
686
|
+
<span class="cline-any cline-neutral"> </span>
|
|
687
|
+
<span class="cline-any cline-neutral"> </span>
|
|
688
|
+
<span class="cline-any cline-neutral"> </span>
|
|
689
|
+
<span class="cline-any cline-neutral"> </span>
|
|
690
|
+
<span class="cline-any cline-neutral"> </span>
|
|
691
|
+
<span class="cline-any cline-neutral"> </span>
|
|
692
|
+
<span class="cline-any cline-neutral"> </span>
|
|
693
|
+
<span class="cline-any cline-neutral"> </span>
|
|
694
|
+
<span class="cline-any cline-neutral"> </span>
|
|
695
|
+
<span class="cline-any cline-neutral"> </span>
|
|
696
|
+
<span class="cline-any cline-yes">1x</span>
|
|
697
|
+
<span class="cline-any cline-yes">19602x</span>
|
|
698
|
+
<span class="cline-any cline-yes">6063x</span>
|
|
699
|
+
<span class="cline-any cline-neutral"> </span>
|
|
700
|
+
<span class="cline-any cline-neutral"> </span>
|
|
701
|
+
<span class="cline-any cline-neutral"> </span>
|
|
702
|
+
<span class="cline-any cline-yes">13539x</span>
|
|
703
|
+
<span class="cline-any cline-yes">13539x</span>
|
|
704
|
+
<span class="cline-any cline-yes">13539x</span>
|
|
705
|
+
<span class="cline-any cline-yes">5x</span>
|
|
706
|
+
<span class="cline-any cline-neutral"> </span>
|
|
707
|
+
<span class="cline-any cline-neutral"> </span>
|
|
708
|
+
<span class="cline-any cline-neutral"> </span>
|
|
709
|
+
<span class="cline-any cline-yes">13539x</span>
|
|
710
|
+
<span class="cline-any cline-neutral"> </span>
|
|
711
|
+
<span class="cline-any cline-neutral"> </span>
|
|
712
|
+
<span class="cline-any cline-yes">13539x</span>
|
|
713
|
+
<span class="cline-any cline-no"> </span>
|
|
714
|
+
<span class="cline-any cline-yes">13539x</span>
|
|
715
|
+
<span class="cline-any cline-no"> </span>
|
|
716
|
+
<span class="cline-any cline-neutral"> </span>
|
|
717
|
+
<span class="cline-any cline-neutral"> </span>
|
|
718
|
+
<span class="cline-any cline-yes">13539x</span>
|
|
719
|
+
<span class="cline-any cline-neutral"> </span>
|
|
720
|
+
<span class="cline-any cline-neutral"> </span>
|
|
721
|
+
<span class="cline-any cline-yes">13539x</span>
|
|
722
|
+
<span class="cline-any cline-neutral"> </span>
|
|
723
|
+
<span class="cline-any cline-neutral"> </span>
|
|
724
|
+
<span class="cline-any cline-neutral"> </span>
|
|
725
|
+
<span class="cline-any cline-neutral"> </span>
|
|
726
|
+
<span class="cline-any cline-neutral"> </span>
|
|
727
|
+
<span class="cline-any cline-neutral"> </span>
|
|
728
|
+
<span class="cline-any cline-neutral"> </span>
|
|
729
|
+
<span class="cline-any cline-neutral"> </span>
|
|
730
|
+
<span class="cline-any cline-neutral"> </span>
|
|
731
|
+
<span class="cline-any cline-neutral"> </span>
|
|
732
|
+
<span class="cline-any cline-yes">1x</span>
|
|
733
|
+
<span class="cline-any cline-no"> </span>
|
|
734
|
+
<span class="cline-any cline-no"> </span>
|
|
735
|
+
<span class="cline-any cline-neutral"> </span>
|
|
736
|
+
<span class="cline-any cline-neutral"> </span>
|
|
737
|
+
<span class="cline-any cline-no"> </span>
|
|
738
|
+
<span class="cline-any cline-neutral"> </span>
|
|
739
|
+
<span class="cline-any cline-no"> </span>
|
|
740
|
+
<span class="cline-any cline-neutral"> </span>
|
|
741
|
+
<span class="cline-any cline-neutral"> </span>
|
|
742
|
+
<span class="cline-any cline-no"> </span>
|
|
743
|
+
<span class="cline-any cline-neutral"> </span>
|
|
744
|
+
<span class="cline-any cline-no"> </span>
|
|
745
|
+
<span class="cline-any cline-no"> </span>
|
|
746
|
+
<span class="cline-any cline-neutral"> </span>
|
|
747
|
+
<span class="cline-any cline-neutral"> </span>
|
|
748
|
+
<span class="cline-any cline-neutral"> </span>
|
|
749
|
+
<span class="cline-any cline-no"> </span>
|
|
750
|
+
<span class="cline-any cline-neutral"> </span>
|
|
751
|
+
<span class="cline-any cline-no"> </span>
|
|
752
|
+
<span class="cline-any cline-no"> </span>
|
|
753
|
+
<span class="cline-any cline-no"> </span>
|
|
754
|
+
<span class="cline-any cline-neutral"> </span>
|
|
755
|
+
<span class="cline-any cline-no"> </span>
|
|
756
|
+
<span class="cline-any cline-no"> </span>
|
|
757
|
+
<span class="cline-any cline-neutral"> </span>
|
|
758
|
+
<span class="cline-any cline-neutral"> </span>
|
|
759
|
+
<span class="cline-any cline-no"> </span>
|
|
760
|
+
<span class="cline-any cline-neutral"> </span>
|
|
761
|
+
<span class="cline-any cline-no"> </span>
|
|
762
|
+
<span class="cline-any cline-neutral"> </span>
|
|
763
|
+
<span class="cline-any cline-no"> </span>
|
|
764
|
+
<span class="cline-any cline-neutral"> </span>
|
|
765
|
+
<span class="cline-any cline-neutral"> </span>
|
|
766
|
+
<span class="cline-any cline-yes">1x</span>
|
|
767
|
+
<span class="cline-any cline-no"> </span>
|
|
768
|
+
<span class="cline-any cline-no"> </span>
|
|
769
|
+
<span class="cline-any cline-neutral"> </span>
|
|
770
|
+
<span class="cline-any cline-neutral"> </span>
|
|
771
|
+
<span class="cline-any cline-no"> </span>
|
|
772
|
+
<span class="cline-any cline-neutral"> </span>
|
|
773
|
+
<span class="cline-any cline-no"> </span>
|
|
774
|
+
<span class="cline-any cline-neutral"> </span>
|
|
775
|
+
<span class="cline-any cline-neutral"> </span>
|
|
776
|
+
<span class="cline-any cline-no"> </span>
|
|
777
|
+
<span class="cline-any cline-no"> </span>
|
|
778
|
+
<span class="cline-any cline-no"> </span>
|
|
779
|
+
<span class="cline-any cline-neutral"> </span>
|
|
780
|
+
<span class="cline-any cline-neutral"> </span>
|
|
781
|
+
<span class="cline-any cline-neutral"> </span>
|
|
782
|
+
<span class="cline-any cline-no"> </span>
|
|
783
|
+
<span class="cline-any cline-neutral"> </span>
|
|
784
|
+
<span class="cline-any cline-no"> </span>
|
|
785
|
+
<span class="cline-any cline-no"> </span>
|
|
786
|
+
<span class="cline-any cline-no"> </span>
|
|
787
|
+
<span class="cline-any cline-neutral"> </span>
|
|
788
|
+
<span class="cline-any cline-no"> </span>
|
|
789
|
+
<span class="cline-any cline-no"> </span>
|
|
790
|
+
<span class="cline-any cline-neutral"> </span>
|
|
791
|
+
<span class="cline-any cline-neutral"> </span>
|
|
792
|
+
<span class="cline-any cline-no"> </span>
|
|
793
|
+
<span class="cline-any cline-neutral"> </span>
|
|
794
|
+
<span class="cline-any cline-no"> </span>
|
|
795
|
+
<span class="cline-any cline-neutral"> </span>
|
|
796
|
+
<span class="cline-any cline-no"> </span>
|
|
797
|
+
<span class="cline-any cline-no"> </span>
|
|
798
|
+
<span class="cline-any cline-neutral"> </span>
|
|
799
|
+
<span class="cline-any cline-neutral"> </span>
|
|
800
|
+
<span class="cline-any cline-neutral"> </span>
|
|
801
|
+
<span class="cline-any cline-neutral"> </span>
|
|
802
|
+
<span class="cline-any cline-neutral"> </span>
|
|
803
|
+
<span class="cline-any cline-yes">1x</span>
|
|
804
|
+
<span class="cline-any cline-neutral"> </span>
|
|
805
|
+
<span class="cline-any cline-neutral"> </span>
|
|
806
|
+
<span class="cline-any cline-neutral"> </span>
|
|
807
|
+
<span class="cline-any cline-neutral"> </span>
|
|
808
|
+
<span class="cline-any cline-neutral"> </span>
|
|
809
|
+
<span class="cline-any cline-neutral"> </span>
|
|
810
|
+
<span class="cline-any cline-neutral"> </span>
|
|
811
|
+
<span class="cline-any cline-neutral"> </span>
|
|
812
|
+
<span class="cline-any cline-neutral"> </span>
|
|
813
|
+
<span class="cline-any cline-neutral"> </span>
|
|
814
|
+
<span class="cline-any cline-neutral"> </span>
|
|
815
|
+
<span class="cline-any cline-yes">117x</span>
|
|
816
|
+
<span class="cline-any cline-yes">96x</span>
|
|
817
|
+
<span class="cline-any cline-yes">96x</span>
|
|
818
|
+
<span class="cline-any cline-yes">96x</span>
|
|
819
|
+
<span class="cline-any cline-yes">96x</span>
|
|
820
|
+
<span class="cline-any cline-neutral"> </span>
|
|
821
|
+
<span class="cline-any cline-neutral"> </span>
|
|
822
|
+
<span class="cline-any cline-neutral"> </span>
|
|
823
|
+
<span class="cline-any cline-neutral"> </span>
|
|
824
|
+
<span class="cline-any cline-neutral"> </span>
|
|
825
|
+
<span class="cline-any cline-yes">1x</span>
|
|
826
|
+
<span class="cline-any cline-yes">1869x</span>
|
|
827
|
+
<span class="cline-any cline-neutral"> </span>
|
|
828
|
+
<span class="cline-any cline-yes">1x</span>
|
|
829
|
+
<span class="cline-any cline-neutral"> </span>
|
|
830
|
+
<span class="cline-any cline-yes">1x</span>
|
|
831
|
+
<span class="cline-any cline-yes">1x</span>
|
|
832
|
+
<span class="cline-any cline-yes">1x</span>
|
|
833
|
+
<span class="cline-any cline-neutral"> </span>
|
|
834
|
+
<span class="cline-any cline-neutral"> </span>
|
|
835
|
+
<span class="cline-any cline-neutral"> </span>
|
|
836
|
+
<span class="cline-any cline-neutral"> </span>
|
|
837
|
+
<span class="cline-any cline-neutral"> </span>
|
|
838
|
+
<span class="cline-any cline-yes">1x</span>
|
|
839
|
+
<span class="cline-any cline-neutral"> </span>
|
|
840
|
+
<span class="cline-any cline-neutral"> </span>
|
|
841
|
+
<span class="cline-any cline-yes">75x</span>
|
|
842
|
+
<span class="cline-any cline-yes">75x</span>
|
|
843
|
+
<span class="cline-any cline-yes">75x</span>
|
|
844
|
+
<span class="cline-any cline-yes">75x</span>
|
|
845
|
+
<span class="cline-any cline-yes">75x</span>
|
|
846
|
+
<span class="cline-any cline-neutral"> </span>
|
|
847
|
+
<span class="cline-any cline-neutral"> </span>
|
|
848
|
+
<span class="cline-any cline-neutral"> </span>
|
|
849
|
+
<span class="cline-any cline-neutral"> </span>
|
|
850
|
+
<span class="cline-any cline-neutral"> </span>
|
|
851
|
+
<span class="cline-any cline-yes">1x</span>
|
|
852
|
+
<span class="cline-any cline-neutral"> </span>
|
|
853
|
+
<span class="cline-any cline-neutral"> </span>
|
|
854
|
+
<span class="cline-any cline-neutral"> </span>
|
|
855
|
+
<span class="cline-any cline-neutral"> </span>
|
|
856
|
+
<span class="cline-any cline-neutral"> </span>
|
|
857
|
+
<span class="cline-any cline-neutral"> </span>
|
|
858
|
+
<span class="cline-any cline-neutral"> </span>
|
|
859
|
+
<span class="cline-any cline-neutral"> </span>
|
|
860
|
+
<span class="cline-any cline-neutral"> </span>
|
|
861
|
+
<span class="cline-any cline-neutral"> </span>
|
|
862
|
+
<span class="cline-any cline-neutral"> </span>
|
|
863
|
+
<span class="cline-any cline-neutral"> </span>
|
|
864
|
+
<span class="cline-any cline-neutral"> </span>
|
|
865
|
+
<span class="cline-any cline-neutral"> </span>
|
|
866
|
+
<span class="cline-any cline-no"> </span>
|
|
867
|
+
<span class="cline-any cline-no"> </span>
|
|
868
|
+
<span class="cline-any cline-no"> </span>
|
|
869
|
+
<span class="cline-any cline-no"> </span>
|
|
870
|
+
<span class="cline-any cline-no"> </span>
|
|
871
|
+
<span class="cline-any cline-no"> </span>
|
|
872
|
+
<span class="cline-any cline-no"> </span>
|
|
873
|
+
<span class="cline-any cline-no"> </span>
|
|
874
|
+
<span class="cline-any cline-no"> </span>
|
|
875
|
+
<span class="cline-any cline-no"> </span>
|
|
876
|
+
<span class="cline-any cline-neutral"> </span>
|
|
877
|
+
<span class="cline-any cline-neutral"> </span>
|
|
878
|
+
<span class="cline-any cline-neutral"> </span>
|
|
879
|
+
<span class="cline-any cline-neutral"> </span>
|
|
880
|
+
<span class="cline-any cline-neutral"> </span>
|
|
881
|
+
<span class="cline-any cline-neutral"> </span>
|
|
882
|
+
<span class="cline-any cline-yes">1x</span>
|
|
883
|
+
<span class="cline-any cline-no"> </span>
|
|
884
|
+
<span class="cline-any cline-no"> </span>
|
|
885
|
+
<span class="cline-any cline-no"> </span>
|
|
886
|
+
<span class="cline-any cline-neutral"> </span>
|
|
887
|
+
<span class="cline-any cline-no"> </span>
|
|
888
|
+
<span class="cline-any cline-no"> </span>
|
|
889
|
+
<span class="cline-any cline-neutral"> </span>
|
|
890
|
+
<span class="cline-any cline-no"> </span>
|
|
891
|
+
<span class="cline-any cline-no"> </span>
|
|
892
|
+
<span class="cline-any cline-neutral"> </span>
|
|
893
|
+
<span class="cline-any cline-no"> </span>
|
|
894
|
+
<span class="cline-any cline-no"> </span>
|
|
895
|
+
<span class="cline-any cline-neutral"> </span>
|
|
896
|
+
<span class="cline-any cline-no"> </span>
|
|
897
|
+
<span class="cline-any cline-no"> </span>
|
|
898
|
+
<span class="cline-any cline-no"> </span>
|
|
899
|
+
<span class="cline-any cline-neutral"> </span>
|
|
900
|
+
<span class="cline-any cline-no"> </span>
|
|
901
|
+
<span class="cline-any cline-neutral"> </span>
|
|
902
|
+
<span class="cline-any cline-no"> </span>
|
|
903
|
+
<span class="cline-any cline-neutral"> </span>
|
|
904
|
+
<span class="cline-any cline-yes">1x</span>
|
|
905
|
+
<span class="cline-any cline-neutral"> </span>
|
|
906
|
+
<span class="cline-any cline-yes">1x</span>
|
|
907
|
+
<span class="cline-any cline-neutral"> </span>
|
|
908
|
+
<span class="cline-any cline-neutral"> </span>
|
|
909
|
+
<span class="cline-any cline-neutral"> </span>
|
|
910
|
+
<span class="cline-any cline-neutral"> </span>
|
|
911
|
+
<span class="cline-any cline-neutral"> </span>
|
|
912
|
+
<span class="cline-any cline-neutral"> </span>
|
|
913
|
+
<span class="cline-any cline-yes">1x</span>
|
|
914
|
+
<span class="cline-any cline-neutral"> </span>
|
|
915
|
+
<span class="cline-any cline-no"> </span>
|
|
916
|
+
<span class="cline-any cline-neutral"> </span>
|
|
917
|
+
<span class="cline-any cline-no"> </span>
|
|
918
|
+
<span class="cline-any cline-no"> </span>
|
|
919
|
+
<span class="cline-any cline-no"> </span>
|
|
920
|
+
<span class="cline-any cline-neutral"> </span>
|
|
921
|
+
<span class="cline-any cline-no"> </span>
|
|
922
|
+
<span class="cline-any cline-no"> </span>
|
|
923
|
+
<span class="cline-any cline-no"> </span>
|
|
924
|
+
<span class="cline-any cline-neutral"> </span>
|
|
925
|
+
<span class="cline-any cline-neutral"> </span>
|
|
926
|
+
<span class="cline-any cline-neutral"> </span>
|
|
927
|
+
<span class="cline-any cline-neutral"> </span>
|
|
928
|
+
<span class="cline-any cline-neutral"> </span>
|
|
929
|
+
<span class="cline-any cline-neutral"> </span>
|
|
930
|
+
<span class="cline-any cline-neutral"> </span>
|
|
931
|
+
<span class="cline-any cline-neutral"> </span>
|
|
932
|
+
<span class="cline-any cline-neutral"> </span>
|
|
933
|
+
<span class="cline-any cline-neutral"> </span>
|
|
934
|
+
<span class="cline-any cline-neutral"> </span>
|
|
935
|
+
<span class="cline-any cline-neutral"> </span>
|
|
936
|
+
<span class="cline-any cline-neutral"> </span>
|
|
937
|
+
<span class="cline-any cline-yes">1x</span>
|
|
938
|
+
<span class="cline-any cline-neutral"> </span>
|
|
939
|
+
<span class="cline-any cline-neutral"> </span>
|
|
940
|
+
<span class="cline-any cline-neutral"> </span>
|
|
941
|
+
<span class="cline-any cline-neutral"> </span>
|
|
942
|
+
<span class="cline-any cline-neutral"> </span>
|
|
943
|
+
<span class="cline-any cline-neutral"> </span>
|
|
944
|
+
<span class="cline-any cline-neutral"> </span>
|
|
945
|
+
<span class="cline-any cline-no"> </span>
|
|
946
|
+
<span class="cline-any cline-neutral"> </span>
|
|
947
|
+
<span class="cline-any cline-no"> </span>
|
|
948
|
+
<span class="cline-any cline-no"> </span>
|
|
949
|
+
<span class="cline-any cline-no"> </span>
|
|
950
|
+
<span class="cline-any cline-no"> </span>
|
|
951
|
+
<span class="cline-any cline-no"> </span>
|
|
952
|
+
<span class="cline-any cline-no"> </span>
|
|
953
|
+
<span class="cline-any cline-no"> </span>
|
|
954
|
+
<span class="cline-any cline-neutral"> </span>
|
|
955
|
+
<span class="cline-any cline-neutral"> </span>
|
|
956
|
+
<span class="cline-any cline-no"> </span>
|
|
957
|
+
<span class="cline-any cline-no"> </span>
|
|
958
|
+
<span class="cline-any cline-neutral"> </span>
|
|
959
|
+
<span class="cline-any cline-neutral"> </span>
|
|
960
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/**
|
|
961
|
+
* @module util
|
|
962
|
+
*/
|
|
963
|
+
|
|
964
|
+
import EtroObject from './object'
|
|
965
|
+
import { Movie } from './movie'
|
|
966
|
+
|
|
967
|
+
/**
|
|
968
|
+
* Gets the first matching property descriptor in the prototype chain, or
|
|
969
|
+
* undefined.
|
|
970
|
+
* @param obj
|
|
971
|
+
* @param name
|
|
972
|
+
*/
|
|
973
|
+
function getPropertyDescriptor (obj: unknown, name: string | number | symbol): PropertyDescriptor {
|
|
974
|
+
do {
|
|
975
|
+
const propDesc = Object.getOwnPropertyDescriptor(obj, name)
|
|
976
|
+
if (propDesc) {
|
|
977
|
+
return propDesc
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
obj = Object.getPrototypeOf(obj)
|
|
981
|
+
} while (obj)
|
|
982
|
+
return undefined
|
|
983
|
+
}
|
|
984
|
+
|
|
985
|
+
/**
|
|
986
|
+
* Merges `options` with `defaultOptions`, and then copies the properties with
|
|
987
|
+
* the keys in `defaultOptions` from the merged object to `destObj`.
|
|
988
|
+
*
|
|
989
|
+
* @deprecated Each option should be copied individually, and the default value
|
|
990
|
+
* should be set in the constructor. See
|
|
991
|
+
* {@link https://github.com/etro-js/etro/issues/131} for more info.
|
|
992
|
+
*
|
|
993
|
+
* @return
|
|
994
|
+
*/
|
|
995
|
+
// TODO: Make methods like getDefaultOptions private
|
|
996
|
+
export function applyOptions (options: object, destObj: EtroObject): void { // eslint-disable-line @typescript-eslint/ban-types
|
|
997
|
+
const defaultOptions = destObj.getDefaultOptions()
|
|
998
|
+
|
|
999
|
+
// Validate; make sure `keys` doesn't have any extraneous items
|
|
1000
|
+
for (const option in options) {
|
|
1001
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
1002
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!defaultOptions.hasOwnProperty(option)) {
|
|
1003
|
+
<span class="cstat-no" title="statement not covered" > throw new Error("Invalid option: '" + option + "'")</span>
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
// Merge options and defaultOptions
|
|
1008
|
+
options = { ...defaultOptions, ...options }
|
|
1009
|
+
|
|
1010
|
+
// Copy options
|
|
1011
|
+
for (const option in options) {
|
|
1012
|
+
const propDesc = getPropertyDescriptor(destObj, option)
|
|
1013
|
+
// Update the property as long as the property has not been set (unless if it has a setter)
|
|
1014
|
+
if (!propDesc || propDesc.set) {
|
|
1015
|
+
destObj[option] = options[option]
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
// This must be cleared at the start of each frame
|
|
1021
|
+
const valCache = new WeakMap()
|
|
1022
|
+
function cacheValue (element: EtroObject, path: string, value: unknown) {
|
|
1023
|
+
// Initiate movie cache
|
|
1024
|
+
if (!valCache.has(element.movie)) {
|
|
1025
|
+
valCache.set(element.movie, new WeakMap())
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
const movieCache = valCache.get(element.movie)
|
|
1029
|
+
|
|
1030
|
+
// Initiate element cache
|
|
1031
|
+
if (!movieCache.has(element)) {
|
|
1032
|
+
movieCache.set(element, {})
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
const elementCache = movieCache.get(element)
|
|
1036
|
+
|
|
1037
|
+
// Cache the value
|
|
1038
|
+
elementCache[path] = value
|
|
1039
|
+
return value
|
|
1040
|
+
}
|
|
1041
|
+
function hasCachedValue (element, path) {
|
|
1042
|
+
return valCache.has(element.movie) &&
|
|
1043
|
+
valCache.get(element.movie).has(element) &&
|
|
1044
|
+
path in valCache.get(element.movie).get(element)
|
|
1045
|
+
}
|
|
1046
|
+
function getCachedValue (element, path) {
|
|
1047
|
+
return valCache.get(element.movie).get(element)[path]
|
|
1048
|
+
}
|
|
1049
|
+
export function clearCachedValues (movie: Movie): void {
|
|
1050
|
+
valCache.delete(movie)
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
/**
|
|
1054
|
+
* A keyframe set.
|
|
1055
|
+
*
|
|
1056
|
+
* Usage:
|
|
1057
|
+
* ```js
|
|
1058
|
+
new etro.KeyFrame([time1, value1, interpolation1], [time2, value2])`
|
|
1059
|
+
* ```
|
|
1060
|
+
* TypeScript users need to specify the type of the value as a type parameter.
|
|
1061
|
+
*/
|
|
1062
|
+
export class KeyFrame<T> {
|
|
1063
|
+
value: unknown[][]
|
|
1064
|
+
/** Keys to interpolate, or all keys if undefined */
|
|
1065
|
+
interpolationKeys: string[]
|
|
1066
|
+
|
|
1067
|
+
<span class="fstat-no" title="function not covered" > constructor (<span class="cstat-no" title="statement not covered" >.</span>..value: T[][])</span> {
|
|
1068
|
+
<span class="cstat-no" title="statement not covered" > this.value = value</span>
|
|
1069
|
+
<span class="cstat-no" title="statement not covered" > this.interpolationKeys = []</span>
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
<span class="fstat-no" title="function not covered" > withKeys </span>(keys: string[]): KeyFrame<T> {
|
|
1073
|
+
<span class="cstat-no" title="statement not covered" > this.interpolationKeys = keys</span>
|
|
1074
|
+
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
<span class="fstat-no" title="function not covered" > evaluate </span>(time: number): T {
|
|
1078
|
+
<span class="cstat-no" title="statement not covered" > if (this.value.length === 0) {</span>
|
|
1079
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('Empty keyframe')</span>
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
<span class="cstat-no" title="statement not covered" > if (time === undefined) {</span>
|
|
1083
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('|time| is undefined or null')</span>
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
const firstTime: number = <span class="cstat-no" title="statement not covered" >this.value[0][0] as number</span>
|
|
1087
|
+
<span class="cstat-no" title="statement not covered" > if (time < firstTime) {</span>
|
|
1088
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('No keyframe point before |time|')</span>
|
|
1089
|
+
}
|
|
1090
|
+
|
|
1091
|
+
// I think reduce are slow to do per-frame (or more)?
|
|
1092
|
+
<span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i < this.value.length; i++) {</span>
|
|
1093
|
+
const startTime = <span class="cstat-no" title="statement not covered" >this.value[i][0] as number</span>
|
|
1094
|
+
const startValue = <span class="cstat-no" title="statement not covered" >this.value[i][1] as T</span>
|
|
1095
|
+
type interpolateType = <U = number | object>(startValue: U, endValue: U, percentProgress: number, interpolationKeys: string[]) => U // eslint-disable-line @typescript-eslint/ban-types
|
|
1096
|
+
const interpolate = <span class="cstat-no" title="statement not covered" >this.value[i].length === 3 ? this.value[i][2] as interpolateType : linearInterp</span>
|
|
1097
|
+
<span class="cstat-no" title="statement not covered" > if (i + 1 < this.value.length) {</span>
|
|
1098
|
+
const endTime = <span class="cstat-no" title="statement not covered" >this.value[i + 1][0] as number</span>
|
|
1099
|
+
const endValue = <span class="cstat-no" title="statement not covered" >this.value[i + 1][1] as T</span>
|
|
1100
|
+
<span class="cstat-no" title="statement not covered" > if (startTime <= time && time < endTime) {</span>
|
|
1101
|
+
// No need for endValue if it is flat interpolation
|
|
1102
|
+
// TODO: support custom interpolation for 'other' types?
|
|
1103
|
+
<span class="cstat-no" title="statement not covered" > if (!(typeof startValue === 'number' || typeof endValue === 'object')) {</span>
|
|
1104
|
+
<span class="cstat-no" title="statement not covered" > return startValue</span>
|
|
1105
|
+
} else <span class="cstat-no" title="statement not covered" >if (typeof startValue !== typeof endValue) {</span>
|
|
1106
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('Type mismatch in keyframe values')</span>
|
|
1107
|
+
} else {
|
|
1108
|
+
// Interpolate
|
|
1109
|
+
const percentProgress = <span class="cstat-no" title="statement not covered" >(time - startTime) / (endTime - startTime)</span>
|
|
1110
|
+
<span class="cstat-no" title="statement not covered" > return interpolate(</span>
|
|
1111
|
+
startValue as unknown as (number | object), // eslint-disable-line @typescript-eslint/ban-types
|
|
1112
|
+
endValue as unknown as (number | object), // eslint-disable-line @typescript-eslint/ban-types
|
|
1113
|
+
percentProgress, this.interpolationKeys
|
|
1114
|
+
) as unknown as T
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1117
|
+
} else {
|
|
1118
|
+
// Repeat last value forever
|
|
1119
|
+
<span class="cstat-no" title="statement not covered" > return startValue</span>
|
|
1120
|
+
}
|
|
1121
|
+
}
|
|
1122
|
+
}
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
/** A dynamic property. Supports simple values, keyframes and functions */
|
|
1126
|
+
export type Dynamic<T> = T | KeyFrame<T> | ((element: EtroObject, time: number) => T)
|
|
1127
|
+
|
|
1128
|
+
/**
|
|
1129
|
+
* Computes a property.
|
|
1130
|
+
*
|
|
1131
|
+
* @param element - the etro object to which the property belongs to
|
|
1132
|
+
* @param path - the dot-separated path to a property on `element`
|
|
1133
|
+
* @param time - time to calculate keyframes for, if necessary
|
|
1134
|
+
*
|
|
1135
|
+
* Note that only values used in keyframes that are numbers or objects
|
|
1136
|
+
* (including arrays) are interpolated. All other values are taken sequentially
|
|
1137
|
+
* with no interpolation. JavaScript will convert parsed colors, if created
|
|
1138
|
+
* correctly, to their string representations when assigned to a
|
|
1139
|
+
* CanvasRenderingContext2D property.
|
|
1140
|
+
*/
|
|
1141
|
+
// TODO: Is this function efficient?
|
|
1142
|
+
// TODO: Update doc @params to allow for keyframes
|
|
1143
|
+
export function val (element: EtroObject, path: string, time: number): any { // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
1144
|
+
if (hasCachedValue(element, path)) {
|
|
1145
|
+
return getCachedValue(element, path)
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
// Get property of element at path
|
|
1149
|
+
const pathParts = path.split('.')
|
|
1150
|
+
let property = element[pathParts.shift()]
|
|
1151
|
+
while (pathParts.length > 0) {
|
|
1152
|
+
property = property[pathParts.shift()]
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1155
|
+
// Property filter function
|
|
1156
|
+
const process = element.propertyFilters[path]
|
|
1157
|
+
|
|
1158
|
+
let value
|
|
1159
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (property instanceof KeyFrame) {
|
|
1160
|
+
<span class="cstat-no" title="statement not covered" > value = property.evaluate(time)</span>
|
|
1161
|
+
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof property === 'function') {
|
|
1162
|
+
<span class="cstat-no" title="statement not covered" > value = property(element, time)</span>
|
|
1163
|
+
} else {
|
|
1164
|
+
// Simple value
|
|
1165
|
+
value = property
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
return cacheValue(element, path, process ? process.call(element, value) : value)
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
/* export function floorInterp(x1, x2, t, objectKeys) {
|
|
1172
|
+
// https://stackoverflow.com/a/25835337/3783155 (TODO: preserve getters/setters, etc?)
|
|
1173
|
+
return !objectKeys ? x1 : objectKeys.reduce((a, x) => {
|
|
1174
|
+
if (x1.hasOwnProperty(x)) a[x] = o[x]; // ignore x2
|
|
1175
|
+
return a;
|
|
1176
|
+
}, Object.create(Object.getPrototypeOf(x1)));
|
|
1177
|
+
} */
|
|
1178
|
+
|
|
1179
|
+
export function <span class="fstat-no" title="function not covered" >linearInterp </span>(x1: number | object, x2: number | object, t: number, objectKeys?: string[]): number | object { // eslint-disable-line @typescript-eslint/ban-types
|
|
1180
|
+
<span class="cstat-no" title="statement not covered" > if (typeof x1 !== typeof x2) {</span>
|
|
1181
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('Type mismatch')</span>
|
|
1182
|
+
}
|
|
1183
|
+
|
|
1184
|
+
<span class="cstat-no" title="statement not covered" > if (typeof x1 !== 'number' && typeof x1 !== 'object') {</span>
|
|
1185
|
+
// Flat interpolation (floor)
|
|
1186
|
+
<span class="cstat-no" title="statement not covered" > return x1</span>
|
|
1187
|
+
}
|
|
1188
|
+
|
|
1189
|
+
<span class="cstat-no" title="statement not covered" > if (typeof x1 === 'object') { // to work with objects (including arrays)</span>
|
|
1190
|
+
// TODO: make this code DRY
|
|
1191
|
+
<span class="cstat-no" title="statement not covered" > if (Object.getPrototypeOf(x1) !== Object.getPrototypeOf(x2)) {</span>
|
|
1192
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('Prototype mismatch')</span>
|
|
1193
|
+
}
|
|
1194
|
+
|
|
1195
|
+
// Preserve prototype of objects
|
|
1196
|
+
const int = <span class="cstat-no" title="statement not covered" >Object.create(Object.getPrototypeOf(x1))</span>
|
|
1197
|
+
// Take the intersection of properties
|
|
1198
|
+
const keys = <span class="cstat-no" title="statement not covered" >Object.keys(x1) || objectKeys </span>// TODO: reverse operands
|
|
1199
|
+
<span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i < keys.length; i++) {</span>
|
|
1200
|
+
const key = <span class="cstat-no" title="statement not covered" >keys[i]</span>
|
|
1201
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
1202
|
+
<span class="cstat-no" title="statement not covered" > if (!x1.hasOwnProperty(key) || !x2.hasOwnProperty(key)) {</span>
|
|
1203
|
+
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
<span class="cstat-no" title="statement not covered" > int[key] = linearInterp(x1[key], x2[key], t)</span>
|
|
1207
|
+
}
|
|
1208
|
+
<span class="cstat-no" title="statement not covered" > return int</span>
|
|
1209
|
+
}
|
|
1210
|
+
<span class="cstat-no" title="statement not covered" > return (1 - t) * x1 + t * (x2 as number)</span>
|
|
1211
|
+
}
|
|
1212
|
+
|
|
1213
|
+
export function <span class="fstat-no" title="function not covered" >cosineInterp </span>(x1: number | object, x2: number | object, t: number, objectKeys?: string[]): number | object { // eslint-disable-line @typescript-eslint/ban-types
|
|
1214
|
+
<span class="cstat-no" title="statement not covered" > if (typeof x1 !== typeof x2) {</span>
|
|
1215
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('Type mismatch')</span>
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
<span class="cstat-no" title="statement not covered" > if (typeof x1 !== 'number' && typeof x1 !== 'object') {</span>
|
|
1219
|
+
// Flat interpolation (floor)
|
|
1220
|
+
<span class="cstat-no" title="statement not covered" > return x1</span>
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
<span class="cstat-no" title="statement not covered" > if (typeof x1 === 'object' && typeof x2 === 'object') { // to work with objects (including arrays)</span>
|
|
1224
|
+
<span class="cstat-no" title="statement not covered" > if (Object.getPrototypeOf(x1) !== Object.getPrototypeOf(x2)) {</span>
|
|
1225
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('Prototype mismatch')</span>
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
// Preserve prototype of objects
|
|
1229
|
+
const int = <span class="cstat-no" title="statement not covered" >Object.create(Object.getPrototypeOf(x1))</span>
|
|
1230
|
+
// Take the intersection of properties
|
|
1231
|
+
const keys = <span class="cstat-no" title="statement not covered" >Object.keys(x1) || objectKeys</span>
|
|
1232
|
+
<span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i < keys.length; i++) {</span>
|
|
1233
|
+
const key = <span class="cstat-no" title="statement not covered" >keys[i]</span>
|
|
1234
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
1235
|
+
<span class="cstat-no" title="statement not covered" > if (!x1.hasOwnProperty(key) || !x2.hasOwnProperty(key)) {</span>
|
|
1236
|
+
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
<span class="cstat-no" title="statement not covered" > int[key] = cosineInterp(x1[key], x2[key], t)</span>
|
|
1240
|
+
}
|
|
1241
|
+
<span class="cstat-no" title="statement not covered" > return int</span>
|
|
1242
|
+
}
|
|
1243
|
+
const cos = <span class="cstat-no" title="statement not covered" >Math.cos(Math.PI / 2 * t)</span>
|
|
1244
|
+
<span class="cstat-no" title="statement not covered" > return cos * (x1 as number) + (1 - cos) * (x2 as number)</span>
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
/**
|
|
1248
|
+
* An RGBA color, for proper interpolation and shader effects
|
|
1249
|
+
*/
|
|
1250
|
+
export class Color {
|
|
1251
|
+
r: number
|
|
1252
|
+
g: number
|
|
1253
|
+
b: number
|
|
1254
|
+
a: number
|
|
1255
|
+
|
|
1256
|
+
/**
|
|
1257
|
+
* @param r
|
|
1258
|
+
* @param g
|
|
1259
|
+
* @param b
|
|
1260
|
+
* @param a
|
|
1261
|
+
*/
|
|
1262
|
+
constructor (r: number, g: number, b: number, a = 1.0) {
|
|
1263
|
+
this.r = r
|
|
1264
|
+
this.g = g
|
|
1265
|
+
this.b = b
|
|
1266
|
+
this.a = a
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1269
|
+
/**
|
|
1270
|
+
* Converts to a CSS color
|
|
1271
|
+
*/
|
|
1272
|
+
toString (): string {
|
|
1273
|
+
return `rgba(${this.r}, ${this.g}, ${this.b}, ${this.a})`
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1277
|
+
const parseColorCanvas = document.createElement('canvas')
|
|
1278
|
+
parseColorCanvas.width = parseColorCanvas.height = 1
|
|
1279
|
+
const parseColorCtx = parseColorCanvas.getContext('2d')
|
|
1280
|
+
/**
|
|
1281
|
+
* Converts a CSS color string to a {@link Color} object representation.
|
|
1282
|
+
* @param str
|
|
1283
|
+
* @return the parsed color
|
|
1284
|
+
*/
|
|
1285
|
+
export function parseColor (str: string): Color {
|
|
1286
|
+
// TODO - find a better way to deal with the fact that invalid values of "col"
|
|
1287
|
+
// are ignored.
|
|
1288
|
+
parseColorCtx.clearRect(0, 0, 1, 1)
|
|
1289
|
+
parseColorCtx.fillStyle = str
|
|
1290
|
+
parseColorCtx.fillRect(0, 0, 1, 1)
|
|
1291
|
+
const data = parseColorCtx.getImageData(0, 0, 1, 1).data
|
|
1292
|
+
return new Color(data[0], data[1], data[2], data[3] / 255)
|
|
1293
|
+
}
|
|
1294
|
+
|
|
1295
|
+
/**
|
|
1296
|
+
* A font, for proper interpolation
|
|
1297
|
+
*/
|
|
1298
|
+
export class Font {
|
|
1299
|
+
size: number
|
|
1300
|
+
sizeUnit: string
|
|
1301
|
+
family: string
|
|
1302
|
+
style: string
|
|
1303
|
+
variant: string
|
|
1304
|
+
weight: string
|
|
1305
|
+
stretch: string
|
|
1306
|
+
lineHeight: string
|
|
1307
|
+
|
|
1308
|
+
/**
|
|
1309
|
+
* @param size
|
|
1310
|
+
* @param family
|
|
1311
|
+
* @param sizeUnit
|
|
1312
|
+
*/
|
|
1313
|
+
<span class="fstat-no" title="function not covered" > constructor (s</span>ize: number, sizeUnit: string, family: string, <span class="cstat-no" title="statement not covered" >style = 'normal', <span class="cstat-no" title="statement not covered" >v</span>ariant = 'normal',</span>
|
|
1314
|
+
<span class="cstat-no" title="statement not covered" > weight = 'normal', <span class="cstat-no" title="statement not covered" >s</span>tretch = 'normal', <span class="cstat-no" title="statement not covered" >l</span>ineHeight = 'normal') {</span>
|
|
1315
|
+
<span class="cstat-no" title="statement not covered" > this.size = size</span>
|
|
1316
|
+
<span class="cstat-no" title="statement not covered" > this.sizeUnit = sizeUnit</span>
|
|
1317
|
+
<span class="cstat-no" title="statement not covered" > this.family = family</span>
|
|
1318
|
+
<span class="cstat-no" title="statement not covered" > this.style = style</span>
|
|
1319
|
+
<span class="cstat-no" title="statement not covered" > this.variant = variant</span>
|
|
1320
|
+
<span class="cstat-no" title="statement not covered" > this.weight = weight</span>
|
|
1321
|
+
<span class="cstat-no" title="statement not covered" > this.stretch = stretch</span>
|
|
1322
|
+
<span class="cstat-no" title="statement not covered" > this.lineHeight = lineHeight</span>
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
/**
|
|
1326
|
+
* Converts to CSS font syntax
|
|
1327
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/font
|
|
1328
|
+
*/
|
|
1329
|
+
<span class="fstat-no" title="function not covered" > toString </span>(): string {
|
|
1330
|
+
let s = <span class="cstat-no" title="statement not covered" >''</span>
|
|
1331
|
+
<span class="cstat-no" title="statement not covered" > if (this.style !== 'normal') {</span>
|
|
1332
|
+
<span class="cstat-no" title="statement not covered" > s += this.style + ' '</span>
|
|
1333
|
+
}
|
|
1334
|
+
<span class="cstat-no" title="statement not covered" > if (this.variant !== 'normal') {</span>
|
|
1335
|
+
<span class="cstat-no" title="statement not covered" > s += this.variant + ' '</span>
|
|
1336
|
+
}
|
|
1337
|
+
<span class="cstat-no" title="statement not covered" > if (this.weight !== 'normal') {</span>
|
|
1338
|
+
<span class="cstat-no" title="statement not covered" > s += this.weight + ' '</span>
|
|
1339
|
+
}
|
|
1340
|
+
<span class="cstat-no" title="statement not covered" > if (this.stretch !== 'normal') {</span>
|
|
1341
|
+
<span class="cstat-no" title="statement not covered" > s += this.stretch + ' '</span>
|
|
1342
|
+
}
|
|
1343
|
+
<span class="cstat-no" title="statement not covered" > s += `${this.size}${this.sizeUnit} `</span>
|
|
1344
|
+
<span class="cstat-no" title="statement not covered" > if (this.lineHeight !== 'normal') {</span>
|
|
1345
|
+
<span class="cstat-no" title="statement not covered" > s += this.lineHeight + ' '</span>
|
|
1346
|
+
}
|
|
1347
|
+
<span class="cstat-no" title="statement not covered" > s += this.family</span>
|
|
1348
|
+
|
|
1349
|
+
<span class="cstat-no" title="statement not covered" > return s</span>
|
|
1350
|
+
}
|
|
1351
|
+
}
|
|
1352
|
+
|
|
1353
|
+
const parseFontEl = document.createElement('div')
|
|
1354
|
+
/**
|
|
1355
|
+
* Converts a CSS font string to a {@link Font} object
|
|
1356
|
+
* representation.
|
|
1357
|
+
* @param str
|
|
1358
|
+
* @return the parsed font
|
|
1359
|
+
*/
|
|
1360
|
+
export function <span class="fstat-no" title="function not covered" >parseFont </span>(str: string): Font {
|
|
1361
|
+
// Assign css string to html element
|
|
1362
|
+
<span class="cstat-no" title="statement not covered" > parseFontEl.setAttribute('style', `font: ${str}`)</span>
|
|
1363
|
+
const {
|
|
1364
|
+
fontSize<span class="cstat-no" title="statement not covered" >, f</span>ontFamily<span class="cstat-no" title="statement not covered" >, f</span>ontStyle<span class="cstat-no" title="statement not covered" >, f</span>ontVariant<span class="cstat-no" title="statement not covered" >, f</span>ontWeight<span class="cstat-no" title="statement not covered" >, l</span>ineHeight<span class="cstat-no" title="statement not covered" ></span>
|
|
1365
|
+
} = <span class="cstat-no" title="statement not covered" >parseFontEl.style</span>
|
|
1366
|
+
<span class="cstat-no" title="statement not covered" > parseFontEl.removeAttribute('style')</span>
|
|
1367
|
+
|
|
1368
|
+
const size = <span class="cstat-no" title="statement not covered" >parseFloat(fontSize)</span>
|
|
1369
|
+
const sizeUnit = <span class="cstat-no" title="statement not covered" >fontSize.substring(size.toString().length)</span>
|
|
1370
|
+
<span class="cstat-no" title="statement not covered" > return new Font(size, sizeUnit, fontFamily, fontStyle, fontVariant, fontWeight, lineHeight)</span>
|
|
1371
|
+
}
|
|
1372
|
+
|
|
1373
|
+
/**
|
|
1374
|
+
* @param mapper
|
|
1375
|
+
* @param canvas
|
|
1376
|
+
* @param ctx
|
|
1377
|
+
* @param x
|
|
1378
|
+
* @param y
|
|
1379
|
+
* @param width
|
|
1380
|
+
* @param height
|
|
1381
|
+
* @param flush
|
|
1382
|
+
* @deprecated Use {@link effect.Shader} instead
|
|
1383
|
+
*/
|
|
1384
|
+
export function <span class="fstat-no" title="function not covered" >mapPixels </span>(
|
|
1385
|
+
mapper: (pixels: Uint8ClampedArray, i: number) => void,
|
|
1386
|
+
canvas: HTMLCanvasElement,
|
|
1387
|
+
ctx: CanvasRenderingContext2D,
|
|
1388
|
+
x: number,
|
|
1389
|
+
y: number,
|
|
1390
|
+
width: number,
|
|
1391
|
+
height: number,
|
|
1392
|
+
<span class="cstat-no" title="statement not covered" > flush = true</span>
|
|
1393
|
+
): void {
|
|
1394
|
+
<span class="cstat-no" title="statement not covered" > x = x || 0</span>
|
|
1395
|
+
<span class="cstat-no" title="statement not covered" > y = y || 0</span>
|
|
1396
|
+
<span class="cstat-no" title="statement not covered" > width = width || canvas.width</span>
|
|
1397
|
+
<span class="cstat-no" title="statement not covered" > height = height || canvas.height</span>
|
|
1398
|
+
const frame = <span class="cstat-no" title="statement not covered" >ctx.getImageData(x, y, width, height)</span>
|
|
1399
|
+
<span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0,</span> l = <span class="cstat-no" title="statement not covered" >frame.data.length;</span> i < l; i += 4) {</span>
|
|
1400
|
+
<span class="cstat-no" title="statement not covered" > mapper(frame.data, i)</span>
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1403
|
+
<span class="cstat-no" title="statement not covered" > if (flush) {</span>
|
|
1404
|
+
<span class="cstat-no" title="statement not covered" > ctx.putImageData(frame, x, y)</span>
|
|
1405
|
+
}
|
|
1406
|
+
}
|
|
1407
|
+
</pre></td></tr></table></pre>
|
|
1408
|
+
|
|
1409
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
1410
|
+
</div><!-- /wrapper -->
|
|
1411
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
1412
|
+
Code coverage generated by
|
|
1413
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1414
|
+
at 2024-01-14T22:33:16.208Z
|
|
1415
|
+
</div>
|
|
1416
|
+
<script src="../prettify.js"></script>
|
|
1417
|
+
<script>
|
|
1418
|
+
window.onload = function () {
|
|
1419
|
+
prettyPrint();
|
|
1420
|
+
};
|
|
1421
|
+
</script>
|
|
1422
|
+
<script src="../sorter.js"></script>
|
|
1423
|
+
<script src="../block-navigation.js"></script>
|
|
1424
|
+
</body>
|
|
1425
|
+
</html>
|
|
1426
|
+
|