FAQ

General

What are the paper types that you offer?

You may request for a sample pack by clicking here. Alternatively, you may visit our shop to view our full range of paper types.

What are the additional finishings that you offer?

We offer a wide range of additional finishings

  • Lamination
  • Hotstamp
  • Emboss
  • Deboss
  • Letterpress
  • Spot UV
  • Silk Screen
  • Die Cut

and more..!  Contact our office to explain your requirements today.

The product that I require is not on your website.

You may request for a custom quote by contacting our office.

Can I split the minimum order between designs?

No. One design is per MOQ.

Do you accept e invoice?

Yes, we do. Contact our office to learn more.

Design

I do not have a designer.

There are three options that we can go about doing this.

Option 1: Hire our design services.

Option 2: Use our Online Design Editor which is completely free! All you have to fork out is a little bit of time and a willingness to navigate around our simple and intuitive design interface.

Option 3: Be our VIP customer where we have our in house designers, helping you to design your artwork. The only condition is that you would have to fulfil our requirements to be a VIP

If I were to engage your design service, what is your processing time?

It is between 3 – 5 working days

What artwork should be provided to you?

Please ensure that there is a 3mm bleed all around.

Do I need to provide a bleed?

Without a doubt, yes.

How do I upload my artwork?

At the bottom of each product page, there is a button called “Add to Cart and Design”. Upon clicking on this button, there will be a pop up with two options.
Select the option “Upload Artwork” to upload your own artwork.

What file formats do you receive?

We receive all file formats.

What is the maximum file size that I can upload?

The maximum file size to upload onto this website is 128MB. For files larger than 128MB, please use file sharing platforms such as Wetransfer or alternative file sharing platforms and email us the link along with your order.

Payments

What payment methods do you accept?

The following payment modes would require you to visit the shop:

  • Cash
  • NETs

The following payment modes would allow you to make payment remotely:

  • PayNow
  • Bank Transfer
  • Cheque
  • PayPal (+5.2% transaction fees)

What currency do you charge in?

Our prices are in Singapore Dollars (SGD).

I have placed an order online but I did not upload the artwork.

If you did not upload the artwork when submitting your order online, please send an email with the artwork with your Order ID for us to identify and track the order that was placed by you previously.

I send in the wrong artwork.

If you have sent in the wrong artwork, please call the office to ensure that we have not processed the order.

You may email with the new artwork with your Order ID, if the order is not processed yet.

Shipping & Delivery

Is delivery free?

Delivery is free for orders above $200 otherwise it is a flat $30 for delivery. Alternatively, you may self collect at the store.

Do you deliver to the entire Singapore?

Yes, we do.

Do you deliver overseas?

Yes, we can. We will help to coordinate the shipping with trusted shipping providers such as FedEx or DHL.

Contact our office to explain your requirements.

What would happen if I am not present when the delivery comes?

We will contact you before we make the delivery. If you cannot be present, please do let us know.

Contact Us
Feel free to leave as a note. A letter. A word. No matter. Lorem ipsum dolor isamet and so on. So keep in touch. Leave a message. You know what I'm saying.
2018 (C) All rights reserved.
CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZl9icm93c2VyX3Vua25vd24gZ2Zvcm1fd3JhcHBlcicgaWQ9J2dmb3JtX3dyYXBwZXJfMjgnID48ZGl2IGlkPSdnZl8yOCcgY2xhc3M9J2dmb3JtX2FuY2hvcicgdGFiaW5kZXg9Jy0xJz48L2Rpdj48Zm9ybSBtZXRob2Q9J3Bvc3QnIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEnIHRhcmdldD0nZ2Zvcm1fYWpheF9mcmFtZV8yOCcgaWQ9J2dmb3JtXzI4JyAgYWN0aW9uPScvZmFxLyNnZl8yOCc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2hlYWRpbmcnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSdnZm9ybV90aXRsZSc+Q2FyZGJvYXJkIFN0YW5kZWUgRW5xdWlyeTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZm9ybV9ib2R5Jz48dWwgaWQ9J2dmb3JtX2ZpZWxkc18yOCcgY2xhc3M9J2dmb3JtX2ZpZWxkcyB0b3BfbGFiZWwgZm9ybV9zdWJsYWJlbF9iZWxvdyBkZXNjcmlwdGlvbl9iZWxvdyc+PGxpIGlkPSdmaWVsZF8yOF8yMCcgIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGdmaWVsZF92aXNpYmlsaXR5X3Zpc2libGUnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yOF8yMCcgPk5hbWU8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX3RleHQnPjxpbnB1dCBuYW1lPSdpbnB1dF8yMCcgaWQ9J2lucHV0XzI4XzIwJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgICAgYXJpYS1yZXF1aXJlZD0idHJ1ZSIgYXJpYS1pbnZhbGlkPSJmYWxzZSIgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjhfMicgIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGdmaWVsZF92aXNpYmlsaXR5X3Zpc2libGUnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yOF8yJyA+RW1haWw8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX2VtYWlsJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSdpbnB1dF8yJyBpZD0naW5wdXRfMjhfMicgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgICAgYXJpYS1yZXF1aXJlZD0idHJ1ZSIgYXJpYS1pbnZhbGlkPSJmYWxzZSIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzI4XzMnICBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdyBnZmllbGRfdmlzaWJpbGl0eV92aXNpYmxlJyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjhfMycgPlBob25lPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXIgZ2lucHV0X2NvbnRhaW5lcl9waG9uZSc+PGlucHV0IG5hbWU9J2lucHV0XzMnIGlkPSdpbnB1dF8yOF8zJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgIGFyaWEtcmVxdWlyZWQ9InRydWUiIGFyaWEtaW52YWxpZD0iZmFsc2UiICAvPjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yOF80JyAgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdyBnZmllbGRfdmlzaWJpbGl0eV92aXNpYmxlJyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjhfNCcgPkNvbXBhbnk8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXIgZ2lucHV0X2NvbnRhaW5lcl90ZXh0Jz48aW5wdXQgbmFtZT0naW5wdXRfNCcgaWQ9J2lucHV0XzI4XzQnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nICAgICAgYXJpYS1pbnZhbGlkPSJmYWxzZSIgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjhfMTYnICBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdyBnZmllbGRfdmlzaWJpbGl0eV92aXNpYmxlJyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjhfMTYnID5MYW1pbmF0aW9uPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXIgZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3QnPjxzZWxlY3QgbmFtZT0naW5wdXRfMTYnIGlkPSdpbnB1dF8yOF8xNicgY2xhc3M9J21lZGl1bSBnZmllbGRfc2VsZWN0JyAgIGFyaWEtcmVxdWlyZWQ9InRydWUiIGFyaWEtaW52YWxpZD0iZmFsc2UiPjxvcHRpb24gdmFsdWU9J05vIExhbWluYXRpb24nID5ObyBMYW1pbmF0aW9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWF0dCBMYW1pbmF0aW9uJyA+TWF0dCBMYW1pbmF0aW9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2xvc3MgTGFtaW5hdGlvbicgPkdsb3NzIExhbWluYXRpb248L29wdGlvbj48L3NlbGVjdD48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjhfMTcnICBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdyBnZmllbGRfdmlzaWJpbGl0eV92aXNpYmxlJyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjhfMTcnID5TaXplPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXIgZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3QnPjxzZWxlY3QgbmFtZT0naW5wdXRfMTcnIGlkPSdpbnB1dF8yOF8xNycgY2xhc3M9J21lZGl1bSBnZmllbGRfc2VsZWN0JyAgIGFyaWEtcmVxdWlyZWQ9InRydWUiIGFyaWEtaW52YWxpZD0iZmFsc2UiPjxvcHRpb24gdmFsdWU9J0E1JyA+QTU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBNCcgPkE0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQTMnID5BMzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0EyJyA+QTI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBMScgPkExPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQTAnID5BMDwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yOF83JyAgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgZ2ZpZWxkX3Zpc2liaWxpdHlfdmlzaWJsZScgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzI4XzcnID5RdWFudGl0eTxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyIGdpbnB1dF9jb250YWluZXJfbnVtYmVyJz48aW5wdXQgbmFtZT0naW5wdXRfNycgaWQ9J2lucHV0XzI4XzcnIHR5cGU9J3RleHQnICAgIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nICAgICBhcmlhLXJlcXVpcmVkPSJ0cnVlIiBhcmlhLWludmFsaWQ9ImZhbHNlIiAvPjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yOF8xMCcgIGNsYXNzPSdnZmllbGQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgZ2ZpZWxkX3Zpc2liaWxpdHlfdmlzaWJsZScgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzI4XzEwJyA+QWRkaXRpb25hbCBJbmZvcm1hdGlvbjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX3RleHRhcmVhJz48dGV4dGFyZWEgbmFtZT0naW5wdXRfMTAnIGlkPSdpbnB1dF8yOF8xMCcgY2xhc3M9J3RleHRhcmVhIG1lZGl1bScgICAgICBhcmlhLWludmFsaWQ9ImZhbHNlIiAgIHJvd3M9JzEwJyBjb2xzPSc1MCc+PC90ZXh0YXJlYT48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjhfMTgnICBjbGFzcz0nZ2ZpZWxkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGdmaWVsZF92aXNpYmlsaXR5X3Zpc2libGUnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgID5BcnR3b3JrIFVwbG9hZDwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX2ZpbGV1cGxvYWQnPjxkaXYgaWQ9J2dmb3JtX211bHRpZmlsZV91cGxvYWRfMjhfMTgnIGRhdGEtc2V0dGluZ3M9J3smcXVvdDtydW50aW1lcyZxdW90OzomcXVvdDtodG1sNSxmbGFzaCxodG1sNCZxdW90OywmcXVvdDticm93c2VfYnV0dG9uJnF1b3Q7OiZxdW90O2dmb3JtX2Jyb3dzZV9idXR0b25fMjhfMTgmcXVvdDssJnF1b3Q7Y29udGFpbmVyJnF1b3Q7OiZxdW90O2dmb3JtX211bHRpZmlsZV91cGxvYWRfMjhfMTgmcXVvdDssJnF1b3Q7ZHJvcF9lbGVtZW50JnF1b3Q7OiZxdW90O2dmb3JtX2RyYWdfZHJvcF9hcmVhXzI4XzE4JnF1b3Q7LCZxdW90O2ZpbGVsaXN0JnF1b3Q7OiZxdW90O2dmb3JtX3ByZXZpZXdfMjhfMTgmcXVvdDssJnF1b3Q7dW5pcXVlX25hbWVzJnF1b3Q7OnRydWUsJnF1b3Q7ZmlsZV9kYXRhX25hbWUmcXVvdDs6JnF1b3Q7ZmlsZSZxdW90OywmcXVvdDt1cmwmcXVvdDs6JnF1b3Q7aHR0cHM6XC9cL3ByaW50dm9sdXRpb24uc2dcLz9nZl9wYWdlPTVlN2FmMDFjNWUxMjVlOSZxdW90OywmcXVvdDtmbGFzaF9zd2ZfdXJsJnF1b3Q7OiZxdW90O2h0dHBzOlwvXC9wcmludHZvbHV0aW9uLnNnXC93cC1pbmNsdWRlc1wvanNcL3BsdXBsb2FkXC9wbHVwbG9hZC5mbGFzaC5zd2YmcXVvdDssJnF1b3Q7c2lsdmVybGlnaHRfeGFwX3VybCZxdW90OzomcXVvdDtodHRwczpcL1wvcHJpbnR2b2x1dGlvbi5zZ1wvd3AtaW5jbHVkZXNcL2pzXC9wbHVwbG9hZFwvcGx1cGxvYWQuc2lsdmVybGlnaHQueGFwJnF1b3Q7LCZxdW90O2ZpbHRlcnMmcXVvdDs6eyZxdW90O21pbWVfdHlwZXMmcXVvdDs6W3smcXVvdDt0aXRsZSZxdW90OzomcXVvdDtBbGxvd2VkIEZpbGVzJnF1b3Q7LCZxdW90O2V4dGVuc2lvbnMmcXVvdDs6JnF1b3Q7KiZxdW90O31dLCZxdW90O21heF9maWxlX3NpemUmcXVvdDs6JnF1b3Q7MzM1NTQ0MzJiJnF1b3Q7fSwmcXVvdDttdWx0aXBhcnQmcXVvdDs6dHJ1ZSwmcXVvdDt1cmxzdHJlYW1fdXBsb2FkJnF1b3Q7OmZhbHNlLCZxdW90O211bHRpcGFydF9wYXJhbXMmcXVvdDs6eyZxdW90O2Zvcm1faWQmcXVvdDs6MjgsJnF1b3Q7ZmllbGRfaWQmcXVvdDs6MTh9LCZxdW90O2dmX3ZhcnMmcXVvdDs6eyZxdW90O21heF9maWxlcyZxdW90OzowLCZxdW90O21lc3NhZ2VfaWQmcXVvdDs6JnF1b3Q7Z2Zvcm1fbXVsdGlmaWxlX21lc3NhZ2VzXzI4XzE4JnF1b3Q7LCZxdW90O2Rpc2FsbG93ZWRfZXh0ZW5zaW9ucyZxdW90OzpbJnF1b3Q7cGhwJnF1b3Q7LCZxdW90O2FzcCZxdW90OywmcXVvdDthc3B4JnF1b3Q7LCZxdW90O2NtZCZxdW90OywmcXVvdDtjc2gmcXVvdDssJnF1b3Q7YmF0JnF1b3Q7LCZxdW90O2h0bWwmcXVvdDssJnF1b3Q7aHRtJnF1b3Q7LCZxdW90O2h0YSZxdW90OywmcXVvdDtqYXImcXVvdDssJnF1b3Q7ZXhlJnF1b3Q7LCZxdW90O2NvbSZxdW90OywmcXVvdDtqcyZxdW90OywmcXVvdDtsbmsmcXVvdDssJnF1b3Q7aHRhY2Nlc3MmcXVvdDssJnF1b3Q7cGh0bWwmcXVvdDssJnF1b3Q7cHMxJnF1b3Q7LCZxdW90O3BzMiZxdW90OywmcXVvdDtwaHAzJnF1b3Q7LCZxdW90O3BocDQmcXVvdDssJnF1b3Q7cGhwNSZxdW90OywmcXVvdDtwaHA2JnF1b3Q7LCZxdW90O3B5JnF1b3Q7LCZxdW90O3JiJnF1b3Q7LCZxdW90O3RtcCZxdW90O119fScgY2xhc3M9J2dmb3JtX2ZpbGV1cGxvYWRfbXVsdGlmaWxlJz4KCQkJCQkJCQkJCTxkaXYgaWQ9J2dmb3JtX2RyYWdfZHJvcF9hcmVhXzI4XzE4JyBjbGFzcz0nZ2Zvcm1fZHJvcF9hcmVhJz4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0nZ2Zvcm1fZHJvcF9pbnN0cnVjdGlvbnMnPkRyb3AgZmlsZXMgaGVyZSBvciA8L3NwYW4+CgkJCQkJCQkJCQkJPGlucHV0IGlkPSdnZm9ybV9icm93c2VfYnV0dG9uXzI4XzE4JyB0eXBlPSdidXR0b24nIHZhbHVlPSdTZWxlY3QgZmlsZXMnIGNsYXNzPSdidXR0b24gZ2Zvcm1fYnV0dG9uX3NlbGVjdF9maWxlcycgYXJpYS1kZXNjcmliZWRieT0nZXh0ZW5zaW9uc19tZXNzYWdlXzI4XzE4JyAgLz4KCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8L2Rpdj48c3BhbiBpZD0nZXh0ZW5zaW9uc19tZXNzYWdlXzI4XzE4JyBjbGFzcz0nc2NyZWVuLXJlYWRlci10ZXh0Jz48L3NwYW4+PGRpdiBjbGFzcz0ndmFsaWRhdGlvbl9tZXNzYWdlJz4KCQkJCQkJCQk8dWwgaWQ9J2dmb3JtX211bHRpZmlsZV9tZXNzYWdlc18yOF8xOCc+CgkJCQkJCQkJPC91bD4KCQkJCQkJCTwvZGl2PjwvZGl2PjxkaXYgaWQ9J2dmb3JtX3ByZXZpZXdfMjhfMTgnPjwvZGl2PjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2Zvb3RlciB0b3BfbGFiZWwnPiA8aW5wdXQgdHlwZT0nc3VibWl0JyBpZD0nZ2Zvcm1fc3VibWl0X2J1dHRvbl8yOCcgY2xhc3M9J2dmb3JtX2J1dHRvbiBidXR0b24nIHZhbHVlPSdTdWJtaXQnICBvbmNsaWNrPSdpZih3aW5kb3dbImdmX3N1Ym1pdHRpbmdfMjgiXSl7cmV0dXJuIGZhbHNlO30gIHdpbmRvd1siZ2Zfc3VibWl0dGluZ18yOCJdPXRydWU7ICAnIG9ua2V5cHJlc3M9J2lmKCBldmVudC5rZXlDb2RlID09IDEzICl7IGlmKHdpbmRvd1siZ2Zfc3VibWl0dGluZ18yOCJdKXtyZXR1cm4gZmFsc2U7fSB3aW5kb3dbImdmX3N1Ym1pdHRpbmdfMjgiXT10cnVlOyAgalF1ZXJ5KCIjZ2Zvcm1fMjgiKS50cmlnZ2VyKCJzdWJtaXQiLFt0cnVlXSk7IH0nIC8+IDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2FqYXgnIHZhbHVlPSdmb3JtX2lkPTI4JmFtcDt0aXRsZT0xJmFtcDtkZXNjcmlwdGlvbj0mYW1wO3RhYmluZGV4PTAnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2lzX3N1Ym1pdF8yOCcgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3N1Ym1pdCcgdmFsdWU9JzI4JyAvPgogICAgICAgICAgICAKICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fdW5pcXVlX2lkJyB2YWx1ZT0nJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdzdGF0ZV8yOCcgdmFsdWU9J1d5SmJYU0lzSWpObFpXVXdaall4WW1VMk9UWmtabVZsTURGa1ltVmxabVk0TkRBeVlUTTBJbDA9JyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV90YXJnZXRfcGFnZV9udW1iZXJfMjgnIGlkPSdnZm9ybV90YXJnZXRfcGFnZV9udW1iZXJfMjgnIHZhbHVlPScwJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMjgnIGlkPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMjgnIHZhbHVlPScxJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdnZm9ybV9maWVsZF92YWx1ZXMnIHZhbHVlPScnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX3VwbG9hZGVkX2ZpbGVzJyBpZD0nZ2Zvcm1fdXBsb2FkZWRfZmlsZXNfMjgnIHZhbHVlPScnIC8+CiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aWZyYW1lIHN0eWxlPSdkaXNwbGF5Om5vbmU7d2lkdGg6MHB4O2hlaWdodDowcHg7JyBzcmM9J2Fib3V0OmJsYW5rJyBuYW1lPSdnZm9ybV9hamF4X2ZyYW1lXzI4JyBpZD0nZ2Zvcm1fYWpheF9mcmFtZV8yOCc+VGhpcyBpZnJhbWUgY29udGFpbnMgdGhlIGxvZ2ljIHJlcXVpcmVkIHRvIGhhbmRsZSBBamF4IHBvd2VyZWQgR3Jhdml0eSBGb3Jtcy48L2lmcmFtZT4KICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5qUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpe2dmb3JtSW5pdFNwaW5uZXIoIDI4LCAnaHR0cHM6Ly9wcmludHZvbHV0aW9uLnNnL3dwLWNvbnRlbnQvcGx1Z2lucy9ncmF2aXR5Zm9ybXMvaW1hZ2VzL3NwaW5uZXIuZ2lmJyApO2pRdWVyeSgnI2dmb3JtX2FqYXhfZnJhbWVfMjgnKS5vbignbG9hZCcsZnVuY3Rpb24oKXt2YXIgY29udGVudHMgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcqJykuaHRtbCgpO3ZhciBpc19wb3N0YmFjayA9IGNvbnRlbnRzLmluZGV4T2YoJ0dGX0FKQVhfUE9TVEJBQ0snKSA+PSAwO2lmKCFpc19wb3N0YmFjayl7cmV0dXJuO312YXIgZm9ybV9jb250ZW50ID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3JtX3dyYXBwZXJfMjgnKTt2YXIgaXNfY29uZmlybWF0aW9uID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyXzI4JykubGVuZ3RoID4gMDt2YXIgaXNfcmVkaXJlY3QgPSBjb250ZW50cy5pbmRleE9mKCdnZm9ybVJlZGlyZWN0KCl7JykgPj0gMDt2YXIgaXNfZm9ybSA9IGZvcm1fY29udGVudC5sZW5ndGggPiAwICYmICEgaXNfcmVkaXJlY3QgJiYgISBpc19jb25maXJtYXRpb247aWYoaXNfZm9ybSl7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8yOCcpLmh0bWwoZm9ybV9jb250ZW50Lmh0bWwoKSk7aWYoZm9ybV9jb250ZW50Lmhhc0NsYXNzKCdnZm9ybV92YWxpZGF0aW9uX2Vycm9yJykpe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjgnKS5hZGRDbGFzcygnZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcicpO30gZWxzZSB7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8yOCcpLnJlbW92ZUNsYXNzKCdnZm9ybV92YWxpZGF0aW9uX2Vycm9yJyk7fXNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgeyAvKiBkZWxheSB0aGUgc2Nyb2xsIGJ5IDUwIG1pbGxpc2Vjb25kcyB0byBmaXggYSBidWcgaW4gY2hyb21lICovIGpRdWVyeShkb2N1bWVudCkuc2Nyb2xsVG9wKGpRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjgnKS5vZmZzZXQoKS50b3ApOyB9LCA1MCApO2lmKHdpbmRvd1snZ2Zvcm1Jbml0RGF0ZXBpY2tlciddKSB7Z2Zvcm1Jbml0RGF0ZXBpY2tlcigpO31pZih3aW5kb3dbJ2dmb3JtSW5pdFByaWNlRmllbGRzJ10pIHtnZm9ybUluaXRQcmljZUZpZWxkcygpO312YXIgY3VycmVudF9wYWdlID0galF1ZXJ5KCcjZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzI4JykudmFsKCk7Z2Zvcm1Jbml0U3Bpbm5lciggMjgsICdodHRwczovL3ByaW50dm9sdXRpb24uc2cvd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5naWYnICk7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wYWdlX2xvYWRlZCcsIFsyOCwgY3VycmVudF9wYWdlXSk7d2luZG93WydnZl9zdWJtaXR0aW5nXzI4J10gPSBmYWxzZTt9ZWxzZSBpZighaXNfcmVkaXJlY3Qpe3ZhciBjb25maXJtYXRpb25fY29udGVudCA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJy5HRl9BSkFYX1BPU1RCQUNLJykuaHRtbCgpO2lmKCFjb25maXJtYXRpb25fY29udGVudCl7Y29uZmlybWF0aW9uX2NvbnRlbnQgPSBjb250ZW50czt9c2V0VGltZW91dChmdW5jdGlvbigpe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjgnKS5yZXBsYWNlV2l0aChjb25maXJtYXRpb25fY29udGVudCk7alF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2ZfMjgnKS5vZmZzZXQoKS50b3ApO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fY29uZmlybWF0aW9uX2xvYWRlZCcsIFsyOF0pO3dpbmRvd1snZ2Zfc3VibWl0dGluZ18yOCddID0gZmFsc2U7fSwgNTApO31lbHNle2pRdWVyeSgnI2dmb3JtXzI4JykuYXBwZW5kKGNvbnRlbnRzKTtpZih3aW5kb3dbJ2dmb3JtUmVkaXJlY3QnXSkge2dmb3JtUmVkaXJlY3QoKTt9fWpRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcG9zdF9yZW5kZXInLCBbMjgsIGN1cnJlbnRfcGFnZV0pO30gKTt9ICk7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPiBqUXVlcnkoZG9jdW1lbnQpLmJpbmQoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgZnVuY3Rpb24oZXZlbnQsIGZvcm1JZCwgY3VycmVudFBhZ2Upe2lmKGZvcm1JZCA9PSAyOCkge2dmb3JtSW5pdENob3NlbkZpZWxkcygnI2lucHV0XzI4XzE2LCNpbnB1dF8yOF8xNycsJ05vIHJlc3VsdHMgbWF0Y2hlZCcpO30gfSApO2pRdWVyeShkb2N1bWVudCkuYmluZCgnZ2Zvcm1fcG9zdF9jb25kaXRpb25hbF9sb2dpYycsIGZ1bmN0aW9uKGV2ZW50LCBmb3JtSWQsIGZpZWxkcywgaXNJbml0KXtnZm9ybUluaXRDaG9zZW5GaWVsZHMoJyNpbnB1dF8yOF8xNiwjaW5wdXRfMjhfMTcnLCdObyByZXN1bHRzIG1hdGNoZWQnKTt9ICk7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPiBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wb3N0X3JlbmRlcicsIFsyOCwgMV0pIH0gKTsgPC9zY3JpcHQ+