// Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

/// Character `%`.
const int $percent = 0x25;

/// Character `-`.
const int $dash = 0x2d;

/// Character `.`.
const int $dot = 0x2e;

/// Character `0`.
const int $0 = 0x30;

/// Character `9`.
const int $9 = 0x39;

/// Character `A`.
const int $A = 0x41;

/// Character `_`.
const int $underscore = 0x5f;

/// Character `a`.
const int $a = 0x61;

/// Character `f`.
const int $f = 0x66;

/// Character `z`.
const int $z = 0x7a;

/// Character `~`.
const int $tilde = 0x7e;
