📃Configs
Locale = {}
Config = {}
-- General Settings
Config.Locale = 'en' -- 'en' | 'pt'
Config.Command = 'courthouse' -- command to open courthouse UI (authorized jobs)
-- JOB ACCESS (jobs that can open the full management UI)
-- value = minimum grade level required (0 = any grade)
Config.AuthorizedJobs = {
['ambulance'] = 0,
}
-- Jobs that appear in the "Available Attorneys" list
Config.AttorneyJob = { 'lawyer' }
-- Blip Settings
Config.Blip = {
enabled = true,
coords = vec3(-1646.49, 171.61, 60.76),
sprite = 473,
color = 3,
scale = 0.8,
label = 'Courthouse',
}
-- Npc interactions Settings
Config.InteractionPoints = {
{
label = 'Reception',
coords = vec4(-1644.12, 176.96, 60.76, 294.05),
public = true, -- Accessible by everyone
npc = 'a_f_m_prolhost_01',
},
{
label = 'Clerk Office',
coords = vec4(-1646.23, 170.67, 60.76, 40.58),
public = false, -- Authorized jobs only
npc = 'a_f_m_prolhost_01',
},
}
-- Exam Settings
Config.Exams = {
bar = {
label = 'Bar Exam',
license_item = 'bar_license',
pass_score = 70,
questions = {
{
question = 'What is the presumption of innocence?',
answers = {
'Guilty until proven innocent',
'Innocent until proven guilty',
'No presumption exists',
'Depends on the crime'
},
correct = 2
},
{ question = 'What does "habeas corpus" mean?',
answers = {'Right to counsel','You shall have the body','Double jeopardy','Burden of proof'},
correct = 2 },
{ question = 'What is the statute of limitations?',
answers = {'A law limiting sentences','Time limit to file charges','A constitutional right','Police procedure'},
correct = 2 },
{ question = 'What is mens rea?',
answers = {'Physical act of crime','Criminal intent','Victim statement','Evidence collection'},
correct = 2 },
{ question = 'What does "pro bono" mean?',
answers = {'For the public good / free','Professional bonus','Probationary period','Court-appointed only'},
correct = 1 },
},
},
mechanic = {
label = 'Mechanic License Exam',
license_item = 'mechanic_license',
pass_score = 60,
questions = {
{ question = 'What does OBD stand for?',
answers = {'On-Board Diagnostics','Oil Burning Device','Overhead Belt Drive','Outboard Drive'},
correct = 1 },
{ question = 'What fluid is used in hydraulic brakes?',
answers = {'Engine oil','Transmission fluid','Brake fluid','Coolant'},
correct = 3 },
{ question = 'What is the purpose of a catalytic converter?',
answers = {'Boost horsepower','Reduce emissions','Filter oil','Cool the engine'},
correct = 2 },
{ question = 'Tire pressure is measured in?',
answers = {'RPM','PSI','MPH','kWh'},
correct = 2 },
{ question = 'What does a turbocharger do?',
answers = {'Cools engine','Forces more air into engine','Cleans exhaust','Regulates voltage'},
correct = 2 },
},
},
attorney = {
label = 'Attorney Exam',
license_item = 'attorney_license',
pass_score = 75,
questions = {
{ question = 'What is the role of a defense attorney?',
answers = {'Prosecute defendants','Represent the state','Defend the accused','Sentence offenders'},
correct = 3 },
{ question = 'What is discovery in legal proceedings?',
answers = {'Finding new laws','Exchange of evidence before trial','Jury selection','Opening statement'},
correct = 2 },
{ question = 'What is a subpoena?',
answers = {'Guilty verdict','Court summons to appear','Settlement agreement','Bail amount'},
correct = 2 },
{ question = 'What does "nolo contendere" mean?',
answers = {'Not guilty','No contest','Guilty with explanation','Insanity plea'},
correct = 2 },
{ question = 'What is voir dire?',
answers = {'Opening argument','Jury selection process','Closing statement','Sentencing phase'},
correct = 2 },
},
},
judge = {
label = 'Judge Exam',
license_item = 'judge_license',
pass_score = 80,
questions = {
{ question = 'What is judicial review?',
answers = {'Reviewing judge salaries','Power to invalidate unconstitutional laws','Annual court audit','Jury instructions'},
correct = 2 },
{ question = 'What is an injunction?',
answers = {'Criminal charge','Court order to stop an action','Bail request','Evidence submission'},
correct = 2 },
{ question = 'What does "in camera" mean in court?',
answers = {'Recording proceedings','Private hearing in judge\'s chambers','Evidence on camera','Jury deliberation'},
correct = 2 },
{ question = 'What is contempt of court?',
answers = {'Losing a case','Disrespecting court authority','Filing an appeal','Witness tampering'},
correct = 2 },
{ question = 'What is the role of amicus curiae?',
answers = {'Public defender','Friend of the court - advisory party','Court reporter','Bailiff'},
correct = 2 },
},
},
}
-- Phone Integration Settings
Config.Phone = {
script = 'auto', -- 'auto' | 'yseries' | 'lb-phone' | 'gksphone' | 'none'
notifications = {
enabled = true, -- Send in-game phone notifications
app = 'Messages', -- App that shows the notification
icon = '📋', -- Icon for notifications
},
emails = {
enabled = true, -- Send emails for important events
sender = 'Courthouse', -- Sender name
events = { -- Which events trigger emails
warrant_issued = true,
summons_issued = true,
fine_issued = true,
license_granted = true,
license_revoked = true,
appointment_scheduled = true,
}
},
}
-- Name change settings
Config.NameChange = {
enabled = true, -- Enable or disable name changes
price = 5000, -- Cost for a name change
badwords = { 'admin', 'staff', 'dev', 'owner', 'mod' }, -- List of prohibited words in names
}
-- Fines settings
Config.ForcePayment = false -- If true, when players login with unpaid fines, they will be forced to pay before accessing the server.
Config.MaxFineAmount = 100000 -- Maximum fine amount
Config.MinFineAmount = 100 -- Minimum fine amount
-- Jail System Settings
Config.JailSystem = {
enabled = true, -- Enable or disable the jail system
-- script: 'default' | 'xt-prison' | 'rcore_prison' | 'pickle_prisons' | 'DHS-PrisonSim' | 'tk_jail'
script = 'default',
jail_location = vector3(1651.75, 2570.18, 45.56),
release_location = vector3(1848.97, 2586.03, 45.67),
}
-- Tax Settings
Config.TaxSettings = {
enabled = true, -- Enable or disable the tax system
available = { 'items', 'vehicles', 'properties', 'services', 'imports' },
min_tax = 0,
max_tax = 50, -- % Percentage ( This is not automatic, so you need add our exports to other scripts to work )
}
-- License Settings
Config.Licenses = {
{ key = 'driver', label = 'Driving License', item = 'driver_license' },
{ key = 'weapon', label = 'Weapon License', item = 'weapon_license' },
{ key = 'bar', label = 'Bar License', item = 'bar_license' },
{ key = 'mechanic', label = 'Mechanic License', item = 'mechanic_license' },
{ key = 'attorney', label = 'Attorney License', item = 'attorney_license' },
{ key = 'judge', label = 'Judge License', item = 'judge_license' },
}
-- DOCUMENT SYSTEM
-- item = inventory item name given to the player after issuance
-- fields = form fields staff fills in (type: 'text' | 'textarea')
-- template = HTML body; use {{field_key}}, {{issued_by}}, {{issued_date}}
Config.Documents = {
item = 'court_document', -- single shared item; metadata or DB lookup differentiates docs
templates = {
warrant = {
label = 'Arrest / Search Warrant',
color = '#dc2626', -- accent colour on the card
fields = {
{ key = 'target_name', label = 'Target Full Name', type = 'text', placeholder = 'John Doe' },
{ key = 'target_id', label = 'Target Identifier', type = 'text', placeholder = 'citizenid / steam' },
{ key = 'charges', label = 'Charges / Reason', type = 'textarea', placeholder = 'Describe charges...' },
{ key = 'valid_until', label = 'Valid Until', type = 'text', placeholder = 'e.g. 48 hours from issuance' },
},
template = [[
<div class="dp-seal">⚖</div>
<div class="dp-title">OFFICIAL WARRANT</div>
<div class="dp-subtitle">State of San Andreas — Judicial Authority</div>
<hr class="dp-hr">
<p class="dp-body">By the authority vested in the Courts of San Andreas, this warrant is hereby issued against the subject identified below.</p>
<div class="dp-row"><span class="dp-lbl">Subject Name</span><span class="dp-val"><strong>{{target_name}}</strong></span></div>
<div class="dp-row"><span class="dp-lbl">Identifier</span><span class="dp-val dp-mono">{{target_id}}</span></div>
<div class="dp-row col"><span class="dp-lbl">Charges / Reason</span><div class="dp-block">{{charges}}</div></div>
<div class="dp-row"><span class="dp-lbl">Valid Until</span><span class="dp-val">{{valid_until}}</span></div>
<hr class="dp-hr">
<div class="dp-row"><span class="dp-lbl">Issued By</span><span class="dp-val">{{issued_by}}</span></div>
<div class="dp-row"><span class="dp-lbl">Date Issued</span><span class="dp-val">{{issued_date}}</span></div>
<div class="dp-stamp">OFFICIAL</div>
]],
},
summons = {
label = 'Court Summons',
color = '#2563eb',
fields = {
{ key = 'recipient', label = 'Recipient Name', type = 'text', placeholder = 'John Doe' },
{ key = 'm_court_date', label = 'Court Date & Time', type = 'text', placeholder = 'e.g. 15/03/2026 at 14:00' },
{ key = 'case_ref', label = 'Case Reference', type = 'text', placeholder = 'e.g. CASE-0042' },
{ key = 'matter', label = 'Matter / Charges', type = 'textarea', placeholder = 'Briefly describe the matter...' },
},
template = [[
<div class="dp-seal">⚖</div>
<div class="dp-title">COURT SUMMONS</div>
<div class="dp-subtitle">Superior Court of San Andreas</div>
<hr class="dp-hr">
<p class="dp-body">You are hereby <strong>ordered to appear</strong> before the Superior Court of San Andreas at the date and time specified below. Failure to appear may result in a bench warrant for your arrest.</p>
<div class="dp-row"><span class="dp-lbl">Issued To</span><span class="dp-val"><strong>{{recipient}}</strong></span></div>
<div class="dp-row"><span class="dp-lbl">Court Date</span><span class="dp-val"><strong>{{m_court_date}}</strong></span></div>
<div class="dp-row"><span class="dp-lbl">Case Reference</span><span class="dp-val dp-mono">{{case_ref}}</span></div>
<div class="dp-row col"><span class="dp-lbl">Matter</span><div class="dp-block">{{matter}}</div></div>
<hr class="dp-hr">
<div class="dp-row"><span class="dp-lbl">Issued By</span><span class="dp-val">{{issued_by}}</span></div>
<div class="dp-row"><span class="dp-lbl">Date Issued</span><span class="dp-val">{{issued_date}}</span></div>
<div class="dp-stamp">OFFICIAL</div>
]],
},
release_order = {
label = 'Release Order',
color = '#059669',
fields = {
{ key = 'detainee', label = 'Detainee Full Name', type = 'text', placeholder = 'John Doe' },
{ key = 'reason', label = 'Reason for Release', type = 'textarea', placeholder = 'e.g. Bail posted / Charges dropped...' },
{ key = 'conditions', label = 'Release Conditions', type = 'textarea', placeholder = 'e.g. Must not leave state boundaries...' },
},
template = [[
<div class="dp-seal">⚖</div>
<div class="dp-title">RELEASE ORDER</div>
<div class="dp-subtitle">Department of Corrections — San Andreas</div>
<hr class="dp-hr">
<p class="dp-body">By order of the court, the individual named below is <strong>hereby ordered to be released</strong> from custody immediately, subject to any conditions stated herein.</p>
<div class="dp-row"><span class="dp-lbl">Detainee</span><span class="dp-val"><strong>{{detainee}}</strong></span></div>
<div class="dp-row col"><span class="dp-lbl">Reason for Release</span><div class="dp-block">{{reason}}</div></div>
<div class="dp-row col"><span class="dp-lbl">Conditions</span><div class="dp-block">{{conditions}}</div></div>
<hr class="dp-hr">
<div class="dp-row"><span class="dp-lbl">Authorised By</span><span class="dp-val">{{issued_by}}</span></div>
<div class="dp-row"><span class="dp-lbl">Date</span><span class="dp-val">{{issued_date}}</span></div>
<div class="dp-stamp">OFFICIAL</div>
]],
},
business_license = {
label = 'Business License',
color = '#d97706',
fields = {
{ key = 'business_name', label = 'Business Name', type = 'text', placeholder = 'Doe Industries LLC' },
{ key = 'owner', label = 'Owner Name', type = 'text', placeholder = 'John Doe' },
{ key = 'license_type', label = 'License Type', type = 'text', placeholder = 'e.g. General Business / Food & Beverage' },
{ key = 'address', label = 'Business Address', type = 'text', placeholder = 'e.g. 1 Industrial Ave, Los Santos' },
{ key = 'valid_until', label = 'Valid Until', type = 'text', placeholder = 'e.g. 31/12/2026' },
},
template = [[
<div class="dp-seal">⚖</div>
<div class="dp-title">BUSINESS LICENSE</div>
<div class="dp-subtitle">City of Los Santos — Licensing Department</div>
<hr class="dp-hr">
<p class="dp-body">This certifies that the business named below has been duly registered and is licensed to operate within the jurisdiction of San Andreas.</p>
<div class="dp-row"><span class="dp-lbl">Business Name</span><span class="dp-val"><strong>{{business_name}}</strong></span></div>
<div class="dp-row"><span class="dp-lbl">Owner</span><span class="dp-val">{{owner}}</span></div>
<div class="dp-row"><span class="dp-lbl">License Type</span><span class="dp-val">{{license_type}}</span></div>
<div class="dp-row"><span class="dp-lbl">Address</span><span class="dp-val">{{address}}</span></div>
<div class="dp-row"><span class="dp-lbl">Valid Until</span><span class="dp-val"><strong>{{valid_until}}</strong></span></div>
<hr class="dp-hr">
<div class="dp-row"><span class="dp-lbl">Issued By</span><span class="dp-val">{{issued_by}}</span></div>
<div class="dp-row"><span class="dp-lbl">Date Issued</span><span class="dp-val">{{issued_date}}</span></div>
<div class="dp-stamp">OFFICIAL</div>
]],
},
},
}
-- Bulletin Board Settings
Config.BulletinBoard = {
enabled = true, -- Enable or disable the bulletin board feature
max_posts = 20, -- maximum announcements shown
}
-- Billing Settings
Config.Billing = {
script = 'auto', -- 'auto', 'default' (simple MySQL insert), 'vivum-billing', 'rx-billing'
max_amount = 50000, -- maximum single invoice amount (default bridge only)
}
-- Sentence Templates
Config.SentenceTemplates = {
{ label = 'DUI Standard', fine = 2500, jail = 15, licenses = { 'driver' } },
{ label = 'Assault (Minor)', fine = 5000, jail = 30, licenses = {} },
{ label = 'Drug Possession', fine = 3000, jail = 20, licenses = {} },
{ label = 'Armed Robbery', fine = 20000, jail = 90, licenses = {} },
{ label = 'Weapons Charge', fine = 8000, jail = 45, licenses = { 'weapon' } },
{ label = 'Murder (1st Degree)', fine = 50000, jail = 120, licenses = { 'weapon', 'driver' } },
}
-- Case auto archive
Config.AutoArchive = {
enabled = true, -- Auto archive enable?
inactive_days = 14, -- days of inactivity before a case is archived
}
-- Penal Code
-- Each category has a list of articles with: code, name, description, fine ($), jail (minutes)
Config.PenalCode = {
{
category = 'Crimes Against Persons',
articles = {
{ code = '1A', name = 'Murder (1st Degree)', description = 'Intentional killing with premeditation.', fine = 50000, jail = 120 },
{ code = '1B', name = 'Manslaughter', description = 'Unlawful killing without premeditation.', fine = 20000, jail = 60 },
{ code = '1C', name = 'Assault', description = 'Intentional act causing apprehension of harmful contact.', fine = 5000, jail = 30 },
{ code = '1D', name = 'Armed Assault', description = 'Assault committed with a deadly weapon.', fine = 10000, jail = 60 },
{ code = '1E', name = 'Battery', description = 'Intentional harmful or offensive touching of another.', fine = 3000, jail = 15 },
{ code = '1F', name = 'Kidnapping', description = 'Unlawful abduction or restraint of a person.', fine = 25000, jail = 90 },
},
},
{
category = 'Crimes Against Property',
articles = {
{ code = '2A', name = 'Grand Theft Auto', description = 'Theft of a vehicle valued over $950.', fine = 8000, jail = 30 },
{ code = '2B', name = 'Burglary', description = 'Unlawful entry of a structure with intent to commit a crime.', fine = 10000, jail = 45 },
{ code = '2C', name = 'Robbery', description = 'Taking property from a person by force or intimidation.', fine = 15000, jail = 60 },
{ code = '2D', name = 'Armed Robbery', description = 'Robbery committed with a deadly weapon.', fine = 25000, jail = 90 },
{ code = '2E', name = 'Vandalism', description = 'Willful destruction or defacement of property.', fine = 2000, jail = 10 },
{ code = '2F', name = 'Arson', description = 'Intentional burning of property.', fine = 20000, jail = 60 },
},
},
{
category = 'Drug Offences',
articles = {
{ code = '3A', name = 'Drug Possession', description = 'Possession of a controlled substance.', fine = 3000, jail = 20 },
{ code = '3B', name = 'Drug Trafficking', description = 'Distribution or intent to distribute controlled substances.', fine = 20000, jail = 90 },
{ code = '3C', name = 'Drug Manufacturing', description = 'Manufacturing controlled substances.', fine = 30000, jail = 120 },
},
},
{
category = 'Weapons Offences',
articles = {
{ code = '4A', name = 'Illegal Weapons Possession', description = 'Possession of an unlicensed firearm.', fine = 8000, jail = 45 },
{ code = '4B', name = 'Weapons Trafficking', description = 'Illegal sale or distribution of firearms.', fine = 25000, jail = 90 },
{ code = '4C', name = 'Brandishing a Weapon', description = 'Drawing a firearm in a threatening manner.', fine = 4000, jail = 20 },
},
},
{
category = 'Traffic Offences',
articles = {
{ code = '5A', name = 'Driving Under the Influence', description = 'Operating a vehicle while impaired.', fine = 2500, jail = 15 },
{ code = '5B', name = 'Reckless Driving', description = 'Operating a vehicle with willful disregard for safety.', fine = 1500, jail = 5 },
{ code = '5C', name = 'Evading Law Enforcement', description = 'Fleeing from police in a vehicle or on foot.', fine = 5000, jail = 30 },
{ code = '5D', name = 'Hit and Run', description = 'Leaving the scene of an accident without reporting.', fine = 3000, jail = 15 },
{ code = '5E', name = 'Vehicle Theft', description = 'Unauthorized use of a motor vehicle.', fine = 5000, jail = 20 },
},
},
{
category = 'Public Order Offences',
articles = {
{ code = '6A', name = 'Trespassing', description = 'Unauthorized entry onto private property.', fine = 1000, jail = 5 },
{ code = '6B', name = 'Disorderly Conduct', description = 'Behavior that disturbs the public peace.', fine = 500, jail = 0 },
{ code = '6C', name = 'Resisting Arrest', description = 'Opposing or obstructing a lawful arrest.', fine = 3000, jail = 15 },
{ code = '6D', name = 'Public Intoxication', description = 'Being visibly intoxicated in a public place.', fine = 750, jail = 0 },
{ code = '6E', name = 'Obstruction of Justice', description = 'Intentionally interfering with the administration of justice.', fine = 10000, jail = 45 },
},
},
{
category = 'Financial Crimes',
articles = {
{ code = '7A', name = 'Fraud', description = 'Intentional deception for personal or financial gain.', fine = 15000, jail = 30 },
{ code = '7B', name = 'Money Laundering', description = 'Concealing the origins of illegally obtained money.', fine = 30000, jail = 60 },
{ code = '7C', name = 'Extortion', description = 'Obtaining something through coercion or threats.', fine = 20000, jail = 60 },
{ code = '7D', name = 'Bribery', description = 'Offering or receiving something of value to influence conduct.', fine = 10000, jail = 30 },
},
},
}
-- Debug
Config.Debug = false
-- Locale Helper Function
function _L(key, ...)
local lang = Config.Locale or 'en'
local str = (Locale[lang] and Locale[lang][key]) or (Locale['en'] and Locale['en'][key]) or key
if select('#', ...) > 0 then
return string.format(str, ...)
end
return str
end
},
},
},
[3] = {
name = "Judge Room",
ped_options = { -- Ped options
enable = false,
ped_model = "s_m_y_hwaycop_01",
ped_coords = vec4(-1647.56, 186.23, 61.76, 156.54),
},
target_options = { -- Target options
coords = vector3(-1646.17, 170.12, 61.75),
range = 2.0,
height = 1.0,
debug = false,
options = {
{
icon = "fas fa-gavel",
label = "Judge's Clerk",
onSelect = function ()
JudgeRoomMenu()
end,
groups = { "judge" },
},
},
},
}
}
-- Exames to get bar license or mechanic license
Config.MinQuestion = 2 -- Minimum correct answers to pass the exam
Config.Exames = {
["Bar"] = {
item = "bar_license", -- Item given upon passing the exam
questions = {
{
question = "What is the legal drinking age in most countries?",
options = {
{ answer = "18 years old", correct = true },
{ answer = "16 years old", correct = false },
{ answer = "21 years old", correct = false },
{ answer = "25 years old", correct = false },
}
},
{
question = "What should you do if a customer appears intoxicated?",
options = {
{ answer = "Refuse to serve them more alcohol", correct = true },
{ answer = "Serve them water and continue serving alcohol", correct = false },
{ answer = "Ignore their condition", correct = false },
{ answer = "Encourage them to drink more slowly", correct = false },
}
},
{
question = "What is 'binge drinking'?",
options = {
{ answer = "Consuming a large amount of alcohol in a short period", correct = true },
{ answer = "Drinking alcohol with food", correct = false },
{ answer = "Drinking alcohol socially", correct = false },
{ answer = "Drinking alcohol at home", correct = false },
}
}
}
},
["Mechanic"] = {
item = "mechanic_license", -- Item given upon passing the exam
questions = {
{
question = "What is the difference between civil and criminal law?",
options = {
{ answer = "Civil law deals with disputes between individuals, while criminal law deals with offenses against the state", correct = true },
{ answer = "Civil law is more serious than criminal law", correct = false },
{ answer = "Criminal law only applies to government officials", correct = false },
{ answer = "There is no difference", correct = false },
}
},
{
question = "What is 'precedent' in legal terms?",
options = {
{ answer = "A previous court decision that influences future cases", correct = true },
{ answer = "A type of legal document", correct = false },
{ answer = "A courtroom procedure", correct = false },
{ answer = "A form of punishment", correct = false },
}
},
{
question = "What does 'burden of proof' mean?",
options = {
{ answer = "The obligation to prove one's assertion in a legal case", correct = true },
{ answer = "A type of legal document", correct = false },
{ answer = "A courtroom procedure", correct = false },
{ answer = "A form of punishment", correct = false },
}
}
}
},
["Attorney"] = {
item = "attorney_license", -- Item given upon passing the exam
questions = {
{
question = "What is the primary role of an attorney?",
options = {
{ answer = "To represent clients in legal matters", correct = true },
{ answer = "To preside over court proceedings", correct = false },
{ answer = "To enforce laws", correct = false },
{ answer = "To create new laws", correct = false },
}
},
{
question = "What does 'client-attorney privilege' refer to?",
options = {
{ answer = "Confidentiality between a lawyer and their client", correct = true },
{ answer = "A type of legal document", correct = false },
{ answer = "A courtroom procedure", correct = false },
{ answer = "A form of punishment", correct = false },
}
},
{
question = "What is a 'plea bargain'?",
options = {
{ answer = "An agreement in a criminal case where the defendant pleads guilty for a lesser charge", correct = true },
{ answer = "A type of legal document", correct = false },
{ answer = "A courtroom procedure", correct = false },
{ answer = "A form of punishment", correct = false },
}
}
}
},
["Judge"] = {
item = "judge_license",
questions = {
{
question = "What is the main responsibility of a judge?",
options = {
{ answer = "To preside over court proceedings and make rulings", correct = true },
{ answer = "To represent clients in legal matters", correct = false },
{ answer = "To enforce laws", correct = false },
{ answer = "To create new laws", correct = false },
}
},
{
question = "What does 'due process' refer to?",
options = {
{ answer = "Fair treatment through the normal judicial system", correct = true },
{ answer = "A type of legal document", correct = false },
{ answer = "A courtroom procedure", correct = false },
{ answer = "A form of punishment", correct = false },
}
},
{
question = "What is 'judicial review'?",
options = {
{ answer = "The power of courts to assess the constitutionality of laws", correct = true },
{ answer = "A type of legal document", correct = false },
{ answer = "A courtroom procedure", correct = false },
{ answer = "A form of punishment", correct = false },
}
}
}
}
}Last updated