/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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.
 */
import './svg/angle-double-left.svg';
import './svg/angle-double-right.svg';
import './svg/arrow-down.svg';
import './svg/chart.svg';
import './svg/chevron-left.svg';
import './svg/chevron-right.svg';
import './svg/clear.svg';
import './svg/close.svg';
import './svg/code.svg';
import './svg/disk.svg';

import './svg/earth.svg';
import './svg/epic.svg';
import './svg/error.svg';
import './svg/file-addition.svg';
import './svg/file-deletion.svg';
import './svg/file-modified.svg';
import './svg/file-tree.svg';
import './svg/issue-child.svg';
import './svg/issue-close.svg';
import './svg/issue-open-m.svg';
import './svg/issues.svg';
import './svg/link.svg';
import './svg/list-bulleted.svg';
import './svg/lock-open.svg';
import './svg/lock.svg';
import './svg/login-bg.svg';
import './svg/logo-sw.svg';
import './svg/logo.svg';
import './svg/magnify.svg';
import './svg/marquee-selection.svg';
import './svg/merge.svg';
import './svg/package.svg';
import './svg/retry.svg';
import './svg/review-list.svg';
import './svg/search.svg';
import './svg/settings.svg';
import './svg/soft-unwrap.svg';
import './svg/sort-lowest.svg';
import './svg/spam.svg';
import './svg/spinner.svg';
import './svg/statistics-bulleted.svg';
import './svg/table.svg';
import './svg/todo-add.svg';
import './svg/token.svg';
import './svg/unlink.svg';
import './svg/user.svg';
import './svg/warning.svg';
import './svg/sort.svg';
