BR102012021901A2 - Visualização de produto customizado no local - Google Patents
Visualização de produto customizado no local Download PDFInfo
- Publication number
- BR102012021901A2 BR102012021901A2 BRBR102012021901-8A BR102012021901A BR102012021901A2 BR 102012021901 A2 BR102012021901 A2 BR 102012021901A2 BR 102012021901 A BR102012021901 A BR 102012021901A BR 102012021901 A2 BR102012021901 A2 BR 102012021901A2
- Authority
- BR
- Brazil
- Prior art keywords
- oxff
- oxfe
- marker
- oxf
- nodes
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0621—Item configuration or customization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
VISUALIZAÇÃO DE PRODUTO CUSTOMIZADO NO LOCAL. São descritas técnicas para visualização de um produto na localização real no ambiente em que o produto na localização real no ambiente em que o produto deve ser usado ou exibido. Pode ser usada uma realização das abordagens descritas na presente no contexto de um sistema computadorizado que pode receber e armazenar imagens digitais, receber uma solicitação de fabricação de um produto caracterizado como customizado incluindo uma identificação de uma imagem a ser enquadrada e um tipo de moldura de papelão e/ou quadro, e que mostre uma imagem da previsão do produto caracterizado como customizado que simule a aparência real do produto, da forma mais real possível. Com esse sistema, a imagem de previsão pode ser altamente realista sob as condições idealizadas de iluminação e exibição.
Description
VISUALIZAÇÃO DE PRODUTO CUSTOMIZADO NO LOCAL
FUNDAMENTOS
Certas abordagens descritas em determinadas seções desta revelação e identificadas como “fundos” ou “abordagens anteriores” são abordagens que podem ser visadas, mas não necessariamente abordagens que tenham sido previamente concebidas ou visadas. Portanto, a menos que indicado de outra forma, deve ser suposto que qualquer das abordagens que sejam assim descritas realmente se qualifiquem como técnica anterior, simplesmente em virtude da identificação como “fundamentos” ou “abordagens anteriores.” Vários sistemas automatizados por computador estão atualmente disponíveis com os quais os usuários ou consumidores finais dos produtos podem projetar, prever e pedir produtos fabricados por encomenda que incorporem imagens ou gráficos. Os exemplos de produtos incluem roupas de uso, vasos de bebidas e itens acessórios. Em um sistema típico, um usuário ou consumidor final usa um terminal de computador com várias finalidades, como um computador pessoal com um navegador, para conectar uma rede pública a um computador servidor. O usuário seleciona uma imagem gráfica armazenada, ou carrega uma imagem digital que o usuário obteve ou fez. O usuário seleciona um tipo de produto para o qual a imagem gráfica deve se aplicar e especifica vários valores paramétricos referentes ao produto como cor, tamanho, local da colocação da imagem ou outros. O computador ou terminal servidor gera uma imagem de retribuição mostrando como o produto deverá aparecer após a fabricação customizada com a imagem especificada aplicada. O usuário aprova a imagem de retribuição e coloca um pedido para o produto. Um fabricante recebe os dados do pedido, fabrica o produto como especificado e fornece o produto customizado fabricado para o usuário.
Um tipo de produto de interesse—não oferecido nos sistemas anteriores típicos —é de materiais enquadrados ou montados. Uma moldura pode compreender uma moldura de madeira, peças de metal ou plástico. A montagem pode incluir um ou mais molduras de papelão ou pode compreender montagem flutuante. Os materiais podem incluir imagens digitais de fotografias de filme, arte digital original, impressos, pinturas, células de animação ou qualquer outro trabalho gráfico ou trabalho de artes visuais. O projeto em linha individualizado e a fabricação customizada desse material enquadrado e montado é tanto impossível ou imperfeito usando os sistemas existentes.
BREVE DESCRIÇÃO DOS DESENHOS A FIG. 1 é um fiuxograma de um processo para a visualização de um produto customizado no local; A FIG. 2 ilustra um marcador exemplar. A FIG. 3 ilustra um marcador exemplar.
As FIGS. 4A-B (coletivamente FIG. 4) são um fiuxograma de um processo para a caracterização de um sítio de usuário com um marcador. A FIG. 5 é um fiuxograma de um processo para criar um componente visual com os dados encontrados do sítio do usuário. A FIG. 6 é um diagrama de blocos que ilustra um sistema de computador com o qual as técnicas na presente podem ser constituídas.
DESCRIÇÃO DAS REALIZAÇÕES EXEMPLARES
Na seguinte descrição, com objetivos de esclarecimento, são colocados vários detalhes específicos para proporcionar uma compreensão completa da presente invenção. Entretanto, ficará aparente, que a presente invenção pode ser praticada sem esses detalhes específicos. Em outros exemplos, são mostradas estruturas e dispositivos bem conhecidos em forma de diagrama de blocos para evitar o desnecessário obscurecimento da presente invenção.
Os termos “compreendendo,” “compreende,” e “compreendem,” como usados na presente, que são sinônimos de "incluindo," "contendo," ou "caracterizado por," são inclusivos ou de extremidade aberta e não significam a exclusão de elementos adicionais, não mencionados ou de métodos.
VISUALIZAÇÃO DE UM PRODUTO CUSTOMIZADO NO LOCAL
Uma realização das abordagens da presente pode ser usada no contexto de um sistema computadorizado que pode receber e armazenar imagens digitais, receber uma solicitação de fabricação de um produto caracterizado como customizado incluindo uma identificação de uma imagem a ser enquadrada e um tipo de moldura de papelão e/ou quadro, e que mostre uma imagem da previsão do produto caracterizado como customizado que simule a aparência real do produto, da forma mais real possível. Com esse sistema, a imagem de previsão pode ser altamente realista sob as condições idealizadas de iluminação e exibição. Entretanto, a aparência das imagens enquadradas reais pode variar amplamente em diversos ambientes. Por exemplo, produtos enquadrados customizados são tipicamente exibidos pendurados em uma parede, mas a aparência do produto pode variar bastante em ambientes como salas interiores com diferentes níveis de iluminação, tipos de iluminação, tipos de paredes, papel de parede, superfícies refletivas ou outros ambientes de fundo.
Elementos e molduras de papelão enquadrados são representados em modelos 3D com valores parametrizados para permitir o redimensionamento e uso com diferentes materiais visuais. Por exemplo, modelos 3D de elementos de quadros podem ser preparados colocando o material colado no quadro real em um cavalete fixo adjacente a um primeiro espelho de superfície; é projetado um laser em um ângulo conhecido contra a superfície do material colado no quadro, sendo formada uma imagem digital da moldagem em conjunto com a linha do laser e um computador programado deduz, a partir da linha do laser, a geometria de uma superfície frontal do material colado no quadro, sendo obtido o perfil traseiro a partir do primeiro espelho de superfície. É tomada uma imagem subsequente com a linha laser removida, para capturar a textura superficial real da moldagem. A vista em perspectiva resultante da textura da superfície de moldagem é planificada para permitir o subsequente mapeamento da textura planificada em um modelo 3D gerado por computador da moldagem. Para molduras de papelão, a espessura real pode ser medida manualmente e entrada como um valor paramétrico, e uma imagem digital em vista em planta da textura da moldura de papelão pode ser tomada e usada em mapeamento de textura 3D.
Em uma realização, a imagem de previsão de um produto caracterizado como customizado pode ser modificada de forma a similar de perto a aparência real que terá o produto emoldurado customizado em um determinado ambiente.
As abordagens da presente oferecem vários benefícios em comparação com as abordagens anteriores. Por exemplo, o projeto dos marcadores exemplares mostrados na presente e a natureza do reconhecimento são diferentes para a caracterização da geometria do espaço. O projeto dos marcadores exemplares e a lógica de processamento descrita na presente permite para ambos a caracterização da geometria como também a iluminação. Essa robusta caracterização permite a garantia de que a geometria de um produto visualizado é precisa no ambiente caracterizado. Além disso, a lógica na presente pode ajustar a natureza da apresentação para compensar a cor ou o iluminamento do ambiente do usuário com base em uma imagem do usuário de um único marcador e de uma fotografia provida por um único usuário.
Além disso, o(s) sistema(s) na presente acomoda(m) a natureza dinâmica dos produtos fabricados customizados, que pode ser configurada tanto na natureza da montagem como também na natureza da decoração. O(s) sistema(s) contemplam o compartilhamento desses ambientes caracterizados em um mercado online em conjunto com o produto configurado/projetado para ser visualizado no local. A natureza “completa” do(s) sistema(s) contempla a caracterização do produto para a configuração/decoração, permitindo aos usuários a configuração/decoração e a visualização das realizações resultantes em ambientes caracterizados.
Com objetivos de ilustração do sistema e método de visualização no local, as realizações descritas na presente se referem a um produto caracterizado como customizado. Entretanto, o sistema e o método de visualização no local também podem ser usados para visualizar outros produtos customizados de montagem e exibição, para os quais seja desejável prover uma visualização no local do produto customizado para os usuários. Exemplos de outros produtos customizados para os quais o sistema e o método de visualização no local podem se aplicar incluem produtos de fabricação customizada com imagens ou textos providos pelo usuário como uma prancha de skate customizada, um globo customizado, um taco de baseball customizado, um teto de carro customizado e produtos em que ornamentos customizados tenham sido montados como, por exemplo, roupas customizadas ou outro produto ornamentável.
PROCESSO PARA A VISUALIZAÇÃO DE UM PRODUTO CUSTOMIZADO NO LOCAL
Com referência à FIG. 1, em uma realização, um processo para o processamento de dados compreende as seguintes etapas em geral: Uma representação digital de um marcador é transmitida (bloco 101) para um usuário. Por exemplo, o usuário, que pode ser um consumidor final de um serviço comercial de um produto fabricado customizado, usa um terminal de computador para conectar-se a um computador servidor associado ao serviço. O usuário estabelece uma conta com o serviço ou entra em uma conta existente. O usuário inicia um processo de projeto de um produto customizado. O usuário é avisado para baixar ou imprimir um arquivo digital, como um documento PDF ou arquivo de imagem gráfica, contendo a representação do marcador. O usuário imprime (bloco 102) o marcador em uma folha de papel. Em uma realização, o tamanho impresso da folha de papel é guardado no serviço em associação com os dados que descrevem o marcador. Por exemplo, o serviço pode guardar metadados que indicam que um determinado marcador tem 8 Yt x 11 polegadas, ou o tamanho métrico A4, ou qualquer outro tamanho adequado, e o usuário será avisado ou solicitado a imprimir o marcador em uma folha daquele tamanho. O usuário posiciona (bloco 103) o papel com o marcador em seu ambiente em um local em que o usuário deseja visualizar o produto fabricado customizado. Por exemplo, o usuário fixa a folha de papel a uma parede em que o usuário planeja montar ou exibir um produto customizável. O usuário tira (bloco 104) uma fotografia digital do marcador no local. Nesse contexto, “no local” significa a real localização no ambiente em que o produto customizado deve ser usado ou exibido. O usuário transmite (bloco 105) a fotografia para um serviço In-Situ Visualization (Visualização no Local).
Como ainda descrito na presente, o serviço usa o marcador para caracterizar (bloco 106) a posição, a orientação e a iluminação da fotografia do usuário. O serviço produz (bloco 107) um valor digital que visualiza o produto customizado no local. O valor digital pode ser produzido de maneira que o produto customizado, como visualizado pelo valor digital, reflita a posição e a orientação detectadas do marcador na fotografia do usuário e a iluminação no local real do marcador. Por exemplo, o valor digital pode ser uma imagem gráfica digital que o - serviço pode produzir para ser exibida no terminal de computador do usuário, para dar ao usuário uma visão simulada de uma aparência real do produto fabricado customizado como se montado ou exibido realmente no ambiente do usuário no local em que o usuário tiver posicionado previamente a folha. Ao invés de uma imagem digital, o valor digital pode ser um vídeo digital, um programa audiovisual digital ou um modelo gráfico do produto customizado. São agora descritos os aspectos dos componentes do processo geral precedente.
MARCADOR
Em uma realização, um marcador pode ter as seguintes características. O marcador pode ter um ou mais componentes lineares que podem ser reconhecidos, usando técnicas de reconhecimento de imagens, como linhas em uma fotografia tomada por uma câmara digital. Por exemplo, em uma realização, o marcador compreende uma pluralidade de linhas que têm tipicamente 0,25” a 0,5” polegadas de largura ou de espessura. Espera-se que os componentes lineares desses tamanhos apareçam suficientemente espessos ou em negrito em uma imagem de usuário para permitir um reconhecimento computadorizado das linhas na imagem do usuário, mesmo na presença de elementos de fundo ambientais do usuário como texturas de paredes, outros materiais montados, portas, cantos de paredes, pisos e outros elementos. Podem ser de difícil reconhecimento as linhas que forem muito finas como parte do marcador, considerando que as linhas que forem muito grossas podem ser difíceis de posicionar com precisão no espaço em relação ao ambiente.
Em uma realização, o marcador tem um limite quando impresso e fotografado, de maneira que os componentes lineares sejam isolados dos demais elementos do quadro no ambiente. O limite pode ser uma margem vazia. Assim, em uma realização, uma margem vazia separa os componentes lineares de uma borda de uma folha impressa que mostra o marcador. Portanto, a borda permite um melhor reconhecimento do marcador com relação ao ambiente e rompe ou separa a conectividade dos componentes lineares dos demais elementos da imagem que não fazem parte do marcador.
Em uma realização, os componentes lineares são dispostos para formarem um gráfico de conectividade. O gráfico de conectividade é uma associação de arcos que são conectados em pontos denominados nodos para formar uma pluralidade de regiões internas denominadas politopos. Em uma realização, cada marcador em particular tem um particular gráfico de conectividade com diferentes conectividades quando comparados a outros exemplos de marcadores determinados por uma pluralidade de características. As características exemplares que podem diferenciar um gráfico de conectividade de outro incluem aspectos de interseções de linhas, número de linhas e número de regiões internas. As realizações não exigem o uso de qualquer formato ou estilo de marcador em particular; por exemplo, enquanto um exemplo revelado na presente tem a aparência geral de uma grade retangular, podem ser usados muitos outros arranjos geométricos. O que é importante é que o serviço guardou metadados que descrevem um gráfico de conectividade de referência que deve ser visto na imagem digital do marcador e no ambiente do usuário.
Em uma realização, o formato do gráfico de conectividade do marcador tem orientação distinta. Por exemplo, cada marcador é dotado de uma ou mais características de maneira que a mudança de orientação ou de rotação do marcador produz uma aparência visual diferente. Essa característica permite uma análise de computador da imagem digital do usuário para determinar a real orientação que foi usada para o marcador quando foi colocado no ambiente do usuário.
Em uma realização, as relações espaciais do gráfico de conectividade são registradas, e usadas como meio para a detecção da posição e da orientação do marcador na fotografia. Por exemplo, a detecção pode envolver a busca para reconhecer características conhecidas dos nodos, linhas e politopos em um marcador de referência que combine com as mesmas características na imagem digital do usuário.
Em uma realização, as características dos nodos incluem uma contagem dos nodos em todo o gráfico marcador, uma contagem dos arcos que se conectam em um dado nodo, e uma adjacência de um nodo para politopos tendo uma dada contagem de nodos. Essas características de nodos podem ser usadas para diferenciar um gráfico de conectividade de outro. Isto é, se forem conhecidas à contagem de nodos, a contagem de arcos que se conectam em um dado nodo, e uma adjacência a uma contagem dos politopos de uma dada contagem de nodos, então as mesmas características podem ser identificadas quando a imagem digital do usuário é processada, e o marcador pode ser reconhecido na imagem digital do usuário somente quando as contagens e a adjacência combinarem.
Em uma realização, as características das linhas também podem ser usadas para detecção e diferenciação. Em uma realização, as características relevantes incluem o número de linhas (arcos) ou a contagem de arcos no gráfico marcador e a adjacência de cada linha para os politopos de uma dada contagem de arcos.
Em uma realização, as características das regiões ou dos politopos internos também podem ser usadas para detecção e diferenciação. Em uma realização, as características relevantes para o número de regiões internas (politopos) incluem uma contagem dos politopos no gráfico marcador e uma contagem dos nodos em cada politopo.
Em certas realizações, o gráfico de conectividade das linhas também pode ser lido pelo usuário como um símbolo, gráfico ou legenda, como uma marca ou marca comercial de uma companhia.
Em uma realização, são providos um ou mais espaços abertos no marcador impresso e podem ser desimpressos ou impressos com cores leves ou tons que proporcionem um meio para a detecção da iluminação do sítio do usuário. Os espaços abertos podem ser denominados “pontos de amostragem luminosa”. Além disso, são conhecidas as áreas de impressão completa do gráfico de linhas do marcador e podem ser denominadas de “pontos de amostragem escura”. Se os “pontos de amostragem luminosa” e os “pontos de amostragem escura” forem detectados em uma imagem de usuário do marcador no ambiente, então com base nos valores de luminância ou outros dados que representem os pontos de amostragem, o computador pode determinar um gradiente luminoso que existe entre os pontos de amostragem e pode modificar a aparência de um valor digital para simular a iluminação real no ambiente do usuário.
As cores podem compreender o preto, branco e cinza, em uma realização e podem facilitar diferentes tipos de análise de imagens. Por exemplo, se o computador não puder detectar um espaço cinza em um marcador candidato na imagem do usuário, então o computador pode determinar que a imagem do usuário tem um nível excessivo de branco ou está “apagada” e precisa ser retomada para permitir um preciso reconhecimento. A iluminação em um ambiente pode parecer ter uma tendência de cores quando registrada por um dispositivo digital como uma câmara digital. Essa tendência ocorre porque a luz que ilumina o ambiente pode ser de uma ou mais variedades dos diferentes tipos que incluem a luz solar, incandescente, de vapor de mercúrio, fluorescente, etc. que têm determinadas distribuições espectrais que o olho humano vê como branco, mas que o dispositivo digital registra como uma determinada cor.
Em uma realização, o marcador inclui uma área cinza de tonalidade média que permite um preciso reconhecimento de uma tendência de iluminação na imagem do usuário. Além disso, ou alternativamente, as tonalidades de cores pastel podem ser usadas para ajudar o reconhecimento do usuário de uma tendência de cor na iluminação do ambiente do usuário. Por exemplo, pode ser útil incluir um conhecido tom de verde ou um tom rosa nas áreas selecionadas do marcador de referência para ajudar no reconhecimento de se o ambiente do usuário está principalmente iluminado usando lâmpadas fluorescentes ou lâmpadas incandescentes e aplicar uma tendência de cor similar ao valor digital que simula o produto fabricado customizado no ambiente sob a mesma iluminação.
MARCADORES EXEMPLARES
As FIG. 2 e FIG. 3 ilustram exemplos de marcadores. Primeiro com referência à FIG. 2, em uma realização, um marcador lembra uma marca comercial de uma entidade comercial, nesse caso, o logo Z de Zazzle Inc., Redwood City, Califórnia. O marcador 202 compreende uma pluralidade de arcos 204. Os nodos exemplares 206A, 206B estão nas interseções dos arcos, e o marcador define uma pluralidade de politopos cujos exemplos são os politopos 208A, 208B, 208C. As partes de canto 210 do marcador 202 não são uniformes com relação à forma de interseção do arco, de maneira que pode ser detectada uma orientação do marcador usando técnicas análise de imagens por computador. A contagem dos arcos associada a um determinado nodo também varia; por exemplo, o nodo 206A está em uma interseção de quatro (4) arcos, considerando que o nodo 206B está em uma interseção de três (3) arcos. Portanto, quando o marcador 202 é reconhecido em uma imagem de usuário, o marcador pode se caracterizar em termos do número de nodos e da contagem de arcos em cada nodo e comparado aos dados de referência que descrevem um marcador de referência para determinar se a combinação ocorre. O marcador 202 também pode ser caracterizado pelo número de politopos adjacentes associados a um nodo; por exemplo, o nodo 206A está associado a quatro (4) politopos adjacentes considerando que o nodo 206B tem três (3) adjacências. Além disso, os dados de caracterização de um determinado marcador permite o eficiente processamento da imagem; por exemplo, um algoritmo para o reconhecimento de imagem pode ser configurado para rejeitar um item candidato reconhecido em uma imagem de usuário como um potencial marcador de combinação na primeira vez em que seja determinado que uma caracterização do item não combina com o marcador de referência. Por exemplo, quando o computador opera para o reconhecimento de um item candidato, logo que o computador determinar que o item candidato tem muito poucos ou tem muitos arcos, nodos, ou politopos, o item candidato pode ser rejeitado e o processo pode prosseguir na consideração de outro item candidato. O número de itens de caracterização de um marcador é, de preferência, relativamente pequeno para evitar a exigência de grandes quantidades desnecessárias de tempo de processamento de dados. Por exemplo, é sabido que quando um marcador é complexo e tem um grande número de arcos, nodos e politopos, o tempo de processamento e o espaço de armazenagem necessários para o preciso reconhecimento do marcador pode se tornar proibitivo. Portanto, são preferidos os marcadores com gráficos de conectividade relativamente simples.
Como outro exemplo, na FIG. 3, um marcador parece uma grade de retângulos. O arranjo da FIG. 3 oferece o benefício da adaptação de uma folha de papel de parede com tamanho retangular de letras. E ambas as FIG. 2, FIG. 3, o marcador inclui uma borda em branco à volta do perímetro do marcador, linhas suficientemente grandes para detectar uma imagem de usuário, e outras características como linhas, interseções e regiões internas que são exclusivamente reconhecíveis contra fundos. Além disso, as FIG. 2, FIG. 3 representam marcadores que incorporam formas ou gráficos que são incomuns em um meio natural, o que melhora o desempenho do processo de reconhecimento da presente.
Em várias realizações, o serviço pode prover um marcador que seja particular para o usuário ou o cliente final, ou que possa prover uma pluralidade de diferentes marcadores que o usuário final possa selecionar e baixar. Por exemplo, diferentes marcadores podem estar associados ou ligados a diferentes produtos, serviços, usuários óu classes de produtos. Por exemplo, diferentes produtos podem ter diferentes tamanhos e o usuário pode desejar visualizar dois diferentes produtos de diferentes tamanhos no mesmo ambiente geral; nesse caso, o serviço pode prover dois diferentes marcadores de diferentes tamanhos. Diferentes produtos de diferentes tamanhos também podem garantir o uso de diferentes marcadores. Por exemplo, um produto de lona para esticamento pintada ou impressa customizada pode usar um diferente tipo de marcador com relação a um deque de prancha de skate decorado customizado.
SERVIÇO DE VISUALIZAÇÃO NO LOCAL
Em uma realização, um serviço computadorizado de visualização no local compreende um ou mais programas de computador ou outros elementos de software que são configurados para realizar as seguintes tarefas gerais: caracterização do site do usuário com o marcador; criação de um componente visual usando os dados encontrados do site do usuário e uma fotografia ou outra imagem digital; apresentação do valor digital.
PROCESSO PARA A CARACTERIZAÇÃO DO SITE DO USUÁRIO COM UM MARCADOR
Em uma realização, a caracterização do site do usuário com o marcador geralmente compreende o reconhecimento digital de um gráfico conectado com base em um gráfico de referência usando um processo ilustrado em formato de fluxograma na FIG. 4.
Primeiro, supor como descrito acima, que o usuário tenha feito uma cópia impressa (bloco 102) de um marcador, colocado (bloco 103) o marcador impresso no ambiente do usuário em um local em que um produto customizado será exibido ou montado, tirado (bloco 104) uma fotografia ou imagem digital do ambiente, incluindo o marcador, e carregado (bloco 105) a fotografia do usuário para o serviço. Por exemplo, a fotografia do usuário pode ser uma imagem digital de uma parte do interior de uma sala em que o marcador tenha sido fixado a uma parede. O processo da FIG. 4 pode ser constituído em lógica de computador para reconhecer o marcador na fotografia do usuário, por exemplo, como parte do uso (bloco 106) da fotografia do usuário do marcador para caracterizar a foto do usuário, o local e a orientação do marcador, e iluminação no local do marcador: É produzida uma imagem linear por meio da filtragem (bloco 401) da fotografia do usuário, de maneira que as características lineares na faixa de tamanhos das linhas do marcador sejam deixadas e outras características não lineares sejam filtradas. Por exemplo, pode ser usado um filtro de passagem de banda limitada ou um filtro de borda. O resultado é uma imagem produzida que quando exibida compreende somente características lineares na faixa de tamanho das linhas do marcador como preto em um fundo branco. A imagem linear é ainda filtrada (bloco 402) em um conjunto Booleano de pixels usando autômatos celulares, de maneira que os elementos lineares tenham um (1) pixel em largura, e cada linha seja representada na imagem por seus pixels sendo estabelecidos como verdade. São providas tabelas de valores exemplares para autômatos celulares no exemplo de pseudocódigo abaixo. A abordagem de autômatos celulares usa um sistema regrado com entradas de vizinhança limite. Na abordagem de autômatos celulares, os pixels vizinhos de um determinado pixel em consideração formam instruções ou opcodes para um autômato que produz um valor de pixel resultante com base na entrada, e o determinado pixel é então substituído pelo valor de pixel resultante. Diferente de pedidos anteriores de autômatos celulares, na presente abordagem, são aplicados autômatos celulares para o adelgaçamento de linha. É provido abaixo um exemplo de pseudocódigo da abordagem dos autômatos celulares. O conjunto de pixels é percorrido (bloco 403). Quando um verdadeiro pixel é encontrado, é construído um gráfico candidato percorrendo os pixels conectados. Por exemplo, quando são identificados pixels conectados, então é reconhecido um nodo. Caso não forem encontrados pixels verdadeiros, algoritmo termina. Como o gráfico candidato é criado e guardado na memória, se as contagens de nodos, arcos ou polítopos forem maiores que as do gráfico de referência, o gráfico candidato é colocado, sendo estabelecidos como falsos os valores armazenados de todos os pixels conectados da presente rede de linha. Em uma realização, o gráfico candidato e o gráfico de referência são representados em um computador usando uma estrutura de dados de borda alada. Podem ser usadas outras estruturas e modelos de dados para representar o gráfico de conectividade candidato e o gráfico de conectividade de • referência e a invenção não se limita à estrutura de dados de borda alada.
Construindo e usando os gráficos de conectividade, o processo pode descartar rapidamente os gráficos candidatos que não obedecerem a um ou mais critérios de conectividade do gráfico de referência. Esse processo é diferente de outras abordagens em que o reconhecimento e a caracterização completos de um gráfico candidato na imagem do usuário possam ser necessários. Por exemplo, na presente abordagem não há necessidade de completar o reconhecimento de um gráfico candidato que ficar excessivamente grande; é simplesmente descartado na primeira oportunidade, aumentando o desempenho e reduzindo o tempo para reconhecer o marcador. No término do gráfico candidato, se as contagens dos nodos, arcos ou polítopos forem menores que as do gráfico de referência, o gráfico candidato é descartado.
Se um conjunto completo de características de conectividade do gráfico candidato combinar com o (bloco 404) gráfico de referência, o algoritmo continua no bloco 407. Se um gráfico candidato é descartado ou rejeitado e não existirem mais pixels verdadeiros no conjunto de pixels (bloco 405), o prosseguimento do conjunto de pixels continua no bloco 403. De outra forma, o algoritmo termina (bloco 406) possivelmente com uma notificação ao usuário que o marcador não pôde ser detectado na fotografia do usuário.
Quando existir uma combinação no gráfico candidato, a orientação e a posição do gráfico de combinação na fotografia do usuário são encontradas calculando (bloco 407) a transformada marcadora, que mapeia os nodos conhecidos no gráfico de referência para encontrar nodos no gráfico de combinação. Assim, quando um gráfico de conectividade que combine é identificado, as coordenadas de pixels dentro da imagem do usuário dos nodos, arcos e politopos são conhecidas, e podem ser mapeadas usando a transformada marcadora para o gráfico de referência. Podem ser usadas técnicas de mapeamento de pontos usando a decomposição de um valor singular, por exemplo, para determinar a transformada marcadora.
Quando a transformada marcadora é determinada, podem ser encontrados pontos de amostragem luminosa (bloco 408) na fotografia. Esses pontos são usados para determinar um ponto branco para a imagem, e um gradiente de luminância ou mapa para a apresentação da componente visual. Por exemplo, as coordenadas no espaço de referência de um primeiro ponto de amostragem luminosa podem ser transformadas, usando a transformada marcadora, para pontos equivalentes no espaço da imagem de usuário; naqueles pontos, podem ser amostrados ou obtidos valores de pixels para determinar um valor branco de base para a imagem do usuário. Em uma realização, o gradiente de luminância é um conjunto de valores que representa uma faixa da magnitude de luz refletida no ambiente do usuário, e pode ser representado por um conjunto de valores delta no espaço imagem, por exemplo, valores Au e ??.
Também pode ser usada uma transformada marcadora (bloco 409) para encontrar os pontos de amostragem escura na imagem do usuário, que são usadas para estabelecer um ponto negro para a apresentação da componente visual. Assim, as informações podem ser extrapoladas no ambiente do usuário, incluindo sua geometria e iluminação, podendo ser aplicadas as alterações adequadas na imagem em termos de espectro cromático, luminância, brilho, e demais atributos de maneira que a imagem apareça, na tela do computador do usuário, o mais similar possível à aparência real do produto fabricado customizado quando é instalado no ambiente do usuário.
PROCESSO PARA CRIAR UM COMPONENTE VISUAL COM DADOS ENCONTRADOS DO SITE DO USUÁRIO
Em uma realização, a criação de um componente visual usando os dados encontrados do site do usuário e uma fotografia ou outra imagem digital pode envolver as etapas ilustradas no fluxograma da FIG. 5.
Inicialmente, é construída uma componente visual usando camadas como a seguir. A fotografia do usuário é ajustada (bloco 501) usando os dados obtidos a partir dos pontos de amostragem luminosa e dos pontos de amostragem escura. É colocada uma referência do produto customizado (bloco 502) na fotografia do usuário usando a transformada marcadora para a colocação; a referência do produto customizado pode compreender um nome ou um identificador exclusivo, um suporte de lugar geométrico como um retângulo dentro de um sistema de coordenadas, e aquele sistema de coordenadas transformado usando uma transformada marcadora, que representa o produto fabricado customizado no qual o usuário esteja interessado. O gradiente de luminância é aplicado (bloco 503) para modificar a luminância do produto customizado de maneira a combinar o gradiente de luz da fotografia do usuário com base em um ponto de luminância conhecida no espaço da imagem do usuário.
Segundo, o produto customizado é exibido (bloco 504) usando as seguintes etapas. Em uma realização, o usuário escolhe o produto customizado e seus atributos que interagem com o serviço. Em uma realização, é carregada a componente visual no local do usuário. Em uma realização, é configurada a componente de apresentação do produto customizado. Em uma realização, a referência do produto customizado é estabelecida na componente do Produto Customizado.
Finalmente, em uma realização, a componente no local é colocada e enviada á unidade de display ou o browser do usuário. VISÃO GERAL DA IMPLEMENTAÇÃO—HARDWARE DO MECANISMO.
De acordo com uma realização, as técnicas descritas na presente são constituídas por um ou mais dispositivos especiais de computação. Os dispositivos especiais de computação podem ser com fios para realizarem as técnicas, ou podem incluir dispositivos eletrônicos digitais como um ou mais circuitos integrados de aplicação específica (ASICs) ou arranjo de portas programável em campo (FPGAs) que são programados com persistência para realizar as técnicas, ou podem incluir um ou mais processadores de hardware de propósitos geral programados para realizarem as técnicas de acordo com instruções do programa em firmware, memória, outras armazenagens ou uma combinação. Esses dispositivos especiais de computação também podem combinar lógica customizada com fio, ASICs, ou FPGAs com programação customizada para cumprir as técnicas. Os dispositivos especiais de computação podem ser sistemas de computadores desktop, sistemas de computadores portáteis, dispositivos manuais, dispositivos em rede ou qualquer outro dispositivo que incorpore lógica de programa e/ou hardware com fio para constituir as técnicas.
Por exemplo, a FIG. 6 é um diagrama de blocos que ilustra um sistema de computador 600. O sistema de computador 600 inclui um barramento 602 ou outro mecanismo de comunicação para a comunicação de informações, e um processador de hardware 604 acoplado ao barramento 602 para o processamento de informações. O processador hardware 604 pode ser, por exemplo, um microprocessador de propósitos gerais. O sistema de computador 600 também inclui uma memória principal 606, como uma memória de acesso randômico (RAM) ou outro dispositivo de armazenagem dinâmica, acoplado a um barramento 602 para guardar informações e instruções a serem executadas pelo processador 604. A memória principal 606 também pode ser usada para guardar variáveis temporárias ou outras informações intermediárias durante a execução das instruções para serem executadas pelo processador 604. Essas instruções, quando guardadas em mídia de armazenagem não transitória acessível ao processador 604, transformam o sistema de computador 600 em uma máquina de propósitos especiais customizada para realizar as operações especificadas nas instruções. O sistema de computador 600 ainda inclui uma memória somente de leitura (ROM) 608 ou outro dispositivo estático de armazenagem acoplado a um barramento 602 para guardar as informações e instruções estáticas para o processador 604. Um dispositivo de armazenagem 610, como um disco magnético ou um disco ótico, é provido e acoplado ao barramento 602 para guardar informações e instruções. O sistema de computador 600 pode ser acoplado por um barramento 602 a um display 612, como um tubo de raios catódicos (CRT), para a exibição de informações ao usuário do computador. É acoplado um dispositivo de entrada 614, incluindo teclas alfanuméricas e outras teclas, ao barramento 602 para a comunicação das informações e comandar seleções para o processador 604. Outro tipo de dispositivo de entrada de usuário é o controle cursor 616, como um mouse, um trackball, ou teclas de direção do cursor para a comunicação de informações de direção e seleções de comando ao processador 604 e para o controle do movimento do cursor no display 612. O dispositivo de entrada tem normalmente dois graus de liberdade em dois eixos, um primeiro eixo (ex., x) e um segundo eixo (ex., y), que seguem o dispositivo para especificar as posições em um plano.
Um sistema de computador 600 pode desenvolver as técnicas descritas na presente usando lógica customizada com fio, um ou mais ASICs ou FPGAs, firmware e/ou lógica de programa que, em combinação com o sistema de computador torna ou programa o sistema de computador 600 em uma máquina de propósitos especiais. De acordo com uma realização, as técnicas da presente são realizadas pelo sistema de computador 600 em resposta ao processador 604 executando uma ou mais sequências de uma ou mais instruções contidas na memória principal 606. Essas instruções podem ser lidas na memória principal 606 a partir de outra mídia de armazenagem, como de um dispositivo de armazenagem 610. A execução das sequências de instruções contidas na memória principal 606 faz o processador 604 realizar as etapas do processo descrito na presente. Em realizações alternativas, os circuitos com fios podem ser usados no lugar ou em combinação com instruções de software. O termo “mídia de armazenagem” como usado na presente, se refere a qualquer mídia não transitória que guarde dados e/ou instruções que façam a máquina operar de uma maneira específica. Essa mídia de armazenagem pode compreender mídia não volátil e/ou mídia volátil. A mídia não volátil inclui, por exemplo, discos óticos ou magnéticos, como o dispositivo de armazenagem 610. A mídia volátil inclui a memória dinâmica, com a memória principal 606. As formas comuns de mídia de armazenagem incluem, por exemplo, disquetes, discos flexíveis, disco rígido, drives em estado sólido, fita magnética ou qualquer outra mídia para a armazenagem de dados magnéticos, um CD-ROM, qualquer outra mídia de armazenagem de dados óticos, qualquer mídia física com padrões de furos, um RAM, um PROM, e EPROM, um FLASH-EPROM, NVRAM, qualquer outro chip ou cartucho de memória.
As mídias de armazenagem são distintas, mas podem ser usadas em conjunto com uma mídia de transmissão. A mídia de transmissão participa na transferência de informações entre as mídias de armazenagem. Por exemplo, a mídia de transmissão inclui cabos coaxiais, fios de cobre e fibras óticas, incluindo a fiação que compreende o barramento 602. A mídia de transmissão também pode ter a forma de ondas acústicas ou luminosas, como as geradas durante as comunicações por ondas de rádio e dados infravermelhos.
Podem ser envolvidas várias formas de mídias na realização de uma ou mais sequências de uma ou mais instruções para o processador 604 executar. Por exemplo, as instruções podem ser inicialmente realizadas em um disco magnético ou em drive de estado sólido de um computador remoto. O computador remoto pode carregar as instruções em sua memória dinâmica e enviar as instruções por uma linha telefônica usando um modem. Um modem local ao sistema de computador 600 pode receber os dados na linha telefônica e usar um transmissor infravermelho para converter os dados em um sinal infravermelho. Um detector infravermelho pode receber os dados transportados no sinal infravermelho e os circuitos adequados podem colocar os dados no barramento 602. O barramento 602 transporta os dados para a memória principal 606, da qual o processador 604 recupera e executa as instruções. As instruções recebidas pela memória principal 606 podem opcionalmente ser guardadas no dispositivo de armazenagem 610 antes ou depois da execução pelo processador 604. O sistema de computador 600 também inclui uma interface de comunicações 618 acoplada a um barramento 602. A interface de comunicações 618 fornece um acoplamento de comunicações de dados em via dupla para um link de rede 620 que está ligado a uma rede local 622. Por exemplo, a interface de comunicações 618 pode ser um cartão de rede digital de serviços integrados (ISDN), um modem de cabo, modem de satélite ou um modem para prover conexão para comunicações de dados para um tipo correspondente de linha telefônica. Como outro exemplo, a interface de comunicações 618 pode ser um cartão de rede de área local (LAN) para prover a conexão de comunicações de dados para uma LAN compatível. Links sem fio também podem ser considerados. Em quaisquer dessas implementações, a interface de comunicações 618 envia e recebe sinais elétricos, eletromagnéticos ou óticos que transportam fluxos de dados digitais que representam vários tipos de informações. O link de rede 620 normalmente fornece comunicação de dados por meio de uma ou de mais redes para outros dispositivos de dados. Por exemplo, o link de rede 620 pode prover uma conexão pela rede local 622 a um computador host 624 ou para um equipamento de dados operado por um Provedor de Serviços de Internet (ISP) 626. O ISP 626 por sua vez, fornece serviços de comunicações de dados por meio da rede mundial de comunicações de dados, atualmente denominada como “Internet” 628. Tanto a rede local 622 como a Internet 628 usam sinais elétricos, eletromagnéticos ou óticos que transportam os fluxos de dados digitais. Os sinais pelas várias redes e os sinais do link de rede 620 e pela interface de comunicações 618, que levam os dados digitais do e para o sistema de computador 600, são formas de exemplos de mídias de transmissão. O sistema de computador 600 pode enviar mensagens e receber dados, incluindo códigos de programas, pela(s) rede(s), link de rede 620 e interface de comunicações 618. No exemplo da Internet, um servidor 630 pode transmitir um código solicitado para um programa aplicativo pela Internet 628, ISP 626, rede local 622 e interface de comunicações 618. O código recebido pode ser executado pelo processador 604 como recebido, e/ou armazenado no dispositivo de armazenagem 610, ou em outra armazenagem não volátil para execução posterior.
EXTENSÕES E ALTERNATIVAS
Nas especificações acima, as realizações da invenção foram descritas com referência a numerosos detalhes específicos que podem variar de realização para realização. Assim, o único e exclusivo indicador do que a invenção se trata, e do que é pretendido pelos solicitantes como sendo a invenção, é o estabelecimento de acordo com as reivindicações que acompanham este pedido, na forma específica apresentada nas reivindicações, incluindo todas as correções subsequentes. Todas as definições expressamente apresentadas na presente para os termos contidos nas reivindicações regerão o significado desses termos como usados nas reivindicações. Assim, nenhuma limitação, elemento, propriedade, característica, vantagem ou atributo que não estiver expressamente mencionado na reivindicação deve limitar o escopo desta reivindicação de qualquer forma. As especificações e desenhos são também vistos como ilustrativos, ao invés de restritivos.
EXEMPLO DE PSEUDOCÓDIGO
Segue-se um exemplo de pseudocódigo da abordagem dos autômatos celulares para o adelgaçamento de linha discutido acima: #define ON Oxff #define ALWAYSJDN Oxfe ^********************************************************************* * Procedure: * EVAL_NEIGHBOR * * Description: * Returns * 0 ifthe pixel value < thresh * 1 ifthe pixel value < ALWAYS_ON
* 2 ifthe pixel value >= ALWAYS_ON * ******************************************************************** #define EVAL_NEIGHBOR(nO)((INT32)(buff[nO] >= thresh) + (INT32)(buff[nO] >= ALWAYS_ON)) y********************************************************************* * Procedure: * EvaluatePixel * * Description: * Evaluates a single pixel by examining its 3x3 neighborhood com * the rules held in thinTab. This is called for each pixel in an * image to perform one thin pass. thresh starts at 0 e is * incremented for each thin pass. thinning is done quando thresh is * not returned during a thinPass ********************************************************************f UINT8 ThinMap::EvaluatePixei (BYTE *buff, UINT8 thresh, INT32 inc, INT32 row) { INT32 value; INT32 index = 0; // build the lookup key for thintab // thintab Stores three States for each // of the 8 pixels in the neighborhood index = EVALNElGHBOR(-inc); // o o o //xoo // o o o value = EVAL_NEIGHBOR(row-inc); // o o o index = value + (index * 3);// o o o //xoo value = EVAL NElG?BOR(row); // o o o index = value + (index * 3);// o o o II oxo value = EVAL_NEIGHBOR(inc+row); // o o o index = value + (index * 3);// o o o // o o x value = EVAL_NEIGHBOR(inc); // o o o index = value + (index * 3);// o o x // o o o value = EVAL_NEIGHBOR(+inc-row); // o o x index = value + (index * 3);// o o o II o o o value = EVAL_NEIG?BOR(-row); // o x o index = value + (index * 3);// o o o // o o o value = EVAL_NEIGHBOR(-inc-row); // x o o index = value + (index * 3);// o o o // o o o value = thinTab[index]; if (value < ALWAYSON) { return(thresh); } return(value) } static UINT8 thinTab[] = { Oxfe, Oxfe, Oxfe, Oxfe, Oxff, OxOO, Oxfe, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, ????, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff. Oxff, 0x00, 0x00, 0x00, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, OxOO, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, - Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, Oxfe, Oxff, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, OxOO, OxOO, OxOO, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, OxOO, OxOO, OxOO, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, OxOO, OxOO, OxOO, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, OxOO, OxOO, OxOO, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, OxOO, OxOO, OxOO, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, OxOO, OxOO, OxOO, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, . Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Qxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff};
Claims (15)
1. MÉTODO IMPLEMENTADO POR COMPUTADOR, para a visualização de um produto customizado no local, o método caracterizado por compreender: armazenagem dos primeiros dados que representam um gráfico de conectividade de referência de um marcador; obtenção de uma imagem digital pelo menos do marcador; análise da imagem digital para a geração de segundos dados que representam um gráfico de conectividade candidato; com base em pelo menos parte dos primeiros dados e dos segundos dados, determinar se o gráfico de conectividade candidato combina com o gráfico de conectividade de referência; em resposta à determinação de que o gráfico de conectividade candidato combina com o gráfico de conectividade de referência, gerar terceiros dados que pelo menos mapeiem os nodos do gráfico de conectividade de referência com os nodos do gráfico de conectividade candidato; criar um componente visual que visualize o produto customizado na imagem digital usando pelo menos os terceiros dados.
2. MÉTODO, de acordo com a reivindicação 1, caracterizado em que os primeiros dados indicam um ou mais de: uma contagem dos nodos do gráfico de conectividade de referência, uma contagem dos arcos que conectam a um determinado nodo do gráfico de conectividade de referência, uma contagem das linhas ou arcos do gráfico de conectividade de referência, uma contagem dos politopos do gráfico de conectividade de referência, ou uma contagem dos nodos de um determinado politopo do gráfico de conectividade de referência.
3. MÉTODO, de acordo com a reivindicação 1, caracterizado em que os segundos dados indicam um ou mais de: uma contagem dos nodos do gráfico de conectividade de referência, uma contagem dos arcos que conectam a um determinado nodo do gráfico de conectividade de referência, uma contagem das linhas ou arcos do gráfico de conectividade de referência, uma contagem dos politopos do gráfico de conectividade de referência, ou uma contagem dos nodos de um determinado politopo do gráfico de conectividade de referência.
4. MÉTODO, de acordo com a reivindicação 1, caracterizado em que o marcador compreende um ou mais espaços abertos coloridos para auxiliar uma técnica de análise de imagem digital aplicada à imagem digital na detecção de iluminação no ambiente em que o marcador foi fotografado; e em que pelo menos um ou mais espaços abertos coloridos é colorido em um cinza de tonalidade média ou uma tonalidade de cor pastel para auxiliar a técnica de análise de imagem digital na detecção de tendência de cor de iluminação no ambiente em que o marcador foi fotografado.
5. MÉTODO, de acordo com a reivindicação 1, caracterizado por ainda compreender: análise da imagem digital para detectar um ou mais pontos de amostragem luminosa e um ou mais pontos de amostragem escura; determinação de um gradiente luminoso que existe entre os pontos de amostragem; construção do componente visual com base no gradiente luminoso para simular a iluminação no ambiente em que o marcador foi fotografado.
6. MÉTODO, de acordo com a reivindicação 1, caracterizado por ainda compreender: aplicação de um filtro de passagem de banda limitada ou um filtro de borda para a imagem digital produzir uma imagem digital que compreenda características lineares em uma faixa de tamanho de linhas do marcador como preto em fundo branco; e usar um autômato celular regrado com entradas com vizinhança limitada para adelgaçar pelo menos uma das características lineares.
7. MÉTODO, de acordo com a reivindicação 1, caracterizado em que a geração dos terceiros dados compreende o cálculo de uma transformada marcadora que mapeia os nodos do gráfico de conectividade de referência para os nodos do gráfico de conectividade candidato; e em que o método ainda compreende a determinação de uma orientação ou posição do marcador na imagem digital usando a transformada marcadora.
8. MÉTODO, de acordo com a reivindicação 1, caracterizado em que a geração dos terceiros dados compreende o cálculo de uma transformada marcadora que mapeia os nodos do gráfico de conectividade de referência para os nodos do gráfico de conectividade candidato; e em que o método ainda compreende o uso de uma técnica de mapeamento de pontos que envolve a decomposição de um valor singular para determinar a transformada marcadora.
9. MÉTODO, de acordo com a reivindicação 1, caracterizado em que a geração dos terceiros dados compreende o cálculo de uma transformada marcadora que mapeia os nodos do gráfico de conectividade de referência para os nodos do gráfico de conectividade candidato; e em que o método ainda compreende: usar a transformada marcadora para transformar coordenadas de um ponto de amostragem luminosa em um espaço coordenado do marcador para um ponto em um espaço coordenado da imagem digital; e amostrar valores pixel em um ponto no espaço coordenado da imagem digital para determinar um valor branco de base.
10. MÉTODO, de acordo com a reivindicação 1, caracterizado em que a geração dos terceiros dados compreende o cálculo de uma transformada marcadora que mapeia os nodos do gráfico de conectividade de referência para os nodos do gráfico de conectividade candidato; e em que a construção do componente visual compreende a colocação de uma referência do produto customizado na imagem digital usando a transformada marcadora para a colocação.
11. MÉTODO, de acordo com a reivindicação 1, caracterizado por ainda compreender: análise da imagem digital para detectar um ou mais pontos de amostragem luminosa e um ou mais pontos de amostragem escura; determinar um gradiente luminoso que existe entre os pontos de amostragem; em que construção do componente visual inclui a modificação da luminância do componente visual para combinar com o gradiente luminoso.
12. MÉTODO, de acordo com a reivindicação 1, caracterizado em que o componente visual é uma imagem digital.
13. MÍDIA PARA ARMAZENAGEM DE LEITURA POR COMPUTADOR, caracterizado por que armazena uma ou mais sequências de instruções que, quando executadas, faz com que um ou mais processadores realizem um método como mencionado em qualquer das reivindicações 1-12.
14 UM OU MAIS DISPOSITIVOS PARA A COMPUTAÇÃO COM PROPÓSITOS ESPECIAIS, caracterizados por compreender: um ou mais processadores; meios acoplados a um ou mais processadores, para realizar qualquer das etapas mencionadas em qualquer das reivindicações 1-12.
15. SISTEMA DE COMPUTADOR, caracterizado por compreender uma combinação de circuitos com fios e lógica de programa armazenada para realizar o método como mencionado em qualquer das reivindicações 1-12. 10! —-? TRANSMITIR MARCADOR AO USUÁRIO _____________________i---------------------- 102 -- USUÁRIO IMPRIME MARCADOR NO PAPEL i_____________________a_____________________ 103 —“ O USUÁRIO POSICIONA O PAPEL NO LOCAL _____________________i______________________ 104 —-ví O USUÁRIO faz fotografia digital FIGJ ____________DO MARCADOR NO LOCAL____________ 105 —^ — RECEBE FOTOGRAFIA DIGITAL DO MARCADOR _____________________i---------------------- 106 -v^ USA FOTOGRAFIA DIGITAL DO MARCADOR PARA CARACTERIZAR A FOTOGRAFIA E A LOCALIZAÇÃO. _____________________i---------------------- 107 —PRODUZ COMPONENTE DIGITAL QUE VISUALIZA UM PRODUTO CUSTOMIZADO NO LOCAL
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161529883P | 2011-08-31 | 2011-08-31 | |
US61/529,883 | 2011-08-31 | ||
US13/539,788 US9147213B2 (en) | 2007-10-26 | 2012-07-02 | Visualizing a custom product in situ |
US13/539,788 | 2012-07-02 |
Publications (3)
Publication Number | Publication Date |
---|---|
BR102012021901A2 true BR102012021901A2 (pt) | 2014-12-09 |
BR102012021901A8 BR102012021901A8 (pt) | 2015-10-27 |
BR102012021901B1 BR102012021901B1 (pt) | 2020-10-27 |
Family
ID=47146155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR102012021901-8A BR102012021901B1 (pt) | 2011-08-31 | 2012-08-30 | método implementado por computador, mídia para armazenagem de leitura por computador, um ou mais dispositivos para a computação com propósitos especiais e sistema de computador |
Country Status (6)
Country | Link |
---|---|
US (3) | US9147213B2 (pt) |
EP (3) | EP2565824B1 (pt) |
JP (1) | JP5646564B2 (pt) |
AU (1) | AU2012211439B2 (pt) |
BR (1) | BR102012021901B1 (pt) |
CA (1) | CA2785412C (pt) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8174521B2 (en) * | 2007-10-26 | 2012-05-08 | Zazzle.Com | Product modeling system and method |
US9147213B2 (en) | 2007-10-26 | 2015-09-29 | Zazzle Inc. | Visualizing a custom product in situ |
US11157977B1 (en) | 2007-10-26 | 2021-10-26 | Zazzle Inc. | Sales system using apparel modeling system and method |
US10936650B2 (en) | 2008-03-05 | 2021-03-02 | Ebay Inc. | Method and apparatus for image recognition services |
US9495386B2 (en) | 2008-03-05 | 2016-11-15 | Ebay Inc. | Identification of items depicted in images |
US10719862B2 (en) | 2008-07-29 | 2020-07-21 | Zazzle Inc. | System and method for intake of manufacturing patterns and applying them to the automated production of interactive, customizable product |
US9164577B2 (en) | 2009-12-22 | 2015-10-20 | Ebay Inc. | Augmented reality system, method, and apparatus for displaying an item image in a contextual environment |
US9213920B2 (en) | 2010-05-28 | 2015-12-15 | Zazzle.Com, Inc. | Using infrared imaging to create digital images for use in product customization |
US10127606B2 (en) | 2010-10-13 | 2018-11-13 | Ebay Inc. | Augmented reality system and method for visualizing an item |
WO2013033644A1 (en) | 2011-08-31 | 2013-03-07 | Zazzle.Com, Inc. | Tiling process for digital image retrieval |
US9449342B2 (en) | 2011-10-27 | 2016-09-20 | Ebay Inc. | System and method for visualization of items in an environment using augmented reality |
US10969743B2 (en) | 2011-12-29 | 2021-04-06 | Zazzle Inc. | System and method for the efficient recording of large aperture wave fronts of visible and near visible light |
US9240059B2 (en) | 2011-12-29 | 2016-01-19 | Ebay Inc. | Personal augmented reality |
JP5912059B2 (ja) * | 2012-04-06 | 2016-04-27 | ソニー株式会社 | 情報処理装置、情報処理方法及び情報処理システム |
US10846766B2 (en) | 2012-06-29 | 2020-11-24 | Ebay Inc. | Contextual menus based on image recognition |
US9336541B2 (en) | 2012-09-21 | 2016-05-10 | Paypal, Inc. | Augmented reality product instructions, tutorials and visualizations |
US8712566B1 (en) | 2013-03-14 | 2014-04-29 | Zazzle Inc. | Segmentation of a product markup image based on color and color differences |
JP6976682B2 (ja) * | 2013-03-15 | 2021-12-08 | ビデリ、インコーポレイテッドVideri Inc. | デジタル・アートを表示、配信、鑑賞および制御し、画像形成するためのシステムおよび方法 |
US9330407B2 (en) * | 2013-03-15 | 2016-05-03 | Zazzle Inc. | Specification and display of product customization options |
US8958663B1 (en) * | 2013-09-24 | 2015-02-17 | Zazzle Inc. | Automated imaging of customizable products |
US9767430B2 (en) * | 2013-11-11 | 2017-09-19 | International Business Machines Corporation | Contextual searching via a mobile computing device |
US9204018B2 (en) | 2014-01-21 | 2015-12-01 | Carbon Objects, Inc. | System and method of adjusting the color of image objects based on chained reference points, gradient characterization, and pre-stored indicators of environmental lighting conditions |
US9639957B2 (en) * | 2014-06-12 | 2017-05-02 | A9.Com, Inc. | Recommendations utilizing visual image analysis |
US9956788B2 (en) | 2015-11-24 | 2018-05-01 | Stitch City Industries | Devices and methods for printing on boards |
US10404938B1 (en) | 2015-12-22 | 2019-09-03 | Steelcase Inc. | Virtual world method and system for affecting mind state |
US10156842B2 (en) | 2015-12-31 | 2018-12-18 | General Electric Company | Device enrollment in a cloud service using an authenticated application |
US10181218B1 (en) | 2016-02-17 | 2019-01-15 | Steelcase Inc. | Virtual affordance sales tool |
US10182210B1 (en) | 2016-12-15 | 2019-01-15 | Steelcase Inc. | Systems and methods for implementing augmented reality and/or virtual reality |
US11501224B2 (en) | 2018-01-24 | 2022-11-15 | Andersen Corporation | Project management system with client interaction |
EP4270016A3 (en) | 2018-07-24 | 2024-02-07 | Magic Leap, Inc. | Temperature dependent calibration of movement detection devices |
US11328495B2 (en) * | 2018-08-06 | 2022-05-10 | Wrapmate Llc | Systems and methods for generating vehicle wraps |
US11158308B1 (en) * | 2019-11-27 | 2021-10-26 | Amazon Technologies, Inc. | Configuring natural language system |
DE102020112700A1 (de) | 2020-05-11 | 2021-11-11 | painted life pieces GbR (vertretungsberechtigter Gesellschafter: Ekaterina Zacharova , 83703 Gmund) | Druckbearbeitungsvorrichtung und Verfahren |
WO2022231705A1 (en) | 2021-04-26 | 2022-11-03 | Zazzle Inc. | Generating customized products in collaboration with live designers and agents |
US11915199B2 (en) | 2021-06-03 | 2024-02-27 | Zazzle Inc. | Moment-based gifts and designs generated using a digital product collaboration platform |
US11915200B2 (en) | 2021-07-29 | 2024-02-27 | Zazzle Inc. | Collaborative video chat screen sharing using a digital product collaboration platform |
US20230125873A1 (en) | 2021-10-21 | 2023-04-27 | Zazzle Inc. | Interfacing with third party platforms via collaboration sessions |
US20230385465A1 (en) | 2022-05-29 | 2023-11-30 | Zazzle Inc. | System and method for authoring high quality renderings and generating manufacturing output of custom products |
US20230386196A1 (en) | 2022-05-29 | 2023-11-30 | Zazzle Inc. | System and method for authoring high quality renderings and generating manufacturing output of custom products |
US12056343B2 (en) | 2022-05-29 | 2024-08-06 | Zazzle, Inc. | System and method for authoring high quality renderings and generating manufacturing output of custom products |
US20230386108A1 (en) | 2022-05-29 | 2023-11-30 | Zazzle Inc. | System and method for authoring high quality renderings and generating manufacturing output of custom products |
US20240020430A1 (en) | 2022-05-29 | 2024-01-18 | Zazzle Inc. | System and method for authoring high quality renderings and generating manufacturing output of custom products |
US20230385466A1 (en) | 2022-05-29 | 2023-11-30 | Zazzle Inc. | System and method for authoring high quality renderings and generating manufacturing output of custom products |
US20230385467A1 (en) | 2022-05-29 | 2023-11-30 | Zazzle Inc. | System and method for authoring high quality renderings and generating manufacturing output of custom products |
US20240303706A1 (en) | 2023-03-12 | 2024-09-12 | Zazzle Inc. | Generating and determining additional content and products based on product-tokens |
US20240303705A1 (en) | 2023-03-12 | 2024-09-12 | Zazzle Inc. | Generating and determining additional content and products based on product-tokens |
US20240303961A1 (en) | 2023-03-12 | 2024-09-12 | Zazzle Inc. | Generating and determining additional content and products based on product-tokens |
US20240303959A1 (en) | 2023-03-12 | 2024-09-12 | Zazzle Inc. | Generating and determining additional content and products based on product-tokens |
US20240303960A1 (en) | 2023-03-12 | 2024-09-12 | Zazzle Inc. | Generating and determining additional content and products based on product-tokens |
US20240303709A1 (en) | 2023-03-12 | 2024-09-12 | Zazzle Inc. | Generating and determining additional content and products based on product-tokens |
Family Cites Families (136)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5039132A (en) | 1990-01-25 | 1991-08-13 | Minnesota Mining And Manufacturing Company | Method and form used for ordering custom printed products |
US5615123A (en) | 1991-04-02 | 1997-03-25 | Creatacard, Inc. | System for creating and producing custom card products |
KR0183795B1 (ko) | 1995-12-28 | 1999-05-01 | 김광호 | 색상 조정 방법 및 장치 |
US6058373A (en) | 1996-10-16 | 2000-05-02 | Microsoft Corporation | System and method for processing electronic order forms |
US5897622A (en) | 1996-10-16 | 1999-04-27 | Microsoft Corporation | Electronic shopping and merchandising system |
US5999914A (en) | 1996-10-16 | 1999-12-07 | Microsoft Corporation | Electronic promotion system for an electronic merchant system |
GB9707704D0 (en) | 1997-04-16 | 1997-06-04 | British Telecomm | Display terminal |
US6345278B1 (en) | 1998-06-04 | 2002-02-05 | Collegenet, Inc. | Universal forms engine |
JP2000215317A (ja) * | 1998-11-16 | 2000-08-04 | Sony Corp | 画像処理方法及び画像処理装置 |
US7107226B1 (en) | 1999-01-20 | 2006-09-12 | Net32.Com, Inc. | Internet-based on-line comparison shopping system and method of interactive purchase and sale of products |
US6542515B1 (en) | 1999-05-19 | 2003-04-01 | Sun Microsystems, Inc. | Profile service |
US6343287B1 (en) | 1999-05-19 | 2002-01-29 | Sun Microsystems, Inc. | External data store link for a profile service |
US6725257B1 (en) | 1999-11-30 | 2004-04-20 | Chrome Data Corporation | Computationally efficient process and apparatus for configuring a product over a computer network |
US6459435B1 (en) | 2000-01-11 | 2002-10-01 | Bluebolt Networks, Inc. | Methods, systems and computer program products for generating storyboards of interior design surface treatments for interior spaces |
US7302114B2 (en) | 2000-01-18 | 2007-11-27 | Branders.Com, Inc. | Methods and apparatuses for generating composite images |
US20010034668A1 (en) | 2000-01-29 | 2001-10-25 | Whitworth Brian L. | Virtual picture hanging via the internet |
US7262778B1 (en) | 2000-02-11 | 2007-08-28 | Sony Corporation | Automatic color adjustment of a template design |
US6577726B1 (en) | 2000-03-31 | 2003-06-10 | Siebel Systems, Inc. | Computer telephony integration hotelling method and system |
US7526437B1 (en) | 2000-04-06 | 2009-04-28 | Apple Inc. | Custom stores |
US7024046B2 (en) | 2000-04-18 | 2006-04-04 | Real Time Image Ltd. | System and method for the lossless progressive streaming of images over a communication network |
US7016869B1 (en) * | 2000-04-28 | 2006-03-21 | Shutterfly, Inc. | System and method of changing attributes of an image-based product |
US6711283B1 (en) | 2000-05-03 | 2004-03-23 | Aperio Technologies, Inc. | Fully automatic rapid microscope slide scanner |
US7117293B1 (en) | 2000-05-12 | 2006-10-03 | Apple Computer, Inc. | Method and apparatus for archiving and unarchiving objects |
US7617184B2 (en) | 2000-05-18 | 2009-11-10 | Endeca Technologies, Inc. | Scalable hierarchical data-driven navigation system and method for information retrieval |
US7062483B2 (en) | 2000-05-18 | 2006-06-13 | Endeca Technologies, Inc. | Hierarchical data-driven search and navigation system and method for information retrieval |
DE10034122A1 (de) | 2000-07-13 | 2002-01-24 | Hed Gmbh Haftetikettendruck | Set zum Erstellen von Etiketten |
US20020073001A1 (en) | 2000-12-13 | 2002-06-13 | Itt Manufacturing Enterprises, Inc. | System and process for assisting a user to configure a configurable product |
US7761397B2 (en) | 2001-03-21 | 2010-07-20 | Huelsman David L | Rule processing method and apparatus providing automatic user input selections |
US7079139B2 (en) | 2001-07-02 | 2006-07-18 | Kaon Interactive, Inc. | Method and system for measuring an item depicted in an image |
US7650296B1 (en) | 2001-08-31 | 2010-01-19 | Siebel Systems, Inc. | Configurator using structure and rules to provide a user interface |
US7580871B2 (en) | 2001-08-31 | 2009-08-25 | Siebel Systems, Inc. | Method to generate a customizable product configurator |
US7274380B2 (en) * | 2001-10-04 | 2007-09-25 | Siemens Corporate Research, Inc. | Augmented reality system |
US20070203771A1 (en) | 2001-12-17 | 2007-08-30 | Caballero Richard J | System and method for processing complex orders |
JP2003264740A (ja) | 2002-03-08 | 2003-09-19 | Cad Center:Kk | 展望鏡 |
GB0225789D0 (en) | 2002-03-25 | 2002-12-11 | Makemyphone Ltd | Method and apparatus for creating image production file for a custom imprinted article |
US20070226155A1 (en) | 2002-03-29 | 2007-09-27 | Jai-Jein Yu | Extended attribute-based pricing system and method |
JP2004048674A (ja) | 2002-05-24 | 2004-02-12 | Olympus Corp | 視野一致型情報呈示システム、並びに、それに用いられる携帯情報端末及びサーバ |
US8495163B2 (en) | 2004-03-18 | 2013-07-23 | Avaya, Inc. | Method and apparatus for a publish-subscribe system with templates for role-based view of subscriptions |
JP3962642B2 (ja) | 2002-07-08 | 2007-08-22 | キヤノン株式会社 | 画像処理装置およびその方法 |
JP3944024B2 (ja) * | 2002-08-20 | 2007-07-11 | 株式会社東芝 | 画像処理方法、半導体装置の製造方法、パターン検査装置およびプログラム |
BR0315229A (pt) | 2002-10-09 | 2005-08-30 | Bodymedia Inc | Aparelho para detectar, receber, derivar, e apresentar informação humana fisiológica e de contexto |
US20040143644A1 (en) | 2003-01-21 | 2004-07-22 | Nec Laboratories America, Inc. | Meta-search engine architecture |
JP2004282708A (ja) | 2003-02-28 | 2004-10-07 | Fuji Photo Film Co Ltd | 印刷物生成装置および方法、情報検出装置および方法並びにプログラム |
EP1634135B1 (en) * | 2003-02-28 | 2011-09-14 | Gannon Technologies Group | Systems and methods for source language word pattern matching |
DE60300984T2 (de) | 2003-06-04 | 2006-04-27 | Sap Ag | Methode und Computersystem für die Optimierung eines Boolschen Ausdrucks für Anfragebearbeitung |
US20050138078A1 (en) | 2003-07-09 | 2005-06-23 | Chad Christenson | Catalog management module in a custom product configuration system |
EP1713555A2 (en) | 2004-01-27 | 2006-10-25 | OpenTV, Inc. | Pre-generated game creation methods and apparatus |
US20050226498A1 (en) | 2004-03-31 | 2005-10-13 | Lee David L | Prepress workflow process employing frequency modulation (FM) screening techniques |
WO2005111920A1 (en) | 2004-05-18 | 2005-11-24 | Silverbrook Research Pty Ltd | Authentication of an object using a signature encoded in a number of data portions |
US7474318B2 (en) | 2004-05-28 | 2009-01-06 | National University Of Singapore | Interactive system and method |
US20060004697A1 (en) | 2004-06-09 | 2006-01-05 | Lipsky Scott E | Method and system for restricting the display of images |
US7277830B2 (en) | 2004-08-17 | 2007-10-02 | Dirtt Environmental Solutions Ltd. | Capturing a user's design intent with resolvable objects |
US7299171B2 (en) | 2004-08-17 | 2007-11-20 | Contentguard Holdings, Inc. | Method and system for processing grammar-based legality expressions |
US8631347B2 (en) | 2004-11-15 | 2014-01-14 | Microsoft Corporation | Electronic document style matrix |
US8982109B2 (en) | 2005-03-01 | 2015-03-17 | Eyesmatch Ltd | Devices, systems and methods of capturing and displaying appearances |
US20060197775A1 (en) | 2005-03-07 | 2006-09-07 | Michael Neal | Virtual monitor system having lab-quality color accuracy |
US8963926B2 (en) | 2006-07-11 | 2015-02-24 | Pandoodle Corporation | User customized animated video and method for making the same |
US20070033568A1 (en) | 2005-07-30 | 2007-02-08 | Barrieau Shawn M | System and method for managing product customization |
EP1924930A2 (en) | 2005-09-16 | 2008-05-28 | Wizard International, Inc. | Framed art visualization software |
US8023746B2 (en) | 2005-10-14 | 2011-09-20 | Disney Enterprises, Inc. | Systems and methods for decoding an image to determine a digital identifier |
US7769236B2 (en) * | 2005-10-31 | 2010-08-03 | National Research Council Of Canada | Marker and method for detecting said marker |
US7502788B2 (en) | 2005-11-08 | 2009-03-10 | International Business Machines Corporation | Method for retrieving constant values using regular expressions |
US20070124215A1 (en) | 2005-11-29 | 2007-05-31 | Simmons Lawrence D Jr | Virtual shopping with personal image environment |
US7457730B2 (en) | 2005-12-15 | 2008-11-25 | Degnan Donald A | Method and system for virtual decoration |
US7801912B2 (en) | 2005-12-29 | 2010-09-21 | Amazon Technologies, Inc. | Method and apparatus for a searchable data service |
US20070174781A1 (en) | 2006-01-25 | 2007-07-26 | Catalog Data Solutions | Parameter visualization |
JP2007257176A (ja) | 2006-03-22 | 2007-10-04 | Fujitsu Ltd | 情報処理方法、情報処理装置、および情報処理プログラム |
US7702645B2 (en) | 2006-06-30 | 2010-04-20 | Nokia Corporation | Method, apparatus and computer program product for making semantic annotations for easy file organization and search |
JP4926817B2 (ja) * | 2006-08-11 | 2012-05-09 | キヤノン株式会社 | 指標配置情報計測装置および方法 |
EP2074575A2 (en) | 2006-09-29 | 2009-07-01 | B2X Corporation | Apparatuses, methods and systems for cross border procurement |
US20080091551A1 (en) | 2006-09-29 | 2008-04-17 | Marvin Olheiser | Knowledge-based customizable product design system |
GB2443846B (en) | 2006-11-15 | 2011-12-07 | Joseph Timothy Poole | Computing system |
US7930313B1 (en) | 2006-11-22 | 2011-04-19 | Adobe Systems Incorporated | Controlling presentation of refinement options in online searches |
KR100918392B1 (ko) * | 2006-12-05 | 2009-09-24 | 한국전자통신연구원 | 3d 컨텐츠 저작을 위한 개인형 멀티미디어 스튜디오플랫폼 장치 및 방법 |
US7885956B2 (en) | 2007-03-05 | 2011-02-08 | Kelora Systems, Llc | Display and search interface for product database |
US20090080773A1 (en) | 2007-09-20 | 2009-03-26 | Mark Shaw | Image segmentation using dynamic color gradient threshold, texture, and multimodal-merging |
DE102007045834B4 (de) * | 2007-09-25 | 2012-01-26 | Metaio Gmbh | Verfahren und Vorrichtung zum Darstellen eines virtuellen Objekts in einer realen Umgebung |
US9147213B2 (en) | 2007-10-26 | 2015-09-29 | Zazzle Inc. | Visualizing a custom product in situ |
US8174521B2 (en) | 2007-10-26 | 2012-05-08 | Zazzle.Com | Product modeling system and method |
US8090461B2 (en) | 2008-08-22 | 2012-01-03 | Zazzle.Com, Inc. | Product customization system and method |
US8917424B2 (en) | 2007-10-26 | 2014-12-23 | Zazzle.Com, Inc. | Screen printing techniques |
US9702071B2 (en) | 2008-10-23 | 2017-07-11 | Zazzle Inc. | Embroidery system and method |
WO2009062120A1 (en) | 2007-11-07 | 2009-05-14 | Skinit | Customizing print content |
US7856434B2 (en) | 2007-11-12 | 2010-12-21 | Endeca Technologies, Inc. | System and method for filtering rules for manipulating search results in a hierarchical search and navigation system |
CA2712287A1 (en) | 2008-02-01 | 2009-08-06 | Innovation Studios Pty Ltd | Method for online selection of items and an online shopping system using the same |
KR100927009B1 (ko) * | 2008-02-04 | 2009-11-16 | 광주과학기술원 | 증강 현실에서의 햅틱 상호 작용 방법 및 그 시스템 |
US8521600B2 (en) | 2008-04-23 | 2013-08-27 | Hodge Products, Inc. | Online ordering system and method for keyed devices |
US20090289955A1 (en) * | 2008-05-22 | 2009-11-26 | Yahoo! Inc. | Reality overlay device |
US8064733B2 (en) | 2008-06-24 | 2011-11-22 | Microsoft Corporation | Variable resolution images |
US7933473B2 (en) | 2008-06-24 | 2011-04-26 | Microsoft Corporation | Multiple resolution image storage |
US8233722B2 (en) * | 2008-06-27 | 2012-07-31 | Palo Alto Research Center Incorporated | Method and system for finding a document image in a document collection using localized two-dimensional visual fingerprints |
EP2370922A4 (en) | 2008-07-29 | 2012-06-13 | Zazzle Com Inc | PRODUCT ADJUSTMENT SYSTEM AND METHOD |
US8694893B2 (en) | 2008-08-08 | 2014-04-08 | Oracle International Corporation | Interactive product configurator with persistent component association |
US8335724B2 (en) | 2008-08-13 | 2012-12-18 | Branders.Com, Inc. | Customized virtual catalog |
US20100048290A1 (en) * | 2008-08-19 | 2010-02-25 | Sony Computer Entertainment Europe Ltd. | Image combining method, system and apparatus |
US8520979B2 (en) * | 2008-08-19 | 2013-08-27 | Digimarc Corporation | Methods and systems for content processing |
US20100066731A1 (en) | 2008-09-16 | 2010-03-18 | James Calvin Vecore | Configurator Process and System |
US20100066750A1 (en) * | 2008-09-16 | 2010-03-18 | Motorola, Inc. | Mobile virtual and augmented reality system |
US8873829B1 (en) | 2008-09-26 | 2014-10-28 | Amazon Technologies, Inc. | Method and system for capturing and utilizing item attributes |
WO2010045271A1 (en) * | 2008-10-14 | 2010-04-22 | Joshua Victor Aller | Target and method of detecting, identifying, and determining 3-d pose of the target |
US20100114874A1 (en) | 2008-10-20 | 2010-05-06 | Google Inc. | Providing search results |
JP2010117870A (ja) | 2008-11-12 | 2010-05-27 | B-Core Inc | 包含型コードシンボル及びその読み出し方法、並びに閉領域包含型コードシンボル及びその読み出し方法、並びに、包含型コードシンボルが付された物品及び閉領域包含型コードシンボルが付された物品。 |
US8189965B2 (en) | 2008-11-17 | 2012-05-29 | Image Trends, Inc. | Image processing handheld scanner system, method, and computer readable medium |
US20100145492A1 (en) | 2008-12-09 | 2010-06-10 | The Boeing Company | Automated Custom Design Generation |
US8606657B2 (en) * | 2009-01-21 | 2013-12-10 | Edgenet, Inc. | Augmented reality method and system for designing environments and buying/selling goods |
US20100189316A1 (en) * | 2009-01-27 | 2010-07-29 | Gannon Technologies Group, Llc | Systems and methods for graph-based pattern recognition technology applied to the automated identification of fingerprints |
US9171361B2 (en) | 2010-04-23 | 2015-10-27 | Flir Systems Ab | Infrared resolution and contrast enhancement with fusion |
US8681145B2 (en) * | 2009-03-20 | 2014-03-25 | Disney Enterprises, Inc. | Attribute transfer between computer models including identifying isomorphic regions in polygonal meshes |
JP5466418B2 (ja) | 2009-03-27 | 2014-04-09 | 株式会社成基総研 | 判定装置、判定方法、およびプログラム |
JP2010287174A (ja) | 2009-06-15 | 2010-12-24 | Dainippon Printing Co Ltd | 家具シミュレーション方法、装置、プログラム、記録媒体 |
US8214069B2 (en) | 2009-10-23 | 2012-07-03 | Certusoft, Inc. | Automated hierarchical configuration of custom products with complex geometries: method and apparatus |
US8831279B2 (en) | 2011-03-04 | 2014-09-09 | Digimarc Corporation | Smartphone-based methods and systems |
US8497876B2 (en) | 2009-11-02 | 2013-07-30 | Pacific Data Images Llc | Infinite complexity deep-framebuffer rendering |
US8700492B1 (en) | 2009-12-09 | 2014-04-15 | Amazon Technologies, Inc. | Customized product display |
US20110225038A1 (en) | 2010-03-15 | 2011-09-15 | Yahoo! Inc. | System and Method for Efficiently Evaluating Complex Boolean Expressions |
US9213920B2 (en) | 2010-05-28 | 2015-12-15 | Zazzle.Com, Inc. | Using infrared imaging to create digital images for use in product customization |
US8429110B2 (en) | 2010-06-10 | 2013-04-23 | Microsoft Corporation | Pattern tree-based rule learning |
EP2395474A3 (en) * | 2010-06-11 | 2014-03-26 | Nintendo Co., Ltd. | Storage medium having image recognition program stored therein, image recognition apparatus, image recognition system, and image recognition method |
US8190486B1 (en) | 2010-07-15 | 2012-05-29 | Myworld, Inc. | Techniques for product selection |
US8290822B2 (en) | 2010-08-20 | 2012-10-16 | Valuemomentum, Inc. | Product configuration server for efficiently displaying selectable attribute values for configurable products |
US8566714B1 (en) | 2010-09-20 | 2013-10-22 | Insignia Group, L.C. | Catalog accessories meta-configurator, and its use thereof |
JP5646263B2 (ja) * | 2010-09-27 | 2014-12-24 | 任天堂株式会社 | 画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法 |
WO2012064893A2 (en) | 2010-11-10 | 2012-05-18 | Google Inc. | Automated product attribute selection |
US20120123674A1 (en) | 2010-11-15 | 2012-05-17 | Microsoft Corporation | Displaying product recommendations on a map |
JP5697487B2 (ja) * | 2011-02-25 | 2015-04-08 | 任天堂株式会社 | 画像処理システム、画像処理方法、画像処理装置、および画像処理用プログラム |
KR20140006063A (ko) | 2011-04-25 | 2014-01-15 | 알까뗄 루슨트 | 추천 서비스들에서 사생활 보호 |
US8787707B1 (en) | 2011-06-29 | 2014-07-22 | Amazon Technologies, Inc. | Identification of product attributes |
US9002896B2 (en) | 2011-08-23 | 2015-04-07 | Xerox Corporation | Knowledge-assisted approach to dynamically create data sources for variable-data marketing campaigns |
US9348890B2 (en) | 2011-08-30 | 2016-05-24 | Open Text S.A. | System and method of search indexes using key-value attributes to searchable metadata |
WO2013033644A1 (en) | 2011-08-31 | 2013-03-07 | Zazzle.Com, Inc. | Tiling process for digital image retrieval |
WO2013067437A1 (en) | 2011-11-02 | 2013-05-10 | Hoffman Michael Theodor | Systems and methods for dynamic digital product synthesis, commerce, and distribution |
JP6093773B2 (ja) | 2011-11-07 | 2017-03-08 | エンパイア テクノロジー ディベロップメント エルエルシー | キャッシュベースのキー・バリューストアのマッピングおよび複製 |
US8495072B1 (en) | 2012-01-27 | 2013-07-23 | International Business Machines Corporation | Attribute-based identification schemes for objects in internet of things |
CN103970604B (zh) | 2013-01-31 | 2017-05-03 | 国际商业机器公司 | 基于MapReduce架构实现图处理的方法和装置 |
US8712566B1 (en) | 2013-03-14 | 2014-04-29 | Zazzle Inc. | Segmentation of a product markup image based on color and color differences |
JP6281225B2 (ja) | 2013-09-30 | 2018-02-21 | 日本電気株式会社 | 情報処理装置 |
-
2012
- 2012-07-02 US US13/539,788 patent/US9147213B2/en active Active
- 2012-08-09 AU AU2012211439A patent/AU2012211439B2/en not_active Ceased
- 2012-08-13 CA CA2785412A patent/CA2785412C/en active Active
- 2012-08-21 EP EP12181208.5A patent/EP2565824B1/en active Active
- 2012-08-21 EP EP22164652.4A patent/EP4040367A1/en active Pending
- 2012-08-21 EP EP18204715.9A patent/EP3462383B1/en active Active
- 2012-08-30 BR BR102012021901-8A patent/BR102012021901B1/pt active IP Right Grant
- 2012-08-31 JP JP2012191111A patent/JP5646564B2/ja active Active
- 2012-09-05 US US13/604,059 patent/US8654120B2/en active Active
-
2014
- 2014-02-14 US US14/181,544 patent/US9436963B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8654120B2 (en) | 2014-02-18 |
US9147213B2 (en) | 2015-09-29 |
AU2012211439B2 (en) | 2015-02-19 |
JP5646564B2 (ja) | 2014-12-24 |
US20130050218A1 (en) | 2013-02-28 |
EP4040367A1 (en) | 2022-08-10 |
AU2012211439A1 (en) | 2013-03-14 |
BR102012021901B1 (pt) | 2020-10-27 |
EP2565824B1 (en) | 2018-12-19 |
CA2785412C (en) | 2016-08-23 |
EP3462383B1 (en) | 2022-05-11 |
US9436963B2 (en) | 2016-09-06 |
BR102012021901A8 (pt) | 2015-10-27 |
CA2785412A1 (en) | 2013-02-28 |
EP2565824A1 (en) | 2013-03-06 |
US20140160118A1 (en) | 2014-06-12 |
JP2013054740A (ja) | 2013-03-21 |
US20130050205A1 (en) | 2013-02-28 |
EP3462383A1 (en) | 2019-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR102012021901A2 (pt) | Visualização de produto customizado no local | |
US9262854B2 (en) | Systems, methods, and media for creating multiple layers from an image | |
US8274523B2 (en) | Processing digital templates for image display | |
US8538986B2 (en) | System for coordinating user images in an artistic design | |
US8212834B2 (en) | Artistic digital template for image display | |
US8849853B2 (en) | Method for matching artistic attributes of a template and secondary images to a primary image | |
US8289340B2 (en) | Method of making an artistic digital template for image display | |
US20110026835A1 (en) | System for matching artistic attributes of secondary image and template to a primary image | |
US20110029914A1 (en) | Apparatus for generating artistic image template designs | |
US8345057B2 (en) | Context coordination for an artistic digital template for image display | |
US20110029860A1 (en) | Artistic digital template for image display | |
US20110029562A1 (en) | Coordinating user images in an artistic design | |
US8332427B2 (en) | Method of generating artistic template designs | |
US9727802B2 (en) | Automatic, computer-based detection of triangular compositions in digital photographic images | |
US20190295321A1 (en) | Mobile application for signage design solution using augmented reality | |
US20040085338A1 (en) | Automatic index making system and method for electronic catalog | |
CN108776963B (zh) | 一种反向图像鉴真的方法和系统 | |
TW202234340A (zh) | 用於開發觸覺教學材料的圖像轉換方法 | |
Pfeffer | Depth of Field: Historic Stereophotography as a Resource for Landscape Researchers | |
Greco | The Complexity Around 3D Lighting of a Natural Landscape | |
TW202312081A (zh) | 帶有標籤的物件呈現裝置 | |
Haralambidou | The Veiled Matrix of Architectural Representation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B03A | Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette] | ||
B25F | Entry of change of name and/or headquarter and transfer of application, patent and certif. of addition of invention: change of name on requirement |
Owner name: ZAZZIE.COM, INC (US) Free format text: A FIM DE ATENDER A ALTERACAO DE NOME REQUERIDA ATRAVES DA PETICAO NO 860140108430, DE 02/07/2014, E NECESSARIO APRESENTAR A TRADUCAO DO DOCUMENTO DE ALTERACAO DE NOME E O MESMO DEVE TER A LEGALIZACAO CONSULAR. |
|
B25D | Requested change of name of applicant approved |
Owner name: ZAZZLE INC (US) |
|
B08F | Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette] |
Free format text: REFERENTE A 4A ANUIDADE. |
|
B08G | Application fees: restoration [chapter 8.7 patent gazette] | ||
B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
B06A | Patent application procedure suspended [chapter 6.1 patent gazette] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 30/08/2012, OBSERVADAS AS CONDICOES LEGAIS. |