Full Code of ina-foss/amalia.js for AI

master 93563895569f cached
154 files
1.4 MB
366.2k tokens
11 symbols
1 requests
Download .txt
Showing preview only (1,550K chars total). Download the full file or copy to clipboard to get everything.
Repository: ina-foss/amalia.js
Branch: master
Commit: 93563895569f
Files: 154
Total size: 1.4 MB

Directory structure:
gitextract_wtstfblr/

├── .gitignore
├── .jshintrc
├── Gruntfile.js
├── LICENSE
├── README.md
├── bower.json
├── package.json
├── releases.md
├── samples/
│   ├── ajs-player.html
│   ├── ajs-plugin-captions.html
│   ├── ajs-plugin-editor.html
│   ├── ajs-plugin-overlay.html
│   ├── ajs-plugin-text-sync.html
│   ├── ajs-plugin-timeline.html
│   ├── ajs-plugin-watermark.html
│   ├── ajs-webfont.html
│   └── css/
│       ├── amalia-js-demo.css
│       └── default.css
├── samples-data/
│   └── examples/
│       └── json/
│           ├── amalia-simple01.json
│           ├── amalia01-ball.json
│           ├── amalia01-events.json
│           ├── amalia01-kf.json
│           ├── amalia01-overlay.json
│           └── amalia01-text.json
├── src/
│   ├── .jshintrc
│   ├── LICENSE
│   ├── THIRD_PARTY_LICENSES
│   ├── assets/
│   │   ├── fonts/
│   │   │   └── ajs-webfont.afm
│   │   ├── less/
│   │   │   ├── ajs-animations.less
│   │   │   ├── ajs-webfont.less
│   │   │   ├── default-style.less
│   │   │   ├── default.less
│   │   │   ├── player-custom-control-bar.less
│   │   │   ├── player.less
│   │   │   ├── plugin-captions.less
│   │   │   ├── plugin-editor.less
│   │   │   ├── plugin-menu-contextuel.less
│   │   │   ├── plugin-overlay.less
│   │   │   ├── plugin-selected-item-editor.less
│   │   │   ├── plugin-storyboard.less
│   │   │   ├── plugin-text-sync.less
│   │   │   ├── plugin-timeline.less
│   │   │   ├── plugin-watermark.less
│   │   │   └── plugin.less
│   │   └── sass/
│   │       ├── _ajs-animations.scss
│   │       ├── _ajs-mixins.scss
│   │       ├── _ajs-webfont.scss
│   │       ├── _default-style.scss
│   │       ├── _player-custom-control-bar.scss
│   │       ├── _player.scss
│   │       ├── _plugin-captions.scss
│   │       ├── _plugin-editor.scss
│   │       ├── _plugin-menu-contextuel.scss
│   │       ├── _plugin-overlay.scss
│   │       ├── _plugin-selected-item-editor.scss
│   │       ├── _plugin-storyboard.scss
│   │       ├── _plugin-text-sync.scss
│   │       ├── _plugin-timeline.scss
│   │       ├── _plugin-watermark.scss
│   │       ├── _plugin.scss
│   │       ├── _plugin_d3js_chart.scss
│   │       └── main.scss
│   ├── helpers/
│   │   ├── browser-feature-detection.js
│   │   ├── html5-helper.js
│   │   └── utilities-helper.js
│   ├── i18n/
│   │   ├── player-error-message-en.js
│   │   └── player-message-en.js
│   ├── ina-player.js
│   ├── log/
│   │   ├── .jshintrc
│   │   └── log-handler.js
│   ├── player/
│   │   ├── base-player.js
│   │   ├── constants/
│   │   │   ├── player-error-code.js
│   │   │   ├── player-event-type.js
│   │   │   └── player-message.js
│   │   ├── loader/
│   │   │   ├── base-loader.js
│   │   │   ├── http-loader.js
│   │   │   └── ws-loader.js
│   │   ├── loaderBase.js
│   │   ├── local-storage-manager.js
│   │   ├── media-factory.js
│   │   ├── media-type-dash-mpeg.js
│   │   ├── media-type-manager.js
│   │   ├── metadata/
│   │   │   ├── localisation-manager.js
│   │   │   └── metadata-manager.js
│   │   ├── parsers/
│   │   │   └── base-parser-metadata.js
│   │   ├── player-html5.js
│   │   ├── plugins/
│   │   │   ├── captions-base.js
│   │   │   ├── context-menu-plugin.js
│   │   │   ├── custom-control-bar.js
│   │   │   ├── plugin-base-multi-blocks.js
│   │   │   ├── plugin-base-simple-block.js
│   │   │   ├── plugin-base.js
│   │   │   ├── plugin-binding-manager.js
│   │   │   └── plugin-manager.js
│   │   ├── shortcuts-manager.js
│   │   └── widgets/
│   │       ├── base-button.js
│   │       ├── cast-button.js
│   │       ├── channel-volume-control-bar.js
│   │       ├── fullscreen-button.js
│   │       ├── jog-shuttle-button.js
│   │       ├── label.js
│   │       ├── pause-button.js
│   │       ├── play-button.js
│   │       ├── progress-bar.js
│   │       ├── time-label.js
│   │       ├── volume-control-bar.js
│   │       └── widget-base.js
│   ├── player-map.js
│   ├── plugins/
│   │   ├── captions/
│   │   │   └── captions.js
│   │   ├── control-bar/
│   │   │   └── progress-bar.js
│   │   ├── d3js-chart/
│   │   │   └── plugin-d3js-chart.js
│   │   ├── editor/
│   │   │   ├── plugin-metadata-block-editor.js
│   │   │   ├── plugin-metadata-item-editor.js
│   │   │   ├── plugin-metadata-items-editor.js
│   │   │   ├── plugin-metadata-items-ref-editor.js
│   │   │   └── plugin-metadata-list-editor.js
│   │   ├── overlay/
│   │   │   ├── draw-base.js
│   │   │   ├── draw-ellipse.js
│   │   │   ├── draw-rect.js
│   │   │   ├── overlay.js
│   │   │   └── spatials-data-parser.js
│   │   ├── storyboard/
│   │   │   ├── base-frame-position-calculator.js
│   │   │   └── plugin-storyboard.js
│   │   ├── text-sync/
│   │   │   ├── component.js
│   │   │   └── text-sync.js
│   │   ├── timeline/
│   │   │   ├── base-component.js
│   │   │   ├── cuepoints-component.js
│   │   │   ├── default-configuration.js
│   │   │   ├── focus-component.js
│   │   │   ├── histogram-component.js
│   │   │   ├── images-component.js
│   │   │   ├── segments-component.js
│   │   │   ├── tic-component.js
│   │   │   ├── time-axis-component.js
│   │   │   ├── timeline.js
│   │   │   ├── visual-component.js
│   │   │   └── zoom-component.js
│   │   ├── watermark/
│   │   │   └── watermark.js
│   │   └── yt-player/
│   │       └── yt-player.js
│   └── utils/
│       ├── jquery-class.js
│       ├── jquery-debouncedresize.js
│       ├── jquery-knob.js
│       ├── jquery.hotkeys.js
│       ├── jquery.ui.touch-punch.js
│       └── raphael_free_transform.js
└── tests/
    ├── .jshintrc
    ├── log/
    │   ├── logHandler_test.html
    │   └── logHandler_test.js
    └── player/
        ├── LoaderBase_test.html
        ├── LoaderBase_test.js
        ├── PlayerErrorCode_test.html
        ├── PlayerErrorCode_test.js
        └── data/
            ├── VideoEntities.json
            └── VideoKeyframes.json

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
.svn
.bowerrc
build
build-doc
.idea
bower_components
node_modules
npm-debug.log
package-lock.json

================================================
FILE: .jshintrc
================================================
{
    "curly": true,
    "eqeqeq": true,
    "immed": true,
    "latedef": true,
    "newcap": true,
    "noarg": true,
    "sub": true,
    "undef": true,
    "unused": true,
    "boss": true,
    "eqnull": true,
    "node": true
}



================================================
FILE: Gruntfile.js
================================================
'use strict';
module.exports = function (grunt) {
    require('load-grunt-tasks')(grunt);
    require('time-grunt')(grunt);
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        jshint: {
            gruntfile: {
                options: {
                    jshintrc: '.jshintrc'
                },
                src: 'Gruntfile.js'
            },
            player: {
                options: {
                    jshintrc: 'src/.jshintrc'
                },
                src: [
                    'src/player/**/*.js',
                    'src/helpers/**/*.js',
                    'src/plugins/**/*.js',
                    'src/*.js'
                ]
            },
            i18n: {
                options: {
                    jshintrc: 'src/.jshintrc'
                },
                src: [
                    'src/i18n/**/*.js'
                ]
            },
            // Configuration with console.log
            log: {
                options: {
                    jshintrc: 'src/log/.jshintrc'
                },
                src: [
                    'src/log/**/*.js'
                ]
            },
            // Configuration with ok,notEqual,deepEqual,notDeepEqual...
            tests: {
                options: {
                    jshintrc: 'tests/.jshintrc'
                },
                src: [
                    'tests/**/*.js'
                ]
            }
        },
        uglify: {
            options: {
                banner: '/*!<%= pkg.description %> V<%= pkg.version %>, © <%= pkg.author %> <%= grunt.template.today("yyyy") %> */\n<%= pkg.licenseText %>',
                compress: {
                    global_defs: {
                        "_PlayerAmaliaVersion_": '<%= pkg.description %> V<%= pkg.version %>, © <%= pkg.author %> <%= grunt.template.today("yyyy") %>',
                        "_PlayerAmaliaHomepage_": '<%= pkg.homepage %>'
                    }
                }
            },
            build: {
                files: {
                    'build/js/i18n/<%= pkg.name %>-message-en.js': [
                        'src/i18n/player-error-message-en.js',
                        'src/i18n/player-message-en.js'
                    ],
                    'build/js/<%= pkg.name %>-logger.min.js': [
                        'src/log/log-handler.js'
                    ],
                    'build/js/<%= pkg.name %>.min.js': [
                        'src/utils/jquery-class.js',
                        'src/utils/jquery-knob.js',
                        'src/utils/jquery.ui.touch-punch.js',
                        'src/utils/dash.min.js',
                        'src/utils/jquery-debouncedresize.js',
                        'src/utils/raphael_free_transform.js',
                        'src/utils/jquery.hotkeys.js',
                        'src/helpers/browser-feature-detection.js',
                        'src/helpers/html5-helper.js',
                        'src/helpers/utilities-helper.js',
                        'src/player/constants/player-error-code.js',
                        'src/player/constants/player-event-type.js',
                        'src/player/constants/player-message.js',
                        'src/player/loader/base-loader.js',
                        'src/player/loader/http-loader.js',
                        'src/player/loader/ws-loader.js',
                        'src/player/parsers/base-parser-metadata.js',
                        'src/player/metadata/metadata-manager.js',
                        'src/player/metadata/localisation-manager.js',
                        'src/player/widgets/widget-base.js',
                        'src/player/widgets/base-button.js',
                        'src/player/widgets/time-label.js',
                        'src/player/widgets/play-button.js',
                        'src/player/widgets/pause-button.js',
                        'src/player/widgets/fullscreen-button.js',
                        'src/player/widgets/volume-control-bar.js',
                        'src/player/widgets/progress-bar.js',
                        'src/player/widgets/label.js',
                        'src/player/widgets/jog-shuttle-button.js',
                        'src/player/widgets/channel-volume-control-bar.js',
                        'src/player/plugins/plugin-base.js',
                        'src/player/plugins/plugin-base-multi-blocks.js',
                        'src/player/plugins/plugin-base-simple-block.js',
                        'src/player/plugins/plugin-binding-manager.js',
                        'src/player/plugins/plugin-manager.js',
                        'src/player/plugins/captions-base.js',
                        'src/player/plugins/context-menu-plugin.js',
                        'src/player/plugins/custom-control-bar.js',
                        'src/player/local-storage-manager.js',
                        'src/player/media-type-manager.js',
                        'src/player/media-type-dash-mpeg.js',
                        'src/player/shortcuts-manager.js',
                        'src/player/base-player.js',
                        'src/player/player-html5.js',
                        'src/player/media-factory.js',
                        'src/ina-player.js'
                    ],
                    'build/js/<%= pkg.name %>-plugin-watermark.min.js': [
                        'src/plugins/watermark/watermark.js'
                    ],
                    'build/js/<%= pkg.name %>-plugin-overlay.min.js': [
                        'src/plugins/overlay/spatials-data-parser.js',
                        'src/plugins/overlay/draw-base.js',
                        'src/plugins/overlay/draw-rect.js',
                        'src/plugins/overlay/draw-ellipse.js',
                        'src/plugins/overlay/overlay.js'
                    ],
                    'build/js/<%= pkg.name %>-plugin-text-sync.min.js': [
                        'src/plugins/text-sync/component.js',
                        'src/plugins/text-sync/text-sync.js'
                    ],
                    'build/js/<%= pkg.name %>-plugin-captions.min.js': [
                        'src/plugins/captions/captions.js'
                    ],
                    'build/js/<%= pkg.name %>-plugin-timeline.min.js': [
                        'src/plugins/timeline/default-configuration.js',
                        'src/plugins/timeline/base-component.js',
                        'src/plugins/timeline/focus-component.js',
                        'src/plugins/timeline/tic-component.js',
                        'src/plugins/timeline/zoom-component.js',
                        'src/plugins/timeline/time-axis-component.js',
                        'src/plugins/timeline/cuepoints-component.js',
                        'src/plugins/timeline/segments-component.js',
                        'src/plugins/timeline/images-component.js',
                        'src/plugins/timeline/histogram-component.js',
                        'src/plugins/timeline/visual-component.js',
                        'src/plugins/timeline/timeline.js'
                    ],
                    'build/js/<%= pkg.name %>-plugin-editor.min.js': [
                        'src/plugins/editor/plugin-metadata-list-editor.js',
                        'src/plugins/editor/plugin-metadata-block-editor.js',
                        'src/plugins/editor/plugin-metadata-items-editor.js',
                        'src/plugins/editor/plugin-metadata-item-editor.js',
                        'src/plugins/editor/plugin-metadata-items-ref-editor.js'
                    ],
                    'build/js/<%= pkg.name %>-plugin-progress-bar.min.js': [
                        'src/plugins/control-bar/progress-bar.js'
                    ],
                    'build/js/<%= pkg.name %>-plugin-storyboard.min.js': [
                        'src/plugins/storyboard/base-frame-position-calculator.js',
                        'src/plugins/storyboard/plugin-storyboard.js'
                    ],
                    'build/js/<%= pkg.name %>-yt-player.min.js': [
                        'src/plugins/yt-player/yt-player.js'
                    ],
                    'build/js/<%= pkg.name %>-d3js-player.min.js': [
                        'src/plugins/d3js-chart/plugin-d3js-chart.js'
                    ]
                }
            }
        },
        sass: {
            options: {
                sourceMap: false
            },
            dist: {
                files: {
                    'build/css/<%= pkg.name %>.min.css': "src/assets/sass/main.scss"
                }
            }
        },
        webfont: {
            icons: {
                src: 'src/assets/icons/*.svg',
                dest: 'src/assets/fonts',
                destCss: 'src/assets/sass',
                options: {
                    font: 'ajs-webfont',
                    stylesheet: 'scss',
                    syntax: 'bem',
                    htmlDemo: true,
                    autoHint: true,
                    hashes: true,
                    relativeFontPath: '../fonts/',
                    destHtml: 'samples',
                    embed: true,
                    engine: (grunt.option('engine') || 'fontforge'),
                    templateOptions: {
                        baseClass: 'ajs-icon',
                        classPrefix: 'ajs-icon-',
                        mixinPrefix: 'ajs-icon-'
                    }
                }
            }
        },
        clean: {
            build: [
                'build',
                'docs',
                'tmp'
            ]
        },
        copy: {
            build: {
                files: [
                    {
                        expand: true,
                        cwd: 'src/assets/fonts',
                        src: '**',
                        dest: 'build/fonts',
                        flatten: true,
                        filter: 'isFile'
                    }
                ]
            }
        },
        // qunit: {
        //     build: [
        //         'tests/**/*.html'
        //     ]
        // },
        watch: {
            uglify: {
                files: [
                    'src/**/*.js',
                    'src/**/**/*.js'
                ],
                tasks: ['uglify:build']
            },
            sass: {
                files: 'src/assets/sass/*.scss',
                tasks: ['sass']
            }

        },
        browserSync: {
            dev: {
                bsFiles: {
                    src: [
                        'build/css/*.css',
                        'build/js/*.js'
                    ]
                },
                options: {
                    watchTask: true,
                    proxy: "localhost"
                }
            }
        }
    });

    //dev
    grunt.registerTask('dev', [
        'clean:build',
        'webfont:icons',
        'copy:build',
        'uglify:build',
        'sass:dist',
        'browserSync',
        'watch'
    ]);

    //Default
    grunt.registerTask('default', [
        'clean:build',
        'jshint',
        'qunit:build',
        'uglify:build',
        'sass:dist',
        'copy:build'
    ]);
};

================================================
FILE: LICENSE
================================================
Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


================================================
FILE: README.md
================================================
Amalia.js
==========

Metadata enriched HTML5 video player

Download and documentation are available here : http://ina-foss.github.io/amalia.js


##Build project
For building the project execute the following lines:
```sh
$ bower install
$ npm install
$ grunt
```
The amalia.js library is in the build directory. You can also have a look at some examples in the samples directory.

================================================
FILE: bower.json
================================================
{
    "name" : "amalia.js",
    "version" : "1.3.3",
    "main" : "dist/js/amalia.js.min.js",
    "license" : "MIT",
    "ignore" : [
        "**/.*",
        "data",
        "src",
        "samples",
        "tests",
        "Gruntfile.js",
        "package.json"
    ],
    "dependencies" : {
        "jquery" : "~2.1.3",
        "raphael" : "~2.1.3",
        "jquery-ui" : "~1.11.2"
    },
    "devDependencies":{
        "qunit":"1.14.0"
    },
    "keywords" : [
        "javascript",
        "library",
        "annotation",
        "metadata",
        "amalia.js",
        "player",
        "html5"
    ]
}


================================================
FILE: package.json
================================================
{
  "name": "amalia.js",
  "description": "",
  "homepage": "http://ina-foss.github.io/amalia.js",
  "author": "INA",
  "version": "1.3.3",
  "public_site": "site",
  "engines": {
    "node": ">= 0.11"
  },
  "license": "MIT",
  "licenseText": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia.js is free software: you can redistribute it and/or modify it under\n * the terms of the MIT License\n *\n * Redistributions of source code, javascript and css minified versions must\n * retain the above copyright notice, this list of conditions and the following\n * disclaimer\n *\n * Neither the name of the copyright holder nor the names of its contributors\n * may be used to endorse or promote products derived from this software without\n * specific prior written permission\n *\n * You should have received a copy of the MIT License along with\n * amalia.js. If not, see <https://opensource.org/license/mit/>\n *\n * Amalia.js is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE.\n */\n",
  "repository": {
    "type": "git",
    "url": "git://github.com/ina-foss/amalia.js.git"
  },
  "cacheDirectories": [
    "node_modules",
    "bower_components"
  ],
  "devDependencies": {
    "browser-sync": "^2.11.1",
    "grunt": "^0.4.5",
    "grunt-browser-sync": "^2.2.0",
    "grunt-contrib-clean": "^0.6.0",
    "grunt-contrib-compress": "~0.13.0",
    "grunt-contrib-copy": "^0.7.0",
    "grunt-contrib-csslint": "^2.0.0",
    "grunt-contrib-cssmin": "^5.0.0",
    "grunt-contrib-jshint": "^0.11.3",
    "grunt-contrib-less": "^3.0.0",
    "grunt-contrib-qunit": "^0.5.2",
    "grunt-contrib-uglify": "^0.7.0",
    "grunt-contrib-watch": "^0.6.1",
    "grunt-contrib-yuidoc": "^0.7.0",
    "grunt-ftp-deploy": "^0.2.0",
    "grunt-html-build": "~0.4.1",
    "grunt-sass": "^1.1.0",
    "grunt-webfont": "^0.5.1",
    "load-grunt-tasks": "^3.5.0",
    "time-grunt": "^1.3.0"
  },
  "dependencies": {
    "bower": "^1.8.14"
  }
}


================================================
FILE: releases.md
================================================
# Release notes
## 1.3.3
- License changed to MIT
## 1.3.2
 - Fix ENDEN/ENDED
 - Change player html5 class with base class
## 1.3.1
 - Add edition plugin
 - Add control bar with new widgets
 - New Documentation
## 1.3.0
 - Delete dependencies bootstrap,font awesome ...
 - Add Metadata Java library
## 1.2.3
 - Player with timeline, text-synchronization, caption and overlay plugins


================================================
FILE: samples/ajs-player.html
================================================
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta http-equiv="Content-Language" content="en-us"/>
    <link rel="icon" href="static/img/favicon.ico"/>
    <meta name="description"
          content="amalia.js is a new extensible and versatile HTML5 multimedia player that allows you to view any type of metadata along with your video or audio streams"/>
    <meta name="keywords"
          content="amalia.js, ina, research, amalia, video, audio, multimedia, player, metadata, plugin, javascript, html5, timeline, keyframe, analysis, extraction, visualization, content, indexing, json, dataviz"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>

    <!-- This web site stuff -->
    <script type="text/javascript" src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
    <link href="http://maxcdn.bootstrapcdn.com/bootswatch/3.3.1/yeti/bootstrap.min.css" rel="stylesheet"/>
    <link type="text/css" rel="stylesheet" href="css/amalia-js-demo.css"/>

    <!-- amalia.js dependencies -->
    <script src="../bower_components/jquery/dist/jquery.js"></script>
    <script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>
    <script src="../bower_components/raphael/raphael.js"></script>

    <!-- amalia.js player stuff -->
    <link type="text/css" rel="stylesheet" href="../build/css/amalia.js.min.css"/>
    <script src="../build/js/amalia.js.min.js"></script>
    <!-- // -->
    <!-- See at the end od this file for other Javascript stuff  -->
    <title>amalia.js - Metadata enriched HTML5 video player</title>
</head>
<body>
<div class="container">
    <!-- NAVBAR -->
    <div class="navbar navbar-default navbar-fixed-top" role="navigation">
        <div class="container">
            <div class="navbar-header">
                <a class="navbar-brand" href="#">amalia.js</a>
            </div>
            <div id="navbar" class="collapse navbar-collapse">
                <ul class="nav navbar-nav pull-right">
                    <li><a class="scroll-to" href="#download">Download</a></li>
                    <li><a class="scroll-to" href="#documentation">Documentation</a></li>
                    <li><a class="scroll-to" href="#examples">Examples</a></li>
                    <li><a class="scroll-to" href="#about">About</a></li>
                    <li><a class="scroll-to" href="#contact">Contact</a></li>
                </ul>
            </div>
        </div>
    </div>
    <div class="header">
        <h2 class="title">Player</h2>

        <p class="lead"></p>
    </div>
    <div class="content">
        <div class="demo">
            <div style="height: 350px;">
                <div id="defaultPlayer"></div>
            </div>
            <script>
                $(function () {
                    $("#defaultPlayer").mediaPlayer({
                        autoplay: false,
                        src: "../samples-data/examples/vid/amalia01.mp4",
                        controlBar: {
                            autohide: false
                        }
                    });
                });
            </script>
        </div>
        <div class="doc">
            <h1>Player options</h1>
            <!-- Player Options-->
            <ul class="nav nav-tabs">
                <li class="active"><a href="#player-options" data-toggle="tab" aria-expanded="false">Doc</a></li>
                <li class=""><a href="#player-options-example" data-toggle="tab" aria-expanded="true">example</a></li>
            </ul>
            <div class="tab-content">
                <div id="player-options" class="panel panel-default">
                    <div class="panel-body">
                        <dl class="dl-horizontal">
                            <dt>src</dt>
                            <dd>URL to a video or audio file</dd>

                            <dt>poster</dt>
                            <dd>URL to a poster image to display before playback starts</dd>

                            <dt>autoplay</dt>
                            <dd>boolean, automatically start playing the video on page load</dd>

                            <dt>defaultVolume</dt>
                            <dd>75 by default. This value is overloaded by the volume set by the user which is kept in a
                                cookie
                            </dd>

                            <dt>controlBar</dt>
                            <dd>parameters for the control buttons (see below)</dd>

                            <dt>plugins</dt>
                            <dd>plugins configuration list (see below)</dd>

                            <dt>framerate</dt>
                            <dd></dd>

                            <dt>controlBarClassName</dt>
                            <dd></dd>

                            <dt>controlBar</dt>
                            <dd></dd>

                            <dt>tcOffset</dt>
                            <dd></dd>

                            <dt>mediaType</dt>
                            <dd></dd>

                            <dt>thumbRootDirectory</dt>
                            <dd></dd>

                            <dt>crossorigin</dt>
                            <dd></dd>

                            <dt>shortcuts</dt>
                            <dd></dd>
                        </dl>
                    </div>
                </div>
                <div id="player-options-example">
                <pre>
$("#container").mediaPlayer({
    autoplay: true,
    src: "http://www-player-i.ina.fr/medias/demo/audi.mp4"
});
                </pre>
                </div>
            </div>
            <!-- END: Player Options-->

            <div class="control-bar panel panel-default">
                <div class="panel-heading">
                    <h3 class="panel-title">Control bar options</h3>
                </div>
                <div class="panel-body">
                    <dl class="dl-horizontal">
                        <dt>...</dt>
                        <dd>...</dd>
                    </dl>
                </div>
            </div>
            <div class="plugin panel panel-default">
                <div class="panel-heading">
                    <h3 class="panel-title">Plugin options</h3>
                </div>
                <div class="panel-body">
                    <dl class="dl-horizontal">
                        <dt>...</dt>
                        <dd>...</dd>
                    </dl>
                </div>
            </div>
        </div>

    </div>
</div>
<!-- FOOTER -->
<div class="page-footer  breadcrumb">
    <div class="container">
        <div class="row">
            <div class="col-md-6">Last updated : <%= updateDate %></div>
            <div class="col-md-6 text-right">
                <a href="http://www.institut-national-audiovisuel.fr/en/home"><img class="logo-ina"
                                                                                   src="img/logo_ina.jpg"
                                                                                   style=" margin-right:10px; width: 32x; height: 32px"/>
                    Institut National de l'Audiovisuel - INA</a> ©<%= updateYear %>
            </div>
        </div>
    </div>
</div>
</body>
</html>


================================================
FILE: samples/ajs-plugin-captions.html
================================================
<!DOCTYPE html>
<html>
    <head>
        <title>Amalia.js</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="icon" href="images/favicon.ico">
        <link href="css/default.css" rel="stylesheet">
        <script src="../bower_components/jquery/dist/jquery.js"></script>
        <script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>        
        <script src="../bower_components/raphael/raphael.js"></script>
        <!-- style-player -->        
        <link href="../build/css/amalia.js.min.css" rel="stylesheet">
        <!-- /style-player -->        
        <!-- script-player -->        
        <script src="../build/js/amalia.js.min.js"></script>
        <script src="../build/js/amalia.js-plugin-captions.min.js"></script>        
        <!-- /script-player -->
    </head>
    <body>
        <div class="container">
            <div class="header">
                <h1>Samples</h1>  
            </div>
            <div class="content">
                <div class="demo">
                    <div style="height: 350px;">
                        <div id="defaultPlayer"></div>
                    </div>
                    <script>
                        $( function () {
                            $( "#defaultPlayer" ).mediaPlayer( {
                                autoplay : false,
                                src : "../samples-data/examples/vid/amalia01.mp4",
                                controlBar :
                                    {
                                        sticky : true
                                    },
                                plugins : {
                                    dataServices :
                                        [
                                            '../samples-data/examples/json/amalia01-text.json'
                                        ],
                                    list :
                                        [
                                            {
                                                'className' : 'fr.ina.amalia.player.plugins.CaptionsPlugin',
                                                'parameters' : {
                                                    metadataId : 'text-amalia01',
                                                    level : 1
                                                }
                                            }
                                        ]
                                }
                            } );
                        } );
                    </script>
                    <div>
                        <pre class="config">
                        dataServices :
                            [
                                '../samples-data/examples/json/amalia01-text.json'
                            ],
                        list :
                            [
                                {
                                    'className' : 'fr.ina.amalia.player.plugins.CaptionsPlugin',
                                    'parameters' : {
                                        metadataId : 'text-amalia01',
                                        level : 1
                                    }
                                }
                            ]                      
                        </pre>
                    </div>
                </div>
            </div>
            <div class="footer">
                <p>
                    <a href="http://www.institut-national-audiovisuel.fr/en/home"><img class="logo-ina" src="images/logo_ina.jpg" style=" margin-right:10px; width: 32x; height: 32px" />Institut National de l'Audiovisuel - INA</a>© 2015
                </p>
            </div>
        </div>
    </body>
</html>


================================================
FILE: samples/ajs-plugin-editor.html
================================================
<!DOCTYPE html>
<html>
    <head>
        <title>Amalia.js</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="icon" href="images/favicon.ico">
        <link href="css/default.css" rel="stylesheet">
        <script src="../bower_components/jquery/dist/jquery.js"></script>
        <script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>        
        <script src="../bower_components/raphael/raphael.js"></script>
        <!-- style-player -->        
        <link href="../build/css/amalia.js.min.css" rel="stylesheet">
        <!-- /style-player -->        
        <!-- script-player -->        
        <script src="../build/js/amalia.js.min.js"></script>
        <script src="../build/js/amalia.js-plugin-timeline.min.js"></script>    
        <script src="../build/js/amalia.js-plugin-editor.min.js"></script>    
        <!-- /script-player -->
    </head>
    <body>
        <div class="container">
            <div class="header">
                <h1>Text synchronization plugin</h1>  
            </div>
            <div class="content">           
                <div class="demo">
                    <div style=" clear: both;">

                        <div style="width: 70%;float: left;">
                            <div style="height: 350px;">
                                <div id="defaultPlayer"></div>
                            </div> 
                            <div id="player_timelinePlugin" style="height: 500px;"></div>
                        </div>
                        <div style="width: 30%; float: left;">
                            <div id='player-list-editor-plugin'></div>
                            <br />
                            <div id='player-block-editor-plugin'></div>
                            <br />
                            <div id='player-items-editor-plugin'></div>
                        </div>
                    </div>

                    <script>
                        $( function () {
                            $( "#defaultPlayer" ).mediaPlayer( {
                                autoplay : false,
                                src : "../samples-data/examples/vid/amalia01.mp4",
                                controlBar :
                                    {
                                        sticky : true
                                    },
                                plugins :
                                    {
                                        dataServices : [
                                            '../samples-data/examples/json/amalia01-events.json',
                                            '../samples-data/examples/json/amalia01-kf.json',
                                            '../samples-data/examples/json/amalia01-ball.json'
                                        ],
                                        list : [
                                            {
                                                'className' : 'fr.ina.amalia.player.plugins.MetadataListEditorPlugin',
                                                'container' : '#player-list-editor-plugin',
                                                'debug' : true,
                                                'parameters' : {
                                                    defaultDataType : fr.ina.amalia.player.PluginBindingManager.dataTypes.VISUAL_DETECTION,
                                                    defaultAuthor : 'Amalia.js',
                                                    defaultColor : '#2196f3',
                                                    defaultShape : 'car'
                                                }
                                            },
                                            {
                                                'className' : 'fr.ina.amalia.player.plugins.MetadataBlockEditorPlugin',
                                                'container' : '#player-block-editor-plugin',
                                                'debug' : true,
                                                'parameters' : {
                                                }
                                            },
                                            {
                                                'className' : 'fr.ina.amalia.player.plugins.MetadataItemsEditorPlugin',
                                                'container' : '#player-items-editor-plugin',
                                                'debug' : true,
                                                'parameters' : {
                                                }
                                            },
                                            {
                                                'className' : 'fr.ina.amalia.player.plugins.TimelinePlugin',
                                                'container' : '#player_timelinePlugin',
                                                'debug' : false,
                                                'parameters' : {
                                                    editingMode : true,
                                                    displayLines : 3,
                                                    resizable : true,
                                                    lineDisplayMode : fr.ina.amalia.player.plugins.PluginBaseMultiBlocks.METADATA_DISPLAY_TYPE.STATIC_DYNAMIC,//STATIC//STATIC_DYNAMIC//DYNAMIC                           
                                                    listOfLines : [
                                                        {
                                                            title : 'Events',
                                                            type : 'cuepoint',
                                                            metadataId : 'events-amalia01',
                                                            color : '#3CF',
                                                            pointNav : true
                                                        },
                                                        {
                                                            title : 'Ball moving up',
                                                            type : 'segment',
                                                            metadataId : 'ball-amalia01',
                                                            color : '#F00'
                                                        }
                                                    ]
                                                }
                                            }
                                        ]

                                    }
                            } );
                        } );
                    </script>

                </div>
            </div>
            <div class="footer">
                <p>
                    <a href="http://www.institut-national-audiovisuel.fr/en/home"><img class="logo-ina" src="images/logo_ina.jpg" style=" margin-right:10px; width: 32x; height: 32px" />Institut National de l'Audiovisuel - INA</a>© 2015
                </p>
            </div>
        </div>
    </body>
</html>


================================================
FILE: samples/ajs-plugin-overlay.html
================================================
<!DOCTYPE html>
<html>
    <head>
        <title>Amalia.js</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="icon" href="images/favicon.ico">
        <link href="css/default.css" rel="stylesheet">
        <script src="../bower_components/jquery/dist/jquery.js"></script>
        <script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>        
        <script src="../bower_components/raphael/raphael.js"></script>
        <!-- style-player -->        
        <link href="../build/css/amalia.js.min.css" rel="stylesheet">
        <!-- /style-player -->        
        <!-- script-player -->        
        <script src="../build/js/amalia.js.min.js"></script>
        <script src="../build/js/amalia.js-plugin-overlay.min.js"></script>
        <!-- /script-player -->
    </head>
    <body>
        <div class="container">
            <div class="header">
                <h1>Plugin Overlay</h1>  
            </div>
            <div class="content">           
                <div class="demo">
                    <div style="height: 350px;">
                        <div id="defaultPlayer"></div>
                    </div>
                    <script>
                        $( function () {
                            $( "#defaultPlayer" ).mediaPlayer( {
                                autoplay : false,
                                src : "../samples-data/examples/vid/amalia01.mp4",
                                plugins : {
                                    dataServices : [
                                        {
		                                    protocol : "http",
        		                            url : '../samples-data/examples/json/amalia01-overlay.json',
                		                    // format : 'json',
                        		            parameters : {
                                		    	mainLevel : true
                                    		},
                                		}
                                    ],
                                    list : [
                                        {
                                            'className' : 'fr.ina.amalia.player.plugins.OverlayPlugin',
//                                             'metadataId' : 'tracks-amalia01-1',
                                            'parameters' : {
                                            	editable:false,
                                                style : {
                                                    'fill' : '#000',
                                                    'strokeWidth' : 1,
                                                    'stroke' : '#000',
                                                    'fillOpacity' : 0,
                                                    'strokeDasharray' : '- '
                                                }
                                            }
                                        }
                                    ]
                                }
                            } );
                        } );
                    </script>
                    <div>
                        <pre class="config">
                        {
                            'className' : 'fr.ina.amalia.player.plugins.OverlayPlugin',
                            'metadataId' : 'tracks-amalia01-1',
                            'parameters' : {
                                style : {
                                    'fill' : '#000',
                                    'strokeWidth' : 1,
                                    'stroke' : '#000',
                                    'fillOpacity' : 0,
                                    'strokeDasharray' : '- '
                                }
                            }
                        }                 
                        </pre>
                    </div>
                </div>
            </div>
            <div class="footer">
                <p>
                    <a href="http://www.institut-national-audiovisuel.fr/en/home"><img class="logo-ina" src="images/logo_ina.jpg" style=" margin-right:10px; width: 32x; height: 32px" />Institut National de l'Audiovisuel - INA</a>© 2015
                </p>
            </div>
        </div>
    </body>
</html>


================================================
FILE: samples/ajs-plugin-text-sync.html
================================================
<!DOCTYPE html>
<html>
    <head>
        <title>Amalia.js</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="icon" href="images/favicon.ico">
        <link href="css/default.css" rel="stylesheet">
        <script src="../bower_components/jquery/dist/jquery.js"></script>
        <script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>        
        <script src="../bower_components/raphael/raphael.js"></script>
        <!-- style-player -->        
        <link href="../build/css/amalia.js.min.css" rel="stylesheet">
        <!-- /style-player -->        
        <!-- script-player -->        
        <script src="../build/js/amalia.js.min.js"></script>
        <script src="../build/js/amalia.js-plugin-text-sync.min.js"></script>        
        <!-- /script-player -->
    </head>
    <body>
        <div class="container">
            <div class="header">
                <h1>Text synchronization plugin</h1>  
            </div>
            <div class="content">           
                <div class="demo">
                    <div style=" clear: both;">

                        <div style="width: 50%;float: left;">
                            <div style="height: 350px;">
                                <div id="defaultPlayer"></div>
                            </div>
                            <div>
                                <pre class="config">
{
    'className' : 'fr.ina.amalia.player.plugins.TextSyncPlugin',
    'container' : '#myplayer-tsync-tsync',
    'parameters' : {
        metadataId : 'text-amalia01',
        title : 'My title',
        description : 'A description I may have to put here',
        level : 1,
        displayLevel : 1,
        scrollAuto : true
    }
}                 
                                </pre>
                            </div>
                        </div>
                        <div style="width: 50%; float: left;">
                            <div id="text_sync_plugin" style="height: 500px;"></div>
                        </div>
                    </div>

                    <script>
                        $( function () {
                            $( "#defaultPlayer" ).mediaPlayer( {
                                autoplay : false,
                                src : "../samples-data/examples/vid/amalia01.mp4",
                                controlBar :
                                    {
                                        sticky : true
                                    },
                                plugins : {
                                    dataServices : [
                                        '../samples-data/examples/json/amalia01-text.json'
                                    ],
                                    list : [
                                        {
                                            'className' : 'fr.ina.amalia.player.plugins.TextSyncPlugin',
                                            'container' : '#text_sync_plugin',
                                            'parameters' : {
                                                metadataId : 'text-amalia01',
                                                title : 'My title',
                                                description : 'A description I may have to put here',
                                                level : 1,
                                                displayLevel : 1,
                                                scrollAuto : true
                                            }
                                        }
                                    ]
                                }
                            } );
                        } );
                    </script>

                </div>
            </div>
            <div class="footer">
                <p>
                    <a href="http://www.institut-national-audiovisuel.fr/en/home"><img class="logo-ina" src="images/logo_ina.jpg" style=" margin-right:10px; width: 32x; height: 32px" />Institut National de l'Audiovisuel - INA</a>© 2015
                </p>
            </div>
        </div>
    </body>
</html>


================================================
FILE: samples/ajs-plugin-timeline.html
================================================
<!DOCTYPE html>
<html>
    <head>
        <title>Amalia.js</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="icon" href="images/favicon.ico">
        <link href="css/default.css" rel="stylesheet">
        <script src="../bower_components/jquery/dist/jquery.js"></script>
        <script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>        
        <script src="../bower_components/raphael/raphael.js"></script>
        <!-- style-player -->        
        <link href="../build/css/amalia.js.min.css" rel="stylesheet">
        <!-- /style-player -->        
        <!-- script-player -->        
        <script src="../build/js/amalia.js.min.js"></script>
        <script src="../build/js/amalia.js-plugin-timeline.min.js"></script>        
        <!-- /script-player -->
    </head>
    <body>
        <div class="container">
            <div class="header">
                <h1>Plugin timeline</h1>  
            </div>
            <div class="content">           
                <div class="demo">
                    <div style="height: 350px;">
                        <div id="defaultPlayer"></div>
                    </div>
                    <div id="timeline"></div>
                    <script>
                        $( function () {
                            $( "#defaultPlayer" ).mediaPlayer( {
                                autoplay : false,
                                src : "../samples-data/examples/vid/amalia01.mp4",
                                controlBar :
                                    {
                                        sticky : true
                                    },
                                thumbRootDirectory:'../',
                                plugins : {
                                    dataServices : [
                                        '../samples-data/examples/json/amalia01-events.json',
                                        '../samples-data/examples/json/amalia01-kf.json',
                                        '../samples-data/examples/json/amalia01-ball.json'
                                    ],
                                    list : [
                                        {
                                            'className' : 'fr.ina.amalia.player.plugins.TimelinePlugin',
                                            'container' : '#timeline',
                                            'parameters' : {
                                                listOfLines : [
                                                    {
                                                        title : 'Events',
                                                        type : 'cuepoint',
                                                        metadataId : 'events-amalia01',
                                                        color : '#3CF',
                                                        pointNav : true
                                                    },
                                                    {
                                                        title : 'Ball moving up',
                                                        type : 'segment',
                                                        metadataId : 'ball-amalia01',
                                                        color : '#F00'
                                                    },
                                                    {
                                                        title : 'Keyframes every 2s',
                                                        type : 'image',
                                                        metadataId : 'kf-amalia01',
                                                        pointNav : true
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            } );
                        } );
                    </script>
                    <div>
                        <pre class="config">
                        {
                            'className' : 'fr.ina.amalia.player.plugins.WatermarkPlugin',                                                
                            'parameters' :
                                {
                                    backgroundImageUrl : 'images/logo_ina.jpg',
                                    ratio : 50,
                                    placement : 'c',
                                    imageWidth : 300,
                                    imageHeight : 298
                                }
                        }                     
                        </pre>
                    </div>
                </div>
            </div>
            <div class="footer">
                <p>
                    <a href="http://www.institut-national-audiovisuel.fr/en/home"><img class="logo-ina" src="images/logo_ina.jpg" style=" margin-right:10px; width: 32x; height: 32px" />Institut National de l'Audiovisuel - INA</a>© 2015
                </p>
            </div>
        </div>
    </body>
</html>


================================================
FILE: samples/ajs-plugin-watermark.html
================================================
<!DOCTYPE html>
<html>
    <head>
        <title>Amalia.js</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="icon" href="images/favicon.ico">
        <link href="css/default.css" rel="stylesheet">
        <script src="../bower_components/jquery/dist/jquery.js"></script>
        <script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>        
        <script src="../bower_components/raphael/raphael.js"></script>
        <!-- style-player -->        
        <link href="../build/css/amalia.js.min.css" rel="stylesheet">
        <!-- /style-player -->        
        <!-- script-player -->        
        <script src="../build/js/amalia.js.min.js"></script>
        <script src="../build/js/amalia.js-plugin-watermark.min.js"></script>        
        <!-- /script-player -->
    </head>
    <body>
        <div class="container">
            <div class="header">
                <h1>Samples</h1>  
            </div>
            <div class="content">           
                <div class="demo">
                    <div style="height: 350px;">
                        <div id="defaultPlayer"></div>
                    </div>
                    <script>
                        $( function () {
                            $( "#defaultPlayer" ).mediaPlayer( {
                                autoplay : false,
                                src : "../samples-data/examples/vid/amalia01.mp4",
                                controlBar :
                                    {
                                        sticky : true
                                    },
                                plugins : {
                                    dataServices :
                                        [
                                        ],
                                    list :
                                        [
                                            {
                                                'className' : 'fr.ina.amalia.player.plugins.WatermarkPlugin',
                                                'parameters' :
                                                    {
                                                        backgroundImageUrl : 'images/logo_ina.jpg',
                                                        ratio : 50,
                                                        placement : 'c',
                                                        imageWidth : 300,
                                                        imageHeight : 298
                                                    }
                                            }
                                        ]
                                }
                            } );
                        } );
                    </script>
                    <div>
                        <pre class="config">
                        {
                            'className' : 'fr.ina.amalia.player.plugins.WatermarkPlugin',                                                
                            'parameters' :
                                {
                                    backgroundImageUrl : 'images/logo_ina.jpg',
                                    ratio : 50,
                                    placement : 'c',
                                    imageWidth : 300,
                                    imageHeight : 298
                                }
                        }                     
                        </pre>
                    </div>
                </div>
            </div>
            <div class="footer">
                <p>
                    <a href="http://www.institut-national-audiovisuel.fr/en/home"><img class="logo-ina" src="images/logo_ina.jpg" style=" margin-right:10px; width: 32x; height: 32px" />Institut National de l'Audiovisuel - INA</a>© 2015
                </p>
            </div>
        </div>
    </body>
</html>


================================================
FILE: samples/ajs-webfont.html
================================================
<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<title>ajs-webfont</title>
		<style>
		body {
			margin:0;
			padding:10px 20px;
			background:#fff;
			color:#222;
			}
		h1, div, footer {
			font-family:"Helvetica Neue", Arial, sans-serif;
			}
		h1 {
			margin:0 0 20px;
			font-size:32px;
			font-weight:normal;
			}
		.icons {
			margin-bottom:40px;
			-webkit-column-count:5;
			   -moz-column-count:5;
			        column-count:5;
			-webkit-column-gap:20px;
			   -moz-column-gap:20px;
			        column-gap:20px;
			}
		.icons__item,
		.icons__item i {
			line-height:2em;
			cursor:pointer;
			overflow:hidden;
			}
		.icons__item:hover {
			color:#3c90be;
			}
		.icons__item i {
			display:inline-block;
			width:32px;
			text-align:center;
			}
		.icons__item:hover i {
			-webkit-transform:scale(1.5);
			        transform:scale(1.5);
			}
		footer {
			margin-top:40px;
			font-size:14px;
			color:#999;
			}

		/* Generated by grunt-webfont */



@font-face {
	font-family:"ajs-webfont";
	src:url("../src/assets/fonts/ajs-webfont.eot?da2b33fb7481b6e5ffca9457ecddfd8e");
	font-weight:normal;
	font-style:normal;
}
@font-face {
	font-family:"ajs-webfont";
	src:url("../src/assets/fonts/ajs-webfont.eot?da2b33fb7481b6e5ffca9457ecddfd8e");
	src:url("../src/assets/fonts/ajs-webfont.eot?#iefix") format("embedded-opentype"),
		url("data:application/x-font-woff;charset=utf-8;base64,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") format("woff"),
		url("../src/assets/fonts/ajs-webfont.ttf?da2b33fb7481b6e5ffca9457ecddfd8e") format("truetype");
	font-weight:normal;
	font-style:normal;
}

.ajs-icon {
	font-family:"ajs-webfont";
	display:inline-block;
	vertical-align:middle;
	line-height:1;
	font-weight:normal;
	font-style:normal;
	speak:none;
	text-decoration:inherit;
	text-transform:none;
	text-rendering:auto;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}


/* Icons */


.ajs-icon-account:before {
	content:"\f101";
}


.ajs-icon-add-whole-segment:before {
	content:"\f102";
}


.ajs-icon-amalia-js:before {
	content:"\f103";
}


.ajs-icon-arrows-h:before {
	content:"\f104";
}


.ajs-icon-arrows-v:before {
	content:"\f105";
}


.ajs-icon-bell:before {
	content:"\f106";
}


.ajs-icon-building:before {
	content:"\f107";
}


.ajs-icon-caret-right:before {
	content:"\f108";
}


.ajs-icon-cercle:before {
	content:"\f109";
}


.ajs-icon-check:before {
	content:"\f10a";
}


.ajs-icon-chevron-circle-down:before {
	content:"\f10b";
}


.ajs-icon-chevron-circle-left:before {
	content:"\f10c";
}


.ajs-icon-chevron-circle-right:before {
	content:"\f10d";
}


.ajs-icon-chevron-circle-up:before {
	content:"\f10e";
}


.ajs-icon-chevron-down:before {
	content:"\f10f";
}


.ajs-icon-chevron-left:before {
	content:"\f110";
}


.ajs-icon-chevron-right:before {
	content:"\f111";
}


.ajs-icon-chevron-up:before {
	content:"\f112";
}


.ajs-icon-chromecast-active:before {
	content:"\f113";
}


.ajs-icon-chromecast:before {
	content:"\f114";
}


.ajs-icon-circle:before {
	content:"\f115";
}


.ajs-icon-cog:before {
	content:"\f116";
}


.ajs-icon-cogs:before {
	content:"\f117";
}


.ajs-icon-comment:before {
	content:"\f118";
}


.ajs-icon-compress:before {
	content:"\f119";
}


.ajs-icon-control-backward:before {
	content:"\f11a";
}


.ajs-icon-control-fast-forward:before {
	content:"\f11b";
}


.ajs-icon-control-fast-rewind:before {
	content:"\f11c";
}


.ajs-icon-control-forward:before {
	content:"\f11d";
}


.ajs-icon-control-pause:before {
	content:"\f11e";
}


.ajs-icon-control-play:before {
	content:"\f11f";
}


.ajs-icon-control-rewind:before {
	content:"\f120";
}


.ajs-icon-controlbar-compress:before {
	content:"\f121";
}


.ajs-icon-controlbar-fullscreen:before {
	content:"\f122";
}


.ajs-icon-controlbar-pause:before {
	content:"\f123";
}


.ajs-icon-controlbar-play:before {
	content:"\f124";
}


.ajs-icon-controlbar-settings:before {
	content:"\f125";
}


.ajs-icon-controlbar-volume-left-off:before {
	content:"\f126";
}


.ajs-icon-controlbar-volume-left:before {
	content:"\f127";
}


.ajs-icon-controlbar-volume-min:before {
	content:"\f128";
}


.ajs-icon-controlbar-volume-off:before {
	content:"\f129";
}


.ajs-icon-controlbar-volume-right-off:before {
	content:"\f12a";
}


.ajs-icon-controlbar-volume-right:before {
	content:"\f12b";
}


.ajs-icon-controlbar-volume_max:before {
	content:"\f12c";
}


.ajs-icon-controlbar-volume_middle:before {
	content:"\f12d";
}


.ajs-icon-download:before {
	content:"\f12e";
}


.ajs-icon-eject:before {
	content:"\f12f";
}


.ajs-icon-ellipsis-h:before {
	content:"\f130";
}


.ajs-icon-ellipsis-v:before {
	content:"\f131";
}


.ajs-icon-eraser:before {
	content:"\f132";
}


.ajs-icon-expand:before {
	content:"\f133";
}


.ajs-icon-eye-off:before {
	content:"\f134";
}


.ajs-icon-eye-on:before {
	content:"\f135";
}


.ajs-icon-facetime:before {
	content:"\f136";
}


.ajs-icon-female:before {
	content:"\f137";
}


.ajs-icon-github:before {
	content:"\f138";
}


.ajs-icon-information:before {
	content:"\f139";
}


.ajs-icon-jogs-backward-0x:before {
	content:"\f13a";
}


.ajs-icon-jogs-backward-1x:before {
	content:"\f13b";
}


.ajs-icon-jogs-backward-2x:before {
	content:"\f13c";
}


.ajs-icon-jogs-backward-3x:before {
	content:"\f13d";
}


.ajs-icon-jogs-backward-4x:before {
	content:"\f13e";
}


.ajs-icon-jogs-center:before {
	content:"\f13f";
}


.ajs-icon-jogs-fast-backward:before {
	content:"\f140";
}


.ajs-icon-jogs-fast-forward:before {
	content:"\f141";
}


.ajs-icon-jogs-forward-0x:before {
	content:"\f142";
}


.ajs-icon-jogs-forward-1x:before {
	content:"\f143";
}


.ajs-icon-jogs-forward-2x:before {
	content:"\f144";
}


.ajs-icon-jogs-forward-3x:before {
	content:"\f145";
}


.ajs-icon-jogs-forward-4x:before {
	content:"\f146";
}


.ajs-icon-key:before {
	content:"\f147";
}


.ajs-icon-legal:before {
	content:"\f148";
}


.ajs-icon-list-close:before {
	content:"\f149";
}


.ajs-icon-list-open:before {
	content:"\f14a";
}


.ajs-icon-lock-close:before {
	content:"\f14b";
}


.ajs-icon-lock-open:before {
	content:"\f14c";
}


.ajs-icon-male:before {
	content:"\f14d";
}


.ajs-icon-microphone-off:before {
	content:"\f14e";
}


.ajs-icon-microphone-on:before {
	content:"\f14f";
}


.ajs-icon-minus:before {
	content:"\f150";
}


.ajs-icon-music:before {
	content:"\f151";
}


.ajs-icon-picture:before {
	content:"\f152";
}


.ajs-icon-plus:before {
	content:"\f153";
}


.ajs-icon-power:before {
	content:"\f154";
}


.ajs-icon-refresh:before {
	content:"\f155";
}


.ajs-icon-remove:before {
	content:"\f156";
}


.ajs-icon-reorder:before {
	content:"\f157";
}


.ajs-icon-screenshot:before {
	content:"\f158";
}


.ajs-icon-scrubber-cursor:before {
	content:"\f159";
}


.ajs-icon-search:before {
	content:"\f15a";
}


.ajs-icon-sign-in:before {
	content:"\f15b";
}


.ajs-icon-sign-out:before {
	content:"\f15c";
}


.ajs-icon-sort:before {
	content:"\f15d";
}


.ajs-icon-sound-link-off:before {
	content:"\f15e";
}


.ajs-icon-sound-link-on:before {
	content:"\f15f";
}


.ajs-icon-stop:before {
	content:"\f160";
}


.ajs-icon-transcription:before {
	content:"\f161";
}


.ajs-icon-volume-down:before {
	content:"\f162";
}


.ajs-icon-volume-off:before {
	content:"\f163";
}


.ajs-icon-volume-up:before {
	content:"\f164";
}


.ajs-icon-zoom-in:before {
	content:"\f165";
}


.ajs-icon-zoom-out:before {
	content:"\f166";
}

		</style>
	</head>
	<body>
		<h1>ajs-webfont</h1>

		<div class="icons" id="icons">
			
				<div class="icons__item" data-name="account"><i class="ajs-icon ajs-icon-account"></i> ajs-icon-account</div>
			
				<div class="icons__item" data-name="add-whole-segment"><i class="ajs-icon ajs-icon-add-whole-segment"></i> ajs-icon-add-whole-segment</div>
			
				<div class="icons__item" data-name="amalia-js"><i class="ajs-icon ajs-icon-amalia-js"></i> ajs-icon-amalia-js</div>
			
				<div class="icons__item" data-name="arrows-h"><i class="ajs-icon ajs-icon-arrows-h"></i> ajs-icon-arrows-h</div>
			
				<div class="icons__item" data-name="arrows-v"><i class="ajs-icon ajs-icon-arrows-v"></i> ajs-icon-arrows-v</div>
			
				<div class="icons__item" data-name="bell"><i class="ajs-icon ajs-icon-bell"></i> ajs-icon-bell</div>
			
				<div class="icons__item" data-name="building"><i class="ajs-icon ajs-icon-building"></i> ajs-icon-building</div>
			
				<div class="icons__item" data-name="caret-right"><i class="ajs-icon ajs-icon-caret-right"></i> ajs-icon-caret-right</div>
			
				<div class="icons__item" data-name="cercle"><i class="ajs-icon ajs-icon-cercle"></i> ajs-icon-cercle</div>
			
				<div class="icons__item" data-name="check"><i class="ajs-icon ajs-icon-check"></i> ajs-icon-check</div>
			
				<div class="icons__item" data-name="chevron-circle-down"><i class="ajs-icon ajs-icon-chevron-circle-down"></i> ajs-icon-chevron-circle-down</div>
			
				<div class="icons__item" data-name="chevron-circle-left"><i class="ajs-icon ajs-icon-chevron-circle-left"></i> ajs-icon-chevron-circle-left</div>
			
				<div class="icons__item" data-name="chevron-circle-right"><i class="ajs-icon ajs-icon-chevron-circle-right"></i> ajs-icon-chevron-circle-right</div>
			
				<div class="icons__item" data-name="chevron-circle-up"><i class="ajs-icon ajs-icon-chevron-circle-up"></i> ajs-icon-chevron-circle-up</div>
			
				<div class="icons__item" data-name="chevron-down"><i class="ajs-icon ajs-icon-chevron-down"></i> ajs-icon-chevron-down</div>
			
				<div class="icons__item" data-name="chevron-left"><i class="ajs-icon ajs-icon-chevron-left"></i> ajs-icon-chevron-left</div>
			
				<div class="icons__item" data-name="chevron-right"><i class="ajs-icon ajs-icon-chevron-right"></i> ajs-icon-chevron-right</div>
			
				<div class="icons__item" data-name="chevron-up"><i class="ajs-icon ajs-icon-chevron-up"></i> ajs-icon-chevron-up</div>
			
				<div class="icons__item" data-name="chromecast-active"><i class="ajs-icon ajs-icon-chromecast-active"></i> ajs-icon-chromecast-active</div>
			
				<div class="icons__item" data-name="chromecast"><i class="ajs-icon ajs-icon-chromecast"></i> ajs-icon-chromecast</div>
			
				<div class="icons__item" data-name="circle"><i class="ajs-icon ajs-icon-circle"></i> ajs-icon-circle</div>
			
				<div class="icons__item" data-name="cog"><i class="ajs-icon ajs-icon-cog"></i> ajs-icon-cog</div>
			
				<div class="icons__item" data-name="cogs"><i class="ajs-icon ajs-icon-cogs"></i> ajs-icon-cogs</div>
			
				<div class="icons__item" data-name="comment"><i class="ajs-icon ajs-icon-comment"></i> ajs-icon-comment</div>
			
				<div class="icons__item" data-name="compress"><i class="ajs-icon ajs-icon-compress"></i> ajs-icon-compress</div>
			
				<div class="icons__item" data-name="control-backward"><i class="ajs-icon ajs-icon-control-backward"></i> ajs-icon-control-backward</div>
			
				<div class="icons__item" data-name="control-fast-forward"><i class="ajs-icon ajs-icon-control-fast-forward"></i> ajs-icon-control-fast-forward</div>
			
				<div class="icons__item" data-name="control-fast-rewind"><i class="ajs-icon ajs-icon-control-fast-rewind"></i> ajs-icon-control-fast-rewind</div>
			
				<div class="icons__item" data-name="control-forward"><i class="ajs-icon ajs-icon-control-forward"></i> ajs-icon-control-forward</div>
			
				<div class="icons__item" data-name="control-pause"><i class="ajs-icon ajs-icon-control-pause"></i> ajs-icon-control-pause</div>
			
				<div class="icons__item" data-name="control-play"><i class="ajs-icon ajs-icon-control-play"></i> ajs-icon-control-play</div>
			
				<div class="icons__item" data-name="control-rewind"><i class="ajs-icon ajs-icon-control-rewind"></i> ajs-icon-control-rewind</div>
			
				<div class="icons__item" data-name="controlbar-compress"><i class="ajs-icon ajs-icon-controlbar-compress"></i> ajs-icon-controlbar-compress</div>
			
				<div class="icons__item" data-name="controlbar-fullscreen"><i class="ajs-icon ajs-icon-controlbar-fullscreen"></i> ajs-icon-controlbar-fullscreen</div>
			
				<div class="icons__item" data-name="controlbar-pause"><i class="ajs-icon ajs-icon-controlbar-pause"></i> ajs-icon-controlbar-pause</div>
			
				<div class="icons__item" data-name="controlbar-play"><i class="ajs-icon ajs-icon-controlbar-play"></i> ajs-icon-controlbar-play</div>
			
				<div class="icons__item" data-name="controlbar-settings"><i class="ajs-icon ajs-icon-controlbar-settings"></i> ajs-icon-controlbar-settings</div>
			
				<div class="icons__item" data-name="controlbar-volume-left-off"><i class="ajs-icon ajs-icon-controlbar-volume-left-off"></i> ajs-icon-controlbar-volume-left-off</div>
			
				<div class="icons__item" data-name="controlbar-volume-left"><i class="ajs-icon ajs-icon-controlbar-volume-left"></i> ajs-icon-controlbar-volume-left</div>
			
				<div class="icons__item" data-name="controlbar-volume-min"><i class="ajs-icon ajs-icon-controlbar-volume-min"></i> ajs-icon-controlbar-volume-min</div>
			
				<div class="icons__item" data-name="controlbar-volume-off"><i class="ajs-icon ajs-icon-controlbar-volume-off"></i> ajs-icon-controlbar-volume-off</div>
			
				<div class="icons__item" data-name="controlbar-volume-right-off"><i class="ajs-icon ajs-icon-controlbar-volume-right-off"></i> ajs-icon-controlbar-volume-right-off</div>
			
				<div class="icons__item" data-name="controlbar-volume-right"><i class="ajs-icon ajs-icon-controlbar-volume-right"></i> ajs-icon-controlbar-volume-right</div>
			
				<div class="icons__item" data-name="controlbar-volume_max"><i class="ajs-icon ajs-icon-controlbar-volume_max"></i> ajs-icon-controlbar-volume_max</div>
			
				<div class="icons__item" data-name="controlbar-volume_middle"><i class="ajs-icon ajs-icon-controlbar-volume_middle"></i> ajs-icon-controlbar-volume_middle</div>
			
				<div class="icons__item" data-name="download"><i class="ajs-icon ajs-icon-download"></i> ajs-icon-download</div>
			
				<div class="icons__item" data-name="eject"><i class="ajs-icon ajs-icon-eject"></i> ajs-icon-eject</div>
			
				<div class="icons__item" data-name="ellipsis-h"><i class="ajs-icon ajs-icon-ellipsis-h"></i> ajs-icon-ellipsis-h</div>
			
				<div class="icons__item" data-name="ellipsis-v"><i class="ajs-icon ajs-icon-ellipsis-v"></i> ajs-icon-ellipsis-v</div>
			
				<div class="icons__item" data-name="eraser"><i class="ajs-icon ajs-icon-eraser"></i> ajs-icon-eraser</div>
			
				<div class="icons__item" data-name="expand"><i class="ajs-icon ajs-icon-expand"></i> ajs-icon-expand</div>
			
				<div class="icons__item" data-name="eye-off"><i class="ajs-icon ajs-icon-eye-off"></i> ajs-icon-eye-off</div>
			
				<div class="icons__item" data-name="eye-on"><i class="ajs-icon ajs-icon-eye-on"></i> ajs-icon-eye-on</div>
			
				<div class="icons__item" data-name="facetime"><i class="ajs-icon ajs-icon-facetime"></i> ajs-icon-facetime</div>
			
				<div class="icons__item" data-name="female"><i class="ajs-icon ajs-icon-female"></i> ajs-icon-female</div>
			
				<div class="icons__item" data-name="github"><i class="ajs-icon ajs-icon-github"></i> ajs-icon-github</div>
			
				<div class="icons__item" data-name="information"><i class="ajs-icon ajs-icon-information"></i> ajs-icon-information</div>
			
				<div class="icons__item" data-name="jogs-backward-0x"><i class="ajs-icon ajs-icon-jogs-backward-0x"></i> ajs-icon-jogs-backward-0x</div>
			
				<div class="icons__item" data-name="jogs-backward-1x"><i class="ajs-icon ajs-icon-jogs-backward-1x"></i> ajs-icon-jogs-backward-1x</div>
			
				<div class="icons__item" data-name="jogs-backward-2x"><i class="ajs-icon ajs-icon-jogs-backward-2x"></i> ajs-icon-jogs-backward-2x</div>
			
				<div class="icons__item" data-name="jogs-backward-3x"><i class="ajs-icon ajs-icon-jogs-backward-3x"></i> ajs-icon-jogs-backward-3x</div>
			
				<div class="icons__item" data-name="jogs-backward-4x"><i class="ajs-icon ajs-icon-jogs-backward-4x"></i> ajs-icon-jogs-backward-4x</div>
			
				<div class="icons__item" data-name="jogs-center"><i class="ajs-icon ajs-icon-jogs-center"></i> ajs-icon-jogs-center</div>
			
				<div class="icons__item" data-name="jogs-fast-backward"><i class="ajs-icon ajs-icon-jogs-fast-backward"></i> ajs-icon-jogs-fast-backward</div>
			
				<div class="icons__item" data-name="jogs-fast-forward"><i class="ajs-icon ajs-icon-jogs-fast-forward"></i> ajs-icon-jogs-fast-forward</div>
			
				<div class="icons__item" data-name="jogs-forward-0x"><i class="ajs-icon ajs-icon-jogs-forward-0x"></i> ajs-icon-jogs-forward-0x</div>
			
				<div class="icons__item" data-name="jogs-forward-1x"><i class="ajs-icon ajs-icon-jogs-forward-1x"></i> ajs-icon-jogs-forward-1x</div>
			
				<div class="icons__item" data-name="jogs-forward-2x"><i class="ajs-icon ajs-icon-jogs-forward-2x"></i> ajs-icon-jogs-forward-2x</div>
			
				<div class="icons__item" data-name="jogs-forward-3x"><i class="ajs-icon ajs-icon-jogs-forward-3x"></i> ajs-icon-jogs-forward-3x</div>
			
				<div class="icons__item" data-name="jogs-forward-4x"><i class="ajs-icon ajs-icon-jogs-forward-4x"></i> ajs-icon-jogs-forward-4x</div>
			
				<div class="icons__item" data-name="key"><i class="ajs-icon ajs-icon-key"></i> ajs-icon-key</div>
			
				<div class="icons__item" data-name="legal"><i class="ajs-icon ajs-icon-legal"></i> ajs-icon-legal</div>
			
				<div class="icons__item" data-name="list-close"><i class="ajs-icon ajs-icon-list-close"></i> ajs-icon-list-close</div>
			
				<div class="icons__item" data-name="list-open"><i class="ajs-icon ajs-icon-list-open"></i> ajs-icon-list-open</div>
			
				<div class="icons__item" data-name="lock-close"><i class="ajs-icon ajs-icon-lock-close"></i> ajs-icon-lock-close</div>
			
				<div class="icons__item" data-name="lock-open"><i class="ajs-icon ajs-icon-lock-open"></i> ajs-icon-lock-open</div>
			
				<div class="icons__item" data-name="male"><i class="ajs-icon ajs-icon-male"></i> ajs-icon-male</div>
			
				<div class="icons__item" data-name="microphone-off"><i class="ajs-icon ajs-icon-microphone-off"></i> ajs-icon-microphone-off</div>
			
				<div class="icons__item" data-name="microphone-on"><i class="ajs-icon ajs-icon-microphone-on"></i> ajs-icon-microphone-on</div>
			
				<div class="icons__item" data-name="minus"><i class="ajs-icon ajs-icon-minus"></i> ajs-icon-minus</div>
			
				<div class="icons__item" data-name="music"><i class="ajs-icon ajs-icon-music"></i> ajs-icon-music</div>
			
				<div class="icons__item" data-name="picture"><i class="ajs-icon ajs-icon-picture"></i> ajs-icon-picture</div>
			
				<div class="icons__item" data-name="plus"><i class="ajs-icon ajs-icon-plus"></i> ajs-icon-plus</div>
			
				<div class="icons__item" data-name="power"><i class="ajs-icon ajs-icon-power"></i> ajs-icon-power</div>
			
				<div class="icons__item" data-name="refresh"><i class="ajs-icon ajs-icon-refresh"></i> ajs-icon-refresh</div>
			
				<div class="icons__item" data-name="remove"><i class="ajs-icon ajs-icon-remove"></i> ajs-icon-remove</div>
			
				<div class="icons__item" data-name="reorder"><i class="ajs-icon ajs-icon-reorder"></i> ajs-icon-reorder</div>
			
				<div class="icons__item" data-name="screenshot"><i class="ajs-icon ajs-icon-screenshot"></i> ajs-icon-screenshot</div>
			
				<div class="icons__item" data-name="scrubber-cursor"><i class="ajs-icon ajs-icon-scrubber-cursor"></i> ajs-icon-scrubber-cursor</div>
			
				<div class="icons__item" data-name="search"><i class="ajs-icon ajs-icon-search"></i> ajs-icon-search</div>
			
				<div class="icons__item" data-name="sign-in"><i class="ajs-icon ajs-icon-sign-in"></i> ajs-icon-sign-in</div>
			
				<div class="icons__item" data-name="sign-out"><i class="ajs-icon ajs-icon-sign-out"></i> ajs-icon-sign-out</div>
			
				<div class="icons__item" data-name="sort"><i class="ajs-icon ajs-icon-sort"></i> ajs-icon-sort</div>
			
				<div class="icons__item" data-name="sound-link-off"><i class="ajs-icon ajs-icon-sound-link-off"></i> ajs-icon-sound-link-off</div>
			
				<div class="icons__item" data-name="sound-link-on"><i class="ajs-icon ajs-icon-sound-link-on"></i> ajs-icon-sound-link-on</div>
			
				<div class="icons__item" data-name="stop"><i class="ajs-icon ajs-icon-stop"></i> ajs-icon-stop</div>
			
				<div class="icons__item" data-name="transcription"><i class="ajs-icon ajs-icon-transcription"></i> ajs-icon-transcription</div>
			
				<div class="icons__item" data-name="volume-down"><i class="ajs-icon ajs-icon-volume-down"></i> ajs-icon-volume-down</div>
			
				<div class="icons__item" data-name="volume-off"><i class="ajs-icon ajs-icon-volume-off"></i> ajs-icon-volume-off</div>
			
				<div class="icons__item" data-name="volume-up"><i class="ajs-icon ajs-icon-volume-up"></i> ajs-icon-volume-up</div>
			
				<div class="icons__item" data-name="zoom-in"><i class="ajs-icon ajs-icon-zoom-in"></i> ajs-icon-zoom-in</div>
			
				<div class="icons__item" data-name="zoom-out"><i class="ajs-icon ajs-icon-zoom-out"></i> ajs-icon-zoom-out</div>
			
		</div>

		

		<h1>Usage</h1>
		<pre><code>&lt;i class=&quot;ajs-icon ajs-icon-<span id="name">name</span>&quot;&gt;&lt;/i&gt;</code></pre>
		

		<footer>Generated by <a href="https://github.com/sapegin/grunt-webfont">grunt-webfont</a>.</footer>

		<script>
		(function() {
			document.getElementById('icons').onclick = function(e) {
				e = e || window.event;
				var name = e.target.getAttribute('data-name') || e.target.parentNode.getAttribute('data-name');
				document.getElementById('name').innerHTML = name;
				document.getElementById('name2').innerHTML = name;
			}
		})();
		</script>
	</body>
</html>


================================================
FILE: samples/css/amalia-js-demo.css
================================================
.header {
    margin-top: 80px;
    text-align: center;
}

.page-footer {
    margin-bottom: 0px;
    padding: 20px;
    margin-top: 40px
}

h1.title {
    margin-top: 25px;
    padding: 0px;
    padding-bottom: 0px;
    font-weight: bold;
    font-size: 40px;
    border-bottom: 1px solid #eaeaea;
}

h3.title {
    margin-top: 40px;
    margin-bottom: 20px;
    font-weight: 500;
    border-bottom: #eee solid 1px;
    padding-bottom: 10px;
    margin-left: 10px;
}

h4.title {

}

.smallpre {
    font-size: 12px;
}

.navbar .nav>li>a {
    font-size: 14px;
    line-height: 22px;
    font-weight: 500;
    text-transform: uppercase;
}

.navbar-brand {
    font-size: 24px;
}

.contact h1.title {
    margin-top: 0px;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
    font-weight: bold;
}

.navbar-header .navbar-brand {
    background-image: url(images/amalia_Logo-unique-white-mini.png);
    background-repeat: no-repeat;
    padding-left: 55px;
    background-position: center left;
}

.docssidebar {
    top: 100px;
}
.download-version-text
{
    min-height: 120px;
}



================================================
FILE: samples/css/default.css
================================================
a {
    color: #008cba;
    text-decoration: none;
}
a {
    background-color: transparent;
}
* {
    -webkit-box-sizing: none;
    -moz-box-sizing: none;
    box-sizing: none;
}
body
{
    font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.container
{
    box-sizing: border-box;
    color: rgb(34, 34, 34);
    display: block;
    font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 21px;
    padding-left: 15px;
    padding-right: 15px;
}
h1.title
{
    border-bottom-color: rgb(234, 234, 234);
    border-bottom-style: solid;
    border-bottom-width: 1px;
    box-sizing: border-box;
    color: rgb(34, 34, 34);
    display: block;
    font-size: 40px;
    font-weight: bold;
    height: 45px;
    line-height: 44px;
    margin-bottom: 10.5px;
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 25px;
    padding-bottom: 0px;
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px;    
}



pre.config 
{
    display: block;
    padding: 9.5px;
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.42857143;
    word-break: break-all;
    word-wrap: break-word;
    color: #333;
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.footer
{
    clear: both;
}

================================================
FILE: samples-data/examples/json/amalia-simple01.json
================================================
{
    "localisation": [
        {
            "sublocalisations": {
                "localisation": [
                    {
                        "label": "A demo label !",
                        "tc": "00:00:30.0000",
                        "tclevel": 1
                    }
                ]
            },
            "type": "fake",
            "tcin": "00:00:00.0000",
            "tcout": "00:01:00.0000",
            "tclevel": 0
        }
    ],
    "id": "amalia-simple01",
    "type": "fake",
    "algorithm": "demo-json-generator",
    "processor": "Ina Research Department - N. HERVE",
    "processed": 1418900533632,
    "version": 1
}

================================================
FILE: samples-data/examples/json/amalia01-ball.json
================================================
{
    "localisation": [
        {
            "sublocalisations": {
                "localisation": [
                    {
                        "tcin": "00:00:01.6800",
                        "tcout": "00:00:03.3600",
                        "tclevel": 1
                    },
                    {
                        "tcin": "00:00:05.0400",
                        "tcout": "00:00:06.7200",
                        "tclevel": 1
                    },
                    {
                        "tcin": "00:00:08.4000",
                        "tcout": "00:00:10.0800",
                        "tclevel": 1
                    }
                ]
            },
            "type": "segments",
            "tcin": "00:00:00.0000",
            "tcout": "00:00:15.0000",
            "tclevel": 0
        }
    ],
    "id": "ball-amalia01",
    "type": "segments",
    "algorithm": "demo-video-generator",
    "processor": "Ina Research Department - N. HERVE",
    "processed": 1421141589286,
    "version": 1
}

================================================
FILE: samples-data/examples/json/amalia01-events.json
================================================
{
    "localisation": [
        {
            "sublocalisations": {
                "localisation": [
                    {
                        "label": "Start",
                        "tc": "00:00:01.6800",
                        "tclevel": 1
                    },
                    {
                        "label": "Ping",
                        "tc": "00:00:03.3600",
                        "tclevel": 1
                    },
                    {
                        "label": "Ping",
                        "tc": "00:00:05.0400",
                        "tclevel": 1
                    },
                    {
                        "label": "Ping",
                        "tc": "00:00:06.7200",
                        "tclevel": 1
                    },
                    {
                        "label": "Ping",
                        "tc": "00:00:08.4000",
                        "tclevel": 1
                    },
                    {
                        "label": "Ping",
                        "tc": "00:00:10.0800",
                        "tclevel": 1
                    },
                    {
                        "label": "Pop",
                        "tc": "00:00:12.0000",
                        "tclevel": 1
                    }
                ]
            },
            "type": "events",
            "tcin": "00:00:00.0000",
            "tcout": "00:00:15.0000",
            "tclevel": 0
        }
    ],
    "id": "events-amalia01",
    "type": "events",
    "algorithm": "demo-video-generator",
    "processor": "Ina Research Department - N. HERVE",
    "processed": 1421141589279,
    "version": 1
}

================================================
FILE: samples-data/examples/json/amalia01-kf.json
================================================
{
    "localisation": [
        {
            "sublocalisations": {
                "localisation": [
                    {
                        "thumb": "samples-data/examples/kf/amalia01/f_25.jpg",
                        "tc": "00:00:01.0000",
                        "tclevel": 1
                    },
                    {
                        "thumb": "samples-data/examples/kf/amalia01/f_75.jpg",
                        "tc": "00:00:03.0000",
                        "tclevel": 1
                    },
                    {
                        "thumb": "samples-data/examples/kf/amalia01/f_125.jpg",
                        "tc": "00:00:05.0000",
                        "tclevel": 1
                    },
                    {
                        "thumb": "samples-data/examples/kf/amalia01/f_175.jpg",
                        "tc": "00:00:07.0000",
                        "tclevel": 1
                    },
                    {
                        "thumb": "samples-data/examples/kf/amalia01/f_225.jpg",
                        "tc": "00:00:09.0000",
                        "tclevel": 1
                    },
                    {
                        "thumb": "samples-data/examples/kf/amalia01/f_275.jpg",
                        "tc": "00:00:11.0000",
                        "tclevel": 1
                    },
                    {
                        "thumb": "samples-data/examples/kf/amalia01/f_325.jpg",
                        "tc": "00:00:13.0000",
                        "tclevel": 1
                    }
                ]
            },
            "type": "keyframes",
            "tcin": "00:00:00.0000",
            "tcout": "00:00:15.0000",
            "tclevel": 0
        }
    ],
    "id": "kf-amalia01",
    "type": "keyframes",
    "algorithm": "demo-video-generator",
    "processor": "Ina Research Department - N. HERVE",
    "processed": 1421141589291,
    "version": 1
}

================================================
FILE: samples-data/examples/json/amalia01-overlay.json
================================================
{
  "localisation": [
    {
      "sublocalisations": {
        "localisation": [
          {
            "shape": {
              "t": "rectangle",
              "c": {
                "x": 0.2,
                "y": 0.5
              },
              "rx": 0.03654970760233918,
              "ry": 0.06510416666666667,
              "o": 0.0
            },
            "tc": "00:00:00.0000",
            "tclevel": 1
          },
          {
            "shape": {
              "t": "rectangle",
              "c": {
                "x": 0.2,
                "y": 0.5
              },
              "rx": 0.03654970760233918,
              "ry": 0.06510416666666667,
              "o": 0.0
            },
            "tc": "00:00:01.6800",
            "tclevel": 1
          },
          {
            "shape": {
              "t": "rectangle",
              "c": {
                "x": 0.2857142857142857,
                "y": 0.3
              },
              "rx": 0.03654970760233918,
              "ry": 0.06510416666666667,
              "o": 0.0
            },
            "tc": "00:00:03.3600",
            "tclevel": 1
          },
          {
            "shape": {
              "t": "rectangle",
              "c": {
                "x": 0.37142857142857144,
                "y": 0.7
              },
              "rx": 0.03654970760233918,
              "ry": 0.06510416666666667,
              "o": 0.0
            },
            "tc": "00:00:05.0400",
            "tclevel": 1
          },
          {
            "shape": {
              "t": "rectangle",
              "c": {
                "x": 0.4571428571428572,
                "y": 0.3
              },
              "rx": 0.03654970760233918,
              "ry": 0.06510416666666667,
              "o": 0.0
            },
            "tc": "00:00:06.7200",
            "tclevel": 1
          },
          {
            "shape": {
              "t": "rectangle",
              "c": {
                "x": 0.5428571428571429,
                "y": 0.7
              },
              "rx": 0.03654970760233918,
              "ry": 0.06510416666666667,
              "o": 0.0
            },
            "tc": "00:00:08.4000",
            "tclevel": 1
          },
          {
            "shape": {
              "t": "rectangle",
              "c": {
                "x": 0.6285714285714287,
                "y": 0.3
              },
              "rx": 0.03654970760233918,
              "ry": 0.06510416666666667,
              "o": 0.0
            },
            "tc": "00:00:10.0800",
            "tclevel": 1
          },
          {
            "shape": {
              "t": "rectangle",
              "c": {
                "x": 0.7142857142857144,
                "y": 0.7
              },
              "rx": 0.03654970760233918,
              "ry": 0.06510416666666667,
              "o": 0.0
            },
            "tc": "00:00:12.0000",
            "tclevel": 1
          }
        ]
      },
      "label": "EllipseWithBoudingBox-1",
      "tcin": "00:00:00.0000",
      "tcout": "00:00:12.0000",
      "tclevel": 0
    }
  ],
  "id": "track-amalia01-1",
  "type": "visual_tracking",
  "algorithm": "demo-video-generator",
  "processor": "Ina Research Department - N. HERVE",
  "processed": 1432288449928,
  "version": 1
}


================================================
FILE: samples-data/examples/json/amalia01-text.json
================================================
{
    "localisation": [
        {
            "sublocalisations": {
                "localisation": [
                    {
                        "data": {
                            "text": [
                                "<b>This</b> is a demonstration video"
                            ]
                        },
                        "tcin": "00:00:00.0000",
                        "tcout": "00:00:01.6800",
                        "tclevel": 1
                    },
                    {
                        "data": {
                            "text": [
                                "with a red ball"
                            ]
                        },
                        "tcin": "00:00:01.6800",
                        "tcout": "00:00:03.3600",
                        "tclevel": 1
                    },
                    {
                        "data": {
                            "text": [
                                "ping"
                            ]
                        },
                        "tcin": "00:00:03.3600",
                        "tcout": "00:00:05.0400",
                        "tclevel": 1
                    },
                    {
                        "data": {
                            "text": [
                                "pong"
                            ]
                        },
                        "tcin": "00:00:05.0400",
                        "tcout": "00:00:06.7200",
                        "tclevel": 1
                    },
                    {
                        "data": {
                            "text": [
                                "ping"
                            ]
                        },
                        "tcin": "00:00:06.7200",
                        "tcout": "00:00:08.4000",
                        "tclevel": 1
                    },
                    {
                        "data": {
                            "text": [
                                "pong"
                            ]
                        },
                        "tcin": "00:00:08.4000",
                        "tcout": "00:00:10.0800",
                        "tclevel": 1
                    },
                    {
                        "data": {
                            "text": [
                                "ping"
                            ]
                        },
                        "tcin": "00:00:10.0800",
                        "tcout": "00:00:12.0000",
                        "tclevel": 1
                    },
                    {
                        "data": {
                            "text": [
                                "... the ball has disappeared !"
                            ]
                        },
                        "tcin": "00:00:12.0000",
                        "tcout": "00:00:15.0000",
                        "tclevel": 1
                    }
                ]
            },
            "type": "text",
            "tcin": "00:00:00.0000",
            "tcout": "00:00:15.0000",
            "tclevel": 0
        }
    ],
    "id": "text-amalia01",
    "type": "text",
    "algorithm": "demo-video-generator",
    "processor": "Ina Research Department - N. HERVE",
    "processed": 1421141589288,
    "version": 1
}

================================================
FILE: src/.jshintrc
================================================
{
  "curly": true,
  "eqeqeq": true,
  "immed": true,
  "latedef": true,
  "newcap": true,
  "noarg": true,
  "sub": true,
  "undef": true,
  "unused": true,
  "boss": true,
  "eqnull": true,
  "browser": true,
  "predef": [
    "jQuery",
    "$",
    "fr",
    "google",
    "_PlayerAmaliaVersion_",
    "_PlayerAmaliaHomepage_",
    "Raphael",
    "MediaPlayer",
    "Dash",
    "AudioContext",
    "YT",
    "chrome",
    "d3",
    "nv"
  ]
}


================================================
FILE: src/LICENSE
================================================
Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


================================================
FILE: src/THIRD_PARTY_LICENSES
================================================
Third-Party Licenses : 
	-jQuery : easy DOM manipulation framework, MIT license, http://jquery.com        
	-jQueryClass : simulated inheritance in javascript, MIT license, http://v3.javascriptmvc.com/docs/jQuery.Class.html#&who=jQuery.Class
	-jQueryUI : user interface stuff on top of jQuery, MIT license, http://jqueryui.com
	-jQueryUI Touch Punch : touch event support for jQuery UI, MIT or GPL Version 2 licenses, http://touchpunch.furf.com
	-jQuery knob : a knob for jQuery,MIT or GPL licenses, http://anthonyterrien.com/knob
	-Raphaël : a vector graphics Javascript library, MIT License, http://raphaeljs.com
	-Bootstrap : responsive design library, MIT License, http://getbootstrap.com
	-Font Awesome : iconic font, MIT License , http://fortawesome.github.io/Font-Awesome/

================================================
FILE: src/assets/fonts/ajs-webfont.afm
================================================
StartFontMetrics 2.0
Comment Generated by FontForge 20090622
Comment Creation Date: Thu Jul  2 11:16:15 2015
FontName ajs-webfont
FullName ajs-webfont
FamilyName ajs-webfont
Weight Medium
Notice ()
ItalicAngle 0
IsFixedPitch true
UnderlinePosition -51.2
UnderlineThickness 25.6
Version 001.000
EncodingScheme ISO10646-1
FontBBox 0 -109 1000 876
Descender -2147483648
StartCharMetrics 98
C -1 ; WX 1000 ; N uniF101 ; B 127 156 898 805 ;
C -1 ; WX 1000 ; N uniF102 ; B 260 88 740 662 ;
C -1 ; WX 1000 ; N uniF103 ; B 162 416 838 658 ;
C -1 ; WX 1000 ; N uniF104 ; B 379 199 621 875 ;
C -1 ; WX 1000 ; N uniF105 ; B 186 199 814 876 ;
C -1 ; WX 1000 ; N uniF106 ; B 234 199 766 875 ;
C -1 ; WX 1000 ; N uniF107 ; B 391 343 609 731 ;
C -1 ; WX 1000 ; N uniF108 ; B 207 312 793 762 ;
C -1 ; WX 1000 ; N uniF109 ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF10A ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF10B ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF10C ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF10D ; B 206 351 794 723 ;
C -1 ; WX 1000 ; N uniF10E ; B 314 243 686 831 ;
C -1 ; WX 1000 ; N uniF10F ; B 314 243 686 831 ;
C -1 ; WX 1000 ; N uniF110 ; B 206 351 794 723 ;
C -1 ; WX 1000 ; N uniF111 ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF112 ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF113 ; B 137 204 863 870 ;
C -1 ; WX 1000 ; N uniF114 ; B 162 247 838 827 ;
C -1 ; WX 1000 ; N uniF115 ; B 215 252 785 822 ;
C -1 ; WX 1000 ; N uniF116 ; B 209 246 791 828 ;
C -1 ; WX 1000 ; N uniF117 ; B 162 246 838 828 ;
C -1 ; WX 1000 ; N uniF118 ; B 162 246 838 828 ;
C -1 ; WX 1000 ; N uniF119 ; B 209 246 791 828 ;
C -1 ; WX 1000 ; N uniF11A ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF11B ; B 234 244 766 830 ;
C -1 ; WX 1000 ; N uniF11C ; B 306 246 694 828 ;
C -1 ; WX 1000 ; N uniF11D ; B 109 -18 892 765 ;
C -1 ; WX 1000 ; N uniF11E ; B 106 -18 888 765 ;
C -1 ; WX 1000 ; N uniF11F ; B 60 -69 941 812 ;
C -1 ; WX 1000 ; N uniF120 ; B 55 -68 935 813 ;
C -1 ; WX 1000 ; N uniF121 ; B 104 -23 897 770 ;
C -1 ; WX 1000 ; N uniF122 ; B 43 118 859 819 ;
C -1 ; WX 1000 ; N uniF123 ; B 141 106 856 807 ;
C -1 ; WX 1000 ; N uniF124 ; B 148 118 862 819 ;
C -1 ; WX 1000 ; N uniF125 ; B 74 119 927 820 ;
C -1 ; WX 1000 ; N uniF126 ; B 148 118 958 819 ;
C -1 ; WX 1000 ; N uniF127 ; B 141 112 856 813 ;
C -1 ; WX 1000 ; N uniF128 ; B 15 113 986 819 ;
C -1 ; WX 1000 ; N uniF129 ; B 76 115 917 817 ;
C -1 ; WX 1000 ; N uniF12A ; B 186 247 814 827 ;
C -1 ; WX 1000 ; N uniF12B ; B 209 294 791 780 ;
C -1 ; WX 1000 ; N uniF12C ; B 427 271 573 803 ;
C -1 ; WX 1000 ; N uniF12D ; B 234 464 766 610 ;
C -1 ; WX 1000 ; N uniF12E ; B 137 295 863 779 ;
C -1 ; WX 1000 ; N uniF12F ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF130 ; B 162 283 838 791 ;
C -1 ; WX 1000 ; N uniF131 ; B 162 319 838 755 ;
C -1 ; WX 1000 ; N uniF132 ; B 162 295 838 779 ;
C -1 ; WX 1000 ; N uniF133 ; B 258 205 742 869 ;
C -1 ; WX 1000 ; N uniF134 ; B 210 254 790 820 ;
C -1 ; WX 1000 ; N uniF135 ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF136 ; B 0 0 0 0 ;
C -1 ; WX 1000 ; N uniF137 ; B 760 360 887 594 ;
C -1 ; WX 1000 ; N uniF138 ; B 595 306 906 610 ;
C -1 ; WX 1000 ; N uniF139 ; B 345 247 887 708 ;
C -1 ; WX 1000 ; N uniF13A ; B 114 190 887 760 ;
C -1 ; WX 1000 ; N uniF13B ; B 162 27 860 401 ;
C -1 ; WX 1000 ; N uniF13C ; B 113 190 906 760 ;
C -1 ; WX 1000 ; N uniF13D ; B 111 207 904 777 ;
C -1 ; WX 1000 ; N uniF13E ; B 111 204 882 774 ;
C -1 ; WX 1000 ; N uniF13F ; B 111 372 238 606 ;
C -1 ; WX 1000 ; N uniF140 ; B 111 337 422 641 ;
C -1 ; WX 1000 ; N uniF141 ; B 111 259 652 720 ;
C -1 ; WX 1000 ; N uniF142 ; B 111 207 884 777 ;
C -1 ; WX 1000 ; N uniF143 ; B 21 -45 975 818 ;
C -1 ; WX 1000 ; N uniF144 ; B 173 210 827 864 ;
C -1 ; WX 1000 ; N uniF145 ; B 75 207 913 788 ;
C -1 ; WX 1000 ; N uniF146 ; B 71 214 908 795 ;
C -1 ; WX 1000 ; N uniF147 ; B 282 271 718 803 ;
C -1 ; WX 1000 ; N uniF148 ; B 186 271 814 803 ;
C -1 ; WX 1000 ; N uniF149 ; B 306 205 694 869 ;
C -1 ; WX 1000 ; N uniF14A ; B 239 223 761 851 ;
C -1 ; WX 1000 ; N uniF14B ; B 282 223 718 851 ;
C -1 ; WX 1000 ; N uniF14C ; B 234 464 766 610 ;
C -1 ; WX 1000 ; N uniF14D ; B 210 223 790 851 ;
C -1 ; WX 1000 ; N uniF14E ; B 137 247 863 827 ;
C -1 ; WX 1000 ; N uniF14F ; B 234 271 766 803 ;
C -1 ; WX 1000 ; N uniF150 ; B 210 223 790 851 ;
C -1 ; WX 1000 ; N uniF151 ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF152 ; B 275 312 725 762 ;
C -1 ; WX 1000 ; N uniF153 ; B 210 295 790 779 ;
C -1 ; WX 1000 ; N uniF154 ; B 176 335 824 771 ;
C -1 ; WX 1000 ; N uniF155 ; B 16 -109 984 859 ;
C -1 ; WX 1000 ; N uniF156 ; B 186 223 814 851 ;
C -1 ; WX 1000 ; N uniF157 ; B 210 295 790 779 ;
C -1 ; WX 1000 ; N uniF158 ; B 204 295 796 779 ;
C -1 ; WX 1000 ; N uniF159 ; B 306 271 694 803 ;
C -1 ; WX 1000 ; N uniF15A ; B 0 323 1000 875 ;
C -1 ; WX 1000 ; N uniF15B ; B 0 645 1000 876 ;
C -1 ; WX 1000 ; N uniF15C ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF15D ; B 11 -105 986 858 ;
C -1 ; WX 1000 ; N uniF15E ; B 282 307 718 767 ;
C -1 ; WX 1000 ; N uniF15F ; B 355 307 645 767 ;
C -1 ; WX 1000 ; N uniF160 ; B 186 268 814 806 ;
C -1 ; WX 1000 ; N uniF161 ; B 186 223 814 851 ;
C -1 ; WX 1000 ; N uniF162 ; B 186 223 814 851 ;
EndCharMetrics
EndFontMetrics


================================================
FILE: src/assets/less/ajs-animations.less
================================================
/**
 * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA
 *
 * This file is part of amalia.js
 *
 * Amalia.js is free software: you can redistribute it and/or modify it under
 * the terms of the MIT License
 *
 * Redistributions of source code, javascript and css minified versions must
 * retain the above copyright notice, this list of conditions and the following
 * disclaimer
 *
 * Neither the name of the copyright holder nor the names of its contributors
 * may be used to endorse or promote products derived from this software without
 * specific prior written permission
 *
 * You should have received a copy of the MIT License along with
 * amalia.js. If not, see <https://opensource.org/license/mit/>
 *
 * Amalia.js is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 * A PARTICULAR PURPOSE.
 */
@keyframes ajs-hatch {
  0% {
    transform: rotate(0deg) scaleY(0.6);
  }
  20% {
    transform: rotate(-2deg) scaleY(1.05);
  }
  35% {
    transform: rotate(2deg) scaleY(1);
  }
  50% {
    transform: rotate(-2deg);
  }
  65% {
    transform: rotate(1deg);
  }
  80% {
    transform: rotate(-1deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

@-webkit-keyframes ajs-hatch {
  0% {
    -webkit-transform: rotate(0deg) scaleY(0.6);
  }
  20% {
    -webkit-transform: rotate(-2deg) scaleY(1.05);
  }
  35% {
    -webkit-transform: rotate(2deg) scaleY(1);
  }
  50% {
    -webkit-transform: rotate(-2deg);
  }
  65% {
    -webkit-transform: rotate(1deg);
  }
  80% {
    -webkit-transform: rotate(-1deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
  }
}

@keyframes ajs-bounce {
  0% {
    transform: translateY(0%) scaleY(0.6);
  }
  60% {
    transform: translateY(-100%) scaleY(1.1);
  }
  70% {
    transform: translateY(0%) scaleY(0.95) scaleX(1.05);
  }
  80% {
    transform: translateY(0%) scaleY(1.05) scaleX(1);
  }
  90% {
    transform: translateY(0%) scaleY(0.95) scaleX(1);
  }
  100% {
    transform: translateY(0%) scaleY(1) scaleX(1);
  }
}

@-webkit-keyframes ajs-bounce {
  0% {
    -webkit-transform: translateY(0%) scaleY(0.6);
  }
  60% {
    -webkit-transform: translateY(-100%) scaleY(1.1);
  }
  70% {
    -webkit-transform: translateY(0%) scaleY(0.95) scaleX(1.05);
  }
  80% {
    -webkit-transform: translateY(0%) scaleY(1.05) scaleX(1);
  }
  90% {
    -webkit-transform: translateY(0%) scaleY(0.95) scaleX(1);
  }
  100% {
    -webkit-transform: translateY(0%) scaleY(1) scaleX(1);
  }
}

@keyframes ajs-pulse {
  0% {
    transform: scale(0.9);
    opacity: 0.7;
  }
  50% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(0.9);
    opacity: 0.7;
  }
}

@-webkit-keyframes ajs-pulse {
  0% {
    -webkit-transform: scale(0.95);
    opacity: 0.7;
  }
  50% {
    -webkit-transform: scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0.95);
    opacity: 0.7;
  }
}

================================================
FILE: src/assets/less/ajs-webfont.less
================================================
/**
 * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA
 *
 * This file is part of amalia.js
 *
 * Amalia.js is free software: you can redistribute it and/or modify it under
 * the terms of the MIT License
 *
 * Redistributions of source code, javascript and css minified versions must
 * retain the above copyright notice, this list of conditions and the following
 * disclaimer
 *
 * Neither the name of the copyright holder nor the names of its contributors
 * may be used to endorse or promote products derived from this software without
 * specific prior written permission
 *
 * You should have received a copy of the MIT License along with
 * amalia.js. If not, see <https://opensource.org/license/mit/>
 *
 * Amalia.js is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 * A PARTICULAR PURPOSE.
 */

@font-face {
  font-family: "ajs-webfont";
  src: url("../fonts/ajs-webfont.eot?93a8957d9da533b23877909fab6d8fc2");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "ajs-webfont";
  src: url("../fonts/ajs-webfont.eot?93a8957d9da533b23877909fab6d8fc2");
  src: url("../fonts/ajs-webfont.eot?#iefix") format("embedded-opentype"),
  url("data:application/x-font-woff;charset=utf-8;base64,gAEwAwAAJSFQUy1BZG9iZUZvbnQtMS4wOiBhanMtd2ViZm9udCAwMDEuMDAwCiUlVGl0bGU6IGFqcy13ZWJmb250CiVWZXJzaW9uOiAwMDEuMDAwCiUlQ3JlYXRpb25EYXRlOiBUaHUgSnVsICAyIDExOjE2OjE1IDIwMTUKJSVDcmVhdG9yOiByb290CiUgMjAxNS03LTI6IENyZWF0ZWQuCiUgR2VuZXJhdGVkIGJ5IEZvbnRGb3JnZSAyMDA5MDYyMiAoaHR0cDovL2ZvbnRmb3JnZS5zZi5uZXQvKQolJUVuZENvbW1lbnRzCgoxMCBkaWN0IGJlZ2luCi9Gb250VHlwZSAxIGRlZgovRm9udE1hdHJpeCBbMC4wMDE5NTMxMiAwIDAgMC4wMDE5NTMxMiAwIDAgXXJlYWRvbmx5IGRlZgovRm9udE5hbWUgL2Fqcy13ZWJmb250IGRlZgovRm9udEJCb3ggezAgLTU2IDUxMiA0NDkgfXJlYWRvbmx5IGRlZgovUGFpbnRUeXBlIDAgZGVmCi9Gb250SW5mbyAxMSBkaWN0IGR1cCBiZWdpbgogL3ZlcnNpb24gKDAwMS4wMDApIHJlYWRvbmx5IGRlZgogL05vdGljZSAoKSByZWFkb25seSBkZWYKIC9GdWxsTmFtZSAoYWpzLXdlYmZvbnQpIHJlYWRvbmx5IGRlZgogL0ZhbWlseU5hbWUgKGFqcy13ZWJmb250KSByZWFkb25seSBkZWYKIC9XZWlnaHQgKE1lZGl1bSkgcmVhZG9ubHkgZGVmCiAvRlNUeXBlIDAgZGVmCiAvSXRhbGljQW5nbGUgMCBkZWYKIC9pc0ZpeGVkUGl0Y2ggdHJ1ZSBkZWYKIC9VbmRlcmxpbmVQb3NpdGlvbiAtNTEuMiBkZWYKIC9VbmRlcmxpbmVUaGlja25lc3MgMjUuNiBkZWYKIC9hc2NlbnQgNDQ4IGRlZgplbmQgcmVhZG9ubHkgZGVmCi9FbmNvZGluZyBTdGFuZGFyZEVuY29kaW5nIGRlZgpjdXJyZW50ZGljdCBlbmQKY3VycmVudGZpbGUgZWV4ZWMKgAJTiAAAdD+EE/NjbKhan/77ULS7JzAqWmP5MohOGL9RU602BTA30cbNBClK9qNWEtuRCKyFFMtcSoRplxt1oJ+eZiBosGhUkOqMc/Le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VmGAWOxyl57FnCwoyDsUwdPoxKviD1PIpindSxH3cCWlvpiPPGCOKzJ+D0g5Y9dCSQVQPyuijuHG4HqG0fJHOlO9P0SlzxXe7jWYhGDWdu5lkFeflsSDl/mb2+PvTduaKo6x0+Ocu6KTSWQwAkswAZG7llmCILjPkJu/kDfnYFUETtVzeT4unx0ZMM4FmZG387n6IhOqAIX7fDKUHQe8LuQx6EfKGZpOBmzG8hyiuL/NXnbNapKHaDh4/6k6h0x0TztFEa7gytWMNN48OsnQjgPXIdOu8aXYeu/w5AeIp8kmpkJsU6KL3FrtRCVQTvNEgVxsFQy6sFddxvd6QBQQyW6GmIIcSsdsnG43qCkQIU1zcnwJ8izGQU4X+M706LVLCOLhiwrRt72Fsl1E/5NNvSm1enKvgW6oMi+CiR2W/iejx8YX7Dd1lvcb8dyOi0uJhK+e8smf2JTjNjM1zpmYz5eDEE6bO/+q4J/YKMiBFGzJdUCrpMICXYv/WnV0VeuAEGYvH00uP+bz4PD+6Gx6CRVGFq7Jd/GzRby0p4hSqoyQm/T0Ybapj0KuySwKYsq/zaVmyJYdHkPVMfyoDIsYK3c308ETrGeKDM2WuI3TrCvMqvCfZ62fKH4Z0nqzG1JztS8gBdWEiKMu2EXJMK2oKAZEEObj2/qq+bznG4nx1pkW2rVI1QxIcWuDOVZRMrIdkfDAl9V5TfAUF9O94rpNKEnR4XbLvQzTYGqXA2Zay2OkeoVP1wC6owsCJXKBok3SPentiOa8Mc2itEziS7dgCYptC6agDL5mZumspcWquWErvTu5g/v3iS9fV7QwmNzQaguPgAEVAgAACjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAowMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAowMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApjbGVhcnRvbWFyawqAAw==") format("woff"),
  url("../fonts/ajs-webfont.ttf?93a8957d9da533b23877909fab6d8fc2") format("truetype");
  font-weight: normal;
  font-style: normal;
}

.ajs-icon {
  font-family: "ajs-webfont";
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  speak: none;
  text-decoration: inherit;
  text-transform: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

// Icons

.ajs-icon-add-whole-segment() {
  &:before {
    content: "\f101";
  }

}

.ajs-icon-add-whole-segment {
  .ajs-icon-add-whole-segment();
}

.ajs-icon-amalia-js() {
  &:before {
    content: "\f102";
  }

}

.ajs-icon-amalia-js {
  .ajs-icon-amalia-js();
}

.ajs-icon-arrows-h() {
  &:before {
    content: "\f103";
  }

}

.ajs-icon-arrows-h {
  .ajs-icon-arrows-h();
}

.ajs-icon-arrows-v() {
  &:before {
    content: "\f104";
  }

}

.ajs-icon-arrows-v {
  .ajs-icon-arrows-v();
}

.ajs-icon-bell() {
  &:before {
    content: "\f105";
  }

}

.ajs-icon-bell {
  .ajs-icon-bell();
}

.ajs-icon-building() {
  &:before {
    content: "\f106";
  }

}

.ajs-icon-building {
  .ajs-icon-building();
}

.ajs-icon-caret-right() {
  &:before {
    content: "\f107";
  }

}

.ajs-icon-caret-right {
  .ajs-icon-caret-right();
}

.ajs-icon-check() {
  &:before {
    content: "\f108";
  }

}

.ajs-icon-check {
  .ajs-icon-check();
}

.ajs-icon-chevron-circle-down() {
  &:before {
    content: "\f109";
  }

}

.ajs-icon-chevron-circle-down {
  .ajs-icon-chevron-circle-down();
}

.ajs-icon-chevron-circle-left() {
  &:before {
    content: "\f10a";
  }

}

.ajs-icon-chevron-circle-left {
  .ajs-icon-chevron-circle-left();
}

.ajs-icon-chevron-circle-right() {
  &:before {
    content: "\f10b";
  }

}

.ajs-icon-chevron-circle-right {
  .ajs-icon-chevron-circle-right();
}

.ajs-icon-chevron-circle-up() {
  &:before {
    content: "\f10c";
  }

}

.ajs-icon-chevron-circle-up {
  .ajs-icon-chevron-circle-up();
}

.ajs-icon-chevron-down() {
  &:before {
    content: "\f10d";
  }

}

.ajs-icon-chevron-down {
  .ajs-icon-chevron-down();
}

.ajs-icon-chevron-left() {
  &:before {
    content: "\f10e";
  }

}

.ajs-icon-chevron-left {
  .ajs-icon-chevron-left();
}

.ajs-icon-chevron-right() {
  &:before {
    content: "\f10f";
  }

}

.ajs-icon-chevron-right {
  .ajs-icon-chevron-right();
}

.ajs-icon-chevron-up() {
  &:before {
    content: "\f110";
  }

}

.ajs-icon-chevron-up {
  .ajs-icon-chevron-up();
}

.ajs-icon-circle() {
  &:before {
    content: "\f111";
  }

}

.ajs-icon-circle {
  .ajs-icon-circle();
}

.ajs-icon-cog() {
  &:before {
    content: "\f112";
  }

}

.ajs-icon-cog {
  .ajs-icon-cog();
}

.ajs-icon-cogs() {
  &:before {
    content: "\f113";
  }

}

.ajs-icon-cogs {
  .ajs-icon-cogs();
}

.ajs-icon-comment() {
  &:before {
    content: "\f114";
  }

}

.ajs-icon-comment {
  .ajs-icon-comment();
}

.ajs-icon-compress() {
  &:before {
    content: "\f115";
  }

}

.ajs-icon-compress {
  .ajs-icon-compress();
}

.ajs-icon-control-backward() {
  &:before {
    content: "\f116";
  }

}

.ajs-icon-control-backward {
  .ajs-icon-control-backward();
}

.ajs-icon-control-fast-forward() {
  &:before {
    content: "\f117";
  }

}

.ajs-icon-control-fast-forward {
  .ajs-icon-control-fast-forward();
}

.ajs-icon-control-fast-rewind() {
  &:before {
    content: "\f118";
  }

}

.ajs-icon-control-fast-rewind {
  .ajs-icon-control-fast-rewind();
}

.ajs-icon-control-forward() {
  &:before {
    content: "\f119";
  }

}

.ajs-icon-control-forward {
  .ajs-icon-control-forward();
}

.ajs-icon-control-pause() {
  &:before {
    content: "\f11a";
  }

}

.ajs-icon-control-pause {
  .ajs-icon-control-pause();
}

.ajs-icon-control-play() {
  &:before {
    content: "\f11b";
  }

}

.ajs-icon-control-play {
  .ajs-icon-control-play();
}

.ajs-icon-control-rewind() {
  &:before {
    content: "\f11c";
  }

}

.ajs-icon-control-rewind {
  .ajs-icon-control-rewind();
}

.ajs-icon-controlbar-compress() {
  &:before {
    content: "\f11d";
  }

}

.ajs-icon-controlbar-compress {
  .ajs-icon-controlbar-compress();
}

.ajs-icon-controlbar-fullscreen() {
  &:before {
    content: "\f11e";
  }

}

.ajs-icon-controlbar-fullscreen {
  .ajs-icon-controlbar-fullscreen();
}

.ajs-icon-controlbar-pause() {
  &:before {
    content: "\f11f";
  }

}

.ajs-icon-controlbar-pause {
  .ajs-icon-controlbar-pause();
}

.ajs-icon-controlbar-play() {
  &:before {
    content: "\f120";
  }

}

.ajs-icon-controlbar-play {
  .ajs-icon-controlbar-play();
}

.ajs-icon-controlbar-settings() {
  &:before {
    content: "\f121";
  }

}

.ajs-icon-controlbar-settings {
  .ajs-icon-controlbar-settings();
}

.ajs-icon-controlbar-volume-left-off() {
  &:before {
    content: "\f122";
  }

}

.ajs-icon-controlbar-volume-left-off {
  .ajs-icon-controlbar-volume-left-off();
}

.ajs-icon-controlbar-volume-left() {
  &:before {
    content: "\f123";
  }

}

.ajs-icon-controlbar-volume-left {
  .ajs-icon-controlbar-volume-left();
}

.ajs-icon-controlbar-volume-min() {
  &:before {
    content: "\f124";
  }

}

.ajs-icon-controlbar-volume-min {
  .ajs-icon-controlbar-volume-min();
}

.ajs-icon-controlbar-volume-off() {
  &:before {
    content: "\f125";
  }

}

.ajs-icon-controlbar-volume-off {
  .ajs-icon-controlbar-volume-off();
}

.ajs-icon-controlbar-volume-right-off() {
  &:before {
    content: "\f126";
  }

}

.ajs-icon-controlbar-volume-right-off {
  .ajs-icon-controlbar-volume-right-off();
}

.ajs-icon-controlbar-volume-right() {
  &:before {
    content: "\f127";
  }

}

.ajs-icon-controlbar-volume-right {
  .ajs-icon-controlbar-volume-right();
}

.ajs-icon-controlbar-volume_max() {
  &:before {
    content: "\f128";
  }

}

.ajs-icon-controlbar-volume_max {
  .ajs-icon-controlbar-volume_max();
}

.ajs-icon-controlbar-volume_middle() {
  &:before {
    content: "\f129";
  }

}

.ajs-icon-controlbar-volume_middle {
  .ajs-icon-controlbar-volume_middle();
}

.ajs-icon-download() {
  &:before {
    content: "\f12a";
  }

}

.ajs-icon-download {
  .ajs-icon-download();
}

.ajs-icon-eject() {
  &:before {
    content: "\f12b";
  }

}

.ajs-icon-eject {
  .ajs-icon-eject();
}

.ajs-icon-ellipsis-h() {
  &:before {
    content: "\f12c";
  }

}

.ajs-icon-ellipsis-h {
  .ajs-icon-ellipsis-h();
}

.ajs-icon-ellipsis-v() {
  &:before {
    content: "\f12d";
  }

}

.ajs-icon-ellipsis-v {
  .ajs-icon-ellipsis-v();
}

.ajs-icon-eraser() {
  &:before {
    content: "\f12e";
  }

}

.ajs-icon-eraser {
  .ajs-icon-eraser();
}

.ajs-icon-expand() {
  &:before {
    content: "\f12f";
  }

}

.ajs-icon-expand {
  .ajs-icon-expand();
}

.ajs-icon-eye-off() {
  &:before {
    content: "\f130";
  }

}

.ajs-icon-eye-off {
  .ajs-icon-eye-off();
}

.ajs-icon-eye-on() {
  &:before {
    content: "\f131";
  }

}

.ajs-icon-eye-on {
  .ajs-icon-eye-on();
}

.ajs-icon-facetime() {
  &:before {
    content: "\f132";
  }

}

.ajs-icon-facetime {
  .ajs-icon-facetime();
}

.ajs-icon-female() {
  &:before {
    content: "\f133";
  }

}

.ajs-icon-female {
  .ajs-icon-female();
}

.ajs-icon-github() {
  &:before {
    content: "\f134";
  }

}

.ajs-icon-github {
  .ajs-icon-github();
}

.ajs-icon-information() {
  &:before {
    content: "\f135";
  }

}

.ajs-icon-information {
  .ajs-icon-information();
}

.ajs-icon-jogs-backward-0x() {
  &:before {
    content: "\f136";
  }

}

.ajs-icon-jogs-backward-0x {
  .ajs-icon-jogs-backward-0x();
}

.ajs-icon-jogs-backward-1x() {
  &:before {
    content: "\f137";
  }

}

.ajs-icon-jogs-backward-1x {
  .ajs-icon-jogs-backward-1x();
}

.ajs-icon-jogs-backward-2x() {
  &:before {
    content: "\f138";
  }

}

.ajs-icon-jogs-backward-2x {
  .ajs-icon-jogs-backward-2x();
}

.ajs-icon-jogs-backward-3x() {
  &:before {
    content: "\f139";
  }

}

.ajs-icon-jogs-backward-3x {
  .ajs-icon-jogs-backward-3x();
}

.ajs-icon-jogs-backward-4x() {
  &:before {
    content: "\f13a";
  }

}

.ajs-icon-jogs-backward-4x {
  .ajs-icon-jogs-backward-4x();
}

.ajs-icon-jogs-center() {
  &:before {
    content: "\f13b";
  }

}

.ajs-icon-jogs-center {
  .ajs-icon-jogs-center();
}

.ajs-icon-jogs-fast-backward() {
  &:before {
    content: "\f13c";
  }

}

.ajs-icon-jogs-fast-backward {
  .ajs-icon-jogs-fast-backward();
}

.ajs-icon-jogs-fast-forward() {
  &:before {
    content: "\f13d";
  }

}

.ajs-icon-jogs-fast-forward {
  .ajs-icon-jogs-fast-forward();
}

.ajs-icon-jogs-forward-0x() {
  &:before {
    content: "\f13e";
  }

}

.ajs-icon-jogs-forward-0x {
  .ajs-icon-jogs-forward-0x();
}

.ajs-icon-jogs-forward-1x() {
  &:before {
    content: "\f13f";
  }

}

.ajs-icon-jogs-forward-1x {
  .ajs-icon-jogs-forward-1x();
}

.ajs-icon-jogs-forward-2x() {
  &:before {
    content: "\f140";
  }

}

.ajs-icon-jogs-forward-2x {
  .ajs-icon-jogs-forward-2x();
}

.ajs-icon-jogs-forward-3x() {
  &:before {
    content: "\f141";
  }

}

.ajs-icon-jogs-forward-3x {
  .ajs-icon-jogs-forward-3x();
}

.ajs-icon-jogs-forward-4x() {
  &:before {
    content: "\f142";
  }

}

.ajs-icon-jogs-forward-4x {
  .ajs-icon-jogs-forward-4x();
}

.ajs-icon-key() {
  &:before {
    content: "\f143";
  }

}

.ajs-icon-key {
  .ajs-icon-key();
}

.ajs-icon-legal() {
  &:before {
    content: "\f144";
  }

}

.ajs-icon-legal {
  .ajs-icon-legal();
}

.ajs-icon-list-close() {
  &:before {
    content: "\f145";
  }

}

.ajs-icon-list-close {
  .ajs-icon-list-close();
}

.ajs-icon-list-open() {
  &:before {
    content: "\f146";
  }

}

.ajs-icon-list-open {
  .ajs-icon-list-open();
}

.ajs-icon-lock-close() {
  &:before {
    content: "\f147";
  }

}

.ajs-icon-lock-close {
  .ajs-icon-lock-close();
}

.ajs-icon-lock-open() {
  &:before {
    content: "\f148";
  }

}

.ajs-icon-lock-open {
  .ajs-icon-lock-open();
}

.ajs-icon-male() {
  &:before {
    content: "\f149";
  }

}

.ajs-icon-male {
  .ajs-icon-male();
}

.ajs-icon-microphone-off() {
  &:before {
    content: "\f14a";
  }

}

.ajs-icon-microphone-off {
  .ajs-icon-microphone-off();
}

.ajs-icon-microphone-on() {
  &:before {
    content: "\f14b";
  }

}

.ajs-icon-microphone-on {
  .ajs-icon-microphone-on();
}

.ajs-icon-minus() {
  &:before {
    content: "\f14c";
  }

}

.ajs-icon-minus {
  .ajs-icon-minus();
}

.ajs-icon-music() {
  &:before {
    content: "\f14d";
  }

}

.ajs-icon-music {
  .ajs-icon-music();
}

.ajs-icon-picture() {
  &:before {
    content: "\f14e";
  }

}

.ajs-icon-picture {
  .ajs-icon-picture();
}

.ajs-icon-plus() {
  &:before {
    content: "\f14f";
  }

}

.ajs-icon-plus {
  .ajs-icon-plus();
}

.ajs-icon-power() {
  &:before {
    content: "\f150";
  }

}

.ajs-icon-power {
  .ajs-icon-power();
}

.ajs-icon-refresh() {
  &:before {
    content: "\f151";
  }

}

.ajs-icon-refresh {
  .ajs-icon-refresh();
}

.ajs-icon-remove() {
  &:before {
    content: "\f152";
  }

}

.ajs-icon-remove {
  .ajs-icon-remove();
}

.ajs-icon-reorder() {
  &:before {
    content: "\f153";
  }

}

.ajs-icon-reorder {
  .ajs-icon-reorder();
}

.ajs-icon-screenshot() {
  &:before {
    content: "\f154";
  }

}

.ajs-icon-screenshot {
  .ajs-icon-screenshot();
}

.ajs-icon-scrubber-cursor() {
  &:before {
    content: "\f155";
  }

}

.ajs-icon-scrubber-cursor {
  .ajs-icon-scrubber-cursor();
}

.ajs-icon-search() {
  &:before {
    content: "\f156";
  }

}

.ajs-icon-search {
  .ajs-icon-search();
}

.ajs-icon-sign-in() {
  &:before {
    content: "\f157";
  }

}

.ajs-icon-sign-in {
  .ajs-icon-sign-in();
}

.ajs-icon-sign-out() {
  &:before {
    content: "\f158";
  }

}

.ajs-icon-sign-out {
  .ajs-icon-sign-out();
}

.ajs-icon-sort() {
  &:before {
    content: "\f159";
  }

}

.ajs-icon-sort {
  .ajs-icon-sort();
}

.ajs-icon-sound-link-off() {
  &:before {
    content: "\f15a";
  }

}

.ajs-icon-sound-link-off {
  .ajs-icon-sound-link-off();
}

.ajs-icon-sound-link-on() {
  &:before {
    content: "\f15b";
  }

}

.ajs-icon-sound-link-on {
  .ajs-icon-sound-link-on();
}

.ajs-icon-stop() {
  &:before {
    content: "\f15c";
  }

}

.ajs-icon-stop {
  .ajs-icon-stop();
}

.ajs-icon-transcription() {
  &:before {
    content: "\f15d";
  }

}

.ajs-icon-transcription {
  .ajs-icon-transcription();
}

.ajs-icon-volume-down() {
  &:before {
    content: "\f15e";
  }

}

.ajs-icon-volume-down {
  .ajs-icon-volume-down();
}

.ajs-icon-volume-off() {
  &:before {
    content: "\f15f";
  }

}

.ajs-icon-volume-off {
  .ajs-icon-volume-off();
}

.ajs-icon-volume-up() {
  &:before {
    content: "\f160";
  }

}

.ajs-icon-volume-up {
  .ajs-icon-volume-up();
}

.ajs-icon-zoom-in() {
  &:before {
    content: "\f161";
  }

}

.ajs-icon-zoom-in {
  .ajs-icon-zoom-in();
}

.ajs-icon-zoom-out() {
  &:before {
    content: "\f162";
  }

}

.ajs-icon-zoom-out {
  .ajs-icon-zoom-out();
}


================================================
FILE: src/assets/less/default-style.less
================================================
/**
 * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA
 *
 * This file is part of amalia.js
 *
 * Amalia.js is free software: you can redistribute it and/or modify it under
 * the terms of the MIT License
 *
 * Redistributions of source code, javascript and css minified versions must
 * retain the above copyright notice, this list of conditions and the following
 * disclaimer
 *
 * Neither the name of the copyright holder nor the names of its contributors
 * may be used to endorse or promote products derived from this software without
 * specific prior written permission
 *
 * You should have received a copy of the MIT License along with
 * amalia.js. If not, see <https://opensource.org/license/mit/>
 *
 * Amalia.js is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 * A PARTICULAR PURPOSE.
 */
.ajs-tooltip {
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  background: #0cf;
  padding: 10px 5px 10px 5px;
  max-width: 300px;
  box-shadow: none;
  border: none;
  margin-top: -50px;
  &:after {
    content: "";
    position: absolute;
    left: 50%;
    top: -20px;
    width: 15px;
    height: 15px;
    box-shadow: none;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    tranform: rotate(45deg);
    border: none;
    background: #0cf;
    margin-left: -7.5px;
  }
}

.ui-tooltip {
  padding: 8px;
  position: absolute;
  z-index: 9999;
  max-width: 300px;
  -webkit-box-shadow: 0 0 5px #aaa;
  box-shadow: 0 0 5px #aaa;
}

.ui-helper-hidden-accessible {
  display: none;
}

================================================
FILE: src/assets/less/default.less
================================================
/**
 * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA
 *
 * This file is part of amalia.js
 *
 * Amalia.js is free software: you can redistribute it and/or modify it under
 * the terms of the MIT License
 *
 * Redistributions of source code, javascript and css minified versions must
 * retain the above copyright notice, this list of conditions and the following
 * disclaimer
 *
 * Neither the name of the copyright holder nor the names of its contributors
 * may be used to endorse or promote products derived from this software without
 * specific prior written permission
 *
 * You should have received a copy of the MIT License along with
 * amalia.js. If not, see <https://opensource.org/license/mit/>
 *
 * Amalia.js is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 * A PARTICULAR PURPOSE.
 */
/**************************************************
****************** LESS VARIABLES *****************
**************************************************/
/***** FONTS ****/
@fontMain: Arial, Helvetica, sans-serif;
/***** COLORS ****/
@BtToolContColor : #6c6c6c;

/**************************************************
****************** THEMES PROJETS *****************
**************************************************/
/***** PLAYER PROJET GEN ****/
@mainColor: #0CF;
@mainBackgroundColor: rgba(19, 231, 240, 0.68);
@mainGradient: linear-gradient(to right, #13e7f0, #0c7abf);
@inverseBackgroundColor: rgba(51, 51, 51, 0.68);
/***** PLAYER TEXTE SYNCRO SNOOPDIC ****/
/*
@mainColor: #0CF;
@mainBackgroundColor: rgba(19, 231, 240, 0.68);
@mainGradient: linear-gradient(to right, #13e7f0, #0c7abf);
*/
/***** PLAYER TEXTE SYNCRO ****/
/*
@mainColor: #bf009a;
@mainBackgroundColor: rgba(191, 0, 154, 0.6);
@mainGradient: linear-gradient(to right, #e55ac9, #96047b);
*/

@import "ajs-animations";
@import "ajs-webfont";
@import "default-style";

@import "player";
@import "plugin";


================================================
FILE: src/assets/less/player-custom-control-bar.less
================================================
/**
 * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA
 *
 * This file is part of amalia.js
 *
 * Amalia.js is free software: you can redistribute it and/or modify it under
 * the terms of the MIT License
 *
 * Redistributions of source code, javascript and css minified versions must
 * retain the above copyright notice, this list of conditions and the following
 * disclaimer
 *
 * Neither the name of the copyright holder nor the names of its contributors
 * may be used to endorse or promote products derived from this software without
 * specific prior written permission
 *
 * You should have received a copy of the MIT License along with
 * amalia.js. If not, see <https://opensource.org/license/mit/>
 *
 * Amalia.js is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 * A PARTICULAR PURPOSE.
 */
/**
* Plugin custom control bar
*/
.ajs .plugin-custom-controlbar {
  width: 100%;
  background-color: #1d1d1d;
  background-image: -webkit-gradient(linear, 100% 0, 0 100%, from(#232323), to(#1d1d1d));
  background-image: -webkit-linear-gradient(top, #232323 0%, #1d1d1d 100%);
  background-image: -moz-linear-gradient(top, #232323 0%, #1d1d1d 100%);
  background-image: -o-linear-gradient(top, #232323 0%, #1d1d1d 100%);
  background-image: linear-gradient(#232323, #1d1d1d);
  overflow: visible;
  margin-bottom: 0px;
  z-index: 900;
  position: relative;
  opacity: .9;
  .ajs-row {
    margin: 0px;
    &:before {
      content: " ";
      display: table;
    }
    .ajs-container {
      width: 33.33333333%;
      float: left;
      position: relative;
      min-height: 1px;
      padding: 0px;
      margin: 0px;
      height: 110px;
      &.left-container {
      }
      &.middle-container {
      }
      &.right-container {
      }
    }

  }
  .player-base-button {
    background-color: none;
    line-height: 110px;
    margin: 0 auto;
    text-align: center;
    width: 120px;
    color: #fff;
    float: right;
    cursor: pointer;
  }
  .player-play-button,
  .player-pause-button {
    background-color: none;
    line-height: 110px;
    margin: 0 auto;
    text-align: center;
    width: 120px;
    color: #fff;

    &.on {
      display: block;
    }
    &.off {
      display: none;
    }
    span.button-container {
      background: #191919;
      border: 1px solid #4d4d4d;
      border-radius: 50%;
      cursor: pointer;
      display: inline-block;
      height: 90px;
      width: 90px;
      line-height: 95px;
      margin: auto;
      position: relative;
      vertical-align: middle;
      padding: 0px;
      font-size: 2em;
      @media (max-width: 668px) {
        line-height: 70px;
        height: 70px;
        width: 70px;
        padding-top: 1px;
        font-size: 1.5em;
      }
      &:hover {
        background: #000;
      }
    }
  }
  .player-label {
    display: inline-block;
    width: 160px;
    line-height: 30px;
    margin-left: 3px;
    margin-right: 3px;
    height: 28px;
    background: none;
  }
  .player-timelabel.time-display {
    display: block;
    height: 100px;
    float: left;
    line-height: 40px;
    padding: 25px 0 0 10px;
    .time-current {
      color: white;
      display: block;
      font-size: 2.5em;
      @media (max-width: 668px) {
        font-size: 1.5em;
      }
    }
    .time-separator {
      display: block;
      height: 1px;
    }
    .time-duration {
      color: white;
      display: block;
      text-align: right;
    }
  }
  .player-fullscreen-button {
    width: 50px;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    line-height: 100px;
    color: #fff;
    margin: 10px 0 0 20px;
    cursor: pointer;
    width: 50px;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    line-height: 100px;
    color: #fff;
    margin: 10px 0 0 20px;
    cursor: pointer;
    float: right;
    font-size: 2.4em;
  }
  .player-volume-control {
    vertical-align: middle;
    padding-top: 25px;
    cursor: pointer;
    float: right;
    font-size: 2em;
    @media (max-width: 567px) {
      display: none;
    }
    .volume-control-btn {
      position: absolute;
      top: 0;
      margin-left: 22px;
      margin-top: 48px;
      color: #FFF;
      height: 50px;
      /*width: 30px;*/
      line-height: 30px;
      display: block;
      /*bottom: -51px;*/
      text-align: center;
      cursor: pointer;
    }
  }
  .player-progress-bar {
    height: 20px;
    margin-bottom: 0px;
    overflow: hidden;
    background-color: #6a6969;
    border-radius: 0px;
    clear: both;
    position: relative;
    text-align: left;
    color: #404040;
    .buffer-bar {
      display: block;
      height: 100%;
      background-color: #555;
      position: relative;
      top: 0px;
      box-sizing: border-box;
      width: 0px;
    }
    .ui-slider-range {
      float: left;
      width: 0;
      height: 100%;
      font-size: 12px;
      line-height: 20px;
      color: #fff;
      text-align: center;
      background-color: #58c8b0;
      position: absolute;
      z-index: 1;
      display: block;
      border: 0;
      background-position: 0 0;
    }

    .ui-slider-handle {
      background-color: #fff;
      border-radius: 0%;
      cursor: pointer;
      float: right;
      height: 25px;
      right: 0;
      width: 25px;
      z-index: 2;
      text-shadow: none;
      top: -.3em;
      margin-left: -.6em;
      position: absolute;
      background-color: #e6e6e6;
      background-repeat: no-repeat;
      background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
      background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
      background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
      background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
      background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
      background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
      text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
      color: #333;
      font-size: 13px;
      line-height: normal;
      border: 1px solid #ccc;
      border-bottom-color: #bbb;
      -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
      -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
      -webkit-transition: 0.1s linear background-image;
      -moz-transition: 0.1s linear background-image;
      -ms-transition: 0.1s linear background-image;
      -o-transition: 0.1s linear background-image;
      transition: 0.1s linear background-image;
      overflow: visible;
    }
    &.ui-slider .ui-slider-range {
      background: @mainGradient;
      float: left;
      width: 0;
      height: 100%;
      font-size: 12px;
      line-height: 20px;
      color: #fff;
      text-align: center;
      left: 0;
      top: 0;
      position: absolute;
      z-index: 1;
      display: block;
      border: 0;
      background-position: 0 0;
      color: #ffffff;
      background-color: #0064cd;
      background-repeat: repeat-x;
      text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
      border-color: #0064cd #006
Download .txt
gitextract_wtstfblr/

├── .gitignore
├── .jshintrc
├── Gruntfile.js
├── LICENSE
├── README.md
├── bower.json
├── package.json
├── releases.md
├── samples/
│   ├── ajs-player.html
│   ├── ajs-plugin-captions.html
│   ├── ajs-plugin-editor.html
│   ├── ajs-plugin-overlay.html
│   ├── ajs-plugin-text-sync.html
│   ├── ajs-plugin-timeline.html
│   ├── ajs-plugin-watermark.html
│   ├── ajs-webfont.html
│   └── css/
│       ├── amalia-js-demo.css
│       └── default.css
├── samples-data/
│   └── examples/
│       └── json/
│           ├── amalia-simple01.json
│           ├── amalia01-ball.json
│           ├── amalia01-events.json
│           ├── amalia01-kf.json
│           ├── amalia01-overlay.json
│           └── amalia01-text.json
├── src/
│   ├── .jshintrc
│   ├── LICENSE
│   ├── THIRD_PARTY_LICENSES
│   ├── assets/
│   │   ├── fonts/
│   │   │   └── ajs-webfont.afm
│   │   ├── less/
│   │   │   ├── ajs-animations.less
│   │   │   ├── ajs-webfont.less
│   │   │   ├── default-style.less
│   │   │   ├── default.less
│   │   │   ├── player-custom-control-bar.less
│   │   │   ├── player.less
│   │   │   ├── plugin-captions.less
│   │   │   ├── plugin-editor.less
│   │   │   ├── plugin-menu-contextuel.less
│   │   │   ├── plugin-overlay.less
│   │   │   ├── plugin-selected-item-editor.less
│   │   │   ├── plugin-storyboard.less
│   │   │   ├── plugin-text-sync.less
│   │   │   ├── plugin-timeline.less
│   │   │   ├── plugin-watermark.less
│   │   │   └── plugin.less
│   │   └── sass/
│   │       ├── _ajs-animations.scss
│   │       ├── _ajs-mixins.scss
│   │       ├── _ajs-webfont.scss
│   │       ├── _default-style.scss
│   │       ├── _player-custom-control-bar.scss
│   │       ├── _player.scss
│   │       ├── _plugin-captions.scss
│   │       ├── _plugin-editor.scss
│   │       ├── _plugin-menu-contextuel.scss
│   │       ├── _plugin-overlay.scss
│   │       ├── _plugin-selected-item-editor.scss
│   │       ├── _plugin-storyboard.scss
│   │       ├── _plugin-text-sync.scss
│   │       ├── _plugin-timeline.scss
│   │       ├── _plugin-watermark.scss
│   │       ├── _plugin.scss
│   │       ├── _plugin_d3js_chart.scss
│   │       └── main.scss
│   ├── helpers/
│   │   ├── browser-feature-detection.js
│   │   ├── html5-helper.js
│   │   └── utilities-helper.js
│   ├── i18n/
│   │   ├── player-error-message-en.js
│   │   └── player-message-en.js
│   ├── ina-player.js
│   ├── log/
│   │   ├── .jshintrc
│   │   └── log-handler.js
│   ├── player/
│   │   ├── base-player.js
│   │   ├── constants/
│   │   │   ├── player-error-code.js
│   │   │   ├── player-event-type.js
│   │   │   └── player-message.js
│   │   ├── loader/
│   │   │   ├── base-loader.js
│   │   │   ├── http-loader.js
│   │   │   └── ws-loader.js
│   │   ├── loaderBase.js
│   │   ├── local-storage-manager.js
│   │   ├── media-factory.js
│   │   ├── media-type-dash-mpeg.js
│   │   ├── media-type-manager.js
│   │   ├── metadata/
│   │   │   ├── localisation-manager.js
│   │   │   └── metadata-manager.js
│   │   ├── parsers/
│   │   │   └── base-parser-metadata.js
│   │   ├── player-html5.js
│   │   ├── plugins/
│   │   │   ├── captions-base.js
│   │   │   ├── context-menu-plugin.js
│   │   │   ├── custom-control-bar.js
│   │   │   ├── plugin-base-multi-blocks.js
│   │   │   ├── plugin-base-simple-block.js
│   │   │   ├── plugin-base.js
│   │   │   ├── plugin-binding-manager.js
│   │   │   └── plugin-manager.js
│   │   ├── shortcuts-manager.js
│   │   └── widgets/
│   │       ├── base-button.js
│   │       ├── cast-button.js
│   │       ├── channel-volume-control-bar.js
│   │       ├── fullscreen-button.js
│   │       ├── jog-shuttle-button.js
│   │       ├── label.js
│   │       ├── pause-button.js
│   │       ├── play-button.js
│   │       ├── progress-bar.js
│   │       ├── time-label.js
│   │       ├── volume-control-bar.js
│   │       └── widget-base.js
│   ├── player-map.js
│   ├── plugins/
│   │   ├── captions/
│   │   │   └── captions.js
│   │   ├── control-bar/
│   │   │   └── progress-bar.js
│   │   ├── d3js-chart/
│   │   │   └── plugin-d3js-chart.js
│   │   ├── editor/
│   │   │   ├── plugin-metadata-block-editor.js
│   │   │   ├── plugin-metadata-item-editor.js
│   │   │   ├── plugin-metadata-items-editor.js
│   │   │   ├── plugin-metadata-items-ref-editor.js
│   │   │   └── plugin-metadata-list-editor.js
│   │   ├── overlay/
│   │   │   ├── draw-base.js
│   │   │   ├── draw-ellipse.js
│   │   │   ├── draw-rect.js
│   │   │   ├── overlay.js
│   │   │   └── spatials-data-parser.js
│   │   ├── storyboard/
│   │   │   ├── base-frame-position-calculator.js
│   │   │   └── plugin-storyboard.js
│   │   ├── text-sync/
│   │   │   ├── component.js
│   │   │   └── text-sync.js
│   │   ├── timeline/
│   │   │   ├── base-component.js
│   │   │   ├── cuepoints-component.js
│   │   │   ├── default-configuration.js
│   │   │   ├── focus-component.js
│   │   │   ├── histogram-component.js
│   │   │   ├── images-component.js
│   │   │   ├── segments-component.js
│   │   │   ├── tic-component.js
│   │   │   ├── time-axis-component.js
│   │   │   ├── timeline.js
│   │   │   ├── visual-component.js
│   │   │   └── zoom-component.js
│   │   ├── watermark/
│   │   │   └── watermark.js
│   │   └── yt-player/
│   │       └── yt-player.js
│   └── utils/
│       ├── jquery-class.js
│       ├── jquery-debouncedresize.js
│       ├── jquery-knob.js
│       ├── jquery.hotkeys.js
│       ├── jquery.ui.touch-punch.js
│       └── raphael_free_transform.js
└── tests/
    ├── .jshintrc
    ├── log/
    │   ├── logHandler_test.html
    │   └── logHandler_test.js
    └── player/
        ├── LoaderBase_test.html
        ├── LoaderBase_test.js
        ├── PlayerErrorCode_test.html
        ├── PlayerErrorCode_test.js
        └── data/
            ├── VideoEntities.json
            └── VideoKeyframes.json
Download .txt
SYMBOL INDEX (11 symbols across 4 files)

FILE: src/utils/jquery-class.js
  function Class (line 677) | function Class() {

FILE: src/utils/jquery.hotkeys.js
  function keyHandler (line 138) | function keyHandler(handleObj) {

FILE: src/utils/jquery.ui.touch-punch.js
  function simulateMouseEvent (line 31) | function simulateMouseEvent(event, simulatedType) {

FILE: src/utils/raphael_free_transform.js
  function scan (line 936) | function scan(subject) {
  function getBBox (line 1002) | function getBBox(distance) {
  function getPaperSize (line 1035) | function getPaperSize() {
  function applyLimits (line 1050) | function applyLimits(bbox) {
  function isWithinBoundaries (line 1167) | function isWithinBoundaries() {
  function keepRatio (line 1174) | function keepRatio(axis) {
  function cloneObj (line 1185) | function cloneObj(obj) {
  function asyncCallback (line 1198) | function asyncCallback(e) {
Condensed preview — 154 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,591K chars).
[
  {
    "path": ".gitignore",
    "chars": 97,
    "preview": ".svn\n.bowerrc\nbuild\nbuild-doc\n.idea\nbower_components\nnode_modules\nnpm-debug.log\npackage-lock.json"
  },
  {
    "path": ".jshintrc",
    "chars": 234,
    "preview": "{\n    \"curly\": true,\n    \"eqeqeq\": true,\n    \"immed\": true,\n    \"latedef\": true,\n    \"newcap\": true,\n    \"noarg\": true,\n"
  },
  {
    "path": "Gruntfile.js",
    "chars": 11319,
    "preview": "'use strict';\nmodule.exports = function (grunt) {\n    require('load-grunt-tasks')(grunt);\n    require('time-grunt')(grun"
  },
  {
    "path": "LICENSE",
    "chars": 1088,
    "preview": "Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n\nPermission is hereby granted, free of charge, to any pe"
  },
  {
    "path": "README.md",
    "chars": 380,
    "preview": "Amalia.js\n==========\n\nMetadata enriched HTML5 video player\n\nDownload and documentation are available here : http://ina-f"
  },
  {
    "path": "bower.json",
    "chars": 614,
    "preview": "{\n    \"name\" : \"amalia.js\",\n    \"version\" : \"1.3.3\",\n    \"main\" : \"dist/js/amalia.js.min.js\",\n    \"license\" : \"MIT\",\n   "
  },
  {
    "path": "package.json",
    "chars": 2128,
    "preview": "{\n  \"name\": \"amalia.js\",\n  \"description\": \"\",\n  \"homepage\": \"http://ina-foss.github.io/amalia.js\",\n  \"author\": \"INA\",\n  "
  },
  {
    "path": "releases.md",
    "chars": 383,
    "preview": "# Release notes\n## 1.3.3\n- License changed to MIT\n## 1.3.2\n - Fix ENDEN/ENDED\n - Change player html5 class with base cla"
  },
  {
    "path": "samples/ajs-player.html",
    "chars": 7415,
    "preview": "<!DOCTYPE html>\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n<head>\n    <meta http-equiv=\"Content"
  },
  {
    "path": "samples/ajs-plugin-captions.html",
    "chars": 3861,
    "preview": "<!DOCTYPE html>\n<html>\n    <head>\n        <title>Amalia.js</title>\n        <meta charset=\"UTF-8\">\n        <meta name=\"vi"
  },
  {
    "path": "samples/ajs-plugin-editor.html",
    "chars": 7342,
    "preview": "<!DOCTYPE html>\n<html>\n    <head>\n        <title>Amalia.js</title>\n        <meta charset=\"UTF-8\">\n        <meta name=\"vi"
  },
  {
    "path": "samples/ajs-plugin-overlay.html",
    "chars": 4378,
    "preview": "<!DOCTYPE html>\n<html>\n    <head>\n        <title>Amalia.js</title>\n        <meta charset=\"UTF-8\">\n        <meta name=\"vi"
  },
  {
    "path": "samples/ajs-plugin-text-sync.html",
    "chars": 4244,
    "preview": "<!DOCTYPE html>\n<html>\n    <head>\n        <title>Amalia.js</title>\n        <meta charset=\"UTF-8\">\n        <meta name=\"vi"
  },
  {
    "path": "samples/ajs-plugin-timeline.html",
    "chars": 5370,
    "preview": "<!DOCTYPE html>\n<html>\n    <head>\n        <title>Amalia.js</title>\n        <meta charset=\"UTF-8\">\n        <meta name=\"vi"
  },
  {
    "path": "samples/ajs-plugin-watermark.html",
    "chars": 4019,
    "preview": "<!DOCTYPE html>\n<html>\n    <head>\n        <title>Amalia.js</title>\n        <meta charset=\"UTF-8\">\n        <meta name=\"vi"
  },
  {
    "path": "samples/ajs-webfont.html",
    "chars": 43518,
    "preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>ajs-webfont</title>\n\t\t<style>\n\t\tbody {\n\t\t\tmargin:0;\n\t\t\t"
  },
  {
    "path": "samples/css/amalia-js-demo.css",
    "chars": 1091,
    "preview": ".header {\n    margin-top: 80px;\n    text-align: center;\n}\n\n.page-footer {\n    margin-bottom: 0px;\n    padding: 20px;\n   "
  },
  {
    "path": "samples/css/default.css",
    "chars": 1315,
    "preview": "a {\n    color: #008cba;\n    text-decoration: none;\n}\na {\n    background-color: transparent;\n}\n* {\n    -webkit-box-sizing"
  },
  {
    "path": "samples-data/examples/json/amalia-simple01.json",
    "chars": 677,
    "preview": "{\r\n    \"localisation\": [\r\n        {\r\n            \"sublocalisations\": {\r\n                \"localisation\": [\r\n             "
  },
  {
    "path": "samples-data/examples/json/amalia01-ball.json",
    "chars": 1057,
    "preview": "{\r\n    \"localisation\": [\r\n        {\r\n            \"sublocalisations\": {\r\n                \"localisation\": [\r\n             "
  },
  {
    "path": "samples-data/examples/json/amalia01-events.json",
    "chars": 1722,
    "preview": "{\r\n    \"localisation\": [\r\n        {\r\n            \"sublocalisations\": {\r\n                \"localisation\": [\r\n             "
  },
  {
    "path": "samples-data/examples/json/amalia01-kf.json",
    "chars": 1995,
    "preview": "{\r\n    \"localisation\": [\r\n        {\r\n            \"sublocalisations\": {\r\n                \"localisation\": [\r\n             "
  },
  {
    "path": "samples-data/examples/json/amalia01-overlay.json",
    "chars": 3314,
    "preview": "{\n  \"localisation\": [\n    {\n      \"sublocalisations\": {\n        \"localisation\": [\n          {\n            \"shape\": {\n   "
  },
  {
    "path": "samples-data/examples/json/amalia01-text.json",
    "chars": 3432,
    "preview": "{\r\n    \"localisation\": [\r\n        {\r\n            \"sublocalisations\": {\r\n                \"localisation\": [\r\n             "
  },
  {
    "path": "src/.jshintrc",
    "chars": 446,
    "preview": "{\n  \"curly\": true,\n  \"eqeqeq\": true,\n  \"immed\": true,\n  \"latedef\": true,\n  \"newcap\": true,\n  \"noarg\": true,\n  \"sub\": tru"
  },
  {
    "path": "src/LICENSE",
    "chars": 1088,
    "preview": "Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n\nPermission is hereby granted, free of charge, to any pe"
  },
  {
    "path": "src/THIRD_PARTY_LICENSES",
    "chars": 779,
    "preview": "Third-Party Licenses : \n\t-jQuery : easy DOM manipulation framework, MIT license, http://jquery.com        \n\t-jQueryClass"
  },
  {
    "path": "src/assets/fonts/ajs-webfont.afm",
    "chars": 5198,
    "preview": "StartFontMetrics 2.0\nComment Generated by FontForge 20090622\nComment Creation Date: Thu Jul  2 11:16:15 2015\nFontName aj"
  },
  {
    "path": "src/assets/less/ajs-animations.less",
    "chars": 2967,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/less/ajs-webfont.less",
    "chars": 62484,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/less/default-style.less",
    "chars": 1770,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/assets/less/default.less",
    "chars": 2056,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/assets/less/player-custom-control-bar.less",
    "chars": 17791,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/assets/less/player.less",
    "chars": 3088,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/assets/less/plugin-captions.less",
    "chars": 1355,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/less/plugin-editor.less",
    "chars": 12625,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/assets/less/plugin-menu-contextuel.less",
    "chars": 2137,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/less/plugin-overlay.less",
    "chars": 4283,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/assets/less/plugin-selected-item-editor.less",
    "chars": 4586,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/less/plugin-storyboard.less",
    "chars": 2500,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/less/plugin-text-sync.less",
    "chars": 6215,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/assets/less/plugin-timeline.less",
    "chars": 22079,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/assets/less/plugin-watermark.less",
    "chars": 1210,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/assets/less/plugin.less",
    "chars": 1756,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/assets/sass/_ajs-animations.scss",
    "chars": 3114,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_ajs-mixins.scss",
    "chars": 1640,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_ajs-webfont.scss",
    "chars": 29238,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_default-style.scss",
    "chars": 1803,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_player-custom-control-bar.scss",
    "chars": 23761,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_player.scss",
    "chars": 3316,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_plugin-captions.scss",
    "chars": 1356,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_plugin-editor.scss",
    "chars": 12135,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_plugin-menu-contextuel.scss",
    "chars": 2137,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_plugin-overlay.scss",
    "chars": 4115,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_plugin-selected-item-editor.scss",
    "chars": 4586,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_plugin-storyboard.scss",
    "chars": 2500,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_plugin-text-sync.scss",
    "chars": 5976,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_plugin-timeline.scss",
    "chars": 21255,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_plugin-watermark.scss",
    "chars": 1174,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_plugin.scss",
    "chars": 1721,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/_plugin_d3js_chart.scss",
    "chars": 3097,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/assets/sass/main.scss",
    "chars": 1980,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/helpers/browser-feature-detection.js",
    "chars": 4171,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/helpers/html5-helper.js",
    "chars": 3221,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/helpers/utilities-helper.js",
    "chars": 9902,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/i18n/player-error-message-en.js",
    "chars": 1988,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/i18n/player-message-en.js",
    "chars": 3832,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/ina-player.js",
    "chars": 2606,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/log/.jshintrc",
    "chars": 278,
    "preview": "{\n  \"curly\": true,\n  \"eqeqeq\": true,\n  \"immed\": true,\n  \"latedef\": true,\n  \"newcap\": true,\n  \"noarg\": true,\n  \"sub\": tru"
  },
  {
    "path": "src/log/log-handler.js",
    "chars": 3503,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/player/base-player.js",
    "chars": 37102,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/constants/player-error-code.js",
    "chars": 5133,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/constants/player-event-type.js",
    "chars": 7736,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/constants/player-message.js",
    "chars": 8086,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/player/loader/base-loader.js",
    "chars": 5852,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/loader/http-loader.js",
    "chars": 3526,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/loader/ws-loader.js",
    "chars": 8799,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/loaderBase.js",
    "chars": 6466,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/local-storage-manager.js",
    "chars": 4707,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/media-factory.js",
    "chars": 5935,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/player/media-type-dash-mpeg.js",
    "chars": 2712,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/media-type-manager.js",
    "chars": 2601,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/metadata/localisation-manager.js",
    "chars": 9912,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/metadata/metadata-manager.js",
    "chars": 18903,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/parsers/base-parser-metadata.js",
    "chars": 9726,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/player-html5.js",
    "chars": 24974,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/player/plugins/captions-base.js",
    "chars": 6908,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/plugins/context-menu-plugin.js",
    "chars": 4990,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/plugins/custom-control-bar.js",
    "chars": 18529,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/player/plugins/plugin-base-multi-blocks.js",
    "chars": 5435,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/plugins/plugin-base-simple-block.js",
    "chars": 2630,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/plugins/plugin-base.js",
    "chars": 11026,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/player/plugins/plugin-binding-manager.js",
    "chars": 13040,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/plugins/plugin-manager.js",
    "chars": 14139,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/player/shortcuts-manager.js",
    "chars": 4528,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/widgets/base-button.js",
    "chars": 3165,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/player/widgets/cast-button.js",
    "chars": 16101,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/widgets/channel-volume-control-bar.js",
    "chars": 21385,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/widgets/fullscreen-button.js",
    "chars": 4155,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/player/widgets/jog-shuttle-button.js",
    "chars": 14082,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/player/widgets/label.js",
    "chars": 2154,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/widgets/pause-button.js",
    "chars": 4489,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/player/widgets/play-button.js",
    "chars": 4210,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/player/widgets/progress-bar.js",
    "chars": 9542,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/player/widgets/time-label.js",
    "chars": 4435,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/widgets/volume-control-bar.js",
    "chars": 9788,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player/widgets/widget-base.js",
    "chars": 3107,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/player-map.js",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/plugins/captions/captions.js",
    "chars": 8229,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/plugins/control-bar/progress-bar.js",
    "chars": 9683,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/d3js-chart/plugin-d3js-chart.js",
    "chars": 17632,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/editor/plugin-metadata-block-editor.js",
    "chars": 17897,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/editor/plugin-metadata-item-editor.js",
    "chars": 21373,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/editor/plugin-metadata-items-editor.js",
    "chars": 31849,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/editor/plugin-metadata-items-ref-editor.js",
    "chars": 13354,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/editor/plugin-metadata-list-editor.js",
    "chars": 12585,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/overlay/draw-base.js",
    "chars": 16385,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/overlay/draw-ellipse.js",
    "chars": 6020,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/plugins/overlay/draw-rect.js",
    "chars": 6281,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/overlay/overlay.js",
    "chars": 49969,
    "preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
  },
  {
    "path": "src/plugins/overlay/spatials-data-parser.js",
    "chars": 7137,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/storyboard/base-frame-position-calculator.js",
    "chars": 1608,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/storyboard/plugin-storyboard.js",
    "chars": 13716,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/text-sync/component.js",
    "chars": 8081,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/text-sync/text-sync.js",
    "chars": 13813,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/timeline/base-component.js",
    "chars": 38672,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/timeline/cuepoints-component.js",
    "chars": 10521,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/timeline/default-configuration.js",
    "chars": 2110,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/timeline/focus-component.js",
    "chars": 12351,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/timeline/histogram-component.js",
    "chars": 10294,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/timeline/images-component.js",
    "chars": 9522,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/timeline/segments-component.js",
    "chars": 16411,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/timeline/tic-component.js",
    "chars": 14080,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/timeline/time-axis-component.js",
    "chars": 19978,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/timeline/timeline.js",
    "chars": 58942,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/timeline/visual-component.js",
    "chars": 16396,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/timeline/zoom-component.js",
    "chars": 8804,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/watermark/watermark.js",
    "chars": 8803,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/plugins/yt-player/yt-player.js",
    "chars": 15184,
    "preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
  },
  {
    "path": "src/utils/jquery-class.js",
    "chars": 32060,
    "preview": "(function ($) {\n    // Several of the methods in this plugin use code adapated from Prototype\n    //  Prototype JavaScri"
  },
  {
    "path": "src/utils/jquery-debouncedresize.js",
    "chars": 1373,
    "preview": "/*\n * debouncedresize: special jQuery event that happens once after a window resize\n * \n * latest version and complete R"
  },
  {
    "path": "src/utils/jquery-knob.js",
    "chars": 26121,
    "preview": "/*!jQuery Knob*/\n/**\n * Downward compatible, touchable dial\n *\n * Version: 1.2.12\n * Requires: jQuery v1.7+\n *\n * Copyri"
  },
  {
    "path": "src/utils/jquery.hotkeys.js",
    "chars": 6278,
    "preview": "/*jslint browser: true*/\n/*jslint jquery: true*/\n\n/*\n * jQuery Hotkeys Plugin\n * Copyright 2010, John Resig\n * Dual lice"
  },
  {
    "path": "src/utils/jquery.ui.touch-punch.js",
    "chars": 5130,
    "preview": "/*!\n * jQuery UI Touch Punch 0.2.3\n *\n * Copyright 2011–2014, Dave Furfero\n * Dual licensed under the MIT or GPL Version"
  },
  {
    "path": "src/utils/raphael_free_transform.js",
    "chars": 47294,
    "preview": "/*\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n */\n(function (root, fact"
  },
  {
    "path": "tests/.jshintrc",
    "chars": 438,
    "preview": "{\n\t\"curly\": true,\n\t\"eqeqeq\": true,\n\t\"immed\": true,\n\t\"latedef\": true,\n\t\"newcap\": true,\n\t\"noarg\": true,\n\t\"sub\": true,\n\t\"un"
  },
  {
    "path": "tests/log/logHandler_test.html",
    "chars": 974,
    "preview": "<!DOCTYPE html>\n<html>\n    <head>\n        <meta charset=\"utf-8\">\n        <title>Test Loghandler</title>\n        <!-- Loa"
  },
  {
    "path": "tests/log/logHandler_test.js",
    "chars": 998,
    "preview": "/*\n * ======== A Handy Little QUnit Reference ======== http://api.qunitjs.com/\n * \n * Test methods: module(name, {[setup"
  },
  {
    "path": "tests/player/LoaderBase_test.html",
    "chars": 1084,
    "preview": "<!DOCTYPE html>\n<html>\n    <head>\n        <meta charset=\"utf-8\">\n        <title>Test LoaderBase</title>\n        <!-- Loa"
  },
  {
    "path": "tests/player/LoaderBase_test.js",
    "chars": 1784,
    "preview": "/*\n ======== A Handy Little QUnit Reference ========\n http://api.qunitjs.com/\n \n Test methods:\n module(name, {[setup][ ,"
  },
  {
    "path": "tests/player/PlayerErrorCode_test.html",
    "chars": 1113,
    "preview": "<!DOCTYPE html>\n<html>\n    <head>\n        <meta charset=\"utf-8\">\n        <title>Test PlayerErrorCode</title>\n        <!-"
  },
  {
    "path": "tests/player/PlayerErrorCode_test.js",
    "chars": 1718,
    "preview": "/*\n ======== A Handy Little QUnit Reference ========\n http://api.qunitjs.com/\n \n Test methods:\n module(name, {[setup][ ,"
  },
  {
    "path": "tests/player/data/VideoEntities.json",
    "chars": 1537,
    "preview": "\n{\n    \"message\": \"Video 2305843779355017216 and dictionary 1 found\",\n    \"status\": 0,\n    \"data\": {\n        \"data\": [\n "
  },
  {
    "path": "tests/player/data/VideoKeyframes.json",
    "chars": 132908,
    "preview": "\n{\n    \"message\": \"Video 2305843779355017216 found\",\n    \"status\": 0,\n    \"data\": {\n        \"localisation\": [\n          "
  }
]

About this extraction

This page contains the full source code of the ina-foss/amalia.js GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 154 files (1.4 MB), approximately 366.2k tokens, and a symbol index with 11 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!