Commit e7ab521d authored by sullykh's avatar sullykh

initial commit

parents
#Thu May 18 15:19:29 BST 2023
gradle.version=8.0
# Default ignored files
/shelf/
/workspace.xml
project58
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="11" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="MavenRepo" />
<option name="name" value="MavenRepo" />
<option name="url" value="https://repo.maven.apache.org/maven2/" />
</remote-repository>
<remote-repository>
<option name="id" value="BintrayJCenter" />
<option name="name" value="BintrayJCenter" />
<option name="url" value="https://jcenter.bintray.com/" />
</remote-repository>
<remote-repository>
<option name="id" value="Google" />
<option name="name" value="Google" />
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
</remote-repository>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
/build
\ No newline at end of file
plugins {
id 'com.android.application'
id 'com.google.gms.google-services'
}
android {
compileSdkVersion 33
defaultConfig {
applicationId "com.example.project58"
minSdkVersion 21
targetSdkVersion 33
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {SQL_CREATE_MOVIE
debug{
minifyEnabled true
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
buildFeatures{
viewBinding true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
namespace 'com.example.project58'
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
// implementation 'com.google.firebase:firebase-auth:21.1.0'
// implementation project(path: ':app')
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}
\ No newline at end of file
{
"project_info": {
"project_number": "739585044562",
"project_id": "temp-performance-booking",
"storage_bucket": "temp-performance-booking.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:739585044562:android:c7f45172ef6b0f4721ef8b",
"android_client_info": {
"package_name": "com.example.project58"
}
},
"oauth_client": [
{
"client_id": "739585044562-hrgn5cvolibp2rfkdr4q9lm28r4dukb5.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyDQDqoIGuUxiW4PM0vKQCf_XWOJMPOwE5s"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "739585044562-hrgn5cvolibp2rfkdr4q9lm28r4dukb5.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}
\ No newline at end of file
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
\ No newline at end of file
package com.example.project58;
import android.content.Context;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("com.example.project58", appContext.getPackageName());
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.project58">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Project58">
<activity
android:name="com.example.project58.UserTickets"
android:exported="false" />
<activity
android:name="com.example.project58.Ticket"
android:exported="false" />
<activity
android:name="com.example.project58.PerformanceDetails"
android:exported="false" />
<activity
android:name="com.example.project58.Home"
android:exported="false" >
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- </intent-filter>-->
</activity>
<activity
android:name="com.example.project58.SignIn"
android:exported="false" />
<activity
android:name="com.example.project58.SignUp"
android:exported="false" />
<activity
android:name="com.example.project58.MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.project58.BookSeats"
android:exported="false" />
<activity
android:name="com.example.project58.PickSeat"
android:exported="true" />
</application>
</manifest>
\ No newline at end of file
package com.example.project58;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.text.Html;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class BookSeats extends Home {
TextView receiptContent;
Button confirmBooking;
@SuppressLint({"SuspiciousIndentation", "MissingInflatedId"})
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_receipt);
receiptContent = findViewById(R.id.receiptContent);
confirmBooking = findViewById(R.id.btnConfirmSeats);
//getting intent data from previous activity
Intent i = getIntent();
String perfTitle = i.getStringExtra("perfTitle");
int totalCost = i.getIntExtra("totalBookingCost",39);
String[] selectedSeats = i.getStringArrayListExtra("selectedSeats").toArray(new String[0]);
String selectedSeatsText = "";
//calculating selected seats
for(String s : selectedSeats){
selectedSeatsText += "[S"+s+"] ";
}
//calculating text that will be shown in the ticket
String receiptText=
" <b>Performance :</b>"+ " "+perfTitle+"<br /><br />"+
" <b>Selected Seats :</b>"+" "+selectedSeatsText+"<br /><br />" +
" <b>Total Cost :</b>"+" "+"£"+totalCost+"<br /><br />"+
" <b>Ticket Code :</b>"+" "+(perfTitle+" : "+selectedSeatsText).hashCode()+"<br /><br />";
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
receiptContent.setText(Html.fromHtml(receiptText , Html.FROM_HTML_MODE_COMPACT));
}else
receiptContent.setText(Html.fromHtml(receiptText));
String finalSelectedSeatsText = selectedSeatsText;
confirmBooking.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//when confirm booking button is clicked
//getting logged in user data and seating data from database
SharedPreferences emailPref = getSharedPreferences("logged_in_email",MODE_PRIVATE);
String email = emailPref.getString("email","");
SharedPreferences sharedPreferences = getSharedPreferences("seats_remaining", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
//Saving booking data to database
Set<String> oldSet = sharedPreferences.getStringSet("selectedSeatsSet"+perfTitle,new HashSet<>());
Set<String> newSet = new HashSet<>(Arrays.asList(selectedSeats));
editor.putStringSet(perfTitle + " : "+ finalSelectedSeatsText,newSet);
Set<String> tickets_ids = sharedPreferences.getStringSet("tickets_ids"+email,new HashSet<>());
String title = perfTitle + " : "+finalSelectedSeatsText;
tickets_ids.add(title+" ( "+title.hashCode()+" )");
Log.e("adding tid",perfTitle+" : "+finalSelectedSeatsText);
editor.putStringSet("tickets_ids"+email,tickets_ids);
newSet.addAll(oldSet);
editor.putStringSet("selectedSeatsSet"+perfTitle,newSet);
int totalSeats = sharedPreferences.getInt(perfTitle,39);
editor.putInt(perfTitle, Math.max(totalSeats - selectedSeats.length, 0));
editor.apply();
//starting Home activity
Intent myintent=new Intent(BookSeats.this, Home.class);
startActivity(myintent);
finish();
}
});
invalidateOptionsMenu();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//inflating options menu in this activity
boolean res = super.onCreateOptionsMenu(menu);
MenuItem menuItem = menu.findItem(R.id.nav_performances);
menuItem.setVisible(true);
MenuItem menuItem2 = menu.findItem(R.id.nav_myTickets);
menuItem2.setVisible(true);
return res;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
return super.onOptionsItemSelected(item);
}
}
package com.example.project58;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.SearchView;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Home extends AppCompatActivity implements SearchView.OnQueryTextListener {
ArrayList<performancesListItem> list = new ArrayList<>();
List<Integer> images = Arrays.asList(
R.drawable.perf1,
R.drawable.perf2,
R.drawable.perf3,
R.drawable.perf4,
R.drawable.perf5,
R.drawable.perf6
);
List<String> titles = Arrays.asList(
"A Midsummer Night's Dream by William Shakespeare",
"Antigone by William Sophocles",
"Hamlet by William Shakespeare",
"The Merchant of Venice by William Shakespeare",
"The Tempest by William Shakespeare",
"Oedipus the King by Sophocles"
);
List<String> description = Arrays.asList(
"19:00 Saturday 3 June 2023,\nDean's Park, York\n\n\t\t\u2022 Has wheelchair access.\n\n\t\t\u2022 Performance includes flashing lights.",
"21:00 Thursday 20 September 2023,\nCrypt, York Minister, York\n\n\t\t\u2022 Must be able to climb 20 steps.",
"18:00 19 May 2023,\nClifford's Tower, York\n\n\t\t\u2022 Must be able to climb 20 steps.\n\n\t\t\u2022 Performance includes flashing lights.",
"20:00 Sunday April 23 2023,\nMerchant Adventure's Hall, York\n\n\t\t\u2022 Has wheelchair access.",
"14:00 Saturday 19 August 2023,\nMillenneum Bridge, York\n\n\t\t\u2022 Has wheelchair access.",
"20:00 Friday 28 July 2023,\nSt Mary's Abbey, Museum Gardens, York\n\n\t\t\u2022 Has wheelchair access."
);
List<String> tickets_remaining_details = Arrays.asList(
"\n\n\t\t\u2022 On Stage\n\t\t\u2022 Grass",
"\n\n\t\t\u2022 Inner Circle\n\t\t\u2022 Outer Circle\n\t\t\u2022 Standing",
"\n\n\t\t\u2022 Seated\n\t\t\u2022 Standing",
"\n\n\t\t\u2022 Seated",
"\n\n\t\t\u2022 Boat A\n\t\t\u2022 Boat B\n\t\t\u2022 Riverbank",
"\n\n\t\t\u2022 Seated\n\t\t\u2022 Standing"
);
ListView listView;
SQLiteDatabase wdb;
LinearLayout sortLayout;
Button sortByNameAsc,sortByNameDsc,sortButton;
SearchView searchView;
ArrayList<Integer> total_seats = new ArrayList<>();
boolean sortLayoutHidden = true;
boolean is_sorted_desc = false;
MyListAdapter listAdapter;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
wdb = databaseValidateUserClass.getWritable(this);
sortByNameAsc = findViewById(R.id.sort_by_name_asc);
sortByNameDsc = findViewById(R.id.sort_by_name_dsc);
sortLayout = findViewById(R.id.sort_layout);
sortButton = findViewById(R.id.sort_button);
listView = findViewById(R.id.listview);
listView.setClickable(true);
searchView = findViewById(R.id.search_view);
sortButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//when sortButton is clicked
if (sortLayoutHidden){
sortLayoutHidden = false;
sortLayout.setVisibility(View.VISIBLE);
sortButton.setText("Hide");
}
else{
sortLayoutHidden = true;
sortLayout.setVisibility(View.GONE);
sortButton.setText("Sort");
}
}
});
//getting seating information from database
SharedPreferences sharedPreferences = getSharedPreferences("seats_remaining", Context.MODE_PRIVATE);
for(int i=0; i<titles.size(); i++){//adding items to list
performancesListItem item = new performancesListItem(titles.get(i), images.get(i));
list.add(item);
total_seats.add(sharedPreferences.getInt(titles.get(i),39));
}
//setting adapter to listview
Home.this.listAdapter = new MyListAdapter(Home.this,list);
listView.setAdapter(listAdapter);
listView.setTextFilterEnabled(true);
//when sort by name asc is clicked
sortByNameAsc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(is_sorted_desc){
is_sorted_desc = false;
Collections.reverse(titles);
Collections.reverse(description);
Collections.reverse(images);
Collections.reverse(tickets_remaining_details);
Collections.reverse(total_seats);
Collections.reverse(list);
Home.this.listAdapter = new MyListAdapter(Home.this,list);
listView.setAdapter(listAdapter);
}
}
});
//when sort by name dsc is clicked
sortByNameDsc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!is_sorted_desc){
is_sorted_desc = true;
Collections.reverse(titles);
Collections.reverse(description);
Collections.reverse(images);
Collections.reverse(tickets_remaining_details);
Collections.reverse(total_seats);
Collections.reverse(list);
Home.this.listAdapter = new MyListAdapter(Home.this,list);
listView.setAdapter(listAdapter);
}
}
});
//adding searchview listener for searching text in list view
searchView.setIconifiedByDefault(false);
searchView.setOnQueryTextListener(Home.this);
searchView.setSubmitButtonEnabled(true);
searchView.setQueryHint("Search Performance");
//when any listitem is clicked
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent i = new Intent(Home.this,PerformanceDetails.class);
i.putExtra("perfTitle", titles.get(position));
i.putExtra("perfDetails", description.get(position));
i.putExtra("ticketsRemainingDetails","Tickets Types (remaining "+sharedPreferences.getInt(titles.get(position),39)+" ) "+"(Cost £50)"+ tickets_remaining_details.get(position));
i.putExtra("totalSeats",total_seats.get(position));
startActivity(i);
}
});
invalidateOptionsMenu();
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
//when any options item is clicked
int id = item.getItemId();
switch (id) {
case R.id.nav_myTickets:
Log.e("onOp","onOp");
startActivity(new Intent(Home.this,UserTickets.class));
finish();
return true;
case R.id.nav_performances:
startActivity(new Intent(Home.this,Home.class));
finish();
return true;
case R.id.nav_logOut:
SharedPreferences sharedPreferences = getSharedPreferences("logged_in_email",MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("email","null");
editor.apply();
Intent i = new Intent(Home.this, MainActivity.class);
startActivity(i);
finish();
return true;
case R.id.nav_quitApp:
finishAffinity();
System.exit(0);
return true;
default:
return false;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.navigation_menu, menu);
MenuItem menuItem = menu.findItem(R.id.nav_performances);
menuItem.setVisible(false);
MenuItem menuItem2 = menu.findItem(R.id.nav_myTickets);
menuItem2.setVisible(true);
return true;
}
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
//when text is changed in search bar
if (TextUtils.isEmpty(newText)) {
listView.clearTextFilter();
} else {
listView.setFilterText(newText);
}
return true;
}
}
\ No newline at end of file
package com.example.project58;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button signup,signin;
@Override
public void onStart() {
super.onStart();
}
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().hide();
signin = findViewById(R.id.signin);
signup = findViewById(R.id.signup);
signin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//when user clicks signin button go to signin activity
Intent i = new Intent(getApplicationContext(), SignIn.class);
startActivity(i);
finish();
}
});
signup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//when user clicks signup button go to signup activity
Intent i = new Intent(getApplicationContext(), SignUp.class);
startActivity(i);
}
});
//checking if user is already logged in then start Home screen directly
SharedPreferences sharedPreferences = getSharedPreferences("logged_in_email",MODE_PRIVATE);
String logged_in_user = sharedPreferences.getString("email","null");
if (!logged_in_user.equals("null")){
startActivity(new Intent(MainActivity.this,Home.class));
finish();
}
}
}
\ No newline at end of file
package com.example.project58;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.Filter;
import android.widget.Filterable;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
//This class is list adapter for performances list in the Home screen
public class MyListAdapter extends BaseAdapter implements Filterable {
public Context context;
public ArrayList<performancesListItem> employeeArrayList;
public ArrayList<performancesListItem> orig;
public MyListAdapter(Context context, ArrayList<performancesListItem> employeeArrayList) {
super();
this.context = context;
this.employeeArrayList = employeeArrayList;
}
public class MyListHolder
{
TextView name;
ImageView image;
}
//method for filtering the list when user types in the search box
public Filter getFilter() {
return new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
final FilterResults oReturn = new FilterResults();
final ArrayList<performancesListItem> results = new ArrayList<performancesListItem>();
if (orig == null)
orig = employeeArrayList;
if (constraint != null) {
if (orig != null && orig.size() > 0) {
for (final performancesListItem g : orig) {
if (g.title.toLowerCase()
.contains(constraint.toString()))
results.add(g);
}
}
oReturn.values = results;
}
return oReturn;
}
@SuppressWarnings("unchecked")
@Override
protected void publishResults(CharSequence constraint,
FilterResults results) {
employeeArrayList = (ArrayList<performancesListItem>) results.values;
notifyDataSetChanged();
}
};
}
//when data in search box is changed
public void notifyDataSetChanged() {
super.notifyDataSetChanged();
}
//return the total size of list items
@Override
public int getCount() {
return employeeArrayList.size();
}
//return a list item
@Override
public Object getItem(int position) {
return employeeArrayList.get(position);
}
//returns a list item id
@Override
public long getItemId(int position) {
return position;
}
//inflate each list item to the screen according to their respective data
@Override
public View getView(int position, View convertView, ViewGroup parent) {
MyListHolder holder;
if(convertView==null)
{
convertView=LayoutInflater.from(context).inflate(R.layout.list_item, parent, false);
holder=new MyListHolder();
holder.name=(TextView) convertView.findViewById(R.id.performance_name);
holder.image=(ImageView) convertView.findViewById(R.id.performance_image);
convertView.setTag(holder);
}
else
{
holder=(MyListHolder) convertView.getTag();
}
holder.name.setText(employeeArrayList.get(position).title);
holder.image.setImageResource(employeeArrayList.get(position).image);
return convertView;
}
}
\ No newline at end of file
package com.example.project58;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
// this is list adapter for tickets list in my tickets screen
public class MyTicketsListAdapter extends ArrayAdapter<TicketsListItem> {
public MyTicketsListAdapter(Context context, ArrayList<TicketsListItem> list){
super(context, R.layout.ticket_list_item,list);
}
//inflate each ticket list item with their respective data
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TicketsListItem item = getItem(position);
if(convertView == null){
convertView = LayoutInflater.from(getContext()).inflate(R.layout.ticket_list_item,parent,false);
}
TextView title = convertView.findViewById(R.id.ticket_name);
TextView amount = convertView.findViewById(R.id.ticket_amount);
title.setText(item.title);
amount.setText(String.valueOf(item.amount));
return convertView;
}
}
package com.example.project58;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class PerformanceDetails extends Home {
TextView title;
TextView perfDetails;
TextView ticketsRemaining;
Button book_now;
int totalSeats;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_performance_details);
title = findViewById(R.id.perf_title);
perfDetails = findViewById(R.id.perf_details);
ticketsRemaining = findViewById(R.id.tickets_remaining);
book_now = findViewById(R.id.book_now);
//getting intent data from previous activity
Intent i = getIntent();
title.setText(i.getStringExtra("perfTitle"));
perfDetails.setText(i.getStringExtra("perfDetails"));
ticketsRemaining.setText(i.getStringExtra("ticketsRemainingDetails"));
totalSeats = i.getIntExtra("totalSeats",39);
if(totalSeats==0){
book_now.setEnabled(false);
book_now.setVisibility(View.GONE);
}
//when book_now is clicked
book_now.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(PerformanceDetails.this,PickSeat.class);
i.putExtra("perfTitle",title.getText().toString());
i.putExtra("perfDetails",perfDetails.getText().toString());
i.putExtra("totalSeats",totalSeats);
startActivity(i);
finish();
}
});
invalidateOptionsMenu();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//inflating options menu in this screen
boolean res = super.onCreateOptionsMenu(menu);
MenuItem menuItem = menu.findItem(R.id.nav_performances);
menuItem.setVisible(true);
MenuItem menuItem2 = menu.findItem(R.id.nav_myTickets);
menuItem2.setVisible(true);
return res;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
return super.onOptionsItemSelected(item);
}
}
\ No newline at end of file
package com.example.project58;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
public class PickSeat extends Home {
Boolean[] btnSelected= new Boolean[40]; // array to store selected or not selected status of each seat
int noOfSelectedSeats = 0;
int totalSeats;
int totalBookingCost;
int seatCost = 50;
String perfTitle;
String perfDetails;
ArrayList<String> selectedSeats = new ArrayList<>();
// SQLiteDatabase wdb;
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pick_seat);
final ArrayList<Integer> selectedButtons=new ArrayList<Integer>();
//getting intent data from previous activity
Intent in = getIntent();
totalSeats = in.getIntExtra("totalSeats",39);
perfTitle = in.getStringExtra("perfTitle");
perfDetails= in.getStringExtra("perfDetails");
//getting seating information from database
SharedPreferences sharedPreferences = getSharedPreferences("seats_remaining", Context.MODE_PRIVATE);
Set<String> bookedSeats = sharedPreferences.getStringSet("selectedSeatsSet"+perfTitle,new HashSet<>());
// if there are some seats already booked
if (bookedSeats != null) {
for (String i : bookedSeats) {
Log.e("booked Seat",i);
if(i=="") break;
String buttonID = "btn"+i;
Log.e("booked seat",i);
int resID = getResources().getIdentifier(buttonID, "id", getPackageName());
Button btn = (Button) (findViewById(resID));
btn.setBackground(getResources().getDrawable(R.drawable.booked));
btn.setEnabled(false);
}
}
// set btnselected flag as false for all buttons
for(int i=0;i<40;i++){
btnSelected[i]=false;
}
Button[] seatButtons = new Button[40];
//
for (int i = 1; i < seatButtons.length; i++) {
int m = i;
String buttonID = "btn" + m;
int resID = getResources().getIdentifier(buttonID, "id", getPackageName());
seatButtons[i] = ((Button) findViewById(resID));
final int finalId = resID;
final int buttonNum = i;
// set listeners to all buttons
if (seatButtons[i].isEnabled() && noOfSelectedSeats<=totalSeats) {
seatButtons[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Button btn = (Button) findViewById(finalId);
if (!btnSelected[buttonNum]) {
//when seat is clicked
btn.setBackground(getResources().getDrawable(R.drawable.selected));
btnSelected[buttonNum] = true;
noOfSelectedSeats=noOfSelectedSeats+1;
selectedButtons.add(buttonNum);
} else {
//when seat is not selected
btn.setBackground(getResources().getDrawable(R.drawable.available));
btnSelected[buttonNum] = false;
noOfSelectedSeats=noOfSelectedSeats-1;
try {
selectedButtons.remove(selectedButtons.indexOf(buttonNum));
}
catch(Exception ex)
{
System.out.println(ex);
}
}
}
});
}
}
//when user presses the confirm seats button
Button btnProceed = (Button) findViewById(R.id.btnConfirmSeats);
btnProceed.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//
for (int i = 0; i < selectedButtons.size(); i++) {
System.out.println("Seat no "+selectedButtons.get(i));
}
// calculating total cost and adding selected seats to selectedSeats
for(int i : selectedButtons){
selectedSeats.add(String.valueOf(i));
totalBookingCost += seatCost;
Log.e("selected seat no", String.valueOf(i));
}
//if no seat is selected then don't allow user to go to ticket confirm screen
if(totalBookingCost == 0){
Toast.makeText(PickSeat.this, "Please select some seats first", Toast.LENGTH_SHORT).show();
return;
}
Intent myintent = new Intent(PickSeat.this, BookSeats.class);
myintent.putStringArrayListExtra("selectedSeats", selectedSeats);
myintent.putExtra("totalBookingCost",totalBookingCost);
myintent.putExtra("perfTitle",perfTitle);
myintent.putExtra("perfDetails",perfDetails);
startActivity(myintent);
finish();
Log.e("totalcost", String.valueOf(totalBookingCost));
}
});
invalidateOptionsMenu();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//inflating options menu in this screen
boolean res = super.onCreateOptionsMenu(menu);
MenuItem menuItem = menu.findItem(R.id.nav_performances);
menuItem.setVisible(true);
MenuItem menuItem2 = menu.findItem(R.id.nav_myTickets);
menuItem2.setVisible(true);
return res;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
return super.onOptionsItemSelected(item);
}
}
package com.example.project58;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class SignIn extends AppCompatActivity {
Button signInButton;
EditText email, passwd;
SQLiteDatabase wdb;
TextView signup;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
getSupportActionBar().hide();
signInButton = findViewById(R.id.signin_button);
email = findViewById(R.id.editTextEmail);
passwd = findViewById(R.id.editTextPassword);
wdb = databaseValidateUserClass.getWritable(this);
signup = findViewById(R.id.sign_up_button);
signup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(SignIn.this, SignUp.class));
finish();
}
});
signInButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String emailS, passwdS;
emailS = String.valueOf(email.getText());
passwdS = String.valueOf(passwd.getText());
//if user has not entered email
if (TextUtils.isEmpty(emailS)) {
Toast.makeText(SignIn.this, "please enter email !!!", Toast.LENGTH_SHORT).show();
return;
}
//if user has not entered password
if (TextUtils.isEmpty(passwdS)) {
Toast.makeText(SignIn.this, "please enter password !!!", Toast.LENGTH_SHORT).show();
return;
}
//select query for getting user from database
final String selectQuery = "SELECT Email,Password FROM USER ";
boolean isValid = databaseValidateUserClass.checkUser(emailS, passwdS, selectQuery);
if (isValid) { // if username and email are valid , go to PickMovie Activity
SharedPreferences sharedPreferences = getSharedPreferences("logged_in_email",MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("email",emailS);
editor.apply();
Intent i = new Intent(getApplicationContext(), Home.class);
startActivity(i);
finish();
} else { // if for a registered user ,email id is not correct
Toast.makeText(SignIn.this, "Please enter Correct email and password !!!", Toast.LENGTH_SHORT).show();
email.setText(null);
email.setHint("Email");
passwd.setText(null);
passwd.setHint("Password");
}
}
});
}
@Override
public void onBackPressed() {
super.onBackPressed();
//start mainactivity on back pressed
startActivity(new Intent(SignIn.this, MainActivity.class));
finish();
}
}
\ No newline at end of file
package com.example.project58;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class SignUp extends AppCompatActivity {
Button signupButton;
EditText name, email, passwd,rePasswd;
TextView sigin;
SQLiteDatabase wdb;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup);
getSupportActionBar().hide();
signupButton = findViewById(R.id.signup_button);
name = findViewById(R.id.editTextPersonName);
email = findViewById(R.id.editTextEmail);
passwd = findViewById(R.id.editTextPassword);
rePasswd = findViewById(R.id.editTextRePass);
sigin = findViewById(R.id.sign_in_button);
wdb = databaseValidateUserClass.getWritable(this);
sigin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(SignUp.this, SignIn.class));
finish();
}
});
signupButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String emailS, passwdS,rePasswdS,userS;
emailS = String.valueOf(email.getText());
passwdS = String.valueOf(passwd.getText());
rePasswdS = String.valueOf(rePasswd.getText());
userS = String.valueOf(name.getText());
//if username is not entered
if (TextUtils.isEmpty(userS)) {
Toast.makeText(SignUp.this, "please enter username !!!", Toast.LENGTH_SHORT).show();
return;
}
//if email is not entered
if (TextUtils.isEmpty(emailS)) {
Toast.makeText(SignUp.this, "please enter email !!!", Toast.LENGTH_SHORT).show();
return;
}
// if password is not entered
if (TextUtils.isEmpty(passwdS)) {
Toast.makeText(SignUp.this, "please enter password !!!", Toast.LENGTH_SHORT).show();
return;
}
//if repassword is not entered
if (TextUtils.isEmpty(rePasswdS)) {
Toast.makeText(SignUp.this, "please enter re password !!!", Toast.LENGTH_SHORT).show();
return;
}
//if password dont match
if(!passwdS.equals(rePasswdS)){
Toast.makeText(SignUp.this, "password don't match !!!", Toast.LENGTH_SHORT).show();
return;
}
final String selectQuery = "SELECT Email FROM USER ";
boolean isValid = databaseValidateUserClass.isAlreadyRegistered(emailS, selectQuery);
if(isValid) // if username already exists in database
{
email.setText(null);
email.setHint("Email");
passwd.setText(null);
passwd.setHint("Password");
Toast.makeText(SignUp.this, "This username is already registerd.Please Pick another or Log In!!", Toast.LENGTH_SHORT).show();
}
else{ // if username is not found in database , then register new user
ContentValues values = new ContentValues();
values.put("Email", emailS);
values.put("Password", passwdS);
long newRowId = wdb.insert("USER", null, values);
Toast.makeText(SignUp.this, "Registered Successfully", Toast.LENGTH_SHORT).show();
SharedPreferences sharedPreferences = getSharedPreferences("logged_in_email",MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("email",emailS);
editor.apply();
Intent i = new Intent(getApplicationContext(), Home.class);
startActivity(i);
finish();
}
}
});
}
@Override
public void onBackPressed() {
super.onBackPressed();
//starting main activity when back button is pressed
startActivity(new Intent(SignUp.this, MainActivity.class));
finish();
}
}
\ No newline at end of file
package com.example.project58;
import androidx.annotation.NonNull;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.text.Html;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class Ticket extends Home {
TextView title,content;
Button cancelTicket;
@SuppressLint("SetTextI18n")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_receipt);
title = findViewById(R.id.receiptTitle);
content = findViewById(R.id.receiptContent);
cancelTicket = findViewById(R.id.btnConfirmSeats);
}
@SuppressLint("SetTextI18n")
@Override
protected void onResume() {
super.onResume();
cancelTicket.setText("Cancel Ticket");
//getting intent from this activity was started
Intent i = getIntent();
String perfTitle = i.getStringExtra("perfTitle");
String[] selectedSeats = i.getStringArrayListExtra("selectedSeats").toArray(new String[0]);
String title_text,selected_seats_text;
int in;
int colon_in = 0;
int ticket_code_in = 0;
//calculating performance title , selected seats and unique ticked code
for( in = 0 ; in<perfTitle.length(); in++){
if(perfTitle.charAt(in)==':'){
colon_in = in;
}
if(perfTitle.charAt(in) == '('){
ticket_code_in = in;
break;
}
}
//displaying data on the screen
title_text = perfTitle.substring(0,colon_in-1);
selected_seats_text = perfTitle.substring(colon_in+2,ticket_code_in-1);
String ticket_code = perfTitle.substring(ticket_code_in,perfTitle.length());
int totalCost = (selected_seats_text.length()/6) * 50;
title.setText("Ticket");
String receiptText=
" <b>Performance :</b>"+ " "+perfTitle+"<br /><br />"+
" <b>Selected Seats :</b>"+" "+selected_seats_text+"<br /><br />" +
" <b>Total Cost :</b>"+" "+"£"+totalCost+"<br /><br />"+
" <b>Ticket Code :</b>"+" "+ticket_code+"<br /><br />";
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
content.setText(Html.fromHtml(receiptText , Html.FROM_HTML_MODE_COMPACT));
}else
content.setText(Html.fromHtml(receiptText));
cancelTicket.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//if cancel ticket button is clicked
//getting logged in user data and seating data from database
SharedPreferences emailPref = getSharedPreferences("logged_in_email",MODE_PRIVATE);
String email = emailPref.getString("email","");
SharedPreferences sharedPreferences = getSharedPreferences("seats_remaining", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
//deleting the cancelled ticket data from database
Set<String> oldSet = sharedPreferences.getStringSet("selectedSeatsSet"+title_text,new HashSet<>());
Set<String> newSet = new HashSet<>(Arrays.asList(selectedSeats));
oldSet.removeAll(newSet);
editor.putStringSet("selectedSeatsSet"+title_text,oldSet);
Set<String> tickets_ids = sharedPreferences.getStringSet("tickets_ids"+email,new HashSet<>());
Log.e("removing tid",title_text+" : "+selected_seats_text);
tickets_ids.remove(perfTitle);
editor.putStringSet("tickets_ids"+email,tickets_ids);
//updatin database
Log.e("title",title_text);
int totalSeats = sharedPreferences.getInt(title_text,39);
editor.putInt(title_text, Math.min(totalSeats + (selected_seats_text.length()/6), 39));
editor.apply();
//starting UserTickets activity
startActivity(new Intent(Ticket.this,UserTickets.class));
finish();
}
});
invalidateOptionsMenu();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//inflating options menu in this screen
boolean res = super.onCreateOptionsMenu(menu);
MenuItem menuItem = menu.findItem(R.id.nav_performances);
menuItem.setVisible(true);
MenuItem menuItem2 = menu.findItem(R.id.nav_myTickets);
menuItem2.setVisible(true);
return res;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
return super.onOptionsItemSelected(item);
}
}
\ No newline at end of file
package com.example.project58;
public class TicketsListItem {
//this is class that denoted a ticket list item
String title;
int amount;
public TicketsListItem(String title, int amount){
this.amount = amount;
this.title = title;
}
}
package com.example.project58;
import androidx.annotation.NonNull;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListAdapter;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
public class UserTickets extends Home {
ArrayList<TicketsListItem> list = new ArrayList<>();
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_tickets);
//getting logged in user data and seating data from database
SharedPreferences emailPref = getSharedPreferences("logged_in_email",MODE_PRIVATE);
String email = emailPref.getString("email","");
SharedPreferences sharedPreferences = getSharedPreferences("seats_remaining", Context.MODE_PRIVATE);
String[] titles = sharedPreferences.getStringSet("tickets_ids"+email, new HashSet<>()).toArray(new String[0]);
Log.e("titles size", String.valueOf(titles.length));
//calculating tickets which were booked by current user
for(int i=0; i<titles.length; i++){
TicketsListItem item = new TicketsListItem(titles[i],titles.length*50);
list.add(item);
}
//showing list int he screen
ListAdapter listAdapter = new MyTicketsListAdapter(UserTickets.this,list);
listView = findViewById(R.id.listview);
listView.setAdapter(listAdapter);
listView.setClickable(true);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//when any list item is clicked
Intent i = new Intent(UserTickets.this,Ticket.class);
//putting extra data for Ticket activity like selected seats,cost etc
i.putExtra("perfTitle",titles[position]);
ArrayList<String> selectedSeats = new ArrayList<>();
Set<String> selectedButtons = sharedPreferences.getStringSet(titles[position],new HashSet<>());
for(String x : selectedButtons) {
selectedSeats.add(x);
}
//starting Ticket activity
i.putStringArrayListExtra("selectedSeats",selectedSeats );
startActivity(i);
// finish();
}
});
invalidateOptionsMenu();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//inflating options menu in this screen
boolean res = super.onCreateOptionsMenu(menu);
MenuItem menuItem = menu.findItem(R.id.nav_performances);
menuItem.setVisible(true);
MenuItem menuItem2 = menu.findItem(R.id.nav_myTickets);
menuItem2.setVisible(false);
return res;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
super.onBackPressed();
startActivity(new Intent(UserTickets.this, Home.class));
finish();
}
}
\ No newline at end of file
package com.example.project58;
public class databaseQueries {
//database query to create a new user
public static final String SQL_CREATE_USER =
"CREATE TABLE USER (Email text, Password text )";
//database query to delete a user from database
public static final String SQL_DELETE_USERS =
"DROP TABLE IF EXISTS USER ";
}
package com.example.project58;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.graphics.Typeface;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import static android.content.ContentValues.TAG;
public class databaseValidateUserClass {
//this class check whether user is signed up already, same user exists, etc
private static SQLiteDatabase wdb = null;
private static userDB db = null;
public static SQLiteDatabase getWritable(Context context) {
if (db == null){
db = new userDB(context);
}
if (wdb == null)
wdb = db.getWritableDatabase();
return wdb;
}
public static boolean checkUser(String email,String password,String selectQuery) {
//checking whether user entered correct email password combination saved in the database
//if it does not exists then do not allow to login
Cursor cursor = wdb.rawQuery(selectQuery, null);
boolean res = false;
if (cursor.moveToFirst()) {
do {
String s1 = cursor.getString(0);
Log.e(TAG, "checkUser col 1: "+s1);
String s2 = cursor.getString(1);
Log.e(TAG, "checkUser col 2: "+s1);
if (s1.equals(email) && s2.equals(password)) // check if username and email already exist in DB
{
res = true;
break;
}
} while (cursor.moveToNext());
}
return res;
}
public static boolean isAlreadyRegistered (String email,String selectQuery) {
//checking whether user with this email already exists or not
//if it does not exists then creating a new user in the database
Cursor cursor = wdb.rawQuery(selectQuery, null);
boolean res = false;
if (cursor.moveToFirst()) {
do {
String s1 = cursor.getString(0);
Log.e("columns", "checkUser1 col1: " + s1);
if (s1.equals(email))
{
res = true;
break;
}
} while (cursor.moveToNext());
}
return res;
}
// close database connection
public static void close() {
if (db != null)
db.close();
}
}
package com.example.project58;
public class performancesListItem {
//this is a class that denotes an performance list item
String title;
int image;
public performancesListItem(String title, int image){
this.title = title;
this.image = image;
}
}
package com.example.project58;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
//this class is for storing and getting data from sqlite database
public class userDB extends SQLiteOpenHelper {
public static final int DATABASE_VERSION = 7;
public static final String DATABASE_NAME = "userDB.db";
public userDB(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public void onOpen(SQLiteDatabase db) {
super.onOpen(db);
if (!db.isReadOnly()) {
// Enable foreign key constraints
db.execSQL("PRAGMA foreign_keys=ON;");
}
}
//this will execute when database is created for first time
public void onCreate(SQLiteDatabase db) {
Log.e("TABLE Creating","onCreate******************************************");
//creating a new user
db.execSQL(com.example.project58.databaseQueries.SQL_CREATE_USER);
Log.e("TABLE CREATED","onCreate******************************************");
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//this method is required for SQLiteOpenHelper
// but this is not needed in the app
}
}
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="85.84757"
android:endY="92.4963"
android:startX="42.9492"
android:startY="49.59793"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<corners android:radius="15dp"/>
<solid android:color="#ffffff"/>
</shape>
</item>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<corners android:radius="15dp"/>
<solid android:color="#00FFFFFF"/>
<stroke android:color="#ffffff" android:width="1dp"/>
</shape>
</item>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<gradient android:angle="90" android:startColor="#f2a02b" android:endColor="#df6f56"/>
</shape>
</item>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@color/pressed_color" />
<item android:drawable="@color/default_color" />
<item android:drawable="@color/color_focus"
android:state_pressed="true" />
<item android:drawable="@color/color_focus"
android:state_focused="true" />
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#f19d2c" />
<corners android:radius="15dp" />
</shape>
</item>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/default_color" />
<item android:drawable="@color/color_focus"
android:state_pressed="true" />
<item android:drawable="@color/color_focus"
android:state_focused="true" />
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#e1e1e1"/>
<corners android:radius="15dp"/>
</shape>
</item>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#3DDC84"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/my_drawer"
tools:context=".Home">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_marginTop="5dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<Button
android:id="@+id/sort_button"
android:layout_marginRight="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sort"
android:layout_gravity="end"
android:background="@color/colorPrimary"
android:textColor="@color/white"/>
<androidx.appcompat.widget.SearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="30dp"
android:text="search"/>
</androidx.appcompat.widget.Toolbar>
<LinearLayout
android:id="@+id/sort_layout"
app:layout_constraintTop_toBottomOf="@+id/toolbar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:orientation="horizontal">
<Button
android:id="@+id/sort_by_name_asc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:textColor="@color/black"
android:text="Name Asc"
android:background="@color/white"/>
<Button
android:id="@+id/sort_by_name_dsc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:textColor="@color/black"
android:elevation="100dp"
android:text="Name Dsc"
android:background="@color/white"/>
</LinearLayout>
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent="0.85"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/sort_layout"
tools:listitem="@layout/list_item">
</ListView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login to get the experience"
android:textColor="#000000"
android:textSize="18sp"
app:layout_constraintBottom_toTopOf="@+id/imageView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.107"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.733" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Welcome back,"
android:textColor="#df7154"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@+id/imageView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.088"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/linearLayout3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.767"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView"
app:srcCompat="@drawable/logo_login" />
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView">
<EditText
android:id="@+id/editTextEmail"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="32dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="8dp"
android:background="@drawable/edittext_background"
android:ems="10"
android:hint="Enter your email"
android:inputType="textPersonName"
android:paddingStart="20dp"
android:textColorHint="#464646" />
<EditText
android:id="@+id/editTextPassword"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="32dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="8dp"
android:background="@drawable/edittext_background"
android:ems="10"
android:hint="Enter your password"
android:inputType="textPassword"
android:paddingStart="20dp"
android:textColorHint="#464646" />
<Button
android:id="@+id/signin_button"
style="@android:style/Widget.Button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="8dp"
android:background="@drawable/btn_orange"
android:text="Login"
android:textColor="#ffffff"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:id="@+id/sign_up_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:layout_marginTop="15dp"
android:layout_gravity="center"
android:text="Don’t have an account? Register"
/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background_intro"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Welcome"
android:textColor="#ffffff"
android:textSize="55sp"
app:layout_constraintBottom_toTopOf="@+id/imageView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.473"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
app:layout_constraintBottom_toTopOf="@+id/linearLayout2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView"
app:srcCompat="@drawable/logo_intro" />
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView">
<Button
android:id="@+id/signin"
style="@android:style/Widget.Button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="8dp"
android:background="@drawable/background_btn_intro1"
android:text="Login"
android:textColor="#f2a02b"
android:textSize="24sp"
android:textStyle="bold" />
<Button
android:id="@+id/signup"
style="@android:style/Widget.Button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="8dp"
android:background="@drawable/background_btn_intro2"
android:text="Register"
android:textColor="#ffffff"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".PerformanceDetails">
<TextView
android:id="@+id/perf_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20dp"
android:layout_marginTop="20dp"
android:text="title"
android:gravity="center"
android:textColor="@color/colorPrimary"
android:textSize="30sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/perf_details"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Details"
android:textColor="@color/black"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@+id/tickets_remaining"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginHorizontal="20dp"
app:layout_constraintTop_toBottomOf="@+id/perf_title" />
<TextView
android:id="@+id/tickets_remaining"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20dp"
android:text="Tickets Remaining :"
android:textColor="@color/colorPrimary"
android:textSize="26sp"
app:layout_constraintBottom_toTopOf="@+id/book_now"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/perf_details" />
<Button
android:id="@+id/book_now"
style="@android:style/Widget.Button"
android:layout_width="0dp"
app:layout_constraintWidth_percent="0.7"
android:layout_height="wrap_content"
android:background="@drawable/btn_orange"
android:text=" Book Now "
android:textColor="#ffffff"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tickets_remaining" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.project58.PickSeat"
android:weightSum="1">
<TextView
android:id="@+id/aboutUs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_weight="0.02"
android:fontFamily="sans-serif"
android:gravity="center"
android:paddingBottom="20dp"
android:text="@string/pickSeatTitle"
android:textAlignment="center"
android:textColor="@color/colorPrimary"
android:textSize="30sp"
android:textStyle="bold|italic"
app:layout_constraintBottom_toTopOf="@+id/relativeLayout2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<RelativeLayout
android:id="@+id/relativeLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.35"
app:layout_constraintBottom_toTopOf="@+id/relativeLayout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/aboutUs">
<Button
android:id="@+id/btn11"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_above="@+id/btn18"
android:layout_toEndOf="@+id/btn17"
android:layout_toRightOf="@+id/btn17"
android:background="@drawable/available"
android:text="S11" />
<Button
android:id="@+id/btn5"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/btn4"
android:layout_toRightOf="@+id/btn4"
android:background="@drawable/available"
android:text="S5" />
<Button
android:id="@+id/btn6"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/btn5"
android:layout_toRightOf="@+id/btn5"
android:background="@drawable/available"
android:text="S6" />
<Button
android:id="@+id/btn16"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@+id/btn12"
android:layout_toEndOf="@+id/btn8"
android:layout_toRightOf="@+id/btn8"
android:background="@drawable/available"
android:text="S16" />
<Button
android:id="@+id/btn20"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@+id/btn13"
android:layout_toEndOf="@+id/btn19"
android:layout_toRightOf="@+id/btn19"
android:background="@drawable/available"
android:text="S20" />
<Button
android:id="@+id/btn7"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_above="@+id/btn13"
android:layout_toEndOf="@+id/btn6"
android:layout_toRightOf="@+id/btn6"
android:background="@drawable/available"
android:text="S7" />
<Button
android:id="@+id/btn14"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@+id/btn6"
android:layout_toEndOf="@+id/btn6"
android:layout_toRightOf="@+id/btn6"
android:background="@drawable/available"
android:text="S14" />
<Button
android:id="@+id/btn13"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_above="@+id/btn17"
android:layout_toEndOf="@+id/btn12"
android:layout_toRightOf="@+id/btn12"
android:background="@drawable/available"
android:text="S13" />
<Button
android:id="@+id/btn12"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@+id/btn5"
android:layout_toEndOf="@+id/btn11"
android:layout_toRightOf="@+id/btn11"
android:background="@drawable/available"
android:text="S12" />
<Button
android:id="@+id/btn9"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_above="@+id/btn16"
android:layout_toEndOf="@+id/btn8"
android:layout_toRightOf="@+id/btn8"
android:background="@drawable/available"
android:text="S9" />
<Button
android:id="@+id/btn8"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/btn9"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginStart="18dp"
android:layout_marginLeft="18dp"
android:background="@drawable/available"
android:text="S8" />
<Button
android:id="@+id/btn3"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_above="@+id/btn10"
android:layout_toStartOf="@+id/btn11"
android:layout_toLeftOf="@+id/btn11"
android:background="@drawable/available"
android:text="S3" />
<Button
android:id="@+id/btn4"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_toStartOf="@+id/btn12"
android:layout_toLeftOf="@+id/btn12"
android:background="@drawable/available"
android:text="S4" />
<Button
android:id="@+id/btn15"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_above="@+id/btn22"
android:layout_toStartOf="@+id/btn16"
android:layout_toLeftOf="@+id/btn16"
android:background="@drawable/available"
android:text="S15" />
<Button
android:id="@+id/btn17"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignTop="@+id/btn15"
android:layout_toEndOf="@+id/btn16"
android:layout_toRightOf="@+id/btn16"
android:background="@drawable/available"
android:text="S17" />
<Button
android:id="@+id/btn21"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@+id/btn14"
android:layout_toEndOf="@+id/btn20"
android:layout_toRightOf="@+id/btn20"
android:background="@drawable/available"
android:text="S21" />
<Button
android:id="@+id/button8"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBaseline="@+id/btn32"
android:layout_alignBottom="@+id/btn32"
android:layout_toEndOf="@+id/btn32"
android:layout_toRightOf="@+id/btn32"
android:text="S1" />
<Button
android:id="@+id/btn33"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/btn32"
android:layout_toEndOf="@+id/btn32"
android:layout_toRightOf="@+id/btn32"
android:background="@drawable/available"
android:text="S33" />
<Button
android:id="@+id/btn32"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/btn31"
android:layout_toEndOf="@+id/btn31"
android:layout_toRightOf="@+id/btn31"
android:background="@drawable/available"
android:text="S32" />
<Button
android:id="@+id/btn31"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_above="@+id/btn34"
android:layout_toEndOf="@+id/btn30"
android:layout_toRightOf="@+id/btn30"
android:background="@drawable/available"
android:text="S31" />
<Button
android:id="@+id/btn30"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/btn29"
android:layout_toEndOf="@+id/btn29"
android:layout_toRightOf="@+id/btn29"
android:background="@drawable/available"
android:text="S30" />
<Button
android:id="@+id/btn29"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@+id/btn23"
android:layout_toEndOf="@+id/btn28"
android:layout_toRightOf="@+id/btn28"
android:background="@drawable/available"
android:text="S29" />
<Button
android:id="@+id/btn28"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@+id/btn22"
android:layout_toStartOf="@+id/btn10"
android:layout_toLeftOf="@+id/btn10"
android:background="@drawable/available"
android:text="S28" />
<Button
android:id="@+id/btn27"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_above="@+id/btn39"
android:layout_toStartOf="@+id/btn28"
android:layout_toLeftOf="@+id/btn28"
android:background="@drawable/available"
android:text="S27" />
<Button
android:id="@+id/btn39"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/btn38"
android:layout_toEndOf="@+id/btn38"
android:layout_toRightOf="@+id/btn38"
android:background="@drawable/available"
android:text="S39" />
<Button
android:id="@+id/btn38"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/btn37"
android:layout_toEndOf="@+id/btn31"
android:layout_toRightOf="@+id/btn31"
android:background="@drawable/available"
android:text="S38" />
<Button
android:id="@+id/btn37"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/btn36"
android:layout_toEndOf="@+id/btn36"
android:layout_toRightOf="@+id/btn36"
android:background="@drawable/available"
android:text="S37" />
<Button
android:id="@+id/btn36"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@+id/btn30"
android:layout_toEndOf="@+id/btn35"
android:layout_toRightOf="@+id/btn35"
android:background="@drawable/available"
android:text="S36" />
<Button
android:id="@+id/btn35"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@+id/button8"
android:layout_toEndOf="@+id/btn34"
android:layout_toRightOf="@+id/btn34"
android:background="@drawable/available"
android:text="S35" />
<Button
android:id="@+id/btn34"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@+id/btn28"
android:layout_alignStart="@+id/btn22"
android:layout_alignLeft="@+id/btn22"
android:background="@drawable/available"
android:text="S34" />
<Button
android:id="@+id/btn26"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_above="@+id/button8"
android:layout_toEndOf="@+id/btn31"
android:layout_toRightOf="@+id/btn31"
android:background="@drawable/available"
android:text="S26" />
<Button
android:id="@+id/btn25"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@+id/btn20"
android:layout_toEndOf="@+id/btn30"
android:layout_toRightOf="@+id/btn30"
android:background="@drawable/available"
android:text="S25" />
<Button
android:id="@+id/btn22"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_above="@+id/btn27"
android:layout_toStartOf="@+id/btn23"
android:layout_toLeftOf="@+id/btn23"
android:background="@drawable/available"
android:text="S22" />
<Button
android:id="@+id/btn23"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@+id/btn16"
android:layout_toStartOf="@+id/btn24"
android:layout_toLeftOf="@+id/btn24"
android:background="@drawable/available"
android:text="S23" />
<Button
android:id="@+id/btn24"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@+id/btn17"
android:layout_centerHorizontal="true"
android:background="@drawable/available"
android:text="S24" />
<Button
android:id="@+id/btn19"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@+id/btn12"
android:layout_toEndOf="@+id/btn11"
android:layout_toRightOf="@+id/btn11"
android:background="@drawable/available"
android:text="S19" />
<Button
android:id="@+id/btn18"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_above="@+id/btn24"
android:layout_below="@+id/btn10"
android:layout_toEndOf="@+id/btn17"
android:layout_toRightOf="@+id/btn17"
android:background="@drawable/available"
android:text="S18" />
<Button
android:id="@+id/btn10"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_above="@+id/btn20"
android:layout_toEndOf="@+id/btn16"
android:layout_toRightOf="@+id/btn16"
android:background="@drawable/available"
android:text="S10" />
<Button
android:id="@+id/btn2"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_toStartOf="@+id/btn3"
android:layout_toLeftOf="@+id/btn3"
android:background="@drawable/available"
android:text="S2" />
<Button
android:id="@+id/btn1"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_toStartOf="@+id/btn2"
android:layout_toLeftOf="@+id/btn2"
android:background="@drawable/available"
android:text="S1" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="52dp"
android:layout_weight="0.68"
app:layout_constraintBottom_toTopOf="@+id/btnConfirmSeats"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/relativeLayout2">
<Button
android:id="@+id/button22"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="24dp"
android:layout_marginLeft="24dp"
android:background="@drawable/selected"
android:text="D1" />
<Button
android:id="@+id/button55"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_marginStart="75dp"
android:layout_marginLeft="75dp"
android:layout_toEndOf="@+id/button22"
android:layout_toRightOf="@+id/button22"
android:background="@drawable/available"
android:text="D2" />
<Button
android:id="@+id/button58"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginEnd="47dp"
android:layout_marginRight="47dp"
android:background="@drawable/booked"
android:text="D3" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button58"
android:layout_alignEnd="@+id/button58"
android:layout_alignRight="@+id/button58"
android:text="Booked"
android:textColor="@android:color/background_light"
android:textStyle="bold" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button55"
android:layout_alignStart="@+id/button55"
android:layout_alignLeft="@+id/button55"
android:text="Available"
android:textColor="@android:color/background_light"
android:textStyle="bold" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button22"
android:layout_alignStart="@+id/button22"
android:layout_alignLeft="@+id/button22"
android:text="Selected"
android:textColor="@android:color/background_light"
android:textStyle="bold" />
</RelativeLayout>
<Button
android:id="@+id/btnConfirmSeats"
android:layout_width="0dp"
app:layout_constraintWidth_percent="0.8"
android:layout_height="wrap_content"
android:layout_weight="0.02"
android:text="@string/btnConfirmSeats"
style="@android:style/Widget.Button"
android:background="@drawable/btn_orange"
android:textColor="#ffffff"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/relativeLayout" />
</androidx.constraintlayout.widget.ConstraintLayout>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FBDEDC"
tools:context="com.example.project58.BookSeats"
android:weightSum="1">
<TextView
android:id="@+id/receiptTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:fontFamily="sans-serif"
android:gravity="center"
android:text="@string/receiptTitle"
android:textAlignment="center"
android:textColor="@color/colorPrimaryDark"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/receiptContent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/receiptContent"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintHeight_percent="0.7"
android:layout_gravity="center"
android:background="#FEC0AF"
android:fontFamily="sans-serif"
android:paddingTop="30dp"
android:paddingBottom="30dp"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/btnConfirmSeats"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/receiptTitle" />
<Button
android:id="@+id/btnConfirmSeats"
style="@android:style/Widget.Button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.02"
android:background="@drawable/btn_orange"
android:text="Confirm Booking"
android:textColor="#ffffff"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/receiptContent"
app:layout_constraintWidth_percent="0.8" />
</androidx.constraintlayout.widget.ConstraintLayout>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:text="Create an account"
android:textColor="#df7154"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.134"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="Create your account and get started"
android:textColor="#000000"
android:textSize="16sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.184"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<ImageView
android:id="@+id/imageView"
android:layout_width="183dp"
android:layout_height="207dp"
app:layout_constraintBottom_toTopOf="@+id/linearLayout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.929"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView"
app:srcCompat="@drawable/logo_sign_up" />
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView">
<EditText
android:id="@+id/editTextPersonName"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="32dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="8dp"
android:background="@drawable/edittext_background"
android:ems="10"
android:hint="Enter your username"
android:inputType="textPersonName"
android:paddingStart="20dp"
android:textColorHint="#464646" />
<EditText
android:id="@+id/editTextEmail"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="32dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="8dp"
android:background="@drawable/edittext_background"
android:ems="10"
android:hint="Enter your email address"
android:inputType="textPersonName"
android:paddingStart="20dp"
android:textColorHint="#464646" />
<EditText
android:id="@+id/editTextPassword"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="32dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="8dp"
android:background="@drawable/edittext_background"
android:ems="10"
android:hint="Enter your password"
android:inputType="textPassword"
android:paddingStart="20dp"
android:textColorHint="#464646" />
<EditText
android:id="@+id/editTextRePass"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="32dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="8dp"
android:background="@drawable/edittext_background"
android:ems="10"
android:hint="Confirm your password"
android:inputType="textPassword"
android:paddingStart="20dp"
android:textColorHint="#464646" />
<Button
android:id="@+id/signup_button"
style="@android:style/Widget.Button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="8dp"
android:background="@drawable/btn_orange"
android:text="Register"
android:textColor="#ffffff"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:id="@+id/sign_in_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="15dp"
android:text="Already have an account? Login"
android:textColor="@color/black" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".UserTickets">
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="Tickets"
android:textColor="@color/colorPrimary"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/listview"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent="0.065"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent="0.935"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView8"
tools:listitem="@layout/ticket_list_item">
</ListView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="10dp"
android:orientation="vertical"
android:layout_marginHorizontal="10dp"
>
<ImageView
android:id="@+id/performance_image"
android:layout_width="match_parent"
android:layout_height="150dp">
</ImageView>
<TextView
android:id="@+id/performance_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Hello"
android:textColor="@color/black"
android:textSize="26sp"
android:textStyle="bold"
/>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="10dp"
android:orientation="horizontal"
android:layout_marginHorizontal="10dp"
>
<TextView
android:layout_marginLeft="20dp"
android:id="@+id/ticket_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello"
android:textColor="@color/black"
android:textSize="26sp"
android:textStyle="bold"
/>
<TextView
android:id="@+id/ticket_amount"
android:textAlignment="textEnd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="20dp"
android:text="Hello"
android:textColor="@color/black"
android:textSize="22sp"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="HardcodedText">
<item
android:id="@+id/nav_myTickets"
android:title="My Tickets" />
<item
android:id="@+id/nav_performances"
android:title="Performances List" />
<item
android:id="@+id/nav_logOut"
android:title="Log Out" />
<item
android:id="@+id/nav_quitApp"
android:title="Quit App" />
</menu>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
\ No newline at end of file
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.Project58" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_200</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/black</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_200</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="purple_200">#FFBB86FC</color>
<color name="purple_500">#FF6200EE</color>
<color name="purple_700">#FF3700B3</color>
<color name="teal_200">#FF03DAC5</color>
<color name="teal_700">#FF018786</color>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="colorPrimary">#FF3500</color>
<color name="colorPrimaryDark">#FFFF3500</color>
<color name="colorAccent">#FF4081</color>
<color name="pressed_color">#1767e9</color>
<color name="default_color">#ffffff</color>
<color name="color_focus">#0000FF</color>
</resources>
\ No newline at end of file
<resources>
<string name="app_name">Performances Booking</string>
<string name="companyName">Book My Show</string>
<string name="title">Welcome !</string>
<string name="guestBtnText">Enter as Guest</string>
<string name="adminBtnText">Enter as Admin</string>
<string name="aboutUs">About Us</string>
<string name="contactUs">Contact Us</string>
<string name="selectMovieAdmin">Movie Scheduler</string>
<string name="txtSelectDate">Select Date</string>
<string name="txtstartTime">Start-Time</string>
<string name="txtRunTime">Run-Time </string>
<string name="txtCleaningTime">Cleaning-Time</string>
<string name="txtCloseTime">Theatre-CloseTime</string>
<string name="btnSchedule">Schedule</string>
<string name="selectMovieGuest">Select a movie to Watch</string>
<string name="textViewDate">Select Date</string>
<string name="textViewDate1">dd/mm/yy</string>
<string name="spinnerDate">Schedule</string>
<string name="textViewTime">Select Time</string>
<string name="textViewTime1">00 : 00 : 00</string>
<string name="spinnerTime">Schedule</string>
<string name="textViewTickets">Select Tickets</string>
<string name="textLogin">Log In</string>
<string name="txtLogin">LOGIN</string>
<string name="txtRegister">REGISTER</string>
<string name="btnPickDate">Pick Date</string>
<string name="goBack">Back to HomePage</string>
<string name="txtMovieScheduled">Movie Scheduled</string>
<string name="aboutUscontent"> CSIS 3175 INTRO TO ANDROID \n STUDENT ID : 300272555 \n STUDENT NAME : KIRANDEEP KAUR \n \n Bookmyshow.com lets you book movie tickets in your favourite cinema in the simplest, easiest and the smartest way without the unnecessary glitz. Search, Choose Book movie tickets. It can\'t get simpler than this. What\'s stopping you . Go ahead and search in Vancouver or Surrey area. We also provide special discounts on local movies and theatre shows.</string>
<string name="contactUsContent">
<![CDATA[ <b>Location :</b> Kiran Entertainment Private Limited Ground Floor, 1706 Suite , Vancouver, BC, Canada, V3X189<br/> <br /> <b>Contact:</b> bmsenquiries@support.com<br/><br /> <b>Phone:</b>1800-BOOK-SHOW<br/><br /> <br /><br /><br /><br /><br /> <i>Copyright 2017 © Kiran Entertainment Pvt. Ltd. All Rights Reserved.</i> ]]>
</string>
<string name="btnProceedToPay">Select Seats</string>
<string name="pickSeatTitle">Pick Your Seats</string>
<string name="btnConfirmSeats">Confirm Seats</string>
<string name="receiptTitle">Your Receipt</string>
<string name="printTicket">Print Ticket</string>
<string name="ticketTitle">Your Ticket</string>
<string name="btnbookAnother">Book another Movie</string>
<string name="nav_open">Open</string>
<string name="nav_close">Close</string>
</resources>
\ No newline at end of file
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColor">@color/white</item>
</style>
</resources>
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.Project58" parent="Theme.AppCompat.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryVariant">@color/colorPrimaryDark</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/white</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
</resources>
\ No newline at end of file
package com.example.project58;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Example local unit test, which will execute on the development machine (host).
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
assertEquals(4, 2 + 2);
}
}
\ No newline at end of file
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.4.1'
classpath 'com.google.gms:google-services:4.3.15'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
\ No newline at end of file
## For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
#
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx1024m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
#
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
#Sat May 06 20:51:37 IST 2023
android.defaults.buildfeatures.buildconfig=true
android.nonFinalResIds=false
android.nonTransitiveRClass=false
android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536M -Dkotlin.daemon.jvm.options\="-Xmx1024M" -Dfile.encoding\=UTF-8
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
APP_NAME="Gradle"
APP_BASE_NAME=${0##*/}
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
# double quotes to make sure that they get re-expanded; and
# * put everything else in single quotes, so that it's not re-expanded.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
## This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Thu May 18 15:19:25 BST 2023
sdk.dir=C\:\\Users\\skhalifa\\AppData\\Local\\Android\\Sdk
<!DOCTYPE HTML>
<html>
<head>
<meta name="google" value="notranslate" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Created by Camtasia 2019</title>
<link href="project58_embed.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="smart-player-embed-container">
<iframe class="smart-player-embed-iframe" id="embeddedSmartPlayerInstance" src="project58_player.html?embedIFrameId=embeddedSmartPlayerInstance" scrolling="no" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
</div>
</body>
</html>
<x:xmpmeta tsc:version="2.0.1" xmlns:x="adobe:ns:meta/" xmlns:tsc="http://www.techsmith.com/xmp/tsc/">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpDM="http://ns.adobe.com/xmp/1.0/DynamicMedia/" xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:tscDM="http://www.techsmith.com/xmp/tscDM/" xmlns:tscIQ="http://www.techsmith.com/xmp/tscIQ/" xmlns:tscHS="http://www.techsmith.com/xmp/tscHS/" xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" xmlns:stFnt="http://ns.adobe.com/xap/1.0/sType/Font#" xmlns:exif="http://ns.adobe.com/exif/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description dc:date="2021-07-20 10:41:47 AM" dc:source="Camtasia,19.0.10,enu" dc:title="project58" tscDM:firstFrame="project58_First_Frame.png" tscDM:originId="C8261C74-2C14-4583-81F1-0E449FE74274" tscDM:project="project58">
<xmpDM:duration xmpDM:scale="1/1000" xmpDM:value="736833"/>
<xmpDM:videoFrameSize stDim:unit="pixel" stDim:h="1080" stDim:w="1920"/>
<tsc:langName>
<rdf:Bag>
<rdf:li xml:lang="en-US">English</rdf:li></rdf:Bag>
</tsc:langName>
<xmpDM:Tracks>
<rdf:Bag>
</rdf:Bag>
</xmpDM:Tracks>
<tscDM:controller>
<rdf:Description xmpDM:name="tscplayer">
<tscDM:parameters>
<rdf:Bag>
<rdf:li xmpDM:name="autohide" xmpDM:value="true"/><rdf:li xmpDM:name="autoplay" xmpDM:value="false"/><rdf:li xmpDM:name="loop" xmpDM:value="false"/><rdf:li xmpDM:name="searchable" xmpDM:value="true"/><rdf:li xmpDM:name="captionsenabled" xmpDM:value="false"/><rdf:li xmpDM:name="sidebarenabled" xmpDM:value="false"/><rdf:li xmpDM:name="unicodeenabled" xmpDM:value="false"/><rdf:li xmpDM:name="backgroundcolor" xmpDM:value="000000"/><rdf:li xmpDM:name="sidebarlocation" xmpDM:value="left"/><rdf:li xmpDM:name="endaction" xmpDM:value="stop"/><rdf:li xmpDM:name="endactionparam" xmpDM:value="true"/><rdf:li xmpDM:name="locale" xmpDM:value="en-US"/></rdf:Bag>
</tscDM:parameters>
<tscDM:controllerText>
<rdf:Bag>
</rdf:Bag>
</tscDM:controllerText>
</rdf:Description>
</tscDM:controller>
<tscDM:contentList>
<rdf:Description>
<tscDM:files>
<rdf:Seq>
<rdf:li xmpDM:name="0" xmpDM:value="project58.mp4"/><rdf:li xmpDM:name="1" xmpDM:value="project58_First_Frame.png"/><rdf:li xmpDM:name="2" xmpDM:value="project58_Thumbnails.png"/></rdf:Seq>
</tscDM:files>
</rdf:Description>
</tscDM:contentList>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
\ No newline at end of file
@charset "utf-8";
html, body {
margin: 0;
width: 100%;
text-align: center;
background-color: #1a1a1a;
box-sizing: border-box;
overflow: hidden;
}
.smart-player-embed-container {
margin-left: auto;
margin-right: auto;
max-width: 852px;
height: 0;
overflow: hidden;
padding-top: calc(480 / 852 * 100%);
position: relative;
}
.smart-player-embed-iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
max-width: 852px;
max-height: 480px;
}
@media screen and ( max-height: 480px )
{
.smart-player-embed-iframe {
max-height: 100vh;
}
}
\ No newline at end of file
<!DOCTYPE html>
<!-- saved from url=(0014)about:internet -->
<html>
<head>
<meta name="google" value="notranslate" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<link href="https://fonts.googleapis.com/css?family=Quicksand|Actor|Source+Sans+Pro:900|Lato:400,700,900|Oswald:400,700|Abel:400|Dosis:600" rel="stylesheet">
<link href="skins/remix/techsmith-smart-player.min.css" rel="stylesheet" type="text/css" />
<style>
html, body {
background-color: #1a1a1a;
}
</style>
</head>
<body>
<div id="tscVideoContent">
<img width="32px" height="32px" style="position: absolute; top: 50%; left: 50%; margin: -16px 0 0 -16px"
src="data:image/gif;base64,R0lGODlhIAAgAPMAAAAAAP///zg4OHp6ekhISGRkZMjIyKioqCYmJhoaGkJCQuDg4Pr6+gAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHRLYKhKP1oZmADdEAAAh+QQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY/CZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB+A4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6+Ho7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq+B6QDtuetcaBPnW6+O7wDHpIiK9SaVK5GgV543tzjgGcghAgAh+QQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK++G+w48edZPK+M6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE+G+cD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm+FNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk+aV+oJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0/VNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc+XiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30/iI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE/jiuL04RGEBgwWhShRgQExHBAAh+QQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR+ipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY+Yip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd+MFCN6HAAIKgNggY0KtEBAAh+QQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1+vsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d+jYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg+ygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0+bm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h+Kr0SJ8MFihpNbx+4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX+BP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA==">
</div>
<script src="scripts/config_xml.js"></script>
<script type="text/javascript">
(function (window) {
function setup(TSC) {
TSC.playerConfiguration.addMediaSrc("project58.mp4");
TSC.playerConfiguration.setXMPSrc("project58_config.xml");
TSC.playerConfiguration.setAutoHideControls(true);
TSC.playerConfiguration.setBackgroundColor("#000000");
TSC.playerConfiguration.setCaptionsEnabled(false);
TSC.playerConfiguration.setSidebarEnabled(false);
TSC.playerConfiguration.setAutoPlayMedia(false);
TSC.playerConfiguration.setPosterImageSrc("project58_First_Frame.png");
TSC.playerConfiguration.setIsSearchable(true);
TSC.playerConfiguration.setEndActionType("stop");
TSC.playerConfiguration.setEndActionParam("true");
TSC.playerConfiguration.setAllowRewind(-1);
TSC.localizationStrings.setLanguage(TSC.languageCodes.ENGLISH);
TSC.mediaPlayer.init("#tscVideoContent");
}
function loadScript(e,t){if(!e||!(typeof e==="string")){return}var n=document.createElement("script");if(typeof document.attachEvent==="object"){n.onreadystatechange=function(){if(n.readyState==="complete"||n.readyState==="loaded"){if(t){t()}}}}else{n.onload=function(){if(t){t()}}}n.src=e;document.getElementsByTagName("head")[0].appendChild(n)}
loadScript('scripts/techsmith-smart-player.min.js', function() {
setup(window["TSC"]);
});
}(window));
</script>
</body>
</html>
\ No newline at end of file
var TSC = TSC || {};
TSC.embedded_config_xml = '<x:xmpmeta tsc:version="2.0.1" xmlns:x="adobe:ns:meta/" xmlns:tsc="http://www.techsmith.com/xmp/tsc/">\
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpDM="http://ns.adobe.com/xmp/1.0/DynamicMedia/" xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:tscDM="http://www.techsmith.com/xmp/tscDM/" xmlns:tscIQ="http://www.techsmith.com/xmp/tscIQ/" xmlns:tscHS="http://www.techsmith.com/xmp/tscHS/" xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" xmlns:stFnt="http://ns.adobe.com/xap/1.0/sType/Font#" xmlns:exif="http://ns.adobe.com/exif/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/">\
<rdf:Description dc:date="2021-07-20 10:41:47 AM" dc:source="Camtasia,19.0.10,enu" dc:title="project58" tscDM:firstFrame="project58_First_Frame.png" tscDM:originId="C8261C74-2C14-4583-81F1-0E449FE74274" tscDM:project="project58">\
<xmpDM:duration xmpDM:scale="1/1000" xmpDM:value="736833"/>\
<xmpDM:videoFrameSize stDim:unit="pixel" stDim:h="1080" stDim:w="1920"/>\
<tsc:langName>\
<rdf:Bag>\
<rdf:li xml:lang="en-US">English</rdf:li></rdf:Bag>\
</tsc:langName>\
<xmpDM:Tracks>\
<rdf:Bag>\
</rdf:Bag>\
</xmpDM:Tracks>\
<tscDM:controller>\
<rdf:Description xmpDM:name="tscplayer">\
<tscDM:parameters>\
<rdf:Bag>\
<rdf:li xmpDM:name="autohide" xmpDM:value="true"/><rdf:li xmpDM:name="autoplay" xmpDM:value="false"/><rdf:li xmpDM:name="loop" xmpDM:value="false"/><rdf:li xmpDM:name="searchable" xmpDM:value="true"/><rdf:li xmpDM:name="captionsenabled" xmpDM:value="false"/><rdf:li xmpDM:name="sidebarenabled" xmpDM:value="false"/><rdf:li xmpDM:name="unicodeenabled" xmpDM:value="false"/><rdf:li xmpDM:name="backgroundcolor" xmpDM:value="000000"/><rdf:li xmpDM:name="sidebarlocation" xmpDM:value="left"/><rdf:li xmpDM:name="endaction" xmpDM:value="stop"/><rdf:li xmpDM:name="endactionparam" xmpDM:value="true"/><rdf:li xmpDM:name="locale" xmpDM:value="en-US"/></rdf:Bag>\
</tscDM:parameters>\
<tscDM:controllerText>\
<rdf:Bag>\
</rdf:Bag>\
</tscDM:controllerText>\
</rdf:Description>\
</tscDM:controller>\
<tscDM:contentList>\
<rdf:Description>\
<tscDM:files>\
<rdf:Seq>\
<rdf:li xmpDM:name="0" xmpDM:value="project58.mp4"/><rdf:li xmpDM:name="1" xmpDM:value="project58_First_Frame.png"/><rdf:li xmpDM:name="2" xmpDM:value="project58_Thumbnails.png"/></rdf:Seq>\
</tscDM:files>\
</rdf:Description>\
</tscDM:contentList>\
</rdf:Description>\
</rdf:RDF>\
</x:xmpmeta>';
This source diff could not be displayed because it is too large. You can view the blob instead.
rootProject.name = "project58"
include ':app'
/*! TechSmith Smart Player v5.88.0 */
.tsc-smartplayer{box-sizing:border-box;height:100%;margin:0;padding:0;color:#000;overflow:hidden}.tsc-smartplayer *,.tsc-smartplayer :after,.tsc-smartplayer :before{box-sizing:inherit}.tsc-smartplayer object:focus{outline:none}.tsc-smartplayer blockquote,.tsc-smartplayer code,.tsc-smartplayer dd,.tsc-smartplayer div,.tsc-smartplayer dl,.tsc-smartplayer dt,.tsc-smartplayer fieldset,.tsc-smartplayer form,.tsc-smartplayer h1,.tsc-smartplayer h2,.tsc-smartplayer h3,.tsc-smartplayer h4,.tsc-smartplayer h5,.tsc-smartplayer h6,.tsc-smartplayer input,.tsc-smartplayer legend,.tsc-smartplayer li,.tsc-smartplayer ol,.tsc-smartplayer p,.tsc-smartplayer pre,.tsc-smartplayer td,.tsc-smartplayer textarea,.tsc-smartplayer th,.tsc-smartplayer ul{margin:0;padding:0}.tsc-smartplayer input[type=color],.tsc-smartplayer input[type=date],.tsc-smartplayer input[type=datetime-local],.tsc-smartplayer input[type=datetime],.tsc-smartplayer input[type=email],.tsc-smartplayer input[type=month],.tsc-smartplayer input[type=number],.tsc-smartplayer input[type=password],.tsc-smartplayer input[type=search],.tsc-smartplayer input[type=tel],.tsc-smartplayer input[type=text],.tsc-smartplayer input[type=time],.tsc-smartplayer input[type=url],.tsc-smartplayer input[type=week],.tsc-smartplayer select:focus,.tsc-smartplayer textarea{font-size:16px}.tsc-smartplayer table{border-collapse:collapse;border-spacing:0}.tsc-smartplayer fieldset,.tsc-smartplayer img{border:0}.tsc-smartplayer address,.tsc-smartplayer caption,.tsc-smartplayer cite,.tsc-smartplayer code,.tsc-smartplayer dfn,.tsc-smartplayer em,.tsc-smartplayer strong,.tsc-smartplayer th,.tsc-smartplayer var{font-style:normal;font-weight:400}.tsc-smartplayer div,.tsc-smartplayer fieldset,.tsc-smartplayer form,.tsc-smartplayer h1,.tsc-smartplayer h2,.tsc-smartplayer h3,.tsc-smartplayer h4,.tsc-smartplayer h5,.tsc-smartplayer h6,.tsc-smartplayer p{-webkit-text-size-adjust:none}.tsc-smartplayer li{list-style:none}.tsc-smartplayer caption,.tsc-smartplayer th{text-align:left}.tsc-smartplayer h1,.tsc-smartplayer h2,.tsc-smartplayer h3,.tsc-smartplayer h4,.tsc-smartplayer h5,.tsc-smartplayer h6{font-size:100%;font-weight:400}.tsc-smartplayer q:after,.tsc-smartplayer q:before{content:""}.tsc-smartplayer abbr,.tsc-smartplayer acronym{border:0;font-variant:normal}.tsc-smartplayer sup{vertical-align:text-top}.tsc-smartplayer sub{vertical-align:text-bottom}.tsc-smartplayer input,.tsc-smartplayer select,.tsc-smartplayer textarea{font-family:inherit;font-weight:inherit;font-size:inherit}.tsc-smartplayer legend{color:#000}.tsc-smartplayer table{font-size:inherit}.tsc-smartplayer code,.tsc-smartplayer kbd,.tsc-smartplayer pre,.tsc-smartplayer samp,.tsc-smartplayer tt{font-family:monospace;line-height:100%}.tsc-smartplayer h1{font-size:138.5%}.tsc-smartplayer h2{font-size:123.1%}.tsc-smartplayer h3{font-size:108%}.tsc-smartplayer h1,.tsc-smartplayer h2,.tsc-smartplayer h3{margin:1em 0}.tsc-smartplayer h1,.tsc-smartplayer h2,.tsc-smartplayer h3,.tsc-smartplayer h4,.tsc-smartplayer h5,.tsc-smartplayer h6,.tsc-smartplayer strong{font-weight:700}.tsc-smartplayer abbr,.tsc-smartplayer acronym{border-bottom:1px dotted #000;cursor:help}.tsc-smartplayer em{font-style:italic}.tsc-smartplayer blockquote,.tsc-smartplayer dl,.tsc-smartplayer ol,.tsc-smartplayer ul{margin:1em}.tsc-smartplayer dl,.tsc-smartplayer ol,.tsc-smartplayer ul{margin-left:2em}.tsc-smartplayer ol li{list-style:decimal outside}.tsc-smartplayer ul li{list-style:disc outside}.tsc-smartplayer dl dd{margin-left:1em}.tsc-smartplayer td,.tsc-smartplayer th{border:0;padding:.5em}.tsc-smartplayer th{font-weight:700;text-align:center}.tsc-smartplayer caption{margin-bottom:.5em;text-align:center}.tsc-smartplayer fieldset,.tsc-smartplayer p,.tsc-smartplayer pre,.tsc-smartplayer table{margin:0}.tsc-smartplayer input[type=email],.tsc-smartplayer input[type=password],.tsc-smartplayer input[type=text],.tsc-smartplayer textarea{width:12.25em}.tsc-smartplayer video{max-width:100%;height:100%}
@keyframes SpinnerSvgAnimation{0%{opacity:1;width:100px;transform:rotate(0deg)}to{opacity:1;width:100px;transform:rotate(1turn)}}@keyframes SpinnerCircleAnimation{0%,25%{stroke-dashoffset:280;transform:rotate(0)}50%,75%{stroke-dashoffset:75;transform:rotate(45deg)}to{stroke-dashoffset:280;transform:rotate(1turn)}}.appplayer,.tsc-smartplayer{font:13px/1.231 arial,helvetica,clean,sans-serif}.appplayer .button,.tsc-smartplayer .button{-webkit-border-fit:border!important;-webkit-appearance:none;display:inline-block;position:relative;-ms-flex:none;flex:none;min-width:0;height:auto;margin:0;border:0;padding:6px 16px;border-radius:2px;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.25rem;white-space:normal;background-color:transparent;letter-spacing:normal;text-decoration:none;vertical-align:middle;text-align:center;cursor:pointer;overflow-wrap:break-word;word-wrap:break-word}.appplayer .button .glyph,.tsc-smartplayer .button .glyph{pointer-events:none;display:inline-block;vertical-align:middle}.appplayer .button .glyph img,.appplayer .button .glyph svg,.tsc-smartplayer .button .glyph img,.tsc-smartplayer .button .glyph svg{display:block}.appplayer .button .glyph :nth-child(2),.tsc-smartplayer .button .glyph :nth-child(2){margin-left:.25rem}.appplayer .button::-moz-focus-inner,.tsc-smartplayer .button::-moz-focus-inner{border:0}.appplayer .button:focus,.tsc-smartplayer .button:focus{outline:none}.appplayer .button:focus:after,.tsc-smartplayer .button:focus:after{content:"";display:block;position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:2px solid #fff;border-radius:2.5px}.appplayer .button-cta,.tsc-smartplayer .button-cta{background-color:#e8e9eb;color:#15191c;padding:10px 20px;box-shadow:0 2px 3px rgba(0,0,0,.4)}.appplayer .button-cta:active:enabled,.tsc-smartplayer .button-cta:active:enabled{background-color:#e7e8eb;box-shadow:inset 0 2px 3px rgba(0,0,0,.4)}.appplayer .button-cta:focus:after,.tsc-smartplayer .button-cta:focus:after{border:2px solid #15191c}.appplayer .button-icon,.tsc-smartplayer .button-icon{background:transparent;border:0;pointer-events:auto}.appplayer .button-icon:hover:enabled,.tsc-smartplayer .button-icon:hover:enabled{background:#d1d2d7}.appplayer .button-primary,.tsc-smartplayer .button-primary{background:#0072cf;color:#f5f6f8}.appplayer .button-primary:hover:enabled,.tsc-smartplayer .button-primary:hover:enabled{background:#0067be}.appplayer .button-primary:active:enabled,.tsc-smartplayer .button-primary:active:enabled{background:#0061b5}.appplayer .button-primary:focus:after,.tsc-smartplayer .button-primary:focus:after{border:2px solid #f5f6f8}.appplayer .button-secondary,.tsc-smartplayer .button-secondary{background:#e8e9eb;color:#2e3940}.appplayer .button-secondary:hover:enabled,.tsc-smartplayer .button-secondary:hover:enabled{background:#d1d2d7}.appplayer .button-secondary:active:enabled,.tsc-smartplayer .button-secondary:active:enabled{background:#c5c6cd}.appplayer .button-secondary:focus:after,.tsc-smartplayer .button-secondary:focus:after{border:2px solid #2e3940}.appplayer .button-tertiary,.tsc-smartplayer .button-tertiary{background:transparent;color:#2e3940}.appplayer .button-tertiary:hover:enabled,.tsc-smartplayer .button-tertiary:hover:enabled{background:rgba(0,0,34,.1)}.appplayer .button-tertiary:active:enabled,.tsc-smartplayer .button-tertiary:active:enabled{background:rgba(0,0,34,.15)}.appplayer .button-tertiary:focus:after,.tsc-smartplayer .button-tertiary:focus:after{border:2px solid #2e3940}.appplayer .button-destructive,.tsc-smartplayer .button-destructive{background:#cd4242;color:#fff}.appplayer .button-destructive:hover:enabled,.tsc-smartplayer .button-destructive:hover:enabled{background:#b93b3f}.appplayer .button-destructive:active:enabled,.tsc-smartplayer .button-destructive:active:enabled{background:#ae383d}.appplayer .button-destructive:focus:after,.tsc-smartplayer .button-destructive:focus:after{border:2px solid #fff}.appplayer .button-taller,.tsc-smartplayer .button-taller{min-height:3rem}.appplayer .button:disabled,.tsc-smartplayer .button:disabled{opacity:.25;cursor:default}.appplayer .media-plugin-container,.tsc-smartplayer .media-plugin-container{position:absolute;top:0;bottom:0;left:0;right:0;margin:0;padding:0;pointer-events:none}.caption-wrapper,.fullscreen-wrapper,.player-settings-wrapper{float:left}.tsc-smartplayer{position:relative;width:100%;height:100%;padding:0;margin:0;overflow:hidden;-webkit-overflow-scrolling:touch}.tsc-smartplayer :focus{outline:2px solid #0072cf}.tsc-smartplayer #controls :focus{outline-offset:-2px}.tsc-smartplayer input[type=radio]:focus{outline:none}.tsc-smartplayer ::-moz-focus-inner{border:0}.tsc-smartplayer .scorm-module-navigation-container{display:none}.tsc-smartplayer .video-wrapper{position:relative;width:100%;height:100%}.tsc-smartplayer .video-wrapper:focus{outline:none}.tsc-smartplayer.scorm-module .scorm-module-navigation-container{display:block;position:absolute;top:0;left:0;right:0;height:44px;background-color:rgba(31,36,42,.9);border-bottom:1px solid rgba(150,163,178,.9)}.tsc-smartplayer.scorm-module .video-wrapper{margin-top:44px;height:calc(100% - 44px)}.tsc-smartplayer.scorm-module.smartplayer-dawn-theme .scorm-module-navigation-container{background-color:#f5f6f8;border-bottom:1px solid #2a3137}.tsc-smartplayer.fullscreen-mode .video-wrapper{margin-top:0;height:100%}.tsc-smartplayer.fullscreen-mode .scorm-module-navigation-container{display:none}.tsc-smartplayer .click-controls{width:100%;height:100%}.tsc-smartplayer .video-div{width:100%;height:100%;text-align:center}.tsc-smartplayer .patch-safari-pip-issue{transform:translateZ(0)}.tsc-smartplayer #hotspotContainer,.tsc-smartplayer #hotspotContainerDebug{position:absolute}.tsc-smartplayer .play-pause-state{position:absolute;top:0;bottom:0;left:0;right:0;height:100px;width:100px;margin:auto;display:none;border-radius:1000px;background-color:rgba(31,36,42,.9)}.tsc-smartplayer .play-state-indicator-container{height:40px;width:40px;margin-left:30px;margin-top:30px}.tsc-smartplayer .play-pause-state-indicator{height:100%;width:100%}.tsc-smartplayer .message-bar-view-container{position:absolute;top:0;display:none;z-index:12;width:100%;text-align:center;padding:15px;color:#fff;font-size:20px;background-color:#0072cf;box-shadow:0 17px 21px -10px rgba(0,0,0,.3)}.tsc-smartplayer .message-bar-view-container.warning{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;background-color:#d31d1d;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 66' fill='%23e22d2d'%3E%3Ctitle%3EArtboard 1%3C/title%3E%3Cpath d='M57.67 29.86l-16.42-9.27-13.06 7.08-1.33 6-15.66 8.58.15 15a2.81 2.81 0 0 0 4.25 2.4l21.06-12.48 21.05-12.43a2.82 2.82 0 0 0-.04-4.88z'/%3E%3Cpath d='M26.48 25.52l12.22-8.46-5.16-2.21-22.47-9.64a2.82 2.82 0 0 0-3.91 2.93l2.89 24.28 1.12 9.43L25.8 31.61z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:50%}.tsc-smartplayer .message-bar-view-container a:active,.tsc-smartplayer .message-bar-view-container a:hover,.tsc-smartplayer .message-bar-view-container a:link,.tsc-smartplayer .message-bar-view-container a:visited{color:#fff}.tsc-smartplayer .message-bar-view-container .message-bar-text-container{display:block;max-width:540px;max-height:200px;overflow-y:auto;margin:0 auto;text-shadow:1px 1px 1px #000}.tsc-smartplayer .message-bar-view-container .message-bar-action-button{margin-top:20px}.tsc-smartplayer .alert-only{text-indent:100%;white-space:nowrap;overflow:hidden}.tsc-smartplayer .tsc-io-container{position:absolute;z-index:12;width:100%;height:100%;top:0;padding:0;margin:0;text-align:center;color:#fff}.tsc-smartplayer .tsc-io-message{max-width:330px;z-index:12;margin-left:auto;margin-right:auto;position:relative;top:50%;transform:translateY(-50%);padding:14px;font-size:16px;background-color:rgba(0,0,0,.8);border-radius:4px}.tsc-smartplayer .tsc-io-message a:active,.tsc-smartplayer .tsc-io-message a:hover,.tsc-smartplayer .tsc-io-message a:link,.tsc-smartplayer .tsc-io-message a:visited{color:#fff}.tsc-smartplayer .tsc-io-message span{display:block}.tsc-smartplayer .tsc-io-container img{border:none;margin:10px 10px 0}.tsc-smartplayer .centeredImage{vertical-align:middle;text-align:center}.tsc-smartplayer .screen-text{display:none}.tsc-smartplayer .video-seeking-spinner-container{position:absolute;pointer-events:none;top:0;bottom:0;left:0;right:0}.tsc-smartplayer .video-seeking-spinner-container .video-seeking-spinner{position:relative;top:50%;max-width:100px;transform:translateY(-50%);margin-left:auto;margin-right:auto}.tsc-smartplayer .video-seeking-spinner-container .video-seeking-spinner .spinner-svg{animation:2s linear infinite SpinnerSvgAnimation;max-width:100px}.tsc-smartplayer .video-seeking-spinner-container .video-seeking-spinner .spinner-circle{animation:1.4s ease-in-out infinite both SpinnerCircleAnimation;display:block;fill:transparent;stroke:#1f242a;stroke-linecap:round;stroke-dasharray:283;stroke-dashoffset:280;stroke-width:8px;transform-origin:50% 50%}.tsc-smartplayer .hotspots{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none}.tsc-smartplayer .hotspots svg{display:none;position:absolute;pointer-events:none}.tsc-smartplayer .hotspots svg a:focus{outline:none;stroke:#0072cf;stroke-width:4;paint-order:stroke}.tsc-smartplayer .hotspots svg.hotspot-visible{display:block}.tsc-smartplayer .hotspots polygon{fill:transparent;pointer-events:visible;cursor:pointer}.tsc-smartplayer .hotspots .display-hotspots-shape a:focus{stroke-width:8}.tsc-smartplayer .hotspots .display-hotspots-shape polygon{fill:red!important;opacity:.5}.tsc-smartplayer .youtube-pointer-event-workaround{position:absolute;width:100%;height:100%;top:0}.tsc-smartplayer .youtube-pointer-event-workaround.hide{display:none}.tsc-smartplayer .hide-element{display:none!important}.tsc-smartplayer .disabled-button{opacity:.5}.tsc-smartplayer .float-element-left{float:left}.tsc-smartplayer .video-click-to-play-link,.tsc-smartplayer .video-click-to-replay-link{position:absolute;top:0;left:0;display:block;width:100%;height:100%;background:transparent no-repeat 50%;background-size:100%;cursor:pointer}.tsc-smartplayer .open-external-link{position:absolute;top:0;left:0;width:100%;height:100%;background:#15191c no-repeat 50%;background-size:100%;display:none}.tsc-smartplayer.scorm-module .open-external-link,.tsc-smartplayer.scorm-module .video-click-to-replay-link{top:44px;height:calc(100% - 44px);background-size:contain}.tsc-smartplayer .noClickToPlayEvents{pointer-events:none}.tsc-smartplayer .video-click-to-play-error{opacity:.4;cursor:default}.tsc-smartplayer .video-click-to-play,.tsc-smartplayer .video-click-to-replay{position:absolute;top:50%;left:50%;margin:-75px 0 0 -75px;border:none;background-color:transparent;cursor:pointer}.tsc-smartplayer .open-external-link-content{max-width:350px;margin:auto;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%;font-family:museo sans,Arial,Helvetica,sans-serif}.tsc-smartplayer .open-external-link-content .open-external-link-button-container{height:70px;width:70px;border:2px solid #a7b1b7;border-radius:1000px;margin:auto}.tsc-smartplayer .open-external-link-content .button-and-text-container{padding:10px 20px 20px}.tsc-smartplayer .open-external-link-content .open-external-link-actions{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.tsc-smartplayer .open-external-link-content .open-external-link-open,.tsc-smartplayer .open-external-link-content .open-external-link-replay{border:none;background-color:transparent;cursor:pointer}.tsc-smartplayer .open-external-link-content .open-external-link-text{color:#f5f6f8;width:100%;text-align:center;padding:10px 0}.tsc-smartplayer .open-external-link-content .open-external-link-text.link-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:18px}@media (max-width:480px){.tsc-smartplayer .video-click-to-play,.tsc-smartplayer .video-click-to-replay{margin:-35px 0 0 -35px}}.tsc-smartplayer .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.tsc-smartplayer .generated-plugin-container{position:absolute;width:100%;pointer-events:none}
.tsc-smartplayer .caption{position:absolute;top:20px;left:20px;right:20px;bottom:10px;display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-pack:center;justify-content:center;white-space:pre-line;line-height:0;pointer-events:none}.tsc-smartplayer .caption.prevent-caption-drag{cursor:default}.tsc-smartplayer .caption>p{display:block;-ms-flex:none;flex:none;font-family:Arial,Helvetica,sans-serif;color:#fff;text-align:left;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:grab;pointer-events:auto;background:none!important}.tsc-smartplayer .caption>p b,.tsc-smartplayer .caption>p strong{font-weight:600}.tsc-smartplayer .caption>p em,.tsc-smartplayer .caption>p i{font-style:italic}.tsc-smartplayer .caption>p.hide{display:none}.tsc-smartplayer .caption>p span{display:inline-block;padding:.5rem;line-height:1.2;border-radius:4px}.tsc-smartplayer .caption>p.ada-caption{text-align:left}.tsc-smartplayer .caption>p.ada-caption span{background-color:rgba(0,0,0,.8)}.tsc-smartplayer .custom-caption-position>p{position:absolute}.tsc-smartplayer .custom-caption-position>p.caption-selected{outline:2px solid #0072cf}.tsc-smartplayer .caption.hide{display:none}.tsc-smartplayer .caption.caption_under_video{position:relative;bottom:0!important;top:0;left:0;right:0}.tsc-smartplayer .caption.caption_under_video>p{padding:0;max-width:90%;cursor:auto}.tsc-smartplayer .captionVAlignTop{-ms-flex-align:start;align-items:flex-start}.tsc-smartplayer .captionVAlignBottom{transition:bottom .25s;transition-delay:.15s;-ms-flex-align:end;align-items:flex-end}.tsc-smartplayer .captionHAlignLeft{-ms-flex-pack:start;justify-content:flex-start}.tsc-smartplayer .captionHAlignCenter{-ms-flex-pack:center;justify-content:center}.tsc-smartplayer .captionHAlignCenter>p{text-align:center}.tsc-smartplayer .captionHAlignRight{-ms-flex-pack:end;justify-content:flex-end}.tsc-smartplayer .captionHAlignRight>p{text-align:right}.tsc-smartplayer.player-controls-visible .caption{transition-delay:0s;bottom:58px}.tsc-smartplayer.player-controls-visible.larger-progress-bar .caption{bottom:64px}.tsc-smartplayer .caption.custom-caption-position,.tsc-smartplayer.larger-progress-bar .caption.custom-caption-position{bottom:58px}
@keyframes ScaleElementKeyframes{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.tsc-smartplayer .scorm-navigation-bar{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center;width:auto;padding:6px 12px 6px 0}.tsc-smartplayer .scorm-navigation-bar .scorm-module-title{display:inline-block;-ms-flex:1 1 auto;flex:1 1 auto;color:#f5f6f8;font-size:14px;line-height:1.25;max-height:1.25rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 1rem}.tsc-smartplayer .scorm-confirm-complete-modal-view{position:fixed;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;top:0;right:0;bottom:0;left:0;z-index:9999;color:#2e3940;background:rgba(0,0,0,.3);animation:.3s ease 0s 1 normal forwards running ScaleElementKeyframes}.tsc-smartplayer .scorm-confirm-complete-modal-view .modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;margin:0;background-color:#15191c;opacity:.7;pointer-events:none;transition:all .3s ease-in-out}.tsc-smartplayer .scorm-confirm-complete-modal-view .scorm-confirm-complete-modal-container{position:relative;width:435px;max-width:90%;max-height:90%;background:#fff;border-radius:2px;padding:1.25rem;box-shadow:0 0 1rem rgba(0,0,0,.2);animation:ScaleElementKeyframes .3s ease}.tsc-smartplayer .scorm-confirm-complete-modal-view .scorm-confirm-complete-modal-container .modal-body{line-height:1.4;position:relative;padding:1rem;font-size:1.25rem;background:#fff;overflow:auto}.tsc-smartplayer .scorm-confirm-complete-modal-view .scorm-confirm-complete-modal-container .modal-button-group{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;margin-top:.5rem;margin-bottom:.5rem}.tsc-smartplayer .scorm-confirm-complete-modal-view .scorm-confirm-complete-modal-container .modal-button-group>*{width:100%;-ms-flex:1 1!important;flex:1 1!important;margin-right:.5rem}.tsc-smartplayer .scorm-confirm-complete-modal-view .scorm-confirm-complete-modal-container .modal-button-group>:last-child{margin-right:0}.tsc-smartplayer .scorm-session-complete-container{position:absolute;top:0;bottom:0;left:0;right:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(21,25,28,.92);font-size:1.25rem;color:#f5f6f8}
.tsc-smartplayer #controls{position:absolute;bottom:0;left:0;width:100%;overflow:visible;font-family:Helvetica,Arial,sans-serif;z-index:3;-webkit-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.tsc-smartplayer .hide #controls{display:none}.tsc-smartplayer #controls .control-button{display:block;height:44px;width:44px;padding:0;border-style:none;background-color:transparent;cursor:pointer}.tsc-smartplayer #controls .hide{display:none}.tsc-smartplayer #controls .tertiary-button:hover{background-color:hsla(0,0%,100%,.2);box-shadow:0 2px 3px rgba(0,0,20,.25);fill:#f5f6f8;text-decoration:none}.tsc-smartplayer #controls .tertiary-button-active,.tsc-smartplayer #controls .tertiary-button:active{box-shadow:inset 0 2px 3px rgba(0,0,20,.25);background-color:hsla(0,0%,100%,.15);fill:#f5f6f8}.tsc-smartplayer #controls .tertiary-button:disabled{opacity:.5;pointer-events:none}.tsc-smartplayer .progress-bar-control{position:relative;z-index:1;width:100%;height:16px;padding-top:4px}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track{position:relative;width:100%;margin:0;cursor:pointer;-ms-touch-action:none;touch-action:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;height:16px}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .markers,.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .scrubbar-track{position:absolute;left:0;top:0;width:100%;height:16px;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .markers{pointer-events:none}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .scrubbar-track{display:-ms-flexbox;display:flex;-ms-flex-pack:space-evenly;justify-content:space-evenly;-ms-flex-align:center;align-items:center;background:none;height:16px}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .quiz-marker{position:absolute;top:8px;width:4px;height:4px;border-radius:100px;-webkit-backface-visibility:hidden;backface-visibility:hidden}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .progress-bar-chapter{position:relative;display:inline-block;height:100%;margin:0;padding:8px 0;transition:transform .4s}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-background-track,.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-loaded-track,.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-played-track,.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-seek-hint-track{position:absolute;height:4px;pointer-events:none}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-background-track{width:100%;background-color:#1f242a}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-loaded-track{width:0;background-color:#364347}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-seek-hint-track{width:0;background-color:#6e8a97}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-played-track{width:0;background-color:#c7d2d7}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .scrub-preview{display:none;position:absolute;left:0;bottom:16px;max-width:150px;pointer-events:none;text-align:center;box-shadow:0 0 10px 2px rgba(0,0,0,.2)}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .scrub-preview .scrub-details{border-radius:2px;padding:4px;color:#2e3940;background-color:hsla(0,0%,100%,.9)}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .scrub-preview .scrub-details .chapter-name{display:block;margin:2px;font-size:13px}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track .scrub-preview .scrub-details .video-time{display:block;margin:2px;font-size:12px}@media (hover:hover) and (pointer:fine){.tsc-smartplayer .progress-bar-control .progress-scrubbar-track:not(.prevent-seeking) .progress-bar-chapter:hover{transform:scaleY(2) translateY(-1px)}}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track:not(.prevent-seeking):focus{outline:none}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track:not(.prevent-seeking):focus .scrubbar-track{outline:2px solid #0072cf}.tsc-smartplayer .progress-bar-control .progress-scrubbar-track.prevent-seeking{cursor:no-drop}.tsc-smartplayer .progress-bar-control .plugin-container{position:absolute;width:100%;padding:0;margin:0;top:0;pointer-events:none}.tsc-smartplayer.larger-progress-bar .progress-bar-control{padding-top:0;height:22px}.tsc-smartplayer.larger-progress-bar .progress-bar-control .progress-scrubbar-track{height:22px}.tsc-smartplayer.larger-progress-bar .progress-bar-control .progress-scrubbar-track .markers,.tsc-smartplayer.larger-progress-bar .progress-bar-control .progress-scrubbar-track .scrubbar-track{top:4px;height:22px}.tsc-smartplayer.larger-progress-bar .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-background-track,.tsc-smartplayer.larger-progress-bar .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-loaded-track,.tsc-smartplayer.larger-progress-bar .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-played-track,.tsc-smartplayer.larger-progress-bar .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-seek-hint-track{height:10px}.tsc-smartplayer.larger-progress-bar .progress-bar-control .progress-scrubbar-track .quiz-marker{top:11px}.tsc-smartplayer.larger-progress-bar .progress-bar-control .progress-scrubbar-track .scrub-preview{bottom:24px}.tsc-smartplayer #controls .control-button.forward-control,.tsc-smartplayer #controls .control-button.rewind-control{display:none}.tsc-smartplayer.medium-desktop-width #controls .control-button.rewind-control{display:inline-block}.tsc-smartplayer.medium-desktop-width #controls .control-button.rewind-control.hide{display:none}.tsc-smartplayer.medium-desktop-width #controls .control-button.forward-control{display:inline-block}.tsc-smartplayer.medium-desktop-width #controls .control-button.forward-control.hide{display:none}.tsc-smartplayer .hide-secondary-controls{opacity:0;pointer-events:none}.tsc-smartplayer .volume-slider-container{display:-ms-flexbox;display:flex;position:relative;width:67px;-ms-flex-align:center;align-items:center;margin:0 10px;background-color:transparent;transition:width .1s;cursor:pointer}.tsc-smartplayer .volume-slider-container:before{content:" ";display:inline-block;position:absolute;top:19px;width:100%;height:6px;border-radius:2px;background-color:#636a70;box-shadow:inset 0 1px 2px 2px rgba(0,0,0,.2)}.tsc-smartplayer .volume-slider-container .volume-slider-track{display:-ms-flexbox;display:flex;width:100%}.tsc-smartplayer .volume-slider-container .volume-slider-track:hover{cursor:pointer}.tsc-smartplayer .volume-slider-container .volume-slider-track:hover .volume-slider{background-color:#e5eaec}.tsc-smartplayer .volume-slider-container .volume-slider-track{content:" ";display:inline-block;position:absolute;top:19px;width:0;left:0;height:6px;border-radius:2px;background-color:#0072cf;box-shadow:inset 0 1px 2px 2px rgba(0,0,0,.2)}.tsc-smartplayer .volume-slider-container .volume-slider{padding:0;width:12px;height:18px;background-color:#c7d2d7;position:relative;left:-6px;box-shadow:0 0 10px 2px rgba(0,0,0,.2)}.tsc-smartplayer .volume-slider-container.volume-slider-hidden{display:-ms-flexbox;display:flex;margin:0;width:0}.tsc-smartplayer .volume-slider-container.volume-slider-hidden .volume-slider{opacity:0}.tsc-smartplayer .player-controls{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.tsc-smartplayer .bottom-controls{display:-ms-flexbox;display:flex}.tsc-smartplayer .play-time{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;margin:0 0 0 5px;padding:0;cursor:default;font-size:15px;color:#f5f6f8;white-space:nowrap}.tsc-smartplayer .play-rewind-controls,.tsc-smartplayer .prev-next-controls,.tsc-smartplayer .volume-wrapper{display:-ms-flexbox;display:flex}.tsc-smartplayer .ui-widget-content{background:none;border:none}.tsc-smartplayer.smartplayer-dawn-theme #controls .tertiary-button:hover{background-color:rgba(0,0,34,.1);box-shadow:0 2px 3px rgba(0,0,20,.25);fill:#2e3940;text-decoration:none}.tsc-smartplayer.smartplayer-dawn-theme #controls .tertiary-button-active,.tsc-smartplayer.smartplayer-dawn-theme #controls .tertiary-button:active{box-shadow:inset 0 2px 3px rgba(0,0,20,.25);background-color:rgba(0,0,34,.15);fill:#2e3940}.tsc-smartplayer.smartplayer-dawn-theme .play-time{color:#2a3137}.tsc-smartplayer.smartplayer-dawn-theme .volume-slider-track:hover .volume-slider{background-color:#43535e}.tsc-smartplayer.smartplayer-dawn-theme .volume-slider-track:before{background-color:#c0c7cb}.tsc-smartplayer.smartplayer-dawn-theme .volume-slider{background-color:#2e3940;box-shadow:0 0 10px 2px rgba(0,0,0,.1)}
.tsc-smartplayer .player-settings-container{position:absolute;bottom:48px;right:5px;padding:10px;margin-bottom:5px;color:#f5f6f8;white-space:nowrap;background-color:rgba(31,36,42,.9);transition:margin .2s}.tsc-smartplayer .player-settings-container .setting-text{display:inline-block;margin-right:10px}.tsc-smartplayer .player-settings-container .settings-select{border-radius:0;height:auto;padding:0;font-size:14px;width:100px}.tsc-smartplayer.larger-progress-bar .player-settings-container{bottom:54px}.tsc-smartplayer .setting-container{text-align:right;padding:7px 10px}.tsc-smartplayer.smartplayer-dawn-theme .player-settings-container{background-color:rgba(245,246,248,.9);color:#2e3940}
.tsc-smartplayer .image-container{display:-ms-flexbox;display:flex;width:100%;height:100%;overflow:auto}.tsc-smartplayer .image-container img{max-width:100%;max-height:100%;margin:auto}
.preRoll{position:absolute;z-index:20;overflow:hidden;border:0}.preRollHidden{visibility:hidden}.preRoll-disableMouse{pointer-events:none}.preRoll-fullPage{top:0;left:0;width:100%;height:100%}
.tsc-smartplayer .toc-container{position:absolute;top:0;left:0;bottom:48px;display:none;width:252px;border-color:#4c4c4c;border-width:1px;border-style:none solid;color:#fff;background:rgba(0,0,0,.85);overflow:hidden}.tsc-smartplayer.larger-progress-bar .toc-container{bottom:54px}.tsc-smartplayer .toc-container.right{left:auto;right:0}.tsc-smartplayer .toc-head-container{position:relative;overflow:hidden}.tsc-smartplayer .toc-head-container label{height:0;font-size:0}.tsc-smartplayer .toc-media-title{font-size:inherit;font-weight:inherit;padding:6px 2px 4px;margin:0}.tsc-smartplayer .toc-search-container{border:1px solid #ccc;border-radius:12px;margin:0 2px 4px;padding:2px;background-color:#fff;overflow:hidden;letter-spacing:0}.tsc-smartplayer .toc-search-input-label{float:left}.tsc-smartplayer .toc-search-input{display:block;width:190px;height:22px;padding:0 0 0 2px;border-style:none;font-size:18px;letter-spacing:0}.tsc-smartplayer .toc-search-input::-ms-clear{display:none}.tsc-smartplayer .clear-search-button{display:block;float:right;width:23px;height:22px;padding:0;border-style:none;cursor:pointer;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='14' height='14' viewBox='0 0 14 14'%3E%3Cuse xlink:href='%23a' transform='translate(.27 .414)' fill='rgba(31,36,42,0.9)'/%3E%3Cdefs%3E%3Cpath id='a' fill-rule='evenodd' d='M.54 1.35c-.39.39-.39 1.03 0 1.42l3.64 3.64L.29 10.3a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.42 0l3.89-3.89 3.78 3.79c.39.39 1.03.39 1.42 0l1.06-1.06c.39-.39.39-1.03 0-1.42L9.13 6.41l3.54-3.54a.996.996 0 0 0 0-1.41L11.61.4c-.39-.39-1.03-.39-1.42 0L6.66 3.93 3.02.29C2.63-.1 1.99-.1 1.6.29L.54 1.35z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer .toc-search-glyph{width:23px;height:22px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='13' height='16' viewBox='0 0 13 16'%3E%3Cuse xlink:href='%23a' transform='translate(0 .983)' fill='rgba(31,36,42,0.9)'/%3E%3Cdefs%3E%3Cpath id='a' fill-rule='evenodd' d='M7.15 9.52C6.5 9.83 5.77 10 5 10c-2.76 0-5-2.24-5-5s2.24-5 5-5a5.002 5.002 0 0 1 3.85 8.19l4 4.27-2.35 1.87-3.35-4.81zM8 5.02c0 1.65-1.34 3-3 3s-3-1.35-3-3c0-1.66 1.34-3 3-3s3 1.34 3 3z'/%3E%3C/defs%3E%3C/svg%3E");float:left}.tsc-smartplayer .toc-full-screen-search-alert{display:none;margin:5px 0;padding:10px;color:#fff;font-size:12px;background-color:#ba8a29;background-image:linear-gradient(180deg,#ba8a29,#a8502f);border:1px solid maroon;box-shadow:0 0 5px rgba(0,0,0,.5);text-shadow:1px 1px 0 rgba(0,0,0,.5)}.tsc-smartplayer .toc-pip-image-container{display:none;border:1px solid #fff;margin-top:10px;margin-bottom:10px}.tsc-smartplayer .toc-content-scroll-container{position:absolute;top:30px;left:0;right:0;bottom:0;overflow-y:auto}.tsc-smartplayer .toc-content-container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin:0}.tsc-smartplayer .toc-list-item{list-style-type:none}.tsc-smartplayer .toc-item{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:start;align-content:flex-start;padding:10px;margin:2px 0;border-radius:0;background-color:transparent;border:0;color:#fff;cursor:pointer;width:100%}.tsc-smartplayer .toc-item:hover{background-color:#333}.tsc-smartplayer .limit-max-toc-item-height{max-height:80px}.tsc-smartplayer .center-flex-content,.tsc-smartplayer .toc-item-thumbnail{-ms-flex-pack:center;justify-content:center}.tsc-smartplayer .toc-item-thumbnail{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.tsc-smartplayer .toc-item-text{-ms-flex:2 0 0px;flex:2 0 0;margin-left:10px;overflow:hidden;max-height:64px;text-align:left;word-wrap:break-word}.tsc-smartplayer .toc-item-text-only{margin-left:0}.tsc-smartplayer .found-search-text{color:#40c6e2;font-weight:600;font-size:14px}
.tsc-smartplayer .question-set-container{position:absolute;z-index:10;top:0;left:0;right:0;bottom:0;width:auto;height:100%;color:#15191c;background:none;font-family:proxima-nova,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:300;line-height:normal}.image-view.tsc-smartplayer .question-set-container{position:fixed;bottom:40px;height:calc(100% - 40px);width:auto;background-color:#fff}.small-desktop-width.small-desktop-height.tsc-smartplayer .question-set-container{top:10px;left:10px;right:10px;bottom:10px}.image-view.small-desktop-width.small-desktop-height.tsc-smartplayer .question-set-container{top:0;right:0;left:auto;width:300px;border-left:thin solid #999;border-top:none;border-bottom:none;border-radius:0}.video-view.small-desktop-width.small-desktop-height.tsc-smartplayer .question-set-container{display:-ms-flexbox;display:flex;height:auto}.tsc-smartplayer .question-set-container input[type=radio]{margin:8px 10px 0 5px}.tsc-smartplayer .question-set-container .question-badge-container{position:absolute;top:8px;right:10px;display:-ms-flexbox;display:flex}.tsc-smartplayer .question-set-container .question-badge-container .question-graded-status{margin-top:4px;margin-right:6px}.tsc-smartplayer .question-set-container .hide-quiz-button{color:#fff;background-color:#373d4a}.image-view.tsc-smartplayer .question-set-container .hide-quiz-button{display:none}.tsc-smartplayer .question-set-container .hide-quiz-button:hover{background:#4d5567}.tsc-smartplayer .question-set-container .hide-quiz-button:focus:after{border:2px solid #fff}.tsc-smartplayer .minimized-question-set-container{position:absolute;top:10px;right:10px;padding:8px;border-radius:4px;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.5)}.tsc-smartplayer .chat-bubble-arrow{display:none}.video-view.tsc-smartplayer .chat-bubble-arrow{position:absolute;left:130px;bottom:-10px;display:block;height:0;width:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid #f5f6f8}.tsc-smartplayer .question-content-container{-ms-flex:0 0 auto;flex:0 0 auto;padding:0;outline:none}.video-view.tsc-smartplayer .question-content-container{background-color:#f5f6f8}.medium-mobile-height.video-view.tsc-smartplayer .question-content-container{background:none}.tsc-smartplayer .question-set-controls{-ms-flex:none;flex:none;padding:2px 10px;margin:0;text-align:right;background-color:#f5f6f8;outline:none}.small-desktop-width.small-desktop-height.image-view.tsc-smartplayer .question-set-controls{padding:10px}.small-desktop-width.small-desktop-height.video-view.tsc-smartplayer .question-set-controls{padding:10px;border-radius:0 0 6px 6px}.tsc-smartplayer .question-set-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%;overflow:hidden}.small-desktop-height.video-view.tsc-smartplayer .question-set-content{max-width:720px;max-height:640px;margin:auto}.tsc-smartplayer .question-header{position:relative;padding:10px 14px;color:#fff;background-color:#272f35}.small-desktop-width.small-desktop-height.video-view.tsc-smartplayer .question-header{padding:14px;border-radius:6px 6px 0 0}.tsc-smartplayer .question-header .question-status-container{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:6px}.video-view.tsc-smartplayer .question-header .question-graded-status{margin-right:12px}.tsc-smartplayer .question-grade-status-text{padding:1px 16px 4px;font-size:1em;font-weight:500;border-radius:30px}.tsc-smartplayer .question-correct-text{color:#15191c;background-color:#36be5f}.tsc-smartplayer .question-incorrect-text{color:#fff;background-color:#cd4242}.tsc-smartplayer .question-count{-ms-flex:1 0 auto;flex:1 0 auto;color:#fff;font-weight:500}.tsc-smartplayer .question-feedback{padding:8px 14px 10px;color:#fff;background-color:#1d2228;font-size:.75em;font-weight:400}.small-desktop-width.small-desktop-height.image-view.tsc-smartplayer .question-feedback,.small-desktop-width.small-desktop-height.video-view.tsc-smartplayer .question-feedback{padding:14px;font-size:.9em}.tsc-smartplayer .question-answers,.tsc-smartplayer .question-text{overflow:hidden;word-wrap:break-word}.tsc-smartplayer .question-text{font-size:.75em;font-weight:300;margin-top:10px}.small-desktop-width.small-desktop-height.image-view.tsc-smartplayer .question-text,.small-desktop-width.small-desktop-height.video-view.tsc-smartplayer .question-text{font-size:1.125rem}.tsc-smartplayer .question-answers{-ms-flex:8;flex:8;padding:2px 6px;background-color:#fff;text-align:center;outline:none;overflow-y:auto;font-size:.75em}.small-desktop-width.small-desktop-height.image-view.tsc-smartplayer .question-answers,.small-desktop-width.small-desktop-height.video-view.tsc-smartplayer .question-answers{padding:5px 15px;font-size:1.125rem}.tsc-smartplayer .email_address,.tsc-smartplayer .fill-in-the-blank-input,.tsc-smartplayer .first_name,.tsc-smartplayer .last_name,.tsc-smartplayer .short-answer-input{padding-left:2px;padding-right:2px;border-radius:0}.tsc-smartplayer .email_address,.tsc-smartplayer .fill-in-the-blank-input,.tsc-smartplayer .first_name,.tsc-smartplayer .last_name{height:auto}.tsc-smartplayer .minimized{top:100%!important;display:none}.tsc-smartplayer .continue-button,.tsc-smartplayer .next-button,.tsc-smartplayer .previous-button,.tsc-smartplayer .submit-button,.tsc-smartplayer .submitting-response-container{display:none}.tsc-smartplayer .previous-button{margin-right:.5rem}.tsc-smartplayer .question-set-results,.tsc-smartplayer .submitting-response-container{position:absolute;top:0;bottom:0;left:0;right:0;height:180px;margin:auto;text-align:center}.tsc-smartplayer .results-title,.tsc-smartplayer .ungradeable-details{margin-bottom:25px}.tsc-smartplayer .gradeable-details,.tsc-smartplayer .ungradeable-details{font-size:.8125rem;font-weight:300}.tsc-smartplayer .results-title,.tsc-smartplayer .submitting-response-container{font-size:1.25rem;font-weight:500}.tsc-smartplayer .hide-answers-button,.tsc-smartplayer .view-answers-button{display:block;margin-left:auto;margin-right:auto;margin-top:10px}.tsc-smartplayer .submitting-text{display:block}.tsc-smartplayer .loading-image{display:block;margin-left:auto;margin-right:auto;margin-top:15px;width:40px;height:40px}.tsc-smartplayer .active-question-item:active,.tsc-smartplayer .active-question-item:hover,.tsc-smartplayer .highlight-background,.tsc-smartplayer .picked-quiz-item{border-radius:6px;background-color:#f5f6f8}.tsc-smartplayer .fill-in-and-short-answer-answer-container{display:-ms-flexbox;display:flex;margin:16px 0}.tsc-smartplayer .fill-in-the-blank-input,.tsc-smartplayer .short-answer-input{width:100%!important;font-family:proxima-nova,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;padding:8px;border:1px solid #2a3137}.tsc-smartplayer .multiple-choice{display:-ms-flexbox;display:flex;text-align:left;margin:5px 0;padding:5px;word-wrap:break-word}.small-desktop-width.small-desktop-height.video-view.tsc-smartplayer .multiple-choice{margin:10px 0}.tsc-smartplayer .multiple-choice-answer-text{display:inline-block;padding:4px 0 4px 2px}.tsc-smartplayer .image-feedback,.tsc-smartplayer .image-fill-in-the-blank-feedback{height:22px;width:22px;vertical-align:bottom}.tsc-smartplayer .image-feedback{margin:4px 10px 0 6px}.tsc-smartplayer .image-fill-in-the-blank-feedback{margin:8px 10px 0 6px}.tsc-smartplayer .feedback-placeholder{display:none}.tsc-smartplayer .confirm-button,.tsc-smartplayer .continue-video-button,.tsc-smartplayer .review-answers-button,.tsc-smartplayer .review-button{margin:10px}.tsc-smartplayer .quiz-button{-ms-flex:0 1 auto;flex:0 1 auto;border-style:ridge;border-radius:8px}.tsc-smartplayer .secondary:hover:not([disabled]){border-color:#3e8dd9;color:#3e8dd9}.tsc-smartplayer .fill-parent{width:100%;margin:0}.tsc-smartplayer .top-button-element{margin-bottom:8px}.tsc-smartplayer .tsc_quiz_setup_ui_container{position:absolute;top:0;bottom:0;left:0;right:0;background:transparent no-repeat 50%;background-size:100%}.tsc-smartplayer .tsc_quiz_setup_container{position:absolute;z-index:13;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;padding:10px;overflow-y:auto;background-color:#fff;font-family:proxima-nova,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:18px;text-align:center}.small-desktop-width.small-desktop-height.tsc-smartplayer .tsc_quiz_setup_container{max-width:460px;margin:auto;border:1px solid #ccc;box-shadow:0 0 10px rgba(0,0,0,.5)}.tsc-smartplayer .tsc_quiz_setup_container .quiz-user-info-instructions{margin:0 auto .5em;color:#2e3940;font-size:.75em;text-align:left}.tsc-smartplayer .tsc_quiz_setup_container p{margin:20px 0}.tsc-smartplayer .tsc_quiz_setup_container .quiz-user-input{width:100%;height:2em;margin:4px 0;padding:.5em;text-align:left;color:#0072cf;border:1px solid #c0c7cb;border-radius:2px}.tsc-smartplayer .tsc_quiz_setup_container .name-component-input{max-width:49%;display:inline-block}.tsc-smartplayer .tsc_quiz_setup_container .button-container{margin-top:.5em}.tsc-smartplayer .tsc_quiz_setup_container .tsc_begin_button{display:inline-block;padding:10px 14px;margin-bottom:.5em;font-size:.5em;color:#fff;background-color:#0072cf}.tsc-smartplayer .tsc_quiz_setup_container .tsc_begin_button:disabled{cursor:auto;opacity:.4}.tsc-smartplayer .tsc_quiz_setup_container .skip_control{display:inline-block;padding:10px 14px;margin-bottom:.5em;font-size:.5em;color:#15191c;background-color:#e8e9eb}.tsc-smartplayer .tsc_quiz_question_count_data{color:#000;font-size:1rem;font-family:proxima-nova,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300}.tsc-smartplayer .tsc-status{height:25px}.tsc-smartplayer .above-scroll{position:absolute;top:0;left:0;right:0;display:none;padding-left:5px;background-color:#fff}.medium-mobile-height.tsc-smartplayer .above-scroll{display:block}.tsc-smartplayer .review-confirmation-container,.tsc-smartplayer .start-question-set-confirmation-container{position:absolute;z-index:10;left:0;bottom:0;padding:8px;max-width:200px;border-radius:6px;box-shadow:0 0 5px rgba(0,0,0,.5);background-color:#f5f6f8}.tsc-smartplayer .review-confirmation-container{padding:0;min-width:135px}.tsc-smartplayer .review-confirmation-container .results-summary{padding:12px;border-radius:5px 5px 0 0;background-color:#272f35;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.tsc-smartplayer .review-confirmation-container .results-summary .results-container{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.tsc-smartplayer .review-confirmation-container .results-summary .correct-result{margin-bottom:10px;color:#fff;font-weight:400}.tsc-smartplayer .review-confirmation-container .results-summary .correct-result:before{content:"";width:16px;height:16px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg id='Correct' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 42'%3E%3Cstyle%3E.st0{fill-rule:evenodd;clip-rule:evenodd;fill:%2397c93d}.st1{fill:%2382ad40}.st2{fill-rule:evenodd;clip-rule:evenodd;fill:%23fff}%3C/style%3E%3Cpath class='st0' d='M21 39c-9.9 0-18-8.1-18-18S11.1 3 21 3s18 8.1 18 18-8.1 18-18 18z'/%3E%3Cpath class='st1' d='M21 5c8.8 0 16 7.2 16 16s-7.2 16-16 16S5 29.8 5 21 12.2 5 21 5m0-4C10 1 1 10 1 21s9 20 20 20 20-9 20-20S32 1 21 1z'/%3E%3Cpath class='st2' d='M30 16.6l-11.2 12c-.8.8-1.8.3-2.3-.2l-4.8-5.9c-.5-.7-.4-1.6.3-2.2.7-.5 1.6-.4 2.1.3l3.7 4.5 10-10.8c.6-.6 1.5-.6 2.1 0 .7.7.7 1.7.1 2.3z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:16px;padding-left:16px}.tsc-smartplayer .review-confirmation-container .results-summary .correct-result .result-label{margin-left:10px}.tsc-smartplayer .review-confirmation-container .results-summary .incorrect-result{color:#fff;font-weight:400}.tsc-smartplayer .review-confirmation-container .results-summary .incorrect-result:before{content:"";width:16px;height:16px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg id='Wrong' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 42'%3E%3Cstyle%3E.st0{fill-rule:evenodd;clip-rule:evenodd;fill:%23ef4546}.st1{fill:%23b93130}.st2{fill-rule:evenodd;clip-rule:evenodd;fill:%23fff}%3C/style%3E%3Cpath class='st0' d='M21 39c-9.9 0-18-8.1-18-18S11.1 3 21 3s18 8.1 18 18-8.1 18-18 18z'/%3E%3Cpath class='st1' d='M21 5c8.8 0 16 7.2 16 16s-7.2 16-16 16S5 29.8 5 21 12.2 5 21 5m0-4C10 1 1 10 1 21s9 20 20 20 20-9 20-20S32 1 21 1z'/%3E%3Cpath class='st2' d='M24.2 21l4.1 4.1c.9.9.9 2.4 0 3.3-.9.9-2.4.9-3.3 0l-4-4.2-4 4c-.9.9-2.3.9-3.2 0s-.9-2.3 0-3.2l4-4-4.1-4.1c-.9-.9-.9-2.4 0-3.3.9-.9 2.4-.9 3.3 0l4.1 4.1 4-4c.9-.9 2.3-.9 3.2 0 .9.9.9 2.3 0 3.2L24.2 21z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:16px;padding-left:16px}.tsc-smartplayer .review-confirmation-container .results-summary .incorrect-result .result-label{margin-left:10px}.tsc-smartplayer .review-confirmation-container .results-summary .calculated-percentage{min-width:50px;text-align:right;margin-left:auto}.tsc-smartplayer .review-confirmation-container .controls-container{padding:10px}.tsc-smartplayer.medium-mobile-height .inside-scroll{display:none}.tsc-smartplayer .tsc_setup_input_container{max-width:400px;width:100%;margin:auto;padding:.5em 0}.video-view.tsc-smartplayer .tsc_overlay{position:absolute;z-index:9;top:0;left:0;width:100%;height:100%;padding:0;margin:0;opacity:.7;background-color:#000;transition:all .3s ease-in-out}.image-view.tsc-smartplayer .tsc_overlay{display:none}.medium-mobile-height.tsc-smartplayer .button-container{margin-top:1em}.medium-mobile-height.tsc-smartplayer .quiz-user-info-instructions{font-size:1em}.medium-mobile-height.tsc-smartplayer .skip_control,.medium-mobile-height.tsc-smartplayer .tsc_begin_button{font-size:.75em}
@keyframes ScaleElementKeyframes{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.tsc-smartplayer .url-display{background-color:#f5f6f8;padding:.5rem;margin:.5rem 0;max-height:3.25rem;overflow:auto;white-space:pre-wrap;word-wrap:break-word}.tsc-smartplayer .alert-modal-view{position:fixed;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;top:0;right:0;bottom:0;left:0;z-index:9999;color:#2e3940;background:rgba(0,0,0,.3);animation:.3s ease 0s 1 normal forwards running ScaleElementKeyframes}.tsc-smartplayer .alert-modal-view .modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;margin:0;background-color:#15191c;opacity:.7;pointer-events:none;transition:all .3s ease-in-out}.tsc-smartplayer .alert-modal-view .alert-modal-container{position:relative;width:360px;max-width:90%;max-height:90%;background:#fff;border-radius:2px;box-shadow:0 0 1rem rgba(0,0,0,.2);animation:ScaleElementKeyframes .3s ease}.tsc-smartplayer .alert-modal-view .alert-modal-container .modal-header{display:-ms-flexbox;display:flex;height:3rem;padding:0 .5rem 0 1rem;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-negative:0;flex-shrink:0;color:#2e3940;background:#f5f6f8;border-bottom:1px solid #dadee2;border-radius:2px 2px 0 0}.tsc-smartplayer .alert-modal-view .alert-modal-container .modal-header h2{padding:0;margin:0;font-size:1.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.tsc-smartplayer .alert-modal-view .alert-modal-container .modal-body{line-height:1.4;position:relative;padding:1rem;background:#fff;overflow:auto}.tsc-smartplayer .alert-modal-view .alert-modal-container .modal-footer{display:-ms-flexbox;display:flex;height:3.5rem;padding:0 1rem;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-negative:0;flex-shrink:0;color:#9ea8ae}.tsc-smartplayer .alert-modal-view .alert-modal-container .modal-footer .modal-button-group{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;margin-bottom:.5rem}.tsc-smartplayer .alert-modal-view .alert-modal-container .modal-footer .modal-button-group>*{width:100%;-ms-flex:1 1!important;flex:1 1!important;margin-right:.5rem}.tsc-smartplayer .alert-modal-view .alert-modal-container .modal-footer .modal-button-group>:last-child{margin-right:0}
.tsc-smartplayer .ui{display:inline-block;overflow:hidden;background-repeat:no-repeat;background-position:50%}.tsc-smartplayer .audio-description-button-glyph{width:30px;height:30px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 41.1 16.6'%3E%3Cg fill='%23c7d2d7'%3E%3Cpath d='M18 16.4c-.1 0-.3-.1-.4-.1V.2h5.9c1.3 0 2.5.5 3.5 1.2 2.8 1.7 4.3 5.2 3.6 8.5-.8 3.6-3.3 5.9-6.7 6.4-.5.1-1 .1-1.5.2-1.5-.1-2.9-.1-4.4-.1zm3.3-4.2c1.8.1 3.3-.3 4.2-1.8.8-1.4.8-2.9-.1-4.2-.9-1.4-2.3-1.8-3.8-1.7-.1 0-.3.3-.3.4v7.3zM.5 16.3c1-1.4 2.1-2.8 3.1-4.3C6.3 8.3 9 4.5 11.6.7c.2-.3.4-.4.8-.4h4.2V16c0 .2 0 .3-.1.5h-3.9v-2.1h-5c-.2 0-.3.1-.4.3-.5.6-.9 1.2-1.3 1.8H.7c0-.1-.1-.1-.2-.2zM12.8 5.6c-1.1 1.8-2.2 3.4-3.3 5.1h3.3V5.6zm27.8 3.7c-.2.9-.4 1.9-.6 2.8-.4 1.3-1.1 2.5-2 3.7-.3.3-.5.5-1 .3 1.5-2.4 2.5-4.9 2.4-7.7 0-2.8-1-5.4-2.5-7.7.6-.1 1 .1 1.3.6 1.2 1.8 2.1 3.7 2.3 6 0 .1.1.2.1.3v1.7z'/%3E%3Cpath d='M30.3 16.1c3.3-5.2 3.2-10.3 0-15.4.6-.1.8-.1 1.2.4 2.7 4 3.4 8.4 1 12.8-.3.6-.8 1.2-1.2 1.8-.2.5-.5.6-1 .4z'/%3E%3Cpath d='M33.6.7c.6-.1 1 .2 1.3.6 3.3 5 3.1 10.2-.2 14.6-.3.3-.5.5-1 .3C36.9 11 36.9 5.8 33.6.7z'/%3E%3C/g%3E%3C/svg%3E")}.tsc-smartplayer .audio-description-button-active-glyph{width:30px;height:30px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 41.1 16.6'%3E%3Cg fill='%23FFF'%3E%3Cpath d='M18 16.4c-.1 0-.3-.1-.4-.1V.2h5.9c1.3 0 2.5.5 3.5 1.2 2.8 1.7 4.3 5.2 3.6 8.5-.8 3.6-3.3 5.9-6.7 6.4-.5.1-1 .1-1.5.2-1.5-.1-2.9-.1-4.4-.1zm3.3-4.2c1.8.1 3.3-.3 4.2-1.8.8-1.4.8-2.9-.1-4.2-.9-1.4-2.3-1.8-3.8-1.7-.1 0-.3.3-.3.4v7.3zM.5 16.3c1-1.4 2.1-2.8 3.1-4.3C6.3 8.3 9 4.5 11.6.7c.2-.3.4-.4.8-.4h4.2V16c0 .2 0 .3-.1.5h-3.9v-2.1h-5c-.2 0-.3.1-.4.3-.5.6-.9 1.2-1.3 1.8H.7c0-.1-.1-.1-.2-.2zM12.8 5.6c-1.1 1.8-2.2 3.4-3.3 5.1h3.3V5.6zm27.8 3.7c-.2.9-.4 1.9-.6 2.8-.4 1.3-1.1 2.5-2 3.7-.3.3-.5.5-1 .3 1.5-2.4 2.5-4.9 2.4-7.7 0-2.8-1-5.4-2.5-7.7.6-.1 1 .1 1.3.6 1.2 1.8 2.1 3.7 2.3 6 0 .1.1.2.1.3v1.7z'/%3E%3Cpath d='M30.3 16.1c3.3-5.2 3.2-10.3 0-15.4.6-.1.8-.1 1.2.4 2.7 4 3.4 8.4 1 12.8-.3.6-.8 1.2-1.2 1.8-.2.5-.5.6-1 .4z'/%3E%3Cpath d='M33.6.7c.6-.1 1 .2 1.3.6 3.3 5 3.1 10.2-.2 14.6-.3.3-.5.5-1 .3C36.9 11 36.9 5.8 33.6.7z'/%3E%3C/g%3E%3C/svg%3E")}.tsc-smartplayer .rewind-button-glyph{width:44px;height:16px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23c7d2d7' d='M8.7 2.25V0l-5 4 5 4V5.4c2.08.25 3.47 1.41 3.5 3.6a4.38 4.38 0 0 1-4.26 4.5H7.7c-2.11-.05-4-1.41-3.9-4.5a1.19 1.19 0 0 0-1.26-1.3A1.33 1.33 0 0 0 1.2 9a6.49 6.49 0 0 0 6.19 7h.31a6.93 6.93 0 0 0 7.1-6.76V9a6.58 6.58 0 0 0-6.1-6.75z'/%3E%3C/svg%3E")}.tsc-smartplayer .forward-button-glyph{width:44px;height:16px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23c7d2d7' d='M1.2 9v.2c.1 3.8 3.3 6.9 7.1 6.8h.5c3.6-.3 6.2-3.4 6-7 0-.7-.6-1.3-1.3-1.3h-.2c-.7.1-1.1.6-1.1 1.3.1 3.1-1.8 4.4-3.9 4.5H8c-2.4-.1-4.3-2.1-4.2-4.5 0-2.2 1.4-3.3 3.5-3.6V8l5-4-5-4v2.2C3.8 2.5 1.1 5.5 1.2 9z'/%3E%3C/svg%3E")}.tsc-smartplayer .play-button-glyph{width:44px;height:14px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 11 14' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cuse xlink:href='%23a' transform='rotate(90 5.5 5.5)' fill='%23c7d2d7' style='mix-blend-mode:normal' figma:type='vector'/%3E%3Cdefs%3E%3Cpath id='a' d='M7 0c1 0 7 11 7 11H0S6 0 7 0z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer .pause-button-glyph{width:44px;height:14px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 12 14' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%23c7d2d7'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal' figma:type='rounded-rectangle'/%3E%3Cuse xlink:href='%23a' transform='translate(8)' style='mix-blend-mode:normal' figma:type='rounded-rectangle'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M0 1a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer .play-button-background-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='44' height='51' viewBox='0 0 44 51'%3E%3Cuse xlink:href='%23a' transform='rotate(90 26 20.5)' fill='%23c7d2d7'/%3E%3Cdefs%3E%3Cpath id='a' d='M28.4 4.5c1.16-2 4.04-2 5.2 0L55.25 42c1.15 2-.29 4.5-2.6 4.5H9.35c-2.31 0-3.75-2.5-2.6-4.5L28.4 4.5z'/%3E%3C/defs%3E%3C/svg%3E");background-size:contain;background-position:100%}.tsc-smartplayer .pause-button-background-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 12 14' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%23c7d2d7'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal' figma:type='rounded-rectangle'/%3E%3Cuse xlink:href='%23a' transform='translate(8)' style='mix-blend-mode:normal' figma:type='rounded-rectangle'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M0 1a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1z'/%3E%3C/defs%3E%3C/svg%3E");background-size:contain}.tsc-smartplayer .previous-button-glyph{width:44px;height:14px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 14' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%23c7d2d7'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal' figma:type='rounded-rectangle'/%3E%3Cuse xlink:href='%23b' transform='translate(4)' style='mix-blend-mode:normal' figma:type='vector'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M0 1a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1z'/%3E%3Cpath id='b' d='M12 0v14L0 7l12-7z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer .next-button-glyph{width:44px;height:14px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 14' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%23c7d2d7'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal' figma:type='vector'/%3E%3Cuse xlink:href='%23b' transform='translate(12)' style='mix-blend-mode:normal' figma:type='rounded-rectangle'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M0 0v14l12-7L0 0z'/%3E%3Cpath id='b' d='M0 0h4v14H0V0z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer .settings-button-active-glyph{width:22px;height:22px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cuse xlink:href='%23a' fill='%23FFF' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cdefs%3E%3Cpath id='a' fill-rule='evenodd' d='M8 2a2 2 0 1 1 4 0v.252c.734.19 1.427.48 2.064.856l.532-.533c.78-.78 2.048-.78 2.83 0 .78.78.78 2.048 0 2.83l-.534.53A7.94 7.94 0 0 1 17.748 8H18a2 2 0 1 1 0 4h-.252a8.003 8.003 0 0 1-.856 2.064l.533.532c.78.78.78 2.048 0 2.83-.78.78-2.048.78-2.83 0l-.53-.534a7.94 7.94 0 0 1-2.065.856V18a2 2 0 1 1-4 0v-.252a8.003 8.003 0 0 1-2.064-.856l-.532.533c-.78.78-2.048.78-2.83 0a2.004 2.004 0 0 1 0-2.83l.534-.53A7.94 7.94 0 0 1 2.252 12H2a2 2 0 1 1 0-4h.252c.19-.734.48-1.427.856-2.064l-.533-.532a2.004 2.004 0 0 1 0-2.83c.78-.78 2.048-.78 2.83 0l.53.534A7.9 7.9 0 0 1 8 2.252V2zm7 8c0 2.76-2.24 5-5 5s-5-2.24-5-5 2.24-5 5-5 5 2.24 5 5z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer .settings-button-glyph{width:22px;height:22px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cuse xlink:href='%23a' fill='%23c7d2d7' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cdefs%3E%3Cpath id='a' fill-rule='evenodd' d='M8 2a2 2 0 1 1 4 0v.252c.734.19 1.427.48 2.064.856l.532-.533c.78-.78 2.048-.78 2.83 0 .78.78.78 2.048 0 2.83l-.534.53A7.94 7.94 0 0 1 17.748 8H18a2 2 0 1 1 0 4h-.252a8.003 8.003 0 0 1-.856 2.064l.533.532c.78.78.78 2.048 0 2.83-.78.78-2.048.78-2.83 0l-.53-.534a7.94 7.94 0 0 1-2.065.856V18a2 2 0 1 1-4 0v-.252a8.003 8.003 0 0 1-2.064-.856l-.532.533c-.78.78-2.048.78-2.83 0a2.004 2.004 0 0 1 0-2.83l.534-.53A7.94 7.94 0 0 1 2.252 12H2a2 2 0 1 1 0-4h.252c.19-.734.48-1.427.856-2.064l-.533-.532a2.004 2.004 0 0 1 0-2.83c.78-.78 2.048-.78 2.83 0l.53.534A7.9 7.9 0 0 1 8 2.252V2zm7 8c0 2.76-2.24 5-5 5s-5-2.24-5-5 2.24-5 5-5 5 2.24 5 5z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer .closed-caption-active-glyph{width:22px;height:22px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 22 12' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cuse xlink:href='%23a' transform='translate(0 -9)' fill='%23FFF' style='mix-blend-mode:normal' figma:type='text'/%3E%3Cdefs%3E%3Cpath id='a' d='M6.336 20.504c2.068 0 3.322-.88 4.07-1.892l-1.518-1.408c-.594.814-1.408 1.254-2.442 1.254-1.936 0-3.212-1.474-3.212-3.542 0-2.068 1.276-3.52 3.212-3.52 1.034 0 1.848.418 2.442 1.254l1.518-1.408C9.658 10.23 8.404 9.35 6.336 9.35c-3.234 0-5.5 2.354-5.5 5.566 0 3.234 2.266 5.588 5.5 5.588zm10.935 0c2.07 0 3.323-.88 4.072-1.892l-1.518-1.408c-.595.814-1.41 1.254-2.443 1.254-1.934 0-3.21-1.474-3.21-3.542 0-2.068 1.275-3.52 3.21-3.52 1.036 0 1.85.418 2.444 1.254l1.517-1.408c-.747-1.012-2-1.892-4.069-1.892-3.232 0-5.498 2.354-5.498 5.566 0 3.234 2.265 5.588 5.5 5.588z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer .closed-caption-glyph{width:22px;height:22px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 22 12' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cuse xlink:href='%23a' transform='translate(0 -9)' fill='%23c7d2d7' style='mix-blend-mode:normal' figma:type='text'/%3E%3Cdefs%3E%3Cpath id='a' d='M6.336 20.504c2.068 0 3.322-.88 4.07-1.892l-1.518-1.408c-.594.814-1.408 1.254-2.442 1.254-1.936 0-3.212-1.474-3.212-3.542 0-2.068 1.276-3.52 3.212-3.52 1.034 0 1.848.418 2.442 1.254l1.518-1.408C9.658 10.23 8.404 9.35 6.336 9.35c-3.234 0-5.5 2.354-5.5 5.566 0 3.234 2.266 5.588 5.5 5.588zm10.935 0c2.07 0 3.323-.88 4.072-1.892l-1.518-1.408c-.595.814-1.41 1.254-2.443 1.254-1.934 0-3.21-1.474-3.21-3.542 0-2.068 1.275-3.52 3.21-3.52 1.036 0 1.85.418 2.444 1.254l1.517-1.408c-.747-1.012-2-1.892-4.069-1.892-3.232 0-5.498 2.354-5.498 5.566 0 3.234 2.265 5.588 5.5 5.588z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer .closed-caption-non-en-active-glyph{width:22px;height:22px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 18'%3E%3Cpath fill='%23FFF' d='M20 18H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h18a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2zM7 10a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1 1 1 0 0 0 1 1h3a1 1 0 0 0 1-1zm13 0a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1 1 1 0 0 0 1 1h10a1 1 0 0 0 1-1zm0 4a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1 1 1 0 0 0 1 1h5a1 1 0 0 0 1-1zm-8 0a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1 1 1 0 0 0 1 1h8a1 1 0 0 0 1-1z'/%3E%3C/svg%3E")}.tsc-smartplayer .closed-caption-non-en-glyph{width:22px;height:22px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 18'%3E%3Cpath fill='%23c7d2d7' d='M20 18H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h18a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2zM7 10a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1 1 1 0 0 0 1 1h3a1 1 0 0 0 1-1zm13 0a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1 1 1 0 0 0 1 1h10a1 1 0 0 0 1-1zm0 4a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1 1 1 0 0 0 1 1h5a1 1 0 0 0 1-1zm-8 0a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1 1 1 0 0 0 1 1h8a1 1 0 0 0 1-1z'/%3E%3C/svg%3E")}.tsc-smartplayer .toc-button-glyph{width:22px;height:22px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='10' viewBox='0 0 17 10'%3E%3Cpath fill='%23c7d2d7' d='M0 1c0-.6.4-1 1-1h1c.6 0 1 .4 1 1s-.4 1-1 1H1c-.6 0-1-.4-1-1zm5 0c0-.6.4-1 1-1h10c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1zM0 5c0-.6.4-1 1-1h1c.6 0 1 .4 1 1s-.4 1-1 1H1c-.6 0-1-.4-1-1zm5 0c0-.6.4-1 1-1h10c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1zM0 9c0-.6.4-1 1-1h1c.6 0 1 .4 1 1s-.4 1-1 1H1c-.6 0-1-.4-1-1zm5 0c0-.6.4-1 1-1h10c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1z'/%3E%3C/svg%3E")}.tsc-smartplayer .toc-button-glyph.toc-button-active-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='10' viewBox='0 0 17 10'%3E%3Cpath fill='%23FFF' d='M0 1c0-.6.4-1 1-1h1c.6 0 1 .4 1 1s-.4 1-1 1H1c-.6 0-1-.4-1-1zm5 0c0-.6.4-1 1-1h10c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1zM0 5c0-.6.4-1 1-1h1c.6 0 1 .4 1 1s-.4 1-1 1H1c-.6 0-1-.4-1-1zm5 0c0-.6.4-1 1-1h10c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1zM0 9c0-.6.4-1 1-1h1c.6 0 1 .4 1 1s-.4 1-1 1H1c-.6 0-1-.4-1-1zm5 0c0-.6.4-1 1-1h10c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1z'/%3E%3C/svg%3E")}.tsc-smartplayer .pip-button-glyph{width:22px;height:22px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 11'%3E%3Cg fill='%23c7d2d7'%3E%3Cpath opacity='.6' d='M2.5 8c-.1 0-.3-.1-.3-.1-.1-.1-.2-.2-.2-.4v-4c0-.1.1-.2.2-.3.1-.1.2-.2.3-.2h6c.2 0 .3.1.4.2 0 0 .1.2.1.3v4c0 .2-.1.3-.1.4-.1 0-.2.1-.4.1h-6m6-6h-6c-.4 0-.8.2-1 .5-.3.2-.5.6-.5 1v4c0 .4.2.8.5 1.1.3.3.6.4 1 .4h6c.4 0 .8-.1 1.1-.4.3-.3.4-.7.4-1.1v-4c0-.4-.1-.7-.4-1-.3-.3-.7-.5-1.1-.5'/%3E%3Cpath d='M4.5 6.5h6v4h-6z'/%3E%3C/g%3E%3C/svg%3E")}.tsc-smartplayer .fullscreen-button-glyph{width:22px;height:22px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 18' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%23c7d2d7'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cuse xlink:href='%23a' transform='rotate(90 10 10)' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cuse xlink:href='%23a' transform='rotate(180 10 9)' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cuse xlink:href='%23b' transform='rotate(-90 9 9)' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M5 0H1a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0V2h3a1 1 0 0 0 0-2z'/%3E%3Cpath id='b' d='M5 0H1a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0V2h3a1 1 0 0 0 0-2z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer .fullscreen-button-active-glyph{width:22px;height:14px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 15' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%23FFF'%3E%3Cuse xlink:href='%23a' transform='translate(10 9)' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cuse xlink:href='%23b' transform='rotate(90 -1.5 7.5)' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cuse xlink:href='%23a' transform='rotate(180 3 3)' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cuse xlink:href='%23c' transform='rotate(-90 8 -2)' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M5 0H1a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0V2h3a1 1 0 0 0 0-2z'/%3E%3Cpath id='b' d='M5 0H1a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0V2h3a1 1 0 0 0 0-2z'/%3E%3Cpath id='c' d='M5 0H1a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0V2h3a1 1 0 0 0 0-2z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer .full-frame-button-glyph{width:22px;height:22px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath fill='%23c7d2d7' d='M8.7 2H3.3C2.5 2 2 2.5 2 3.3v5.3c0 .9.5 1.4 1.3 1.4s1.3-.5 1.3-1.3v-4h4.1c.8 0 1.3-.5 1.3-1.3S9.5 2 8.7 2zm4.6 18h5.3c.8 0 1.3-.5 1.3-1.3v-5.3c0-.8-.5-1.3-1.3-1.3s-1.3.5-1.3 1.3v3.9h-4c-.8 0-1.3.5-1.3 1.3 0 .9.5 1.4 1.3 1.4z'/%3E%3C/svg%3E")}.tsc-smartplayer .full-frame-button-active-glyph{width:22px;height:22px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M17.7 11h-5.3c-.8 0-1.3.5-1.3 1.3v5.3c0 .8.5 1.3 1.3 1.3s1.3-.5 1.3-1.3v-3.9h4c.8 0 1.3-.5 1.3-1.3 0-.9-.5-1.4-1.3-1.4zM4.3 11h5.3c.8 0 1.3-.5 1.3-1.3V4.3C11 3.5 10.5 3 9.7 3c-.8 0-1.4.5-1.4 1.3v4h-4c-.8 0-1.3.6-1.3 1.4 0 .8.5 1.3 1.3 1.3z' fill='%23FFF'/%3E%3C/svg%3E")}.tsc-smartplayer .expand-button-glyph{width:22px;height:22px;position:relative;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 11'%3E%3Cpath fill='%23c7d2d7' d='M10 1l-.2 2.7-.8-.8-2.1 2c-.1.1-.3.1-.4 0l-.4-.4c-.1-.1-.1-.3 0-.4l2-2.1-.8-.8L10 1z'/%3E%3Cpath fill='%23c7d2d7' d='M9 5v2.5c0 .2-.1.3-.1.4-.1 0-.2.1-.4.1h-6c-.1 0-.3-.1-.3-.1-.1-.1-.2-.2-.2-.4v-4c0-.1.1-.2.2-.3.1-.1.2-.2.3-.2H6V2H2.5c-.4 0-.8.2-1 .5-.3.2-.5.6-.5 1v4c0 .4.2.8.5 1.1.3.3.6.4 1 .4h6c.4 0 .8-.1 1.1-.4.3-.3.4-.7.4-1.1V5H9z'/%3E%3C/svg%3E")}.tsc-smartplayer .play-button-overlay-glyph{width:150px;height:150px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' data-name='Layer 1' viewBox='0 0 138 138'%3E%3Ctitle%3Eplay_button_overlay%3C/title%3E%3Cg data-name='play button overlay'%3E%3Cpath data-name='path0' fill='%2315191c' d='M136 69A67 67 0 1 1 69 2a67 67 0 0 1 67 67z'/%3E%3Cpath data-name='path1' fill='%23a7b2b7' d='M94 66.9a3 3 0 0 1 0 5.2L56.5 93.8a3 3 0 0 1-4.5-2.6V47.9a3 3 0 0 1 4.5-2.6z'/%3E%3Cpath data-name='path2' fill='%23a7b2b7' d='M69 138A69 69 0 1 0 0 69a69 69 0 0 0 69 69zm65-69A65 65 0 1 1 69 4a65 65 0 0 1 65 65z'/%3E%3C/g%3E%3C/svg%3E")}.tsc-smartplayer .replay-button-overlay-glyph{width:150px;height:150px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' data-name='Layer 1' viewBox='0 0 138 138'%3E%3Ctitle%3Ereplay_button%3C/title%3E%3Cg data-name='replay button'%3E%3Cpath data-name='path0' fill='%2315191c' d='M136 69A67 67 0 1 1 69 2a67 67 0 0 1 67 67z'/%3E%3Cpath data-name='path1' fill='%23a7b2b7' d='M34.3 69a35 35 0 0 0 69.5 6h-3a32 32 0 1 1-.4-14v-4h1.9a35 35 0 0 0-68 12z'/%3E%3Cpath data-name='path2' fill='%23a7b2b7' d='M102.8 60.8a3 3 0 0 1-4.7 2.3L82.9 52.9a3 3 0 0 1 .4-5.2l16.4-8a3 3 0 0 1 4.3 2.9z'/%3E%3Cpath data-name='path3' fill='%23a7b2b7' d='M69 138A69 69 0 1 0 0 69a69 69 0 0 0 69 69zm65-69A65 65 0 1 1 69 4a65 65 0 0 1 65 65z'/%3E%3C/g%3E%3C/svg%3E")}.tsc-smartplayer .open-external-link-replay-glyph{width:67px;height:67px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' data-name='Layer 1' viewBox='0 0 138 138'%3E%3Ctitle%3Ereplay_button%3C/title%3E%3Cg data-name='replay button' fill='%23a7b2b7'%3E%3Cpath data-name='path1' d='M34.3 69a35 35 0 0 0 69.5 6h-3a32 32 0 1 1-.4-14v-4h1.9a35 35 0 0 0-68 12z'/%3E%3Cpath data-name='path2' d='M102.8 60.8a3 3 0 0 1-4.7 2.3L82.9 52.9a3 3 0 0 1 .4-5.2l16.4-8a3 3 0 0 1 4.3 2.9z'/%3E%3C/g%3E%3C/svg%3E")}.tsc-smartplayer .open-external-link-open-glyph{width:67px;height:67px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 138 138'%3E%3Cpath fill='none' stroke='%23a7b2b7' stroke-width='3' stroke-linecap='round' stroke-miterlimit='10' d='M60.4 77.5l17.3-17.2m-18 10.3c-2.2-.1-4.5.7-6.1 2.3l-10 10c-3.2 3.2-3.2 8.3 0 11.4 3.2 3.2 8.3 3.2 11.4 0l10-10c1.7-1.7 2.5-3.9 2.3-6.1m11.1-11.1c2.2.1 4.5-.7 6.1-2.3l10-10c3.2-3.2 3.2-8.3 0-11.4-3.2-3.2-8.3-3.2-11.4 0l-10 10c-1.7 1.7-2.5 3.9-2.3 6.1'/%3E%3C/svg%3E")}.tsc-smartplayer .volume-muted-button-glyph{width:44px;height:44px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' viewBox='0 0 16 20' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%23c7d2d7'%3E%3Cg style='mix-blend-mode:normal' figma:type='vector-operation' transform='translate(1.02)'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal'/%3E%3Cuse xlink:href='%23b' style='mix-blend-mode:normal'/%3E%3C/g%3E%3Cuse xlink:href='%23c' transform='rotate(-45 4.12 1.707)' style='mix-blend-mode:normal' figma:type='rounded-rectangle'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M11 0L9 1 5.36 5.55 11 11.193V0z'/%3E%3Cpath id='b' d='M.5 14H5l4 5 2 1v-3.15L.384 6.232 0 7v6l.5 1z'/%3E%3Cpath id='c' d='M0 0h2v20H0V0z'/%3E%3C/defs%3E%3C/svg%3E");background-position:10px}.tsc-smartplayer .volume-low-button-glyph{width:44px;height:44px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='20' viewBox='0 0 11 20' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cuse xlink:href='%23a' fill='%23c7d2d7' style='mix-blend-mode:normal' figma:type='vector'/%3E%3Cdefs%3E%3Cpath id='a' d='M0 7l.5-1H5l4-5 2-1v20l-2-1-4-5H.5L0 13V7z'/%3E%3C/defs%3E%3C/svg%3E");background-position:11px}.tsc-smartplayer .volume-medium-button-glyph{width:44px;height:44px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='19' height='20' viewBox='0 0 19 20' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%23c7d2d7'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal' figma:type='vector'/%3E%3Cuse xlink:href='%23b' transform='translate(14 7)' style='mix-blend-mode:normal' figma:type='vector'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M0 7l.5-1H5l4-5 2-1v20l-2-1-4-5H.5L0 13V7z'/%3E%3Cpath id='b' d='M0-.75h-.75v1.5H0v-1.5zm0 6h-.75v1.5H0v-1.5zm0-4.5C2.377.75 3.25 2.03 3.25 3S2.377 5.25 0 5.25v1.5c2.956 0 4.75-1.72 4.75-3.75C4.75.97 2.956-.75 0-.75v1.5z'/%3E%3C/defs%3E%3C/svg%3E");background-position:11px}.tsc-smartplayer .volume-high-button-glyph{width:44px;height:44px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='23' height='20' viewBox='0 0 23 20' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%23c7d2d7'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal' figma:type='vector'/%3E%3Cuse xlink:href='%23b' transform='translate(14 7)' style='mix-blend-mode:normal' figma:type='vector'/%3E%3Cuse xlink:href='%23c' transform='translate(14 2)' style='mix-blend-mode:normal' figma:type='vector'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M0 7l.5-1H5l4-5 2-1v20l-2-1-4-5H.5L0 13V7z'/%3E%3Cpath id='b' d='M0-.75h-.75v1.5H0v-1.5zm0 6h-.75v1.5H0v-1.5zm0-4.5C2.377.75 3.25 2.03 3.25 3S2.377 5.25 0 5.25v1.5c2.956 0 4.75-1.72 4.75-3.75C4.75.97 2.956-.75 0-.75v1.5z'/%3E%3Cpath id='c' d='M0-1h-1v2h1v-2zm0 16h-1v2h1v-2zM0 1c2.395 0 4.118.888 5.253 2.164C6.403 4.46 7 6.214 7 8c0 1.787-.597 3.54-1.747 4.836C4.118 14.112 2.395 15 0 15v2c2.938 0 5.215-1.112 6.747-2.836C8.263 12.46 9 10.214 9 8c0-2.213-.737-4.46-2.253-6.164C5.215.112 2.937-1 0-1v2z'/%3E%3C/defs%3E%3C/svg%3E");background-position:11px}.tsc-smartplayer .scrubbar-track{background-color:#1f242a}.tsc-smartplayer .scrubbar-loaded-track{width:2px;background-color:#364347}.tsc-smartplayer .scrubbar-played-track{width:2px;background-color:#c7d2d7}.tsc-smartplayer .toc_title_backdrop{width:8px;height:18px;background-color:#1f242a}.tsc-smartplayer .player-controls{background-color:rgba(31,36,42,.9)}.tsc-smartplayer .quiz-marker{background-color:#fff}.tsc-smartplayer.smartplayer-dawn-theme .audio-description-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 41.1 16.6'%3E%3Cg fill='%232E3940'%3E%3Cpath d='M18 16.4c-.1 0-.3-.1-.4-.1V.2h5.9c1.3 0 2.5.5 3.5 1.2 2.8 1.7 4.3 5.2 3.6 8.5-.8 3.6-3.3 5.9-6.7 6.4-.5.1-1 .1-1.5.2-1.5-.1-2.9-.1-4.4-.1zm3.3-4.2c1.8.1 3.3-.3 4.2-1.8.8-1.4.8-2.9-.1-4.2-.9-1.4-2.3-1.8-3.8-1.7-.1 0-.3.3-.3.4v7.3zM.5 16.3c1-1.4 2.1-2.8 3.1-4.3C6.3 8.3 9 4.5 11.6.7c.2-.3.4-.4.8-.4h4.2V16c0 .2 0 .3-.1.5h-3.9v-2.1h-5c-.2 0-.3.1-.4.3-.5.6-.9 1.2-1.3 1.8H.7c0-.1-.1-.1-.2-.2zM12.8 5.6c-1.1 1.8-2.2 3.4-3.3 5.1h3.3V5.6zm27.8 3.7c-.2.9-.4 1.9-.6 2.8-.4 1.3-1.1 2.5-2 3.7-.3.3-.5.5-1 .3 1.5-2.4 2.5-4.9 2.4-7.7 0-2.8-1-5.4-2.5-7.7.6-.1 1 .1 1.3.6 1.2 1.8 2.1 3.7 2.3 6 0 .1.1.2.1.3v1.7z'/%3E%3Cpath d='M30.3 16.1c3.3-5.2 3.2-10.3 0-15.4.6-.1.8-.1 1.2.4 2.7 4 3.4 8.4 1 12.8-.3.6-.8 1.2-1.2 1.8-.2.5-.5.6-1 .4z'/%3E%3Cpath d='M33.6.7c.6-.1 1 .2 1.3.6 3.3 5 3.1 10.2-.2 14.6-.3.3-.5.5-1 .3C36.9 11 36.9 5.8 33.6.7z'/%3E%3C/g%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .audio-description-button-active-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 41.1 16.6'%3E%3Cg fill='%234F636E'%3E%3Cpath d='M18 16.4c-.1 0-.3-.1-.4-.1V.2h5.9c1.3 0 2.5.5 3.5 1.2 2.8 1.7 4.3 5.2 3.6 8.5-.8 3.6-3.3 5.9-6.7 6.4-.5.1-1 .1-1.5.2-1.5-.1-2.9-.1-4.4-.1zm3.3-4.2c1.8.1 3.3-.3 4.2-1.8.8-1.4.8-2.9-.1-4.2-.9-1.4-2.3-1.8-3.8-1.7-.1 0-.3.3-.3.4v7.3zM.5 16.3c1-1.4 2.1-2.8 3.1-4.3C6.3 8.3 9 4.5 11.6.7c.2-.3.4-.4.8-.4h4.2V16c0 .2 0 .3-.1.5h-3.9v-2.1h-5c-.2 0-.3.1-.4.3-.5.6-.9 1.2-1.3 1.8H.7c0-.1-.1-.1-.2-.2zM12.8 5.6c-1.1 1.8-2.2 3.4-3.3 5.1h3.3V5.6zm27.8 3.7c-.2.9-.4 1.9-.6 2.8-.4 1.3-1.1 2.5-2 3.7-.3.3-.5.5-1 .3 1.5-2.4 2.5-4.9 2.4-7.7 0-2.8-1-5.4-2.5-7.7.6-.1 1 .1 1.3.6 1.2 1.8 2.1 3.7 2.3 6 0 .1.1.2.1.3v1.7z'/%3E%3Cpath d='M30.3 16.1c3.3-5.2 3.2-10.3 0-15.4.6-.1.8-.1 1.2.4 2.7 4 3.4 8.4 1 12.8-.3.6-.8 1.2-1.2 1.8-.2.5-.5.6-1 .4z'/%3E%3Cpath d='M33.6.7c.6-.1 1 .2 1.3.6 3.3 5 3.1 10.2-.2 14.6-.3.3-.5.5-1 .3C36.9 11 36.9 5.8 33.6.7z'/%3E%3C/g%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .rewind-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%232E3940' d='M8.7 2.25V0l-5 4 5 4V5.4c2.08.25 3.47 1.41 3.5 3.6a4.38 4.38 0 0 1-4.26 4.5H7.7c-2.11-.05-4-1.41-3.9-4.5a1.19 1.19 0 0 0-1.26-1.3A1.33 1.33 0 0 0 1.2 9a6.49 6.49 0 0 0 6.19 7h.31a6.93 6.93 0 0 0 7.1-6.76V9a6.58 6.58 0 0 0-6.1-6.75z'/%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .forward-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%232E3940' d='M1.2 9v.2c.1 3.8 3.3 6.9 7.1 6.8h.5c3.6-.3 6.2-3.4 6-7 0-.7-.6-1.3-1.3-1.3h-.2c-.7.1-1.1.6-1.1 1.3.1 3.1-1.8 4.4-3.9 4.5H8c-2.4-.1-4.3-2.1-4.2-4.5 0-2.2 1.4-3.3 3.5-3.6V8l5-4-5-4v2.2C3.8 2.5 1.1 5.5 1.2 9z'/%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .play-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 11 14' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cuse xlink:href='%23a' transform='rotate(90 5.5 5.5)' fill='%232E3940' style='mix-blend-mode:normal' figma:type='vector'/%3E%3Cdefs%3E%3Cpath id='a' d='M7 0c1 0 7 11 7 11H0S6 0 7 0z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .pause-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 12 14' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%232E3940'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal' figma:type='rounded-rectangle'/%3E%3Cuse xlink:href='%23a' transform='translate(8)' style='mix-blend-mode:normal' figma:type='rounded-rectangle'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M0 1a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .previous-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 14' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%232E3940'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal' figma:type='rounded-rectangle'/%3E%3Cuse xlink:href='%23b' transform='translate(4)' style='mix-blend-mode:normal' figma:type='vector'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M0 1a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1z'/%3E%3Cpath id='b' d='M12 0v14L0 7l12-7z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .next-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 14' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%232E3940'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal' figma:type='vector'/%3E%3Cuse xlink:href='%23b' transform='translate(12)' style='mix-blend-mode:normal' figma:type='rounded-rectangle'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M0 0v14l12-7L0 0z'/%3E%3Cpath id='b' d='M0 0h4v14H0V0z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .settings-button-active-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cuse xlink:href='%23a' fill='%234F636E' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cdefs%3E%3Cpath id='a' fill-rule='evenodd' d='M8 2a2 2 0 1 1 4 0v.252c.734.19 1.427.48 2.064.856l.532-.533c.78-.78 2.048-.78 2.83 0 .78.78.78 2.048 0 2.83l-.534.53A7.94 7.94 0 0 1 17.748 8H18a2 2 0 1 1 0 4h-.252a8.003 8.003 0 0 1-.856 2.064l.533.532c.78.78.78 2.048 0 2.83-.78.78-2.048.78-2.83 0l-.53-.534a7.94 7.94 0 0 1-2.065.856V18a2 2 0 1 1-4 0v-.252a8.003 8.003 0 0 1-2.064-.856l-.532.533c-.78.78-2.048.78-2.83 0a2.004 2.004 0 0 1 0-2.83l.534-.53A7.94 7.94 0 0 1 2.252 12H2a2 2 0 1 1 0-4h.252c.19-.734.48-1.427.856-2.064l-.533-.532a2.004 2.004 0 0 1 0-2.83c.78-.78 2.048-.78 2.83 0l.53.534A7.9 7.9 0 0 1 8 2.252V2zm7 8c0 2.76-2.24 5-5 5s-5-2.24-5-5 2.24-5 5-5 5 2.24 5 5z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .settings-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cuse xlink:href='%23a' fill='%232E3940' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cdefs%3E%3Cpath id='a' fill-rule='evenodd' d='M8 2a2 2 0 1 1 4 0v.252c.734.19 1.427.48 2.064.856l.532-.533c.78-.78 2.048-.78 2.83 0 .78.78.78 2.048 0 2.83l-.534.53A7.94 7.94 0 0 1 17.748 8H18a2 2 0 1 1 0 4h-.252a8.003 8.003 0 0 1-.856 2.064l.533.532c.78.78.78 2.048 0 2.83-.78.78-2.048.78-2.83 0l-.53-.534a7.94 7.94 0 0 1-2.065.856V18a2 2 0 1 1-4 0v-.252a8.003 8.003 0 0 1-2.064-.856l-.532.533c-.78.78-2.048.78-2.83 0a2.004 2.004 0 0 1 0-2.83l.534-.53A7.94 7.94 0 0 1 2.252 12H2a2 2 0 1 1 0-4h.252c.19-.734.48-1.427.856-2.064l-.533-.532a2.004 2.004 0 0 1 0-2.83c.78-.78 2.048-.78 2.83 0l.53.534A7.9 7.9 0 0 1 8 2.252V2zm7 8c0 2.76-2.24 5-5 5s-5-2.24-5-5 2.24-5 5-5 5 2.24 5 5z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .closed-caption-active-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 22 12' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cuse xlink:href='%23a' transform='translate(0 -9)' fill='%234F636E' style='mix-blend-mode:normal' figma:type='text'/%3E%3Cdefs%3E%3Cpath id='a' d='M6.336 20.504c2.068 0 3.322-.88 4.07-1.892l-1.518-1.408c-.594.814-1.408 1.254-2.442 1.254-1.936 0-3.212-1.474-3.212-3.542 0-2.068 1.276-3.52 3.212-3.52 1.034 0 1.848.418 2.442 1.254l1.518-1.408C9.658 10.23 8.404 9.35 6.336 9.35c-3.234 0-5.5 2.354-5.5 5.566 0 3.234 2.266 5.588 5.5 5.588zm10.935 0c2.07 0 3.323-.88 4.072-1.892l-1.518-1.408c-.595.814-1.41 1.254-2.443 1.254-1.934 0-3.21-1.474-3.21-3.542 0-2.068 1.275-3.52 3.21-3.52 1.036 0 1.85.418 2.444 1.254l1.517-1.408c-.747-1.012-2-1.892-4.069-1.892-3.232 0-5.498 2.354-5.498 5.566 0 3.234 2.265 5.588 5.5 5.588z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .closed-caption-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 22 12' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cuse xlink:href='%23a' transform='translate(0 -9)' fill='%232E3940' style='mix-blend-mode:normal' figma:type='text'/%3E%3Cdefs%3E%3Cpath id='a' d='M6.336 20.504c2.068 0 3.322-.88 4.07-1.892l-1.518-1.408c-.594.814-1.408 1.254-2.442 1.254-1.936 0-3.212-1.474-3.212-3.542 0-2.068 1.276-3.52 3.212-3.52 1.034 0 1.848.418 2.442 1.254l1.518-1.408C9.658 10.23 8.404 9.35 6.336 9.35c-3.234 0-5.5 2.354-5.5 5.566 0 3.234 2.266 5.588 5.5 5.588zm10.935 0c2.07 0 3.323-.88 4.072-1.892l-1.518-1.408c-.595.814-1.41 1.254-2.443 1.254-1.934 0-3.21-1.474-3.21-3.542 0-2.068 1.275-3.52 3.21-3.52 1.036 0 1.85.418 2.444 1.254l1.517-1.408c-.747-1.012-2-1.892-4.069-1.892-3.232 0-5.498 2.354-5.498 5.566 0 3.234 2.265 5.588 5.5 5.588z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .closed-caption-non-en-active-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 18'%3E%3Cpath fill='%234F636E' d='M20 18H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h18a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2zM7 10a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1 1 1 0 0 0 1 1h3a1 1 0 0 0 1-1zm13 0a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1 1 1 0 0 0 1 1h10a1 1 0 0 0 1-1zm0 4a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1 1 1 0 0 0 1 1h5a1 1 0 0 0 1-1zm-8 0a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1 1 1 0 0 0 1 1h8a1 1 0 0 0 1-1z'/%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .closed-caption-non-en-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 18'%3E%3Cpath fill='%232E3940' d='M20 18H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h18a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2zM7 10a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1 1 1 0 0 0 1 1h3a1 1 0 0 0 1-1zm13 0a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1 1 1 0 0 0 1 1h10a1 1 0 0 0 1-1zm0 4a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1 1 1 0 0 0 1 1h5a1 1 0 0 0 1-1zm-8 0a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1 1 1 0 0 0 1 1h8a1 1 0 0 0 1-1z'/%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .toc-button-active-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='10' viewBox='0 0 17 10'%3E%3Cpath fill='%234F636E' d='M0 1c0-.6.4-1 1-1h1c.6 0 1 .4 1 1s-.4 1-1 1H1c-.6 0-1-.4-1-1zm5 0c0-.6.4-1 1-1h10c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1zM0 5c0-.6.4-1 1-1h1c.6 0 1 .4 1 1s-.4 1-1 1H1c-.6 0-1-.4-1-1zm5 0c0-.6.4-1 1-1h10c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1zM0 9c0-.6.4-1 1-1h1c.6 0 1 .4 1 1s-.4 1-1 1H1c-.6 0-1-.4-1-1zm5 0c0-.6.4-1 1-1h10c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1z'/%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .toc-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='10' viewBox='0 0 17 10'%3E%3Cpath fill='%232E3940' d='M0 1c0-.6.4-1 1-1h1c.6 0 1 .4 1 1s-.4 1-1 1H1c-.6 0-1-.4-1-1zm5 0c0-.6.4-1 1-1h10c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1zM0 5c0-.6.4-1 1-1h1c.6 0 1 .4 1 1s-.4 1-1 1H1c-.6 0-1-.4-1-1zm5 0c0-.6.4-1 1-1h10c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1zM0 9c0-.6.4-1 1-1h1c.6 0 1 .4 1 1s-.4 1-1 1H1c-.6 0-1-.4-1-1zm5 0c0-.6.4-1 1-1h10c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1z'/%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .pip-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 11'%3E%3Cg fill='%232E3940'%3E%3Cpath opacity='.6' d='M2.5 8c-.1 0-.3-.1-.3-.1-.1-.1-.2-.2-.2-.4v-4c0-.1.1-.2.2-.3.1-.1.2-.2.3-.2h6c.2 0 .3.1.4.2 0 0 .1.2.1.3v4c0 .2-.1.3-.1.4-.1 0-.2.1-.4.1h-6m6-6h-6c-.4 0-.8.2-1 .5-.3.2-.5.6-.5 1v4c0 .4.2.8.5 1.1.3.3.6.4 1 .4h6c.4 0 .8-.1 1.1-.4.3-.3.4-.7.4-1.1v-4c0-.4-.1-.7-.4-1-.3-.3-.7-.5-1.1-.5'/%3E%3Cpath d='M4.5 6.5h6v4h-6z'/%3E%3C/g%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .fullscreen-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 18' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%232E3940'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cuse xlink:href='%23a' transform='rotate(90 10 10)' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cuse xlink:href='%23a' transform='rotate(180 10 9)' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cuse xlink:href='%23b' transform='rotate(-90 9 9)' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M5 0H1a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0V2h3a1 1 0 0 0 0-2z'/%3E%3Cpath id='b' d='M5 0H1a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0V2h3a1 1 0 0 0 0-2z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .fullscreen-button-active-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 15' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%232E3940'%3E%3Cuse xlink:href='%23a' transform='translate(10 9)' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cuse xlink:href='%23b' transform='rotate(90 -1.5 7.5)' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cuse xlink:href='%23a' transform='rotate(180 3 3)' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3Cuse xlink:href='%23c' transform='rotate(-90 8 -2)' style='mix-blend-mode:normal' figma:type='vector-operation'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M5 0H1a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0V2h3a1 1 0 0 0 0-2z'/%3E%3Cpath id='b' d='M5 0H1a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0V2h3a1 1 0 0 0 0-2z'/%3E%3Cpath id='c' d='M5 0H1a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0V2h3a1 1 0 0 0 0-2z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .full-frame-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath fill='%232E3940' d='M8.7 2H3.3C2.5 2 2 2.5 2 3.3v5.3c0 .9.5 1.4 1.3 1.4s1.3-.5 1.3-1.3v-4h4.1c.8 0 1.3-.5 1.3-1.3S9.5 2 8.7 2zm4.6 18h5.3c.8 0 1.3-.5 1.3-1.3v-5.3c0-.8-.5-1.3-1.3-1.3s-1.3.5-1.3 1.3v3.9h-4c-.8 0-1.3.5-1.3 1.3 0 .9.5 1.4 1.3 1.4z'/%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .full-frame-button-active-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M17.7 11h-5.3c-.8 0-1.3.5-1.3 1.3v5.3c0 .8.5 1.3 1.3 1.3s1.3-.5 1.3-1.3v-3.9h4c.8 0 1.3-.5 1.3-1.3 0-.9-.5-1.4-1.3-1.4zM4.3 11h5.3c.8 0 1.3-.5 1.3-1.3V4.3C11 3.5 10.5 3 9.7 3c-.8 0-1.4.5-1.4 1.3v4h-4c-.8 0-1.3.6-1.3 1.4 0 .8.5 1.3 1.3 1.3z' fill='%232E3940'/%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .expand-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 11'%3E%3Cpath fill='%232E3940' d='M10 1l-.2 2.7-.8-.8-2.1 2c-.1.1-.3.1-.4 0l-.4-.4c-.1-.1-.1-.3 0-.4l2-2.1-.8-.8L10 1z'/%3E%3Cpath fill='%232E3940' d='M9 5v2.5c0 .2-.1.3-.1.4-.1 0-.2.1-.4.1h-6c-.1 0-.3-.1-.3-.1-.1-.1-.2-.2-.2-.4v-4c0-.1.1-.2.2-.3.1-.1.2-.2.3-.2H6V2H2.5c-.4 0-.8.2-1 .5-.3.2-.5.6-.5 1v4c0 .4.2.8.5 1.1.3.3.6.4 1 .4h6c.4 0 .8-.1 1.1-.4.3-.3.4-.7.4-1.1V5H9z'/%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .volume-muted-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' viewBox='0 0 16 20' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%232E3940'%3E%3Cg style='mix-blend-mode:normal' figma:type='vector-operation' transform='translate(1.02)'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal'/%3E%3Cuse xlink:href='%23b' style='mix-blend-mode:normal'/%3E%3C/g%3E%3Cuse xlink:href='%23c' transform='rotate(-45 4.12 1.707)' style='mix-blend-mode:normal' figma:type='rounded-rectangle'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M11 0L9 1 5.36 5.55 11 11.193V0z'/%3E%3Cpath id='b' d='M.5 14H5l4 5 2 1v-3.15L.384 6.232 0 7v6l.5 1z'/%3E%3Cpath id='c' d='M0 0h2v20H0V0z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .volume-low-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='20' viewBox='0 0 11 20' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cuse xlink:href='%23a' fill='%232E3940' style='mix-blend-mode:normal' figma:type='vector'/%3E%3Cdefs%3E%3Cpath id='a' d='M0 7l.5-1H5l4-5 2-1v20l-2-1-4-5H.5L0 13V7z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .volume-medium-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='19' height='20' viewBox='0 0 19 20' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%232E3940'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal' figma:type='vector'/%3E%3Cuse xlink:href='%23b' transform='translate(14 7)' style='mix-blend-mode:normal' figma:type='vector'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M0 7l.5-1H5l4-5 2-1v20l-2-1-4-5H.5L0 13V7z'/%3E%3Cpath id='b' d='M0-.75h-.75v1.5H0v-1.5zm0 6h-.75v1.5H0v-1.5zm0-4.5C2.377.75 3.25 2.03 3.25 3S2.377 5.25 0 5.25v1.5c2.956 0 4.75-1.72 4.75-3.75C4.75.97 2.956-.75 0-.75v1.5z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .volume-high-button-glyph{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='23' height='20' viewBox='0 0 23 20' version='2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:figma='http://www.figma.com/figma/ns'%3E%3Cg style='mix-blend-mode:normal' figma:type='group' fill='%232E3940'%3E%3Cuse xlink:href='%23a' style='mix-blend-mode:normal' figma:type='vector'/%3E%3Cuse xlink:href='%23b' transform='translate(14 7)' style='mix-blend-mode:normal' figma:type='vector'/%3E%3Cuse xlink:href='%23c' transform='translate(14 2)' style='mix-blend-mode:normal' figma:type='vector'/%3E%3C/g%3E%3Cdefs%3E%3Cpath id='a' d='M0 7l.5-1H5l4-5 2-1v20l-2-1-4-5H.5L0 13V7z'/%3E%3Cpath id='b' d='M0-.75h-.75v1.5H0v-1.5zm0 6h-.75v1.5H0v-1.5zm0-4.5C2.377.75 3.25 2.03 3.25 3S2.377 5.25 0 5.25v1.5c2.956 0 4.75-1.72 4.75-3.75C4.75.97 2.956-.75 0-.75v1.5z'/%3E%3Cpath id='c' d='M0-1h-1v2h1v-2zm0 16h-1v2h1v-2zM0 1c2.395 0 4.118.888 5.253 2.164C6.403 4.46 7 6.214 7 8c0 1.787-.597 3.54-1.747 4.836C4.118 14.112 2.395 15 0 15v2c2.938 0 5.215-1.112 6.747-2.836C8.263 12.46 9 10.214 9 8c0-2.213-.737-4.46-2.253-6.164C5.215.112 2.937-1 0-1v2z'/%3E%3C/defs%3E%3C/svg%3E")}.tsc-smartplayer.smartplayer-dawn-theme .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-background-track{background-color:#c0c7cb}.tsc-smartplayer.smartplayer-dawn-theme .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-loaded-track{background-color:#a7b1b7}.tsc-smartplayer.smartplayer-dawn-theme .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-seek-hint-track{background-color:#6e8999}.tsc-smartplayer.smartplayer-dawn-theme .progress-bar-control .progress-scrubbar-track .progress-bar-chapter .scrubbar-played-track{background-color:#2e3940}.tsc-smartplayer.smartplayer-dawn-theme .progress-bar-control .quiz-marker{background-color:rgba(42,49,55,.8)}.tsc-smartplayer.smartplayer-dawn-theme .player-controls{background-color:rgba(245,246,248,.9)}@media (max-width:480px){.tsc-smartplayer .play-button-overlay-glyph,.tsc-smartplayer .replay-button-overlay-glyph{width:70px;height:70px}}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment