<commit_before>#   Copyright 2017 Google Inc. All Rights Reserved.
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.

<canvasint> = <interestingint>
<canvasint> = <fuzzint>
<canvasint> = <largeint>

<largeint> = 536870911
<largeint> = 536870912
<largeint> = 1073741823
<largeint> = 1073741824
<largeint> = 2147483647
<largeint> = 2147483648
<largeint> = 4294967295
<largeint> = 4294967296

<fuzzstring> = <fuzzstringpart>
<fuzzstring> = <fuzzstringpart> + <fuzzstringpart>
<fuzzstring> = <fuzzstringpart> + <fuzzstringpart> + <fuzzstringpart>
<fuzzstringpart> = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
<repeatcount> = 17
<repeatcount> = 65
<repeatcount> = 257
<repeatcount> = 1025
<repeatcount> = 4097
<repeatcount> = 65537
<repeatstr> = String.fromCharCode(<int min=0 max=127>)
<repeatstr> = String.fromCharCode(<int min=0 max=127>).repeat(<repeatcount>)

<fillRule> = "nonzero"
<fillRule> = "evenodd"

<lineCap> = "butt"
<lineCap> = "round"
<lineCap> = "square"
<lineJoin> = "bevel"
<lineJoin> = "round"
<lineJoin> = "miter"

<textAlign> = "left"
<textAlign> = "right"
<textAlign> = "center"
<textAlign> = "start"
<textAlign> = "end"

<textBaseline> = "top" 
<textBaseline> = "hanging"
<textBaseline> = "middle"
<textBaseline> = "alphabetic"
<textBaseline> = "ideographic"
<textBaseline> = "bottom"

<txtDirection> = "ltr"
<txtDirection> = "rtl"
<txtDirection> = "inherit"

<repetition> = "repeat" 
<repetition> = "repeat-x" 
<repetition> = "repeat-y" 
<repetition> = "no-repeat"

<imageFormat> = "image/png"
<imageFormat> = "image/webp"

<mathOperation> = +
<mathOperation> = -
<mathOperation> = /
<mathOperation> = *

<globalCompositeOperation> = "source-over"
<globalCompositeOperation> = "source-in"
<globalCompositeOperation> = "source-out"
<globalCompositeOperation> = "source-atop"
<globalCompositeOperation> = "destination-over"
<globalCompositeOperation> = "destination-in"
<globalCompositeOperation> = "destination-out"
<globalCompositeOperation> = "destination-atop"
<globalCompositeOperation> = "lighter"
<globalCompositeOperation> = "copy"
<globalCompositeOperation> = "xor"
<globalCompositeOperation> = "multiply"
<globalCompositeOperation> = "screen"
<globalCompositeOperation> = "overlay"
<globalCompositeOperation> = "darken"
<globalCompositeOperation> = "lighten"
<globalCompositeOperation> = "color-dodge"
<globalCompositeOperation> = "hard-light"
<globalCompositeOperation> = "soft-light"
<globalCompositeOperation> = "difference"
<globalCompositeOperation> = "exclusion"
<globalCompositeOperation> = "hue"
<globalCompositeOperation> = "saturation"
<globalCompositeOperation> = "color"
<globalCompositeOperation> = "luminosity"

<this> = this

<root root=true> = <lines count=50>

!lineguard try { <line> } catch(e) { console.log(e.message) }
!varformat fuzzvar%05d
!begin lines
!include common.txt
!include cssproperties.txt

# Image
<new img> = new Image();
<new img> = new Image(<canvasint>, <canvasint>);
<img>.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";

# Uint8ClampedArray
<new uintc8> = new Uint8ClampedArray(<canvasint>);
<new uintc8> = new Uint8ClampedArray([<canvasint>,<canvasint>]);

# ImageData
<new imgData> = new ImageData(<uintc8>, <canvasint>, <canvasint>);
<new imgData> = new ImageData(<canvasint>, <canvasint>);

# The button
<new button> = document.getElementById('button');
<button>.focus();

# Only for addPath method
<new path2daddpath> = new Path2D();
<path2daddpath>.addPath(<path2daddpath>,<m>);

# HTMLCanvasElement
<new canvas> = document.getElementById('canvas');
<canvas>.height = <canvasint>;
<canvas>.width = <canvasint>;
<canvas>.toDataURL(<imageFormat>, <float min=0 max=1>);
<canvas>.transferControlToOffscreen();

# Capture stream
<new canvasElt> = document.querySelector('canvas');
<new stream> = <canvasElt>.captureStream(<canvasint>);

# Path2d stuff
<new path2d> = new Path2D();
<new path2d> = new Path2D(<path2d>);
<new path2d> = new Path2D('<canvasint> <canvasint> C <canvasint> <canvasint>, <canvasint> <canvasint>, <canvasint> <canvasint>');
<new path2d> = new Path2D('<canvasint> <canvasint> h <canvasint> v <canvasint> h <canvasint> Z');
<new path2d> = new Path2D('M<canvasint> <canvasint> H <canvasint> V <canvasint> H <canvasint> L <canvasint> <canvasint>');
<new path2d> = new Path2D('M<canvasint> <canvasint> A <canvasint> <canvasint>, <canvasint>, <canvasint>, <canvasint>, <canvasint> <canvasint> L <canvasint> <canvasint> Z" fill="<color>"');
<new path2d> = new Path2D('M<canvasint> <canvasint> A <canvasint> <canvasint>, <canvasint>, <canvasint>, <canvasint>, <canvasint> <canvasint> L <canvasint> <canvasint> Z" fill="<cssproperty_border-right-color>" stroke="<color">');

# Button
ctx.drawFocusIfNeeded(<button>);

# Paths
ctx.beginPath();
ctx.closePath();
ctx.moveTo(<canvasint>, <canvasint>);
ctx.lineTo(<canvasint>, <canvasint>);
ctx.lineTo(<canvasint>, <canvasint>);
ctx.bezierCurveTo(<canvasint>, <canvasint>, <canvasint>, <canvasint>, <canvasint>, <canvasint>);
ctx.quadraticCurveTo(<canvasint>, <canvasint>, <canvasint>, <canvasint>);
ctx.rect(<canvasint>, <canvasint>, <canvasint>, <canvasint>);
ctx.arc(<int min=0 max=255>, <int min=0 max=255>, <int min=0 max=255>, <int min=0 max=255>, <int min=0 max=255>);
ctx.arc(<canvasint>, <canvasint>, <canvasint>, <canvasint>, <float> <mathOperation> Math.PI);
ctx.arc(<float>, <float>, <float>, <float>,<float> - Math.PI );
ctx.arc(<canvasint>, <canvasint>, <canvasint>, <canvasint>, <canvasint>, <boolean>);<commit_msg>Updating grammar<commit_after>#   Copyright 2017 Google Inc. All Rights Reserved.
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.

<canvasint> = <interestingint>
<canvasint> = <fuzzint>
<canvasint> = <largeint>

<largeint> = 536870911
<largeint> = 536870912
<largeint> = 1073741823
<largeint> = 1073741824
<largeint> = 2147483647
<largeint> = 2147483648
<largeint> = 4294967295
<largeint> = 4294967296

<fuzzstring> = <fuzzstringpart>
<fuzzstring> = <fuzzstringpart> + <fuzzstringpart>
<fuzzstring> = <fuzzstringpart> + <fuzzstringpart> + <fuzzstringpart>
<fuzzstringpart> = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
<repeatcount> = 17
<repeatcount> = 65
<repeatcount> = 257
<repeatcount> = 1025
<repeatcount> = 4097
<repeatcount> = 65537
<repeatstr> = String.fromCharCode(<int min=0 max=127>)
<repeatstr> = String.fromCharCode(<int min=0 max=127>).repeat(<repeatcount>)

<fillRule> = "nonzero"
<fillRule> = "evenodd"

<lineCap> = "butt"
<lineCap> = "round"
<lineCap> = "square"
<lineJoin> = "bevel"
<lineJoin> = "round"
<lineJoin> = "miter"

<textAlign> = "left"
<textAlign> = "right"
<textAlign> = "center"
<textAlign> = "start"
<textAlign> = "end"

<textBaseline> = "top" 
<textBaseline> = "hanging"
<textBaseline> = "middle"
<textBaseline> = "alphabetic"
<textBaseline> = "ideographic"
<textBaseline> = "bottom"

<txtDirection> = "ltr"
<txtDirection> = "rtl"
<txtDirection> = "inherit"

<repetition> = "repeat" 
<repetition> = "repeat-x" 
<repetition> = "repeat-y" 
<repetition> = "no-repeat"

<imageFormat> = "image/png"
<imageFormat> = "image/webp"

<mathOperation> = +
<mathOperation> = -
<mathOperation> = /
<mathOperation> = *

<globalCompositeOperation> = "source-over"
<globalCompositeOperation> = "source-in"
<globalCompositeOperation> = "source-out"
<globalCompositeOperation> = "source-atop"
<globalCompositeOperation> = "destination-over"
<globalCompositeOperation> = "destination-in"
<globalCompositeOperation> = "destination-out"
<globalCompositeOperation> = "destination-atop"
<globalCompositeOperation> = "lighter"
<globalCompositeOperation> = "copy"
<globalCompositeOperation> = "xor"
<globalCompositeOperation> = "multiply"
<globalCompositeOperation> = "screen"
<globalCompositeOperation> = "overlay"
<globalCompositeOperation> = "darken"
<globalCompositeOperation> = "lighten"
<globalCompositeOperation> = "color-dodge"
<globalCompositeOperation> = "hard-light"
<globalCompositeOperation> = "soft-light"
<globalCompositeOperation> = "difference"
<globalCompositeOperation> = "exclusion"
<globalCompositeOperation> = "hue"
<globalCompositeOperation> = "saturation"
<globalCompositeOperation> = "color"
<globalCompositeOperation> = "luminosity"

<this> = this

<root root=true> = <lines count=50>

!include common.txt
!include cssproperties.txt

!lineguard try { <line> } catch(e) { console.log(e.message) }
!varformat fuzzvar%05d
!begin lines

# Image
<new img> = new Image();
<new img> = new Image(<canvasint>, <canvasint>);
<img>.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";

# Uint8ClampedArray
<new uintc8> = new Uint8ClampedArray(<canvasint>);
<new uintc8> = new Uint8ClampedArray([<canvasint>,<canvasint>]);

# ImageData
<new imgData> = new ImageData(<uintc8>, <canvasint>, <canvasint>);
<new imgData> = new ImageData(<canvasint>, <canvasint>);

# The button
<new button> = document.getElementById('button');
<button>.focus();

# Only for addPath method
<new path2daddpath> = new Path2D();
<path2daddpath>.addPath(<path2daddpath>,<m>);

# HTMLCanvasElement
<new canvas> = document.getElementById('canvas');
<canvas>.height = <canvasint>;
<canvas>.width = <canvasint>;
<canvas>.toDataURL(<imageFormat>, <float min=0 max=1>);
<canvas>.transferControlToOffscreen();

# Capture stream
<new canvasElt> = document.querySelector('canvas');
<new stream> = <canvasElt>.captureStream(<canvasint>);

# Path2d stuff
<new path2d> = new Path2D();
<new path2d> = new Path2D(<path2d>);
<new path2d> = new Path2D('<canvasint> <canvasint> C <canvasint> <canvasint>, <canvasint> <canvasint>, <canvasint> <canvasint>');
<new path2d> = new Path2D('<canvasint> <canvasint> h <canvasint> v <canvasint> h <canvasint> Z');
<new path2d> = new Path2D('M<canvasint> <canvasint> H <canvasint> V <canvasint> H <canvasint> L <canvasint> <canvasint>');
<new path2d> = new Path2D('M<canvasint> <canvasint> A <canvasint> <canvasint>, <canvasint>, <canvasint>, <canvasint>, <canvasint> <canvasint> L <canvasint> <canvasint> Z" fill="<color>"');
<new path2d> = new Path2D('M<canvasint> <canvasint> A <canvasint> <canvasint>, <canvasint>, <canvasint>, <canvasint>, <canvasint> <canvasint> L <canvasint> <canvasint> Z" fill="<cssproperty_border-right-color>" stroke="<color>"');

# Button
ctx.drawFocusIfNeeded(<button>);

# Paths
ctx.beginPath();
ctx.closePath();
ctx.moveTo(<canvasint>, <canvasint>);
ctx.lineTo(<canvasint>, <canvasint>);
ctx.lineTo(<canvasint>, <canvasint>);
ctx.bezierCurveTo(<canvasint>, <canvasint>, <canvasint>, <canvasint>, <canvasint>, <canvasint>);
ctx.quadraticCurveTo(<canvasint>, <canvasint>, <canvasint>, <canvasint>);
ctx.rect(<canvasint>, <canvasint>, <canvasint>, <canvasint>);
ctx.arc(<int min=0 max=255>, <int min=0 max=255>, <int min=0 max=255>, <int min=0 max=255>, <int min=0 max=255>);
ctx.arc(<canvasint>, <canvasint>, <canvasint>, <canvasint>, <float> <mathOperation> Math.PI);
ctx.arc(<float>, <float>, <float>, <float>,<float> - Math.PI );
ctx.arc(<canvasint>, <canvasint>, <canvasint>, <canvasint>, <canvasint>, <boolean>);
{'fraction_non_alphanumeric': 0.1685, 'fraction_numerical': 0.028166666666666666, 'mean_word_length': 7.0814814814814815, 'pattern_counts': {'":': 0, '<': 459, '<?xml version=': 0, '>': 459, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 4, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7011531', 'n_tokens_mistral': 4441, 'n_tokens_neox': 4183, 'n_words': 960}