spacer.png, 0 kB
qisoftware business blog

« TemplatesPlugins | Main

WebDevelopment

QiSoftware Business Blog

Thursday, December 22, 2022

FCC Station License Query Tool Installed

One of the tasks I wanted to complete by the end of the year was to install the FCC Station License Query app on the WiredPages Media page.

An earlier discussion of the FCC Station License Tool is found on my personal blog (It's Personal) in an August 2021 entry.

Illustrations of sample queries, additional station information found on the FCC site by following app provided links (part of the search results), and the overall look of the tool are shown below:


The illustration below, shows the application installed on the WiredPages Media page.


You will notice slight differences in the overall appearance of the tool from that of the screen-grabs (shown in the first illustration above) taken when I was testing the app in my development environment to how the tool now looks, installed on the page.



Monday, September 05, 2022

Google Universal Analytics to G4 Switch Over (G4 Ready)

For the last six months, Google Analytics has shown the notice illustrated in the following graphic as related to the network of QiSoftware sites.


As related to analytics, all QiSoftware sites (see below) are listed as part of the same network, with Google. QiSoftware sites and subdomains using Google Analytics include:

Since WiredShops and ReginaThomas.studio are sites installed within the last year, the Google Analytics 4 tags were automatically created when I registered the new domains with my Google Analytics account. In both cases, because other services use Google Analytics as the source for their statistical data, however have yet to make the switch to G4, I had to also setup the old universal tags to ensure the new sites were found.

In addition, recent updates to the Google Admanager resource now allow users (you or your organization may use an online ad manager service to perform these tasks) to list all sites and subdomains setup using the Google Analytics 4 (G4) tag for each related Admanager account.

Illustrated in the following graphic, newly listed QiSoftware sites with the Google Admanager account.



Are your sites G4 ready?



Friday, May 07, 2021

Occupation Wage Data- 2020 Statistics Now Available

Occupation wage data for 2020 is now available from the U.S. Department of Labor through their CareerOneStop site.

The illustration below provides salary data for lawyers in the Washington, DC area for the years 2017, 2019 and 2020.

The newly updated information, is provided via the Occupation Wage Data resource found on the WiredPages Employment page. The tool which was developed and installed on WiredPages in 2018, is powered by the CareerOneStop API.

More about the WiredPages offering can be found in this earlier post.



Tuesday, December 08, 2020

JOLTS

The Department of Labor (DOL) provides a lot of employment data and statistics as related to US job markets.

The WiredPages Employment page attempts to encapsulate the data for quick retrieval and presentation for those researching the US job market in general or job seekers looking for specific data.

WiredPages retrieves US employment data mainly through API access to DOL databases.

To stay current with trends, new tools are being researched and developed for WiredPages, in hopes of providing the type of data that will assist many with the current employment situation.

The latest tool, presents the Job Openings and Labor Turnover Survey (JOLTS) in the form of a statistical bug as shown in the illustration below.

The JOLTS tool will be installed early next year, if not before.



Friday, June 12, 2020

WiredPages New Tools- Snap Shot

Development efforts for WiredPages have been ongoing for awhile. A recent post on It's Personal outlines some of the new tools that are ready for installation.

Provided below, a quick summary:

WirefPages Home page -Market Indices bug
WiredPages Real Estate page -Mortgage Calculator.
WiredPages Business & Markets page -Market Indices bug & Biz Zip Search tool.
WiredPages Style & Events page- "This Day In History Calendar".
The WiredPages Media page -NPR One StationFinder interface.
The WiredPages Health & Wellness page -FatSecret Nutrition Information Search tool.
The WiredPages Arts & Entertainment page -Youtube Music Video Search & Playback tool.
The WiredPages Reference page -World Factbook interface.
The WiredPages Technology page -Alexa Site Rank tool.

Also in the works, the FCC Station Licensing Information Search Tool. The screen grabs below, show json results provided by the service for several stations.

The FCC Search tool has been in the works for some time. Just getting around to completing this development effort because of local environment SSL resource limitations. Those issues were corrected in December 2019 (acquisition of new hardware and updated Java JDK). Most projects put on hold because of the limitations, have now been completed. The FCC development effort- the last of those projects.



Saturday, April 11, 2020

Moving A Thingamablog

In 2010, I started using the desktop blogging platform, Thingamablog. I loved the idea that the entire database for my blog (this blog) was located on my personal computer, at the time- the 2008 Macbook.

In that, when I develop new software applications, I also write about the new tools, having a blogging platform on the same system as the software development environment, makes it easier to screen grab and post about the new tools in real time.

This worked for years, however earlier this year, new frontiers with SSL protocols left me in a lurch, in that my older Macbook and the Java JDK could no longer handle the newer security rules. I needed new hardware to handle the latest releases of the Java JDK.

I went with a Windows 10 Pro Mini that was easy to afford on the heels of the holidays.

So lately, I have been in software development mode and posting to my personal blog about new programs. Not because I develop software on the Windows XP system where my personal blog is maintained (also a Thingamablog), but more because that platform is always "on".

Long story, short-- earlier today, I decided to move this blog (Remix) to the new Windows 10 Pro Mini.


First, I had to export the posts from Macbook version to an XML file, and then import the XML file to the new blog on the Windows 10 Pro Mini.

There were several problems with this process, however in my opinion, all minor in nature.

  • For each post imported, the author (Q...) was not automatically inserted, however if I copy the contents of each post file to the corresponding entry while in edit mode, the modification process updates the author field.
  • The second issue, the Macbook posts were not sequentially numbered, while the Windows 10 Pro Mini Thingamablog software imported the entries sequentially. This will not hurt too much in that the old blog entries are still in place, and though I do link to my own posts, can easily search on the original files and make quick changes. This I have started, however the task is not complete.
  • I also had to manually reset all of my custom tags, however this simply meant cutting and pasting the same tags from the old to the new blog.


I have to admit, moving a Thingamablog was something I worried about. Happy to report this was a lot easier than I thought it would be.



Sunday, April 07, 2019

WiredPages: What's New Interface

Yesterday, I completed most of the work on a new interface which provides details about new services or resources added to WiredPages.

The interface, a Java Servlet is powered by the Facebook API.

Last year, Facebook defined new procedures for access to their APIs. In August 2018, when I originally sought access through the new procedures, I planned to provide event listings and details for the WiredPages Style & Events page.

In October 2017, I developed the first events Facebook API interface using the old access procedures, discussed in this post. The interface discussed in that post was never installed on WiredPages.

Last year, many changes were introduced to the Facebook API including depreciation of the Facebook Events API. So, I decided to post about new developments on the news service, to the WiredPages Facebook page and then use my newly established Facebook API access to provide details on What's New on the service. This weekend I finally decided to develop and install the new interface.

Originally, I planned to install the new interface on the Technology page (last), however decided last week to use the home page.

Email wiredpages @ qisoftware dot com if you have problems or suggestions.



Monday, November 05, 2018

Popular Shopping Network API Powered Tools

With the holidays right around the corner, two new shopping related interfaces have been added to WiredPages & It's Personal.

The interfaces are powered by popular shopping networks which offer developers API access for tool development. The new QiSoftware tools are demonstrated via the following links.


Another QiSoftware tool which uses Amazon's Product Advertising API is demonstrated on the WiredPages Libraries page - the New York Times BestSellers.

Do you follow behind-the-scenes dealings with media executives and personalities? The WiredPages Media page has a new resource which provides headlines primarily associated with media personalities and executives.

Other plans for the Media page include:

  • FCC API Call Sign Station Search
  • NPR API Station Search w/ Live Playback

There are several new tool additions planned for WiredPages, so stay tuned.



Wednesday, August 29, 2018

Yelp Reviews Now Online

Are you a business owner? Have you claimed your Yelp Business page?

The WiredPages Dining & Travel page now boasts a new tool, Yelp Reviews.

The Yelp API offered several options for custom program development, or business owners may want to install pre-defined HTML snippets which will produce custom Yelp Badges for use on business sites. This is a great promotional tool if your business is well received.

During the development phase of this project, I noticed unicode escape characters in some of the "json" results data. This mainly, when requesting international business locations.

The Java Servlet used in this implementation was adapted to transform the Unicode escape sequence to the international character being represented, for display results.

Yelp, is a great resource for business owners, business patrons, and reviewers alike.



Wednesday, December 20, 2017

WiredPages & the Facebook API

One of the many software services QiSoftware supports, custom tool development using Application Program Interface (API) resources. Refer to this list for some of the supported APIs and demonstrations.

Many major online services, i.e., Google, Yahoo, Facebook (just to name a few), offer API hooks to allow developers and web site owners an easy means to incorporate their data.

Over the years, QiSoftware has developed many tools using API services with one glaring oversight, Facebook. In October 2017, after a bit of research the first Facebook API tool was developed, as discussed in this post.

Recently, in preparation for major updates to the WiredPages News Service, I developed a new interface that incorporates the WiredPages Facebook Page, related events, and Facebook API. To populate the WiredPages Facebook Events Page, I scour Facebook for noteworthy national and international events.

Shown in the illustration below, the earlier Facebook Events tool for my local business community (Hanover, Maryland), the new WiredPages interface and the Facebook event page for one of the listed events (Warner Theater's "The Nutcracker") shown in the results on the WiredPages tool.


Note, the tool demonstrations are running in local mode and powered by my IDE (Netbeans). As mentioned, major updates are in the works for WiredPages, however I am still no closer to providing a more accurate time frame for when the updates will go into production [online] mode.



Saturday, October 07, 2017

Facebook API

Several years ago, because of exponential business growth in our area, I decided to create a Facebook Business Page [2010] providing details about the business community. See this link.

When the Maryland Live Casino opened in 2012, I started doing more with the page, including:

  • Photos & Videos
  • A weekly post about a local business.
  • Added several tabs providing various resources about the area for visitors.
  • Researching local events for inclusion to the page.

I also registered a .org domain to use with the page, however I have yet to set it up. That said, I wanted to start building tools and resources to use with an external site. Two ideas I thought may be useful for the new .org domain; [1] a business directory and [2] a list of upcoming area events.

Today, I completed most of the major work on a Java Servlet that uses the Facebook API to provide the list of Events associated with the page. The illustration shows the Servlet running in local mode on my Macbook.


Note: only using 3 earliest events [updated this image].

I am not sure when the new interface will go into production, however I am pretty happy this project is mostly done [custom formating and fine tuning the remaining tasks]. Over the years, I have done one or two things with Facebook as a developer, however not a lot. This project gave me the opportunity to take a good look at the Facebook API and I am glad I did.



Tuesday, February 14, 2017

Jobs, Events, Real Estate--- Hanover, MD- Happening...

Those who read my personal blog [It's Personal], know that I maintain a Facebook Page for Hanover, MD Businesses which attempts to highlight the many businesses & happenings in my hometown.

Hanover, Maryland these days seems more like an ever growing metropolis, rather than the mid-size town I moved to in 1996.

There are several reasons for this...

  • Arundel Mills [huge outlet mall that hosts big outlets for major retailers like Neiman Marcus and Saks Fifth Ave] opened in 2000. See a complete list here.
  • Maryland Live! Casino opened in 2012
  • Proximity to Fort Meade and the National Security Agency.
  • It also does not hurt that an international airport, BWI is less than 5 miles away.

When I started the FB Hanover, MD Business Page in 2010, I thought I would connect with other business owners in the area, even though my business, QiSoftware is listed with a Columbia address.

In 2013 or so, I started listing websites and Facebook pages for the businesses or events in the area.

New features that I want to add to the pages include:

  • Hanover, MD Jobs, currently the "Use App" button on the Facebook page
  • Area Events, The Casino and RamsHead Stage often offer headliners.
  • Real Estate, another area that has grown quite a bit.

To that end, today, I built two new interfaces that I will eventually integrate as page tabs for the FB Hanover MD Business page. One offering, area jobs as provided by Indeed, and the other, area events offered by Eventful.

Shown below, the new servlets running in stand-alone mode on my Macbook. Just behind the two windows showing the output from each, is the Netbeans IDE which is providing the local server I use for implementation, testing and debug for most of the software I develop.

There are several restrictions when integrating widgets and interfaces on Facebook pages, including size restrictions and using resources from secure sites. Neither of my sites, qisoftware.com nor hosting-q.com uses SSL certifications, however I hope to incorporate this feature to one or both of the sites- sometime in the future.

In the meantime, I do have other options for installing the new interfaces to the Hanover MD Business Page-- as a tab on the Facebook page, however want to hold off to investigate as many options as possible. Hopefully, I will have these new interfaces in place in the near future.



Friday, September 30, 2016

New Celebrity Birthday Interface & Issues...

Last week I finished populating the Celebrity Birthday Database I maintain locally on my Macbook. It was a manual process, in that I no longer maintain the database online for security reasons.

In the past, the WiredPages Style and Events page used the data within a Java Applet to provide visitors with the current Celebrity Birthdays.

Initially, I developed a JDBC servlet which on a daily basis- extracted the data from a source and then inserted the data to my online database. About 3 months before retrieving all of the data for a complete year of celebrity birthdays- I made a mistake and deleted most of the records. The most recent backup was missing about a month of the records.

Also when I checked the online database, I found the data was corrupt. Birthdays that I had intentionally deleted, [that first year I checked every day to insure the data being inserted would be useful to WiredPages visitors and therefore manually deleted some of the records my software inserted]-- were somehow reinserted. I know this was malicious because of the birthdays selected for reinsertion.

I maintain several databases I custom built for WiredPages, and the Celebrity Birthday Database perhaps the most valuable in that the data was mined from a credible source-- initially with software.

Because of the security issues with both the idea of theft of the database and the insertion of data I did not want, I chose not to leave a credible database online at the current location.

My plan was/is to move the entire site to a more secure host and create and build the new version online from the Celebrity Birthday Database I maintain on my Macbook.

I have been planning this move for awhile. Right now, mainly hoping that DOJ and others help with the resolution of the many legal issues involved with my business and personal affairs.

So though I try to do very little in the way of coding, and even less in the way of updating anything online-- I did do a little work today.

I am moving away from the Java Applet and starting to work on new interfaces that provide the same data to WiredPages' visitors without the Applet. In the future, I will continue to use Java-- however mostly only Java Servlet technology. This will be more friendly for mobile devices and the newer browsers being used with the latest releases of operating systems, i.e., Windows 10, Chrome, etc..

Shown below-- my work environment today, including my IDE, local Database Management Software and a Firefox browser window showing how the new Celebrity Birthday Interface will look. The interface is shown in stand alone mode-- however will be easy to integrate on the WiredPages Style & Events Page when I decide to move everything online.


I was so pleased to complete the insertion of the remaining records to the local Celebrity Birthday Database earlier in the week, I could not wait to rewrite the JDBC Servlet interface to access the data. I really miss coding and researching new ideas for WiredPages. I hope to get moving on other updates in the near future, however wanted to provide some of the details involved.



Wednesday, March 02, 2016

Amazon Associates: New Tools & Services

Over the past year or so, Amazon has added new incentives to its Associates Program, as well as discontinuing some of the services that have been around for awhile.

Some of these changes include:

  • Native Shopping Ads
  • Amazon CPM Ads have been around since 2014.
  • Amazon Widgets are no longer available.
  • Listmania Lists are no long available for incorporation in an aStore Category.
  • Since the Spring 2015, Amazon has been offering "Home Services" giving associates a wider range of products to offer- that may require additional servicing after delivery. See more on Amazon Home Services here.

Recently, I took the opportunity to look into the Amazon CPM Ad Network and integrated specified ad codes in more popular areas of the qisoftware.com site, i.e., the blogs.

The ads have been running for about a day, however I was able to review performance reports based on almost "real time" [delayed in most cases by no more than 4 hours] reporting.

I also use the Amazon Product Advertising API, however because of a security risk with triggers I build into my code/widgets, I have discontinued their use for now. Sometime in the future, I hope to re-establish this important monetization feature for the WiredPages area [sub-domain] of qisoftware.com.



Friday, September 18, 2015

Remix now reporting its own Google Analytics

qisoftware.com and the associated sub-domains use several metric services to measure site analytics and traffic, including:

  • Google Analytics
  • Quantcast
  • Compete
  • ShareThis-- recently stopped offering analytics services, however qisoftware.com source pages still show the old scripts.
  • Alexa

I have been using these services for some time, however tend to get around to adding new definitions or isolation parameters in a haphazard non-timely manner, especially where Google Analytics is concerned.

For instance, most sub-domains of qisoftware.com- gather and report information using the same top-level Analytics tracking code as that used by the main domain- www.qisoftware.com.

What this means? It is harder to separate and visualize www.qisoftware.com traffic from let's say- traffic to this blog [remix.qisoftware.com].

Sometime ago, I added a separate tracking code for "It's Personal", my personal blog at personal.qisoftware.com mainly to experiment. Up until recently, I had separate tracking codes for the following qisoftware properties:

  • qisoftware.com
  • hosting-q.com
  • personal.qisoftware.com
  • qisoftware.tumblr.com

As noted by the following illustrations, a couple of days ago [Wednesday, Sept 16, 2015], I added a separate tracking code for Remix the sub-domain remix.qisoftware.com [this blog].



I also had to make minor updates to the underlying theme for my Thingamablog Template and update one of the Custom Tags. Illustration shows the Thingamablog application where these updates are used:

Remix [this blog], is not as popular as some of the other areas of qisoftware.com, and as of today, showing "temporarily unavailable" for data being received by Google Analytics. Below, I am showing illustrations from the Google Analytics App of both It's Personal tracking and the new Remix.



When I move the site, and make necessary changes to both WiredPages and the NS&J Forums, I will add separate tracking codes for these areas too. Most of my site's [qisoftware.com] areas use ecommerce ads and tools-- so I am hoping these more specific tracking codes for each area will help to produce more insights for better site monetization.



Monday, August 12, 2013

Business Support-- Lessons Learned...

I am a software consultant with lots of experience with computer hardware and software. So when I began my business in early 2000, the issues that most have insofar as what to get in terms of hardware and software to help run the business-- were thankfully not mine.

Over the years, I have made some good decisions in terms of computing support and hope to share with others my lessons learned. To that end, I have added a link to an Amazon aStore in this blog's sidebar-- that offers some help with computing and other business solutions for small and home businesses.


For those interested in Amazon's Affiliate program, I have written several articles on Amazon's Listmania feature [which I use on It's Personal]-- however this time I used the aStore feature and added individual products to a category list.

The difference in the two approaches in creating an Amazon aStore?

  • I do not need to be logged into my Associates account to update and publish a Listmania list. And when an updated list is published it is immediately reflected in my online store..
  • It is actually easier to create an aStore using a category and adding products-- but only because it is a bit confusing on how to setup a Listmania and associate it with an aStore.

My rumor mill suggests Amazon's Listmania feature may soon be obsolete -- and currently there is a problem updating the Listmania powering the It's Personal Store. I have a support email in the pipeline to Amazon on this issue. I will provide more details as I get them.



Sunday, December 18, 2011

It's Personal Installed

Installed my new personal blog- "It's Personal". Here is a screen shot--

Features include:

  • Thingamablog
  • Blogger Calendar -- no server side Java required.
  • Archives
  • No comments.
  • Fast loading

Q's Wire- will remain online for the foreseeable future, however will not be updated on a regular basis-- other than the current updates I am providing concerning a business issue.


Friday, December 09, 2011

Open Source Flash Player.. a reason to learn ActionScript

Lately, aside from worrying about a business banking issue, and implementing updates to some of the WiredPages interfaces and programs, I have been playing around with HaXe and an Open Source Flash player I recently found.

I am pretty excited about this Flash player because it gives me an opportunity to look into ActionScript3 and Flash in terms of a development vehicle.

I have a Flash Integrated Development Environment (IDE) installed on my Netbook-- and have found it relatively easy to come up to speed with the concepts. It does not hurt that Flash concepts are similar to Java GUI [the Flash backend- is Java].

Why am I not providing links for this Open Source Flash Player? It is not that I think it will hurt my core business to provide the links. I promote services like Java GUI, JDBC and J2EE-- it is more, I am too noticed and feel too many already feel they have a reason to be angry with QiSoftware and its business interests.

In other words- "real" Flash developers might consider it a serious problem for their core businesses. I will let the group doing the development work take all of the credit. Sorry, I think the product is great, actually too good for open source and I already have too many wanting to blame me for things I had nothing to do with {an apology of sorts to the group offering this work}. That said, it is my belief-- HTML5 is going to hurt a lot of core Flash development efforts.

The other issue I am kind of concerned with about Flash? Security, de-compilation, unauthorized usage and the ability to change [or replace] software once installed on servers. In my opinion, Java gives me more security options insofar as these issues. And yes, it does appear a little hypocritical that I would want to prevent others from using customized players I develop using this open source resource.

If you want to learn more-- use my contact page


Wednesday, November 30, 2011

No Server Side Java Required.

Most of QiSoftware Java tools and interfaces require server side Java support or what is known as JSP supported web hosting. Demonstrations of some of those interfaces are provided on WiredPages and in the QiSoftware Product Catalog.

That said, some of the tools like the WordPress or MovableType versions of the Blogger Calendar do not require server side JSP support-- but currently do use the server side interface. The Blogger Calendar installed on this blog- is not powered by a server side servlet-- only a Java applet.

Why do I not need a Java Servlet for Blogging platforms using local MySQL databases? Because a Java Applet can connect directly to a local database sitting on the same server.

Why did I not develop the WordPress and MovableType versions of the Blogger Calendar sans the servlet in the first place? I developed the Blogger version of the calendar [September 2004] first, and to convince other bloggers that were using the blogspot servers- I had to use the Java Servlet back-end.

The first QiSoftware Business Blog was powered by Blogger however I used FTP to host the blog on my server [qisoftware.com]. So, like this blog-- I really did not require the back-end servlet. When I later developed the WordPress and MovableType versions-- I kept the same architecture- but really did not need too. In other words-- if you are hosting your own WordPress or Movable Type blog-- you can run a Blogger Calendar without server side support. I cannot support WordPress.com hosted blogs because I cannot access their databases with either a servlet nor applet.

Another tool that no longer requires a server side-- servlet, the Celebrity Birthday Interface I maintain on the Wiredpages Style & Events page.

The reason? To populate the database, each new day of the year-- the program inserted the celebrity birthdays for that day to the database. The database now has an entire year of birthdays. A stand alone Java Applet can now-- connect directly with the database sitting on my server-- negating the need for server side Java [Servlet] support.

Today, if someone wanted a similar tool what would I need to do? Provide detailed instructions on installing the MySQL database [that I provide] or provide me with access so that I can install the database on their server and supply them with a custom Celebrity Birthday Applet that runs from their site. I would also provide a PHP script to allow automated updates with a non transferable maintenance support agreement for as long as you use the tool.

Applets are like Flash or image files. Most browsers run Applets like they run Flash.

The other great thing about Java Applets? They are compact. QiSoftware Applets are normally about 8000 bytes in size. Less than most graphic or image files.

The cost for a custom Applet? The Birthday Applet-- about $25.00 which includes the database. Others- contact me or see the QiSoftware Pricing information which I provide via the Hosting-Q.com site.

QiSoftware offers custom tools for almost any platform using most forms of provider data. See my contact page for more info.


Thursday, November 24, 2011

API Usage Architecture: Why This and Not That.

The following illustration shows the current weather forecast for Wadenswil, Switzerland as provided by the WeatherBug Rest API offering.

Recently, while rewriting the World Weather Tool I maintain on WiredPages- I considered using this Rest API offering.

The reason I did not use the WeatherBug API offering? The explanation is a little detailed. The short response-- I had to rewrite the interface quickly and chose to keep the software architecture I used for the original. The more detailed explanation is provided so potential clients understand their options.

I developed the original World Weather Tool in 2003 when the WeatherChannel first began offering the API XML feed. At the time they also offered a Software Developer Kit (SDK) which included weather image icons. This enabled me to efficiently use Java Applet technology to render the images quickly.

Since then I have developed any number of interfaces powered by API offerings using Java Servlet technology [sans the front end Applet GUI].

Today, most API services-- provide pointers and links to image files [or other resource files], as illustrated above or demonstrated on the WiredPages Technology page where the CNET interface is installed.

I am using local [hosted on my server] weather image icons for the World Weather Tool illustrated below. Originally and still today.

More often today-- I request the image resources directly from the API provider's site. Rendering remote images with a Java Applet would be a little more time consuming [the amount of time the server side Java Servlet would need to process each request and transfer the raw image data to the applet] and in my opinion, inefficient. The Java Applet does not allow direct import of remote resources as a security precaution.

So recently, why did I use Java Applet and Servlet technology for the Eventful Events Interface? I wanted to use the list feature the Java Applet technology offered.

QiSoftware offers custom tools for almost any platform using most forms of provider data. See my contact page for more info.

Technorati Tags: , ,




Business Directory

spacer.png, 0 kB



Contact | Accessibility | Products | CSS and XHTML
Disclosure Policy
© Copyright 2010-2025 QiSoftware
You may not copy this work.

spacer.png, 0 kB