test: add benchmark script (#638)

This commit is contained in:
ryannikolaidis 2023-06-05 09:14:43 -07:00 committed by GitHub
parent 18aefc854a
commit 7d157c1ede
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
44 changed files with 137399 additions and 22 deletions

View File

@ -1,4 +1,4 @@
## 0.7.2-dev2
## 0.7.2-dev3
### Enhancements
@ -6,6 +6,7 @@
### Fixes
* Adds benchmark test with test docs in example-docs
* Re-enable test_upload_label_studio_data_with_sdk
* File detection now detects code files as plain text
* Adds `tabulate` explicitly to dependencies

BIN
example-docs/DA-1p.pdf Normal file

Binary file not shown.

BIN
example-docs/DA-619p.pdf Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,62 @@
CHAPTER I
"Well, Prince, so Genoa and Lucca are now just family estates of the
Buonapartes. But I warn you, if you don't tell me that this means war,
if you still try to defend the infamies and horrors perpetrated by that
Antichrist--I really believe he is Antichrist--I will have nothing more
to do with you and you are no longer my friend, no longer my 'faithful
slave,' as you call yourself! But how do you do? I see I have frightened
you--sit down and tell me all the news."
It was in July, 1805, and the speaker was the well-known Anna Pavlovna
Scherer, maid of honor and favorite of the Empress Marya Fedorovna. With
these words she greeted Prince Vasili Kuragin, a man of high rank and
importance, who was the first to arrive at her reception. Anna Pavlovna
had had a cough for some days. She was, as she said, suffering from la
grippe; grippe being then a new word in St. Petersburg, used only by the
elite.
All her invitations without exception, written in French, and delivered
by a scarlet-liveried footman that morning, ran as follows:
"If you have nothing better to do, Count (or Prince), and if the
prospect of spending an evening with a poor invalid is not too terrible,
I shall be very charmed to see you tonight between 7 and 10--Annette
Scherer."
"Heavens! what a virulent attack!" replied the prince, not in the least
disconcerted by this reception. He had just entered, wearing an
embroidered court uniform, knee breeches, and shoes, and had stars on
his breast and a serene expression on his flat face. He spoke in that
refined French in which our grandfathers not only spoke but thought, and
with the gentle, patronizing intonation natural to a man of importance
who had grown old in society and at court. He went up to Anna Pavlovna,
kissed her hand, presenting to her his bald, scented, and shining head,
and complacently seated himself on the sofa.
"First of all, dear friend, tell me how you are. Set your friend's mind
at rest," said he without altering his tone, beneath the politeness and
affected sympathy of which indifference and even irony could be
discerned.
"Can one be well while suffering morally? Can one be calm in times like
these if one has any feeling?" said Anna Pavlovna. "You are staying the
whole evening, I hope?"
"And the fete at the English ambassador's? Today is Wednesday. I must
put in an appearance there," said the prince. "My daughter is coming for
me to take me there."
"I thought today's fete had been canceled. I confess all these
festivities and fireworks are becoming wearisome."
"If they had known that you wished it, the entertainment would have been
put off," said the prince, who, like a wound-up clock, by force of habit
said things he did not even wish to be believed.
"Don't tease! Well, and what has been decided about Novosiltsev's
dispatch? You know everything."
"What can one say about it?" replied the prince in a cold, listless
tone. "What has been decided? They have decided that Buonaparte has
burnt his boats, and I believe that we are ready to burn ours."

View File

@ -0,0 +1,301 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- DFIN ActiveDisclosure(SM) Inline XBRL Document - http://www.dfinsolutions.com/ -->
<!-- Creation Date : 2022-03-30T02:55:49.7489669+00:00 -->
<!-- Version : 5.0.1.728 -->
<!-- Package ID : 1340496225d94f7dafcee5e089e68661 -->
<!-- Copyright (c) 2022 Donnelley Financial Solutions, Inc. All Rights Reserved. -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" />
<title>
</title>
</head>
<!-- NG Converter v5.0.2.71 -->
<body>
<table border="0" cellspacing="0" cellpadding="0" style="border-collapse:collapse; width:100%;">
<tr>
<td valign="top" style="width:4.54%;white-space:nowrap">
<p style="margin-bottom:0pt;margin-top:4pt;font-size:11pt;font-family:Segoe UI Symbol;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><span style="font-size:11pt;font-family:Segoe UI Symbol;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><ix:nonNumeric id="F_000031" name="dei:DocumentTransitionReport" contextRef="C_0000013156_20210101_20211231" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span></p></td>
<td valign="top">
<p style="margin-bottom:0pt;margin-top:4pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;font-family:Times New Roman;font-size:11pt;"><span style="font-weight:bold;"></span><span style="font-weight:bold;font-size:10pt;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p></td></tr></table></div>
<p style="text-align:center;margin-bottom:0pt;margin-top:4pt;text-indent:0%;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">For the transition period from&#160;&#160;&#160;&#160;&#160;&#160;&#160;to</p>
<p style="text-align:center;margin-bottom:0pt;margin-top:4pt;text-indent:0%;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Commission file number<span style="font-weight:bold;">:&#160;<ix:nonNumeric id="F_000019" name="dei:EntityFileNumber" contextRef="C_0000013156_20210101_20211231">000-30653</ix:nonNumeric></span></p>
<p style="text-align:center;border-bottom:Solid 0.75pt;padding-bottom:1pt;margin-bottom:0pt;margin-top:0pt;margin-left:40%;margin-right:40%;text-indent:0%;font-family:Times New Roman;font-weight:bold;;font-size:4pt;">&#160;</p>
<p style="text-align:center;margin-bottom:0pt;margin-top:4pt;text-indent:0%;font-size:12pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><img src="givxi3ov5bca000001.jpg" title="" alt="" style="width:133px;height:123px;" /></p>
<p style="text-align:center;margin-bottom:0pt;margin-top:4pt;text-indent:0%;font-weight:bold;font-size:18pt;font-family:Times New Roman;font-style:normal;text-transform:none;font-variant: normal;"><ix:nonNumeric id="F_000000" name="dei:EntityRegistrantName" contextRef="C_0000013156_20210101_20211231">Galaxy Gaming, Inc.</ix:nonNumeric></p>
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;text-indent:0%;font-weight:bold;font-size:9pt;font-family:Times New Roman;font-style:normal;text-transform:none;font-variant: normal;">(Exact name of small business issuer as specified in its charter)</p>
<p style="text-align:center;border-bottom:Solid 1pt;padding-bottom:1pt;margin-bottom:0pt;margin-top:0pt;margin-left:40%;margin-right:40%;text-indent:0%;font-size:4pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p>
<p style="margin-bottom:0pt;margin-top:0pt;text-indent:0%;font-size:4pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p>
<div>
<table border="0" cellspacing="0" cellpadding="0" style="margin:auto;border-collapse:collapse; width:100%;">
<tr>
<td valign="bottom" style="width:50%;">
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-weight:bold;font-family:Times New Roman;font-size:10pt;font-style:normal;text-transform:none;font-variant: normal;"><ix:nonNumeric id="F_000024" name="dei:EntityIncorporationStateCountryCode" contextRef="C_0000013156_20210101_20211231" format="ixt-sec:stateprovnameen">Nevada</ix:nonNumeric></p></td>
<td valign="bottom" style="width:1%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="bottom" style="width:49%;">
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-weight:bold;font-family:Times New Roman;font-size:10pt;font-style:normal;text-transform:none;font-variant: normal;"><ix:nonNumeric id="F_000020" name="dei:EntityTaxIdentificationNumber" contextRef="C_0000013156_20210101_20211231">20-8143439</ix:nonNumeric></p></td>
</tr>
<tr>
<td valign="top" style="width:50%;">
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">(State or other jurisdiction of incorporation or organization)</p></td>
<td valign="bottom" style="width:1%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="top" style="width:49%;">
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">(IRS Employer Identification No.)</p></td>
</tr>
<tr>
<td colspan="3" valign="bottom" style="width:100%;">
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-weight:bold;;font-size:4pt;">&#160;</p>
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><ix:nonNumeric id="F_000021" name="dei:EntityAddressAddressLine1" contextRef="C_0000013156_20210101_20211231">6480<span style="font-weight:bold;"> Cameron Street Ste. 305</span></ix:nonNumeric> &#8211; <ix:nonNumeric id="F_000022" name="dei:EntityAddressCityOrTown" contextRef="C_0000013156_20210101_20211231">Las Vegas</ix:nonNumeric>, <ix:nonNumeric id="F_000023" name="dei:EntityAddressStateOrProvince" contextRef="C_0000013156_20210101_20211231">NV</ix:nonNumeric> <ix:nonNumeric id="F_000025" name="dei:EntityAddressPostalZipCode" contextRef="C_0000013156_20210101_20211231">89118</ix:nonNumeric></p></td>
</tr>
<tr>
<td colspan="3" valign="top" style="width:100%;">
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">(Address of principal executive offices)</p>
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:4pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
</tr>
<tr>
<td colspan="3" valign="top" style="width:100%;">
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-weight:bold;font-family:Times New Roman;font-size:10pt;font-style:normal;text-transform:none;font-variant: normal;">(<ix:nonNumeric id="F_000026" name="dei:CityAreaCode" contextRef="C_0000013156_20210101_20211231">702</ix:nonNumeric>) <ix:nonNumeric id="F_000027" name="dei:LocalPhoneNumber" contextRef="C_0000013156_20210101_20211231">939-3254</ix:nonNumeric></p></td>
</tr>
<tr>
<td colspan="3" valign="top" style="width:100%;">
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">(Registrant&#8217;s telephone number)</p></td>
</tr>
</table></div>
<p style="text-align:center;border-bottom:Solid 1pt;padding-bottom:1pt;margin-bottom:0pt;margin-top:0pt;margin-left:40%;margin-right:40%;text-indent:0%;font-size:4pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p>
<p style="margin-bottom:0pt;margin-top:4pt;text-indent:0%;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Securities registered under Section&#160;12(b) of the Act:</p>
<div>
<table border="0" cellspacing="0" cellpadding="0" style="margin:auto;border-collapse:collapse; width:100%;">
<tr>
<td valign="top" style="width:35%;">
<p style="text-align:center;margin-top:4pt;margin-bottom:0pt;margin-left:0pt;;text-indent:0pt;;font-weight:bold;font-size:8pt;font-family:Times New Roman;font-style:normal;text-transform:none;font-variant: normal;">Title of each class</p></td>
<td valign="top" style="width:2%;">
<p style="text-align:center;margin-top:4pt;margin-bottom:0pt;margin-left:0pt;;text-indent:0pt;;font-weight:bold;;font-size:8pt;">&#160;</p></td>
<td valign="top" style="width:26%;">
<p style="text-align:center;margin-top:4pt;margin-bottom:0pt;margin-left:0pt;;text-indent:0pt;;font-weight:bold;font-size:8pt;font-family:Times New Roman;font-style:normal;text-transform:none;font-variant: normal;">Trading symbol</p></td>
<td valign="top" style="width:2%;">
<p style="text-align:center;margin-top:4pt;margin-bottom:0pt;margin-left:0pt;;text-indent:0pt;;font-weight:bold;;font-size:8pt;">&#160;</p></td>
<td valign="top" style="width:35%;">
<p style="text-align:center;margin-top:4pt;margin-bottom:0pt;margin-left:0pt;;text-indent:0pt;;font-weight:bold;font-size:8pt;font-family:Times New Roman;font-style:normal;text-transform:none;font-variant: normal;">Name of exchange on which registered</p></td>
</tr>
<tr>
<td valign="top" style="width:35%;">
<p style="text-align:center;margin-top:4pt;margin-bottom:0pt;margin-left:0pt;;text-indent:0pt;;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><ix:nonNumeric id="F_000028" name="dei:Security12bTitle" contextRef="C_0000013156_20210101_20211231">Common stock</ix:nonNumeric></p></td>
<td valign="top" style="width:2%;">
<p style="text-align:center;margin-top:4pt;margin-bottom:0pt;margin-left:0pt;;text-indent:0pt;;font-size:8.5pt;">&#160;</p></td>
<td valign="top" style="width:26%;">
<p style="text-align:center;margin-top:4pt;margin-bottom:0pt;margin-left:0pt;;text-indent:0pt;;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><ix:nonNumeric id="F_000018" name="dei:TradingSymbol" contextRef="C_0000013156_20210101_20211231">GLXZ</ix:nonNumeric></p></td>
<td valign="top" style="width:2%;">
<p style="text-align:center;margin-top:4pt;margin-bottom:0pt;margin-left:0pt;;text-indent:0pt;;font-size:8.5pt;">&#160;</p></td>
<td valign="top" style="width:35%;">
<p style="text-align:center;margin-top:4pt;margin-bottom:0pt;margin-left:0pt;;text-indent:0pt;;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">OTCQB marketplace</p></td>
</tr>
</table></div>
<p style="text-align:justify;margin-bottom:0pt;margin-top:0pt;text-indent:0%;font-size:8.5pt;">&#160;</p>
<p style="text-align:justify;margin-bottom:0pt;margin-top:0pt;text-indent:0%;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.&#160;&#160;&#160;&#160;Yes&#160;&#160;<span style="font-family:Segoe UI Symbol;">&#9744;</span>&#160;&#160;&#160;&#160;<ix:nonNumeric id="F_000006" name="dei:EntityWellKnownSeasonedIssuer" contextRef="C_0000013156_20210101_20211231">No</ix:nonNumeric>&#160;&#160;<span style="font-family:Segoe UI Symbol;">&#9745;</span></p>
<p style="text-align:justify;margin-bottom:0pt;margin-top:3pt;text-indent:0%;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Indicate by check mark if the registrant is not required to file reports pursuant to Section&#160;13 or Section&#160;15(d) of the Act. &#160;&#160;&#160;&#160;Yes&#160;&#160;<span style="font-family:Segoe UI Symbol;">&#9744;</span>&#160;&#160;&#160;&#160;<ix:nonNumeric id="F_000007" name="dei:EntityVoluntaryFilers" contextRef="C_0000013156_20210101_20211231">No</ix:nonNumeric>&#160;&#160;<span style="font-family:Segoe UI Symbol;">&#9745;</span></p>
<p style="text-align:justify;margin-bottom:0pt;margin-top:3pt;text-indent:0%;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Indicate by checkmark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90 days.&#160;&#160;&#160;&#160;<ix:nonNumeric id="F_000008" name="dei:EntityCurrentReportingStatus" contextRef="C_0000013156_20210101_20211231">Yes</ix:nonNumeric>&#160;&#160;<span style="font-family:Segoe UI Symbol;">&#9745;</span>&#160;&#160;&#160;&#160;No&#160;&#160;<span style="font-family:Segoe UI Symbol;">&#9744;</span></p>
<p style="text-align:justify;margin-top:6pt;margin-bottom:0pt;text-indent:0%;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Indicate by check mark whether the issuer has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). &#160;&#160;&#160;&#160;<ix:nonNumeric id="F_000029" name="dei:EntityInteractiveDataCurrent" contextRef="C_0000013156_20210101_20211231">Yes</ix:nonNumeric>&#160;&#160;<span style="font-family:Segoe UI Symbol;">&#9745;</span>&#160;&#160;&#160;&#160;No&#160;&#160;<span style="font-family:Segoe UI Symbol;">&#9744;</span></p>
<p style="text-align:justify;margin-bottom:0pt;margin-top:3pt;text-indent:0%;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</p>
<p style="text-align:justify;margin-bottom:0pt;margin-top:3pt;text-indent:0%;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Large accelerated filer <span style="font-family:Segoe UI Symbol;">&#9744;</span> Accelerated filer <span style="font-family:Segoe UI Symbol;">&#9744;</span> <ix:nonNumeric id="F_000009" name="dei:EntityFilerCategory" contextRef="C_0000013156_20210101_20211231" format="ixt-sec:entityfilercategoryen">Non-accelerated filer</ix:nonNumeric> <span style="font-family:Segoe UI Symbol;">&#9744;</span> Smaller reporting company <span style="font-family:Segoe UI Symbol;"><ix:nonNumeric id="F_000012" name="dei:EntitySmallBusiness" contextRef="C_0000013156_20210101_20211231" format="ixt-sec:boolballotbox">&#9745;</ix:nonNumeric></span><span style="font-family:'Times New Roman';"><span style="font-size:8pt;font-family:'Times New Roman'"> </span></span>Emerging growth Company <span style="font-family:Segoe UI Symbol;"><ix:nonNumeric id="F_000011" name="dei:EntityEmergingGrowthCompany" contextRef="C_0000013156_20210101_20211231" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span></p>
<p style="text-align:justify;margin-top:6pt;margin-bottom:0pt;text-indent:0%;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standard provided pursuant to Section 13(a) of the Exchange Act.&#160;&#160;<span style="font-family:Segoe UI Symbol;">&#9744;</span></p>
<p style="text-align:justify;margin-top:6pt;margin-bottom:0pt;text-indent:0%;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.&#160;&#160;<span style="font-family:Segoe UI Symbol;"><ix:nonNumeric id="F_000013" name="dei:IcfrAuditorAttestationFlag" contextRef="C_0000013156_20210101_20211231" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span></p>
<p style="text-align:justify;margin-top:6pt;margin-bottom:0pt;text-indent:0%;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).&#160;&#160;&#160;&#160;Yes&#160;&#160;<span style="font-family:Segoe UI Symbol;"><ix:nonNumeric id="F_000010" name="dei:EntityShellCompany" contextRef="C_0000013156_20210101_20211231" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span>&#160;&#160;&#160;&#160;No&#160;&#160;<span style="font-family:Segoe UI Symbol;">&#9745;</span></p>
<p style="text-align:justify;margin-top:6pt;margin-bottom:0pt;text-indent:0%;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">State the aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant&#8217;s second fiscal quarter. $<ix:nonFraction unitRef="U_iso4217USD" id="F_000014" name="dei:EntityPublicFloat" contextRef="C_0000013156_20210630" decimals="0" format="ixt:numdotdecimal">70,923,698</ix:nonFraction>.</p>
<p style="text-align:justify;margin-top:6pt;margin-bottom:0pt;text-indent:0%;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Indicate the number of shares outstanding of each of the registrant&#8217;s classes of common stock, as of the latest practicable date: <ix:nonFraction unitRef="U_xbrlishares" id="F_000015" name="dei:EntityCommonStockSharesOutstanding" contextRef="C_0000013156_20220328" decimals="INF" format="ixt:numdotdecimal">23,718,968</ix:nonFraction> common shares as of March 28, 2022.<span style="font-size:8.5pt;">&#160;</span></p>
<p style="text-align:justify;border-bottom:Double 2.25pt;padding-bottom:1pt;margin-bottom:0pt;margin-top:0pt;text-indent:0%;font-size:2pt;">&#160;</p>
<p style="text-align:justify;margin-top:6pt;margin-bottom:0pt;text-indent:0%;font-size:8.5pt;">&#160;</p>
<p style="margin-bottom:0pt;margin-top:0pt;text-indent:0%;font-family:Times New Roman;font-weight:bold;;font-size:6pt;">&#160;</p>
<hr style="page-break-after:always" />
<p style="margin-bottom:0pt;margin-top:0pt;text-indent:0%;font-family:Times New Roman;font-size:10pt;">&#160;</p>
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;text-indent:0%;font-weight:bold;font-size:10pt;font-family:Times New Roman Bold;font-style:normal;text-transform:none;font-variant: normal;">GALAXY GAMING, INC.</p>
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;text-indent:0%;font-weight:bold;font-size:10pt;font-family:Times New Roman Bold;font-style:normal;text-transform:none;font-variant: normal;">ANNU<span style="font-family:Times New Roman;">AL REPORT ON FORM 10-K FOR THE YEAR ENDED DECEMBER 31, 2021</span></p>
<p style="text-align:center;margin-bottom:0pt;margin-top:10pt;text-indent:0%;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:normal;text-transform:none;font-variant: normal;">TABLE OF CONTENTS&#160;</p>
<div>
<table border="0" cellspacing="0" cellpadding="0" style="margin:auto;border-collapse:collapse; width:100%;">
<tr>
<td valign="bottom" style="width:9.08%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="bottom" style="width:0.6%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="bottom" style="width:86.14%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;">&#160;</p></td>
<td valign="bottom" style="width:1.06%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:8pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;&#160;</p></td>
<td valign="bottom" style="padding-left:0.7pt;padding-Right:0.7pt;padding-Top:0pt;padding-Bottom:0pt;width:3.12%;">
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:8pt;">&#160;</p></td>
</tr>
<tr>
<td colspan="5" valign="bottom" style="width:100%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;">&#160;</p>
<p style="text-align:center;margin-bottom:1pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:normal;text-transform:none;font-variant: normal;">PART I</p></td>
</tr>
<tr>
<td valign="top" style="width:9.08%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:6pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p>
<p style="margin-bottom:1pt;margin-top:0pt;margin-left:12pt;;text-indent:-12pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Item 1.</p></td>
<td valign="bottom" style="width:0.6%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="top" style="width:86.14%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:6pt;">&#160;</p>
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12.25pt;;text-indent:-12.25pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><a href="#ITEM_1"><span style="text-decoration:underline;">Business</span></a><span style="font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"></span></p></td>
<td valign="bottom" style="width:1.06%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;&#160;</p></td>
<td valign="bottom" style="width:3.12%;">
<p style="text-align:right;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">4</p></td>
</tr>
<tr>
<td valign="top" style="width:9.08%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12pt;;text-indent:-12pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Item 1A.</p></td>
<td valign="bottom" style="width:0.6%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="top" style="width:86.14%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12.25pt;;text-indent:-12.25pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><a href="#ITEM_1A"><span style="text-decoration:underline;">Risk Factors</span></a><span style="font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"></span></p></td>
<td valign="bottom" style="width:1.06%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;&#160;</p></td>
<td valign="bottom" style="width:3.12%;">
<p style="text-align:right;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">9</p></td>
</tr>
<tr>
<td valign="top" style="width:9.08%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12pt;;text-indent:-12pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Item 1B.</p></td>
<td valign="bottom" style="width:0.6%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="top" style="width:86.14%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12.25pt;;text-indent:-12.25pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><a href="#ITEM_1B"><span style="text-decoration:underline;">Unresolved Staff Comments</span></a><span style="font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"></span></p></td>
<td valign="bottom" style="width:1.06%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;&#160;</p></td>
<td valign="bottom" style="width:3.12%;">
<p style="text-align:right;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">9</p></td>
</tr>
<tr>
<td valign="top" style="width:9.08%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12pt;;text-indent:-12pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Item 2.</p></td>
<td valign="bottom" style="width:0.6%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="top" style="width:86.14%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12.25pt;;text-indent:-12.25pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><a href="#ITEM_2"><span style="text-decoration:underline;">Properties</span></a><span style="font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"></span></p></td>
<td valign="bottom" style="width:1.06%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;&#160;</p></td>
<td valign="bottom" style="width:3.12%;">
<p style="text-align:right;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">9</p></td>
</tr>
<tr>
<td valign="top" style="width:9.08%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12pt;;text-indent:-12pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Item 3.</p></td>
<td valign="bottom" style="width:0.6%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="top" style="width:86.14%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12.25pt;;text-indent:-12.25pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><a href="#ITEM_3"><span style="text-decoration:underline;">Legal Proceedings</span></a><span style="font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"></span></p></td>
<td valign="bottom" style="width:1.06%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;&#160;</p></td>
<td valign="bottom" style="width:3.12%;">
<p style="text-align:right;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">9</p></td>
</tr>
<tr>
<td valign="top" style="width:9.08%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12pt;;text-indent:-12pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Item 4.</p></td>
<td valign="bottom" style="width:0.6%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="top" style="width:86.14%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12.25pt;;text-indent:-12.25pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><a href="#ITEM_4"><span style="text-decoration:underline;">Mine Safety Disclosures</span></a><span style="font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"></span></p></td>
<td valign="bottom" style="width:1.06%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;&#160;</p></td>
<td valign="bottom" style="width:3.12%;">
<p style="text-align:right;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">9</p></td>
</tr>
<tr>
<td colspan="5" valign="top" style="width:100%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:6pt;">&#160;</p>
<p style="text-align:center;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:normal;text-transform:none;font-variant: normal;">PART II</p></td>
</tr>
<tr>
<td valign="top" style="width:9.08%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:6pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p>
<p style="margin-bottom:1pt;margin-top:0pt;margin-left:12pt;;text-indent:-12pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Item 5.</p></td>
<td valign="bottom" style="width:0.6%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="top" style="width:86.14%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:6pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p>
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12.25pt;;text-indent:-12.25pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><a href="#ITEM_5"><span style="text-decoration:underline;">Market for Registrant&#8217;s Common Equity and Related Stockholder Matters</span></a><span style="font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"></span></p></td>
<td valign="bottom" style="width:1.06%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;&#160;</p></td>
<td valign="bottom" style="width:3.12%;">
<p style="text-align:right;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">10</p></td>
</tr>
<tr>
<td valign="top" style="width:9.08%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12pt;;text-indent:-12pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Item 7.</p></td>
<td valign="bottom" style="width:0.6%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="top" style="width:86.14%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12.25pt;;text-indent:-12.25pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><a href="#ITEM_7_MANAGEMENTS_DISCUSSION_ANALYSIS_F"><span style="text-decoration:underline;">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></a><span style="font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"></span></p></td>
<td valign="bottom" style="width:1.06%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;&#160;</p></td>
<td valign="bottom" style="width:3.12%;">
<p style="text-align:right;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">12</p></td>
</tr>
<tr>
<td valign="top" style="width:9.08%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12pt;;text-indent:-12pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Item 7A.</p></td>
<td valign="bottom" style="width:0.6%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="top" style="width:86.14%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12.25pt;;text-indent:-12.25pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><a href="#ITEM_7A"><span style="text-decoration:underline;">Quantitative and Qualitative Disclosures about Market Risk</span></a><span style="font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"></span></p></td>
<td valign="bottom" style="width:1.06%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;&#160;</p></td>
<td valign="bottom" style="width:3.12%;">
<p style="text-align:right;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">14</p></td>
</tr>
<tr>
<td valign="top" style="width:9.08%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12pt;;text-indent:-12pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Item 8.</p></td>
<td valign="bottom" style="width:0.6%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="top" style="width:86.14%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12.25pt;;text-indent:-12.25pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><a href="#ITEM_8"><span style="text-decoration:underline;">Financial Statements and Supplementary Financial Information</span></a><span style="font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"></span></p></td>
<td valign="bottom" style="width:1.06%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;&#160;</p></td>
<td valign="bottom" style="width:3.12%;">
<p style="text-align:right;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">15</p></td>
</tr>
<tr>
<td valign="top" style="width:9.08%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12pt;;text-indent:-12pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Item 9.</p></td>
<td valign="bottom" style="width:0.6%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="top" style="width:86.14%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12.25pt;;text-indent:-12.25pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><a href="#ITEM_9_CHANGES_IN_DISAGREEMENTS_WITH_ACC"><span style="text-decoration:underline;">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</span></a><span style="font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"></span></p></td>
<td valign="bottom" style="width:1.06%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;&#160;</p></td>
<td valign="bottom" style="width:3.12%;">
<p style="text-align:right;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">35</p></td>
</tr>
<tr>
<td valign="top" style="width:9.08%;white-space:nowrap;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12pt;;text-indent:-12pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Item&#160;9A.</p></td>
<td valign="bottom" style="width:0.6%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="top" style="width:86.14%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12.25pt;;text-indent:-12.25pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><a href="#ITEM_9A"><span style="text-decoration:underline;">Controls and Procedures</span></a><span style="font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"></span></p></td>
<td valign="bottom" style="width:1.06%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;&#160;</p></td>
<td valign="bottom" style="width:3.12%;">
<p style="text-align:right;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">35</p></td>
</tr>
<tr>
<td valign="top" style="width:9.08%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12pt;;text-indent:-12pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">Item 9B.</p></td>
<td valign="bottom" style="width:0.6%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;</p></td>
<td valign="top" style="width:86.14%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:12.25pt;;text-indent:-12.25pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"><a href="#ITEM_9B_OR_INFORMATION"><span style="text-decoration:underline;">Other Information</span></a><span style="font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;"></span></p></td>
<td valign="bottom" style="width:1.06%;">
<p style="margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-size:10pt;font-family:Times New Roman;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">&#160;&#160;</p></td>
<td valign="bottom" style="width:3.12%;">
<p style="text-align:right;margin-bottom:0pt;margin-top:0pt;margin-left:0pt;;text-indent:0pt;;font-family:Times New Roman;font-size:10pt;font-weight:normal;font-style:normal;text-transform:none;font-variant: normal;">35</p></td>
</tr>
<tr>
</table></div>
</html>

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 MiB

Binary file not shown.

Binary file not shown.

View File

@ -1,3 +1,2 @@
docs
benchmark_results
profile_results

View File

@ -10,8 +10,6 @@ Benchmarking requires no additional dependencies and should work without any ini
Profiling has a few dependencies which can be installed with:
`pip install -r scripts/performance/requirements.txt`
Before running a test either populate the `docs` directory with test documents of interest or set environment variable SYNC_S3_DOCS=true
## Run
### Benchmark
Export / assign desired environment variable settings:
@ -19,14 +17,12 @@ Export / assign desired environment variable settings:
- NUM_ITERATIONS: Number of iterations for benchmark (e.g., 100) (default: 3)
- INSTANCE_TYPE: Type of benchmark instance (e.g., "c5.xlarge") (default: unspecified)
- PUBLISH_RESULTS: Set to true to publish results to S3 bucket (default: false)
- SYNC_S3_DOCS: Set to true to sync test documents from S3 (default: false)
-
Usage: `./scripts/performance/benchmark.sh`
### Profile
Export / assign desired environment variable settings:
- SYNC_S3_DOCS: Set to true to sync test documents from S3 (default: false)
- DOCKER_TEST: Set to true to run profiling inside a Docker container (default: false)
Usage: `./scripts/performance/profile.sh`

View File

@ -0,0 +1,45 @@
#!/bin/bash
# This is intended solely to be called by scripts/performance/benchmark.sh.
# This file is separated out to allow us to easily execute this part of the test script inside a Docker container.
SCRIPT_DIR=$(dirname "$0")
TEST_DOCS_FOLDER="$SCRIPT_DIR/docs"
TIMEFORMAT="%R"
mkdir -p "$SCRIPT_DIR/benchmark_results" > /dev/null 2>&1
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
RESULTS_FILE="$SCRIPT_DIR/benchmark_results/${DATE}_benchmark_results_${INSTANCE_TYPE}_$("$SCRIPT_DIR/get-stats-name.sh")_$GIT_HASH.csv"
echo "Test File,Iterations,Average Execution Time (s)" > "$RESULTS_FILE"
echo "Starting benchmark test..."
for file in "$TEST_DOCS_FOLDER"/*; do
echo "Testing file: $(basename "$file")"
if [[ " ${SLOW_FILES[*]} " =~ $(basename "$file") ]]; then
echo "File found in slow files list. Running once..."
num_iterations=1
else
# shellcheck disable=SC2153
num_iterations=$NUM_ITERATIONS
fi
strategy="fast"
if [[ " ${HI_RES_STRATEGY_FILES[*]} " =~ $(basename "$file") ]]; then
echo "Testing with hi_res strategy"
strategy="hi_res"
fi
if ! response=$(python3 -m "scripts.performance.time_partition" "$file" "$num_iterations" "$strategy"); then
echo "error: $response"
exit 1
fi
average_time=$(echo "$response" | awk '/Average time:/ {print $3}')
echo "Average execution time: $average_time seconds"
echo "$(basename "$file"),$num_iterations,$average_time" >> "$RESULTS_FILE"
done
# NOTE: Be careful if updating this message. The benchmarking script looks for this message to get the CSV file name.
echo "Benchmarking completed. Results saved to: $(basename "$RESULTS_FILE")"

View File

@ -0,0 +1,68 @@
#!/bin/bash
# Usage:
# - Set the required environment variables (listed below)
# - Run the script: ./scripts/performance/benchmark.sh
# Environment Variables:
# - DOCKER_TEST: Set to "true" to run benchmark inside a Docker container (default: false)
# - NUM_ITERATIONS: Number of iterations for benchmark (e.g., 100) (default: 3)
# - INSTANCE_TYPE: Type of benchmark instance (e.g., "c5.xlarge") (default: "unspecified")
# - PUBLISH_RESULTS: Set to "true" to publish results to S3 bucket (default: false)
SLOW_FILES=("DA-619p.pdf" "layout-parser-paper-hi_res-16p.pdf" "layout-parser-paper-10p.jpg")
HI_RES_STRATEGY_FILES=("layout-parser-paper-hi_res-16p.pdf")
NUM_ITERATIONS=${NUM_ITERATIONS:-2}
INSTANCE_TYPE=${INSTANCE_TYPE:-"unspecified"}
S3_BUCKET="utic-dev-tech-fixtures"
S3_RESULTS_DIR="performance-test/results"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
GIT_HASH="$(git rev-parse --short HEAD)"
# Save the results filename to a temporary file
RESULTS_FILENAME_FILE=$(mktemp)
trap 'rm -f $RESULTS_FILENAME_FILE' EXIT
function read_benchmark_logs_for_results() {
if [[ $line =~ Results\ saved\ to:\ ([^\ ]+) ]]; then
results_filename="${BASH_REMATCH[1]}"
echo "CSV file value found: $results_filename"
echo "$results_filename" > "$RESULTS_FILENAME_FILE" # Store the value in the temporary file
fi
}
if [[ "$DOCKER_TEST" == "true" ]]; then
DOCKER_IMAGE=unstructured:perf-test make docker-build
docker rm -f unstructured-perf-test > /dev/null 2>&1
docker run \
--name unstructured-perf-test \
--rm \
-e NUM_ITERATIONS="$NUM_ITERATIONS" \
-e INSTANCE_TYPE="$INSTANCE_TYPE" \
-e GIT_HASH="$GIT_HASH" \
-e SLOW_FILES="${SLOW_FILES[*]}" \
-e HI_RES_STRATEGY_FILES="${HI_RES_STRATEGY_FILES[*]}" \
-v "${SCRIPT_DIR}":/home/scripts/performance \
unstructured:perf-test \
bash /home/scripts/performance/benchmark-local.sh 2>&1 | tee >(while IFS= read -r line; do
read_benchmark_logs_for_results
done)
else
NUM_ITERATIONS="$NUM_ITERATIONS" INSTANCE_TYPE="$INSTANCE_TYPE" GIT_HASH="$GIT_HASH" SLOW_FILES="${SLOW_FILES[*]}" HI_RES_STRATEGY_FILES="${HI_RES_STRATEGY_FILES[*]}" "$SCRIPT_DIR"/benchmark-local.sh 2>&1 | \
tee >(while IFS= read -r line; do
read_benchmark_logs_for_results
done)
fi
# Read the result filename from the temporary file
results_filename=$(<"$RESULTS_FILENAME_FILE")
if [[ -z $results_filename ]]; then
echo "Error: Results filename value not found in the benchmark logs."
exit 1
fi
if [[ "$PUBLISH_RESULTS" == "true" ]]; then
S3_RESULTS_PATH="$S3_BUCKET/$S3_RESULTS_DIR"
echo "Publishing results to S3 bucket: $S3_RESULTS_PATH"
aws s3 cp "$SCRIPT_DIR/benchmark_results/$results_filename" "s3://$S3_RESULTS_PATH/"
fi

View File

@ -0,0 +1 @@
../../../example-docs/DA-1p.pdf

View File

@ -0,0 +1 @@
../../../example-docs/DA-619p.pdf

View File

@ -0,0 +1 @@
../../../example-docs/book-war-and-peace-1225p.txt

View File

@ -0,0 +1 @@
../../../example-docs/book-war-and-peace-1p.txt

View File

@ -0,0 +1 @@
../../../example-docs/example-10k-1p.html

View File

@ -0,0 +1 @@
../../../example-docs/example-10k-230p.html

View File

@ -0,0 +1 @@
../../../example-docs/handbook-1p.docx

View File

@ -0,0 +1 @@
../../../example-docs/handbook-872p.docx

View File

@ -0,0 +1 @@
../../../example-docs/layout-parser-paper-10p.jpg

View File

@ -0,0 +1 @@
../../../example-docs/layout-parser-paper-fast.jpg

View File

@ -0,0 +1 @@
../../../example-docs/layout-parser-paper.pdf

View File

@ -0,0 +1 @@
../../../example-docs/layout-parser-paper.pdf

View File

@ -0,0 +1 @@
../../../example-docs/science-exploration-1p.pptx

View File

@ -0,0 +1 @@
../../../example-docs/science-exploration-369p.pptx

View File

@ -0,0 +1,21 @@
#!/bin/bash
# get a string representing the system stats. we should be able to infer
# this from aws types, but this guarantees we have the info we need in all cases
# hack to get gpus available for processing
# assumes nvidia drivers available for inference tasks
if command -v nvidia-smi &> /dev/null; then
gpu=$(nvidia-smi --query-gpu=name --format=csv,noheader | wc -l)
else
gpu="0"
fi
if command -v sysctl >/dev/null && command -v system_profiler >/dev/null; then
cpu=$(sysctl -n hw.logicalcpu_max)
mem=$(sysctl -n hw.memsize | awk '{printf "%.0fGB",$0/1024/1024/1024}')
else
cpu=$(getconf _NPROCESSORS_ONLN)
mem=$(grep 'MemTotal' /proc/meminfo | awk '{printf "%.0fGB",$2/1024/1024}')
fi
echo "${cpu}cpu_${gpu}gpu_${mem}mem"

View File

@ -3,7 +3,6 @@
# Performance profiling and visualization of code using cProfile and memray.
# Environment Variables:
# - SYNC_S3_DOCS: Set to true to sync test documents from S3 (default: false)
# - DOCKER_TEST: Set to true to run profiling inside a Docker container (default: false)
# Usage:
@ -54,24 +53,16 @@ MODULE_PATH=${MODULE_PATH#\.}
PROFILE_RESULTS_DIR="$SCRIPT_DIR/profile_results"
S3_BUCKET="utic-dev-tech-fixtures"
S3_DOCS_DIR="performance-test/docs"
# Create PROFILE_RESULTS_DIR if it doesn't exist
mkdir -p "$PROFILE_RESULTS_DIR"
if [[ "$SYNC_S3_DOCS" == "true" ]]; then
# Sync files from S3 to the local "docs" directory
aws s3 sync "s3://$S3_BUCKET/$S3_DOCS_DIR" "$SCRIPT_DIR/docs"
fi
if [[ "$DOCKER_TEST" == "true" ]]; then
SCRIPT_PARENT_DIR=$(dirname "$(dirname "$(realpath "$0")")")
docker run -it --rm -v "$SCRIPT_PARENT_DIR:/home/unstructured/scripts" unstructured:dev /bin/bash -c "
cd unstructured/
pip install -r scripts/performance/requirements.txt
echo \"Warming the Docker container by running a small partitioning job..\"
python3 -c 'from unstructured.partition.auto import partition; partition(\"'""$SCRIPT_DIR/warmup.pdf'\", strategy=\"hi_res\")[1]'
python3 -c 'from unstructured.partition.auto import partition; partition(\"'""$SCRIPT_DIR/warmup_docs/warmup.pdf'\", strategy=\"hi_res\")[1]'
./scripts/performance/profile.sh
"
exit 0

View File

@ -0,0 +1,38 @@
import os
import sys
import time
from unstructured.partition.auto import partition
def warm_up_process(filename):
warmup_dir = os.path.join(os.path.dirname(__file__), "warmup-docs")
warmup_file = os.path.join(warmup_dir, f"warmup{os.path.splitext(filename)[1]}")
if os.path.exists(warmup_file):
partition(warmup_file, strategy="fast")
else:
partition(filename, strategy="fast")
def measure_execution_time(filename, iterations, strategy):
total_time = 0.0
for _ in range(iterations):
start_time = time.time()
partition(filename, strategy=strategy)
end_time = time.time()
execution_time = end_time - start_time
total_time += execution_time
average_time = total_time / iterations
print("Average time:", average_time)
if __name__ == "__main__":
filename = sys.argv[1]
iterations = int(sys.argv[2])
strategy = sys.argv[3]
warm_up_process(filename)
measure_execution_time(filename, iterations, strategy)

Binary file not shown.

View File

@ -0,0 +1 @@
../../../example-docs/handbook-1p.docx

View File

@ -0,0 +1 @@
../../../example-docs/example-10k-1p.html

View File

@ -0,0 +1 @@
../../../example-docs/layout-parser-paper-fast.jpg

View File

@ -0,0 +1 @@
../../../example-docs/layout-parser-paper-fast.pdf

View File

@ -0,0 +1 @@
../../../example-docs/science-exploration-1p.pptx

View File

@ -0,0 +1 @@
../../../example-docs/book-war-and-peace-1p.txt

View File

@ -16,8 +16,8 @@ PYTHONPATH=. ./unstructured/ingest/main.py \
set +e
if [ "$(find 'api-ingest-output' -type f -printf '.' | wc -c)" != 5 ]; then
if [ "$(find 'api-ingest-output' -type f -printf '.' | wc -c)" != 7 ]; then
echo
echo "5 files should have been created."
echo "7 files should have been created."
exit 1
fi

View File

@ -16,8 +16,8 @@ PYTHONPATH=. ./unstructured/ingest/main.py \
set +e
if [ "$(find 'local-ingest-output' -type f -printf '.' | wc -c)" != 4 ]; then
if [ "$(find 'local-ingest-output' -type f -printf '.' | wc -c)" != 6 ]; then
echo
echo "4 files should have been created."
echo "6 files should have been created."
exit 1
fi

View File

@ -1 +1 @@
__version__ = "0.7.2-dev2" # pragma: no cover
__version__ = "0.7.2-dev3" # pragma: no cover

View File

@ -178,6 +178,13 @@ EXT_TO_FILETYPE = {
}
def _resolve_symlink(file_path):
# Resolve the symlink to get the actual file path
if os.path.islink(file_path):
file_path = os.path.realpath(file_path)
return file_path
def detect_filetype(
filename: Optional[str] = None,
content_type: Optional[str] = None,
@ -199,7 +206,10 @@ def detect_filetype(
_, extension = os.path.splitext(_filename)
extension = extension.lower()
if os.path.isfile(_filename) and LIBMAGIC_AVAILABLE:
mime_type = magic.from_file(filename or file_filename, mime=True) # type: ignore
mime_type = magic.from_file(
_resolve_symlink(filename or file_filename),
mime=True,
) # type: ignore
else:
return EXT_TO_FILETYPE.get(extension.lower(), FileType.UNK)