# Portuguese translations for PACKAGE package
# Traduções portuguesas para o pacote PACKAGE.
# Copyright (C) 2014 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# leor <leor.bi.otti.flor@gmail.com>, 2014.
#
msgid ""
msgstr ""
"Project-Id-Version: google 2ubuntu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-02-15 14:54+0100\n"
"PO-Revision-Date: 2014-02-16 04:33+0100\n"
"Last-Translator: leor <leor.bi.otti.flor@gmail.com>\n"
"Language-Team: Portuguese\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: listener.py:22
msgid "ok start"
msgstr "ok começar"

#: listener.py:76
msgid "Cannot connect to Google Translate"
msgstr "Incapaz de ligar ao Google Tradutor"

#: listener.py:78
msgid "Phrase parsing failed"
msgstr "Análise da frase falhou"

#: listener.py:80
msgid "Error processing value returned by Google Translate"
msgstr "Erro a processar valor em retorno pelo Google Tradutor"

#: librairy/add_window.py:44
msgid "list of commands"
msgstr "lista de comandos"

#: librairy/add_window.py:57
msgid "Keys"
msgstr "Chaves"

#: librairy/add_window.py:73
msgid "Commands"
msgstr "Comandos"

#: librairy/add_window.py:81
#: librairy/osd.py:35
#: librairy/osd.py:40
msgid "Ready"
msgstr "Pronto"

#: librairy/add_window.py:153
#: librairy/add_window.py:504
#: librairy/ArgsWindow.py:35
#: librairy/ArgsWindow.py:48
#: librairy/externalWindow.py:20
#: librairy/internalWindow.py:22
msgid "key sentence"
msgstr "frase-chave"

#: librairy/add_window.py:153
#: librairy/add_window.py:217
#: librairy/add_window.py:429
#: librairy/externalWindow.py:59
#: librairy/stringParser.py:75
msgid "external"
msgstr "externo"

#: librairy/add_window.py:245
msgid "External commands"
msgstr "Comandos externos"

#: librairy/add_window.py:249
msgid "Internal commands"
msgstr "Comandos internos"

#: librairy/add_window.py:253
msgid "Module"
msgstr "Módulo"

#: librairy/add_window.py:260
msgid "Add"
msgstr "Adicionar"

#: librairy/add_window.py:270
msgid "Add a new command"
msgstr "Adicionar novo comando"

#: librairy/add_window.py:275
#: librairy/add_window.py:287
#: librairy/add_window.py:540
msgid "Remove"
msgstr "Remover"

#: librairy/add_window.py:277
#: librairy/add_window.py:297
msgid "Remove this command"
msgstr "Remover este comando"

#: librairy/add_window.py:280
msgid "Clean up"
msgstr "Limpar"

#: librairy/add_window.py:282
#: librairy/add_window.py:561
msgid "Remove all commands"
msgstr "Remover todos os comandos"

#: librairy/add_window.py:302
msgid "Try"
msgstr "Tentar"

#: librairy/add_window.py:305
msgid "Try this command"
msgstr "Tentar este comando"

#: librairy/add_window.py:312
msgid "Edit"
msgstr "Editar"

#: librairy/add_window.py:315
msgid "Edit this command"
msgstr "Editar este comando"

#: librairy/add_window.py:337
msgid "Help"
msgstr "Ajuda"

#: librairy/add_window.py:341
msgid "Display help message"
msgstr "Mostrar mensagem de ajuda"

#: librairy/add_window.py:361
msgid "All"
msgstr "Todos"

#: librairy/add_window.py:362
msgid "External"
msgstr "Externo"

#: librairy/add_window.py:363
msgid "Internal"
msgstr "Interno"

#: librairy/add_window.py:364
msgid "Modules"
msgstr "Módulos"

#: librairy/add_window.py:368
msgid "What type of command to add"
msgstr "Que tipo de comando adicionar"

#: librairy/add_window.py:409
#: librairy/add_window.py:413
#: librairy/add_window.py:425
#: librairy/add_window.py:583
#: librairy/stringParser.py:66
msgid "modules"
msgstr "módulos"

#: librairy/add_window.py:409
#: librairy/add_window.py:411
#: librairy/add_window.py:433
#: librairy/add_window.py:583
#: librairy/internalWindow.py:60
#: librairy/stringParser.py:28
#: librairy/stringParser.py:71
msgid "internal"
msgstr "Interno"

#: librairy/add_window.py:471
msgid "Error, you must choose a file"
msgstr "Erro, deve escolher um ficheiro"

#: librairy/add_window.py:518
msgid "Error, args file missing"
msgstr "Erro, ficheiro de  argumento em falta"

#: librairy/add_window.py:670
msgid "Save commands"
msgstr "Guardar comandos"

#: librairy/ArgsWindow.py:40
msgid "Linking word"
msgstr "Associar palavras"

#: librairy/ArgsWindow.py:51
msgid "Word to separate call and parameter"
msgstr "Palavra para separar chamada e parâmetro"

#: librairy/ArgsWindow.py:53
#: librairy/ArgsWindow.py:54
msgid "Replace space by plus"
msgstr "Substituir espaço por mais"

#: librairy/ArgsWindow.py:57
#: librairy/ArgsWindow.py:58
msgid "Go"
msgstr "Continuar"

#: librairy/basicCommands.py:28
#: librairy/internalWindow.py:80
#: librairy/internalWindow.py:81
msgid "time"
msgstr "tempo"

#: librairy/basicCommands.py:30
#: librairy/internalWindow.py:82
#: librairy/internalWindow.py:83
msgid "power"
msgstr "bateria"

#: librairy/basicCommands.py:32
#: librairy/internalWindow.py:84
#: librairy/internalWindow.py:85
msgid "clipboard"
msgstr "área de transferência"

#: librairy/basicCommands.py:34
#: librairy/internalWindow.py:86
#: librairy/internalWindow.py:87
msgid "dictation mode"
msgstr "modo de ditar"

#: librairy/basicCommands.py:37
#: librairy/internalWindow.py:88
#: librairy/internalWindow.py:89
#: librairy/stringParser.py:28
msgid "exit dictation mode"
msgstr "sair do modo de ditar"

#: librairy/basicCommands.py:55
msgid "Nothing in the clipboard"
msgstr "Nada na área de transferência"

#: librairy/basicCommands.py:66
msgid "it is"
msgstr "é"

#: librairy/basicCommands.py:66
msgid "hour"
msgstr "hora"

#: librairy/basicCommands.py:66
msgid "minute"
msgstr "minuto"

#: librairy/basicCommands.py:85
msgid "Charging"
msgstr "Em carga"

#: librairy/basicCommands.py:85
msgid "before charging"
msgstr "antes de carregar"

#: librairy/basicCommands.py:87
msgid "Discharging"
msgstr "Em descarga"

#: librairy/basicCommands.py:87
msgid "remaining"
msgstr "restante"

#: librairy/basicCommands.py:89
msgid "battery is not plugged"
msgstr "a bateria não está ligada"

#: librairy/externalWindow.py:24
#: librairy/internalWindow.py:26
msgid "your command"
msgstr "O seu comando"

#: librairy/HelpWindow.py:28
msgid "Help Google2Ubuntu"
msgstr "Ajude Google2Ubuntu"

#: librairy/interface.py:95
msgid "unable to translate"
msgstr "incapaz de traduzir"

#: librairy/internalWindow.py:99
msgid "Which internal command to choose"
msgstr "Qual o comando interno a escolher"

#: librairy/MainWindow.py:33
msgid "Setup"
msgstr "Configurações"

#: librairy/MainWindow.py:35
msgid "Open setup window"
msgstr "Abrir janela configurações"

#: librairy/moduleSelection.py:18
msgid "Choose a file"
msgstr "Escolha um ficheiro"

#: librairy/osd.py:49
msgid "Error"
msgstr "Erro"

#: librairy/osd.py:61
msgid "Recognition result"
msgstr "Resultado do reconhecimento"

#: librairy/osd.py:71
msgid "Calling command"
msgstr "Chamada do comando"

#: librairy/osd.py:78
msgid "Information"
msgstr "Informação"

#: librairy/osd.py:84
msgid "Performing recording"
msgstr "Gravação em curso"

#: librairy/osd.py:85
msgid "Please speak"
msgstr "Por favor, fale"

#: librairy/osd.py:95
msgid "Done"
msgstr "Pronto"

#: librairy/SetupWindow.py:27
msgid "Select your language"
msgstr "Selecione o seu idioma"

#: librairy/SetupWindow.py:31
msgid "Set the recording time (seconds)"
msgstr "Definir o tempo de gravação (segundos)"

#: librairy/SetupWindow.py:34
msgid "Set the music player's play command"
msgstr "Definir o comando do leitor de audio para reproduzir"

#: librairy/SetupWindow.py:37
msgid "Set the music player's pause command"
msgstr "Definir o comando do leitor para pausa"

#: librairy/SetupWindow.py:40
msgid "Hotword mode"
msgstr "Modo de palavra-chave"

#: librairy/SetupWindow.py:43
msgid "Set the noise threshold"
msgstr "Definir o limite do ruido"

#: librairy/SetupWindow.py:46
msgid "Set the hotword"
msgstr "Definir a palavra-chave"

#: librairy/SetupWindow.py:55
msgid "Change the recording time"
msgstr "Mudar o tempo de gravação"

#: librairy/SetupWindow.py:59
msgid "Set the play command"
msgstr "Definir o comando para reproduzir"

#: librairy/SetupWindow.py:64
msgid "Set the pause command"
msgstr "Definir o comando de pausa"

#: librairy/SetupWindow.py:72
msgid "Put the hotword mode ON or OFF"
msgstr "Definir o modo de palavra-chave para ON ou OFF"

#: librairy/SetupWindow.py:78
#, python-format
msgid "Set the sound level in % under which sound is considerated as noise"
msgstr "Definir o nível do som em % que será considerado como ruido"

#: librairy/SetupWindow.py:82
msgid "Set the hotword to start effective recording"
msgstr "Definir a palavra-chave para começar uma gravação efectiva"

#: librairy/SetupWindow.py:216
msgid "What language to choose"
msgstr "Qual idioma a escolher"

#: librairy/stringParser.py:84
msgid "Setup file missing"
msgstr "Ficheiro de configuração em falta"

#: librairy/workWithModule.py:55
msgid "you didn't say the linking word"
msgstr "Não disse a palavra associada"

#: librairy/workWithModule.py:59
msgid "args file missing"
msgstr "Ficheiro de argumento em falta"

#~ msgid "Module setup"
#~ msgstr "Módulo de cofigurações"

#~ msgid "word"
#~ msgstr "palavra"

#~ msgid "Setup window"
#~ msgstr "Janela de configurações"

{'repo_name': 'benoitfragit/google2ubuntu', 'stars': '133', 'repo_language': 'Python', 'file_name': 'moduleSelection.py', 'mime_type': 'text/x-python', 'hash': 1948876233409260101, 'source_dataset': 'data'}


package com.loonandroid.pc.net;

import android.graphics.Bitmap;
import android.view.View;

/**
 * 上一个版本的网络请求只保留文件上传和webservice 其他的使用Volley

 * -----------------------------------------------

 * oooO...............

 * (....) ... Oooo...

 * .\..(.....(.....).......

 * ..\_)..... )../........

 * .......... (_/..........

 * 微信 gdpancheng

 * -----------------------------------------------
 *
 * @author gdpancheng@gmail.com 2014年12月26日 上午12:12:01
 */
public  class ImageListener {
	public  void onLoadingStarted(String imageUri, View view){};
	public  void onLoadingFailed(String imageUri, View view){};
	public  void onLoadingComplete(String imageUri, View view, Bitmap loadedImage){};
	public  void onLoadingCancelled(String imageUri, View view){};
}

{'repo_name': 'gdpancheng/LoonAndroid3', 'stars': '127', 'repo_language': 'Java', 'file_name': 'ExampleUnitTest.java', 'mime_type': 'text/x-java', 'hash': 8888343686190964515, 'source_dataset': 'data'}


Hotel Restaurant Management

Providing table reservations services, Managing customers orders

Greeting customers, Provide table booking facilities and managing of Tables orders.

Work according to established health and safety guidelines. Kept the kitchen area clean and hygienic.

Creating Table Orders.

After getting confirmation from customers, Table is reserved for them.

Customers gives Order

Answer questions regarding the hotel services,
            explaining menu items and specials, and offering personal attentive treatment.

Escorting customers to seats, taking food and drink orders, and serving food and beverages.

Quotations are generated for that order.

Creating Kitchen Order tickets

Generate Kitchen order tickets for table
            order. And generate Table bill.

Quick Reservation Facility

Quick reservation facility are also
            provided to customers

PREMIUM FEATURE - Order's Added In Hotel Folio

If Customers are resided in hotel, their
            orders invoices added in customer's folio.(Not available in Free Module)

            Check
                    out our various Odoo Services below</spam>

                             Odoo
                                        Consulting
                             Gap
                                        Analysis and BPR
                             Odoo
                                        Implementation
                             Integration
                                        with E-Commerce
                             Odoo
                                        Technical Training

                             Offshore
                                        & Onsite Development
                             Support
                                        and Maintenance
                             Hire
                                        Dedicated Odoo Developer
                             Payment
                                        Gateway Integrations
                             Odoo
                                        Functional Training

                             Odoo
                                        Mobile App Development
                             Odoo
                                        Manual Testing
                             Odoo
                                        Automated Testing
                             Integration
                                        with Shipping API
                             Installation
                                        & Hosting

            Check
                    out our various Odoo Based Products</spam>

                             Restaurant
                                        Management
                             Property
                                        Management
                             Visa
                                        Agency Management
                             Singapore
                                        Localization
                             School,
                                        University Management

                             Construction
                                        Management
                             Fleet
                                        Management
                             Medical
                                        ERP
                             Hotel
                                        Management
                             Human
                                        Resource Management

                             Field
                                        Service Management
                             Spa
                                        & Salone Management
                             Ringcentral
                                        telephone integration
                             Customer
                                        Relationship
                             Talent
                                        Management

            For
                    any questions, support and development contact us.</spam>

                             (+91)
                                    98793-54457, (+91) 90334-72982
                                    +91-79-2975-0867
                             contact@serpentcs.com
                             www.serpentcs.com
                             www.serpentcs.in
                             www.odooqa.com

                                    WhatsApp, Telegram or Call 24X7
                             Help!
                                    Send Mail
                             Browse
                                    our Services
                             Browse
                                    our Products
                             QA
                                    Services

{'repo_name': 'JayVora-SerpentCS/OdooHotelManagementSystem', 'stars': '156', 'repo_language': 'HTML', 'file_name': 'board_frontdesk_view.xml', 'mime_type': 'text/xml', 'hash': -6900353316822864225, 'source_dataset': 'data'}


NAME	= efibootmgr
prefix	?= /usr
libdir	?= $(prefix)/lib64
datadir	?= $(prefix)/share
mandir	?= $(datadir)/man
includedir ?= $(prefix)/include
bindir	?= $(prefix)/bin
sbindir	?= $(prefix)/sbin
localedir ?= $(datadir)/locale/
PCDIR	?= $(libdir)/pkgconfig
DESTDIR	?=
ifneq ($(origin EXTRALIBDIRS),undefined)
override EXTRALIBDIR := $(foreach dir,$(EXTRALIBDIRS),-L$(dir))
endif
ifneq ($(origin EXTRAINCDIRS),undefined)
override EXTRAINCDIR := $(foreach dir,$(EXTRAINCDIRS),-I$(dir))
endif

EFIDIR	?= $(shell x=$$(which --skip-alias --skip-functions git 2>/dev/null) ; [ -n "$$x" ] && git config --get efibootmgr.efidir)
ifeq ($(EFIDIR),)
        EFIDIR_ERROR = $(error EFIDIR or .gitconfig efibootmgr.efidir must be set to this distro's reserved EFI System Partition subdirectory name)
endif
EFI_LOADER := grub.efi

INSTALL ?= install
CROSS_COMPILE	?=
PKG_CONFIG = $(CROSS_COMPILE)pkg-config
CC	:= $(if $(filter default,$(origin CC)),$(CROSS_COMPILE)gcc,$(CC))
CCLD	:= $(if $(filter undefined,$(origin CCLD)),$(CC),$(CCLD))
CFLAGS	?= -O2 -g -flto
AR	:= $(CROSS_COMPILE)gcc-ar
NM	:= $(CROSS_COMPILE)gcc-nm
RANLIB	:= $(CROSS_COMPILE)gcc-ranlib

PKGS	=

SUBDIR_CFLAGS ?=
clang_cflags =
gcc_cflags =
cflags	= $(EXTRALIBDIR) $(EXTRAINCDIR) $(CFLAGS) $(SUBDIR_CFLAGS) \
	-Werror -Wall -Wextra -Wsign-compare -Wstrict-aliasing \
	-std=gnu11 -fPIC \
	-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DLOCALEDIR=\"$(localedir)\" \
	-DEFIBOOTMGR_VERSION="\"$(VERSION)\"" \
	-DDEFAULT_LOADER=\"\\\\EFI\\\\$(EFIDIR)\\\\$(EFI_LOADER)\" \
	$(if $(findstring clang,$(CC)),$(clang_cflags),) \
	$(if $(findstring gcc,$(CC)),$(gcc_cflags),) \
	$(call pkg-config-cflags)
clang_ccldflags =
gcc_ccldflags = -fno-merge-constants \
	-Wl,--fatal-warnings,--no-allow-shlib-undefined \
	-Wl,-O2 -Wl,--no-undefined-version
ccldflags = $(cflags) $(CCLDFLAGS) $(LDFLAGS) \
	$(if $(findstring clang,$(CCLD)),$(clang_ccldflags),) \
	$(if $(findstring gcc,$(CCLD)),$(gcc_ccldflags),) \
	$(call pkg-config-ldflags)
CPPFLAGS?=
SOFLAGS=-shared
LDLIBS=$(foreach lib,$(LIBS),-l$(lib)) $(call pkg-config-ldlibs)

.PHONY: check_efidir_error
check_efidir_error : ; $(EFIDIR_ERROR) $(info Building with EFIDIR as $(EFIDIR))

COMMIT_ID=$(shell git log -1 --pretty=%H 2>/dev/null || echo master)

{'repo_name': 'rhboot/efibootmgr', 'stars': '225', 'repo_language': 'C', 'file_name': 'list.h', 'mime_type': 'text/x-c', 'hash': -7917733022202233758, 'source_dataset': 'data'}


/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.apache.pulsar.io.redis;

import com.google.common.collect.Lists;
import com.google.common.net.HostAndPort;
import io.lettuce.core.AbstractRedisClient;
import io.lettuce.core.ClientOptions;
import io.lettuce.core.RedisClient;
import io.lettuce.core.RedisURI;
import io.lettuce.core.SocketOptions;
import io.lettuce.core.api.StatefulConnection;
import io.lettuce.core.api.StatefulRedisConnection;
import io.lettuce.core.cluster.ClusterClientOptions;
import io.lettuce.core.cluster.RedisClusterClient;
import io.lettuce.core.cluster.api.StatefulRedisClusterConnection;
import io.lettuce.core.cluster.api.async.RedisClusterAsyncCommands;
import io.lettuce.core.codec.ByteArrayCodec;
import io.lettuce.core.codec.RedisCodec;
import org.apache.commons.lang3.StringUtils;
import org.apache.pulsar.io.redis.RedisAbstractConfig.ClientMode;
import org.apache.pulsar.io.redis.sink.RedisSinkConfig;

import java.time.Duration;
import java.util.Arrays;
import java.util.List;

public class RedisSession {

    private final AbstractRedisClient client;
    private final StatefulConnection connection;
    private final RedisClusterAsyncCommands<byte[], byte[]> asyncCommands;

    public RedisSession(AbstractRedisClient client, StatefulConnection connection, RedisClusterAsyncCommands<byte[], byte[]> asyncCommands) {
        this.client = client;
        this.connection = connection;
        this.asyncCommands = asyncCommands;
    }

    public AbstractRedisClient client() {
        return this.client;
    }

    public StatefulConnection connection() {
        return this.connection;
    }

    public RedisClusterAsyncCommands<byte[], byte[]> asyncCommands() {
        return this.asyncCommands;
    }

    public void close() throws Exception {
        if (null != this.connection) {
            this.connection.close();
        }
        if (null != this.client) {
            this.client.shutdown();
        }
    }

    public static RedisSession create(RedisSinkConfig config) {
        RedisSession redisSession;
        final RedisCodec<byte[], byte[]> codec = new ByteArrayCodec();

        final SocketOptions socketOptions = SocketOptions.builder()
            .tcpNoDelay(config.isTcpNoDelay())
            .connectTimeout(Duration.ofMillis(config.getConnectTimeout()))
            .keepAlive(config.isKeepAlive())
            .build();

        final ClientMode clientMode;
        try {
            clientMode = ClientMode.valueOf(config.getClientMode().toUpperCase());
        } catch (IllegalArgumentException e) {
            throw new IllegalArgumentException("Illegal Redis client mode, valid values are: "
                + Arrays.asList(ClientMode.values()));
        }

        List<RedisURI> redisURIs = redisURIs(config.getHostAndPorts(), config);

        if (clientMode == ClientMode.STANDALONE) {
            ClientOptions.Builder clientOptions = ClientOptions.builder()
                .socketOptions(socketOptions)
                .requestQueueSize(config.getRequestQueue())
                .autoReconnect(config.isAutoReconnect());

            final RedisClient client = RedisClient.create(redisURIs.get(0));
            client.setOptions(clientOptions.build());
            final StatefulRedisConnection<byte[], byte[]> connection = client.connect(codec);
            redisSession = new RedisSession(client, connection, connection.async());
        } else if (clientMode == ClientMode.CLUSTER) {
            ClusterClientOptions.Builder clientOptions = ClusterClientOptions.builder()
                .requestQueueSize(config.getRequestQueue())
                .autoReconnect(config.isAutoReconnect());

            final RedisClusterClient client = RedisClusterClient.create(redisURIs);
            client.setOptions(clientOptions.build());

            final StatefulRedisClusterConnection<byte[], byte[]> connection = client.connect(codec);
            redisSession = new RedisSession(client, connection, connection.async());
        } else {
            throw new UnsupportedOperationException(
                String.format("%s is not supported", config.getClientMode())
            );
        }

        return redisSession;
    }

    private static List<RedisURI> redisURIs(List<HostAndPort> hostAndPorts, RedisSinkConfig config) {
        List<RedisURI> redisURIs = Lists.newArrayList();
        for (HostAndPort hostAndPort : hostAndPorts) {
            RedisURI.Builder builder = RedisURI.builder();
            builder.withHost(hostAndPort.getHost());
            builder.withPort(hostAndPort.getPort());
            builder.withDatabase(config.getRedisDatabase());
            if (!StringUtils.isBlank(config.getRedisPassword())) {
                builder.withPassword(config.getRedisPassword());
            }
            redisURIs.add(builder.build());
        }
        return redisURIs;
    }
}

{'repo_name': 'apache/pulsar', 'stars': '6221', 'repo_language': 'Java', 'file_name': 'pom.xml', 'mime_type': 'text/plain', 'hash': 4994639902378450909, 'source_dataset': 'data'}


#include "ui/menudef.h"
#include "ui/menumacros.h"

// Defines //
#define WINDOW_X		0
#define WINDOW_Y		0
#define WINDOW_WIDTH	__WINDOW_WIDTH
#define WINDOW_HEIGHT	480
#define GROUP_NAME		"grpRecRestart"

// Restart Video Mode Menu //
menuDef
{
	name		"rec_restart"
	visible		0
	fullscreen	0
	rect		WINDOW_X WINDOW_Y WINDOW_WIDTH WINDOW_HEIGHT
	style		WINDOW_STYLE_FILLED
	popup

	fadeClamp	0.5

	onOpen
	{
		setitemcolor background backcolor 0 0 0 0;
		fadein background
	}

	onESC
	{
		close rec_restart;
		open background_1;
		open options_system
	}

// Background //
	itemDef {
		name		"background"
		rect		0 0 WINDOW_WIDTH 480
		style		WINDOW_STYLE_FILLED
		background	"ui/assets/fadebox.tga"
		backcolor	0 0 0 0
		visible		1
		decoration
	}

// Subwindows //
#define SUBWINDOW_WIDTH		200
#define SUBWINDOW_HEIGHT	64
#define SUBWINDOW_X			.5 * (WINDOW_WIDTH - SUBWINDOW_WIDTH)
#define SUBWINDOW_Y			.5 * (WINDOW_HEIGHT - SUBWINDOW_HEIGHT)

	SUBWINDOWBLACK( SUBWINDOW_X, SUBWINDOW_Y, SUBWINDOW_WIDTH, SUBWINDOW_HEIGHT, _("CHANGE VIDEO SETTINGS") )
#ifdef FUI
	LABEL( SUBWINDOW_X+2, SUBWINDOW_Y+16, (SUBWINDOW_WIDTH)-8, 10, _("Set recommended video settings\nand return to the main menu?"), .2, ITEM_ALIGN_CENTER, .5*((SUBWINDOW_WIDTH)-4), 8 )
#else
	LABEL( SUBWINDOW_X+2, SUBWINDOW_Y+16, (SUBWINDOW_WIDTH)-8, 10, _("Set recommended video settings\nand return to the ingame menu?"), .2, ITEM_ALIGN_CENTER, .5*((SUBWINDOW_WIDTH)-4), 8 )
#endif // FUI

	BUTTON( SUBWINDOW_X+6, SUBWINDOW_Y+SUBWINDOW_HEIGHT-24, .5*(SUBWINDOW_WIDTH-18), 18, _("YES"), .3, 14, execnow "setRecommended" ; close rec_restart ; exec "vid_restart" )
	BUTTON( SUBWINDOW_X+6+.5*(SUBWINDOW_WIDTH-18)+6, SUBWINDOW_Y+SUBWINDOW_HEIGHT-24, .5*(SUBWINDOW_WIDTH-18), 18, _("NO"), .3, 14, close rec_restart ; open options_system )
}

{'repo_name': 'etlegacy/etlegacy', 'stars': '107', 'repo_language': 'C', 'file_name': 'ETLBuildMod.cmake', 'mime_type': 'text/plain', 'hash': -2214463102818210258, 'source_dataset': 'data'}


<image>
<filename>image_105245.jpg</filename>
<folder></folder>
<size>
<width>256</width>
<height>256</height>
</size>
<origSize>
<width>800</width>
<height>600</height>
</origSize>
<generated>0</generated>
</image>
<file>
<filename>image_105245.xml</filename>
<folder></folder>
</file>
<object>
<objectId>11</objectId>
<name>road</name>
<masks>
<filename>masks/image_105245.mat</filename>
</masks>
<keyword>road</keyword>
</object>
<objImgSrc>
<filename>img_0212.jpg</filename>
<folder>static_waterfront_boston_outdoor_july_2005</folder>
<size>
<width>800</width>
<height>600</height>
</size>
<origSize>
<width>2592</width>
<height>1944</height>
</origSize>
</objImgSrc>
<bgImgSrc>
<filename>img_0212.jpg</filename>
<folder>static_waterfront_boston_outdoor_july_2005</folder>
<size>
<width>800</width>
<height>600</height>
</size>
<origSize>
<width>2592</width>
<height>1944</height>
</origSize>
</bgImgSrc>

{'repo_name': 'bcmi/Image_Harmonization_Datasets', 'stars': '341', 'repo_language': 'MATLAB', 'file_name': '__init__.py', 'mime_type': 'text/x-python', 'hash': -6966688663591025893, 'source_dataset': 'data'}


/**
 * Copyright (c) 2017-present Jared Palmer
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

import * as React from 'react';
import { SharedRenderProps } from '../types';
import { isEmptyChildren } from '../utils';

export interface GeoPositionProps {
  isLoading: boolean;
  coords?: {
    longitude: number;
    latitude: number;
  };
  error?: PositionError;
}

export class GeoPosition extends React.Component<
  SharedRenderProps<GeoPositionProps>,
  GeoPositionProps
> {
  geoId: any;

  state = {
    isLoading: true,
  };

  componentDidMount() {
    this.requestGeo();
  }

  requestGeo = () => {
    this.setState({ isLoading: true });
    this.geoId = navigator.geolocation.watchPosition(
      (position: Position) =>
        this.setState({
          isLoading: false,
          coords: {
            latitude: position.coords.latitude,
            longitude: position.coords.longitude,
          },
          error: undefined,
        }),
      (error: PositionError) => this.setState({ error, isLoading: false })
    );
  };

  componentWillUnmount() {
    navigator.geolocation.clearWatch(this.geoId);
  }

  render() {
    const { render, component, children } = this.props;
    return component
      ? React.createElement(component as any, this.state)
      : render
        ? (render as any)(this.state)
        : children // children come last, always called
          ? typeof children === 'function'
            ? children(this.state)
            : !isEmptyChildren(children) ? React.Children.only(children) : null
          : null;
  }
}

{'repo_name': 'jaredpalmer/react-fns', 'stars': '3659', 'repo_language': 'TypeScript', 'file_name': 'Footer.js', 'mime_type': 'text/html', 'hash': -7736139540102939914, 'source_dataset': 'data'}


<?php

/**
 * @copyright Copyright (C) eZ Systems AS. All rights reserved.
 * @license For full copyright and license information view LICENSE file distributed with this source code.
 */
namespace eZ\Publish\Core\FieldType\Tests;

use eZ\Publish\Core\FieldType\Integer\Type as Integer;
use eZ\Publish\Core\FieldType\Integer\Value as IntegerValue;
use eZ\Publish\Core\FieldType\ValidationError;
use eZ\Publish\Core\Base\Exceptions\InvalidArgumentException;

/**
 * @group fieldType
 * @group ezinteger
 */
class IntegerTest extends FieldTypeTest
{
    /**
     * Returns the field type under test.
     *
     * This method is used by all test cases to retrieve the field type under
     * test. Just create the FieldType instance using mocks from the provided
     * get*Mock() methods and/or custom get*Mock() implementations. You MUST
     * NOT take care for test case wide caching of the field type, just return
     * a new instance from this method!
     *
     * @return FieldType
     */
    protected function createFieldTypeUnderTest()
    {
        $fieldType = new Integer();
        $fieldType->setTransformationProcessor($this->getTransformationProcessorMock());

        return $fieldType;
    }

    /**
     * Returns the validator configuration schema expected from the field type.
     *
     * @return array
     */
    protected function getValidatorConfigurationSchemaExpectation()
    {
        return [
            'IntegerValueValidator' => [
                'minIntegerValue' => [
                    'type' => 'int',
                    'default' => null,
                ],
                'maxIntegerValue' => [
                    'type' => 'int',
                    'default' => null,
                ],
            ],
        ];
    }

    /**
     * Returns the settings schema expected from the field type.
     *
     * @return array
     */
    protected function getSettingsSchemaExpectation()
    {
        return [];
    }

    /**
     * Returns the empty value expected from the field type.
     */
    protected function getEmptyValueExpectation()
    {
        return new IntegerValue();
    }

    /**
     * Data provider for invalid input to acceptValue().
     *
     * Returns an array of data provider sets with 2 arguments: 1. The invalid
     * input to acceptValue(), 2. The expected exception type as a string. For
     * example:
     *
     *
     *  return array(
     *      array(
     *          new \stdClass(),
     *          'eZ\\Publish\\Core\\Base\\Exceptions\\InvalidArgumentException',
     *      ),
     *      array(
     *          array(),
     *          'eZ\\Publish\\Core\\Base\\Exceptions\\InvalidArgumentException',
     *      ),
     *      // ...
     *  );
     *
     *
     * @return array
     */
    public function provideInvalidInputForAcceptValue()
    {
        return [
            [
                'foo',
                InvalidArgumentException::class,
            ],
            [
                [],
                InvalidArgumentException::class,
            ],
            [
                new IntegerValue('foo'),
                InvalidArgumentException::class,
            ],
        ];
    }

    /**
     * Data provider for valid input to acceptValue().
     *
     * Returns an array of data provider sets with 2 arguments: 1. The valid
     * input to acceptValue(), 2. The expected return value from acceptValue().
     * For example:
     *
     *
     *  return array(
     *      array(
     *          null,
     *          null
     *      ),
     *      array(
     *          __FILE__,
     *          new BinaryFileValue( array(
     *              'path' => __FILE__,
     *              'fileName' => basename( __FILE__ ),
     *              'fileSize' => filesize( __FILE__ ),
     *              'downloadCount' => 0,
     *              'mimeType' => 'text/plain',
     *          ) )
     *      ),
     *      // ...
     *  );
     *
     *
     * @return array
     */
    public function provideValidInputForAcceptValue()
    {
        return [
            [
                null,
                new IntegerValue(),
            ],
            [
                42,
                new IntegerValue(42),
            ],
            [
                23,
                new IntegerValue(23),
            ],
            [
                new IntegerValue(23),
                new IntegerValue(23),
            ],
        ];
    }

    /**
     * Provide input for the toHash() method.
     *
     * Returns an array of data provider sets with 2 arguments: 1. The valid
     * input to toHash(), 2. The expected return value from toHash().
     * For example:
     *
     *
     *  return array(
     *      array(
     *          null,
     *          null
     *      ),
     *      array(
     *          new BinaryFileValue( array(
     *              'path' => 'some/file/here',
     *              'fileName' => 'sindelfingen.jpg',
     *              'fileSize' => 2342,
     *              'downloadCount' => 0,
     *              'mimeType' => 'image/jpeg',
     *          ) ),
     *          array(
     *              'path' => 'some/file/here',
     *              'fileName' => 'sindelfingen.jpg',
     *              'fileSize' => 2342,
     *              'downloadCount' => 0,
     *              'mimeType' => 'image/jpeg',
     *          )
     *      ),
     *      // ...
     *  );
     *
     *
     * @return array
     */
    public function provideInputForToHash()
    {
        return [
            [
                new IntegerValue(),
                null,
            ],
            [
                new IntegerValue(42),
                42,
            ],
        ];
    }

    /**
     * Provide input to fromHash() method.
     *
     * Returns an array of data provider sets with 2 arguments: 1. The valid
     * input to fromHash(), 2. The expected return value from fromHash().
     * For example:
     *
     *
     *  return array(
     *      array(
     *          null,
     *          null
     *      ),
     *      array(
     *          array(
     *              'path' => 'some/file/here',
     *              'fileName' => 'sindelfingen.jpg',
     *              'fileSize' => 2342,
     *              'downloadCount' => 0,
     *              'mimeType' => 'image/jpeg',
     *          ),
     *          new BinaryFileValue( array(
     *              'path' => 'some/file/here',
     *              'fileName' => 'sindelfingen.jpg',
     *              'fileSize' => 2342,
     *              'downloadCount' => 0,
     *              'mimeType' => 'image/jpeg',
     *          ) )
     *      ),
     *      // ...
     *  );
     *
     *
     * @return array
     */
    public function provideInputForFromHash()
    {
        return [
            [
                null,
                new IntegerValue(),
            ],
            [
                42,
                new IntegerValue(42),
            ],
        ];
    }

    /**
     * Provide data sets with validator configurations which are considered
     * valid by the {@link validateValidatorConfiguration()} method.
     *
     * Returns an array of data provider sets with a single argument: A valid
     * set of validator configurations.
     *
     * For example:
     *
     *
     *  return array(
     *      array(
     *          array(),
     *      ),
     *      array(
     *          array(
     *              'IntegerValueValidator' => array(
     *                  'minIntegerValue' => 0,
     *                  'maxIntegerValue' => 23,
     *              )
     *          )
     *      ),
     *      // ...
     *  );
     *
     *
     * @return array
     */
    public function provideValidValidatorConfiguration()
    {
        return [
            [
                [],
            ],
            [
                [
                    'IntegerValueValidator' => [
                        'minIntegerValue' => null,
                    ],
                ],
            ],
            [
                [
                    'IntegerValueValidator' => [
                        'minIntegerValue' => 23,
                    ],
                ],
            ],
            [
                [
                    'IntegerValueValidator' => [
                        'maxIntegerValue' => null,
                    ],
                ],
            ],
            [
                [
                    'IntegerValueValidator' => [
                        'maxIntegerValue' => 23,
                    ],
                ],
            ],
            [
                [
                    'IntegerValueValidator' => [
                        'minIntegerValue' => 23,
                        'maxIntegerValue' => 42,
                    ],
                ],
            ],
        ];
    }

    /**
     * Provide data sets with validator configurations which are considered
     * invalid by the {@link validateValidatorConfiguration()} method. The
     * method must return a non-empty array of validation errors when receiving
     * one of the provided values.
     *
     * Returns an array of data provider sets with a single argument: A valid
     * set of validator configurations.
     *
     * For example:
     *
     *
     *  return array(
     *      array(
     *          array(
     *              'NonExistentValidator' => array(),
     *          ),
     *      ),
     *      array(
     *          array(
     *              // Typos
     *              'InTEgervALUeVALIdator' => array(
     *                  'iinIntegerValue' => 0,
     *                  'maxIntegerValue' => 23,
     *              )
     *          )
     *      ),
     *      array(
     *          array(
     *              'IntegerValueValidator' => array(
     *                  // Incorrect value types
     *                  'minIntegerValue' => true,
     *                  'maxIntegerValue' => false,
     *              )
     *          )
     *      ),
     *      // ...
     *  );
     *
     *
     * @return array
     */
    public function provideInvalidValidatorConfiguration()
    {
        return [
            [
                [
                    'NonExistentValidator' => [],
                ],
            ],
            [
                [
                    'IntegerValueValidator' => [
                        'nonExistentValue' => 23,
                    ],
                ],
            ],
            [
                [
                    'IntegerValueValidator' => [
                        'minIntegerValue' => .23,
                    ],
                ],
            ],
            [
                [
                    'IntegerValueValidator' => [
                        'maxIntegerValue' => .42,
                    ],
                ],
            ],
        ];
    }

    protected function provideFieldTypeIdentifier()
    {
        return 'ezinteger';
    }

    public function provideDataForGetName()
    {
        return [
            [$this->getEmptyValueExpectation(), ''],
            [new IntegerValue(42), '42'],
        ];
    }

    /**
     * Provides data sets with validator configuration and/or field settings and
     * field value which are considered valid by the {@link validate()} method.
     *
     * ATTENTION: This is a default implementation, which must be overwritten if
     * a FieldType supports validation!
     *
     * For example:
     *
     *
     *  return array(
     *      array(
     *          array(
     *              "validatorConfiguration" => array(
     *                  "StringLengthValidator" => array(
     *                      "minStringLength" => 2,
     *                      "maxStringLength" => 10,
     *                  ),
     *              ),
     *          ),
     *          new TextLineValue( "lalalala" ),
     *      ),
     *      array(
     *          array(
     *              "fieldSettings" => array(
     *                  'isMultiple' => true
     *              ),
     *          ),
     *          new CountryValue(
     *              array(
     *                  "BE" => array(
     *                      "Name" => "Belgium",
     *                      "Alpha2" => "BE",
     *                      "Alpha3" => "BEL",
     *                      "IDC" => 32,
     *                  ),
     *              ),
     *          ),
     *      ),
     *      // ...
     *  );
     *
     *
     * @return array
     */
    public function provideValidDataForValidate()
    {
        return [
            [
                [
                    'validatorConfiguration' => [
                        'IntegerValueValidator' => [
                            'minIntegerValue' => 5,
                            'maxIntegerValue' => 10,
                        ],
                    ],
                ],
                new IntegerValue(7),
            ],
        ];
    }

    /**
     * Provides data sets with validator configuration and/or field settings,
     * field value and corresponding validation errors returned by
     * the {@link validate()} method.
     *
     * ATTENTION: This is a default implementation, which must be overwritten
     * if a FieldType supports validation!
     *
     * For example:
     *
     *
     *  return array(
     *      array(
     *          array(
     *              "validatorConfiguration" => array(
     *                  "IntegerValueValidator" => array(
     *                      "minIntegerValue" => 5,
     *                      "maxIntegerValue" => 10
     *                  ),
     *              ),
     *          ),
     *          new IntegerValue( 3 ),
     *          array(
     *              new ValidationError(
     *                  "The value can not be lower than %size%.",
     *                  null,
     *                  array(
     *                      "size" => 5
     *                  ),
     *              ),
     *          ),
     *      ),
     *      array(
     *          array(
     *              "fieldSettings" => array(
     *                  "isMultiple" => false
     *              ),
     *          ),
     *          new CountryValue(
     *              "BE" => array(
     *                  "Name" => "Belgium",
     *                  "Alpha2" => "BE",
     *                  "Alpha3" => "BEL",
     *                  "IDC" => 32,
     *              ),
     *              "FR" => array(
     *                  "Name" => "France",
     *                  "Alpha2" => "FR",
     *                  "Alpha3" => "FRA",
     *                  "IDC" => 33,
     *              ),
     *          )
     *      ),
     *      array(
     *          new ValidationError(
     *              "Field definition does not allow multiple countries to be selected."
     *          ),
     *      ),
     *      // ...
     *  );
     *
     *
     * @return array
     */
    public function provideInvalidDataForValidate()
    {
        return [
            [
                [
                    'validatorConfiguration' => [
                        'IntegerValueValidator' => [
                            'minIntegerValue' => 5,
                            'maxIntegerValue' => 10,
                        ],
                    ],
                ],
                new IntegerValue(3),
                [
                    new ValidationError(
                        'The value can not be lower than %size%.',
                        null,
                        [
                            '%size%' => 5,
                        ],
                        'value'
                    ),
                ],
            ],
            [
                [
                    'validatorConfiguration' => [
                        'IntegerValueValidator' => [
                            'minIntegerValue' => 5,
                            'maxIntegerValue' => 10,
                        ],
                    ],
                ],
                new IntegerValue(13),
                [
                    new ValidationError(
                        'The value can not be higher than %size%.',
                        null,
                        [
                            '%size%' => 10,
                        ],
                        'value'
                    ),
                ],
            ],
            [
                [
                    'validatorConfiguration' => [
                        'IntegerValueValidator' => [
                            'minIntegerValue' => 10,
                            'maxIntegerValue' => 5,
                        ],
                    ],
                ],
                new IntegerValue(7),
                [
                    new ValidationError(
                        'The value can not be higher than %size%.',
                        null,
                        [
                            '%size%' => 5,
                        ],
                        'value'
                    ),
                    new ValidationError(
                        'The value can not be lower than %size%.',
                        null,
                        [
                            '%size%' => 10,
                        ],
                        'value'
                    ),
                ],
            ],
        ];
    }
}

{'repo_name': 'ezsystems/ezpublish-kernel', 'stars': '161', 'repo_language': 'PHP', 'file_name': 'dbupdate-6.0.0-to-6.1.0rc1.sql', 'mime_type': 'text/plain', 'hash': 5578421102632559978, 'source_dataset': 'data'}


{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}

-- TODO: Now that a la carte syntax has been removed, this whole abstraction is of perhaps questionable utility

module Parsing.Parser
( Parser(..)
  -- * Parsers
  -- $abstract
, SomeParser(..)
, goParser
, javaParser
, javascriptParser
, jsonParser
, jsxParser
, phpParserPrecise
, pythonParser
, codeQLParserPrecise
, rubyParser
, tsxParser
, typescriptParser
  -- * Canonical sets of parsers
, preciseParsers
) where

import           AST.Unmarshal
import           Data.Map (Map)
import qualified Data.Map as Map
import           Foreign.Ptr
import qualified Language.CodeQL as CodeQLPrecise
import qualified Language.Go as GoPrecise
import qualified Language.Java as Java
import qualified Language.JSON as JSON
import qualified Language.PHP as PHPPrecise
import qualified Language.Python as PythonPrecise
import qualified Language.Ruby as RubyPrecise
import qualified Language.TSX as TSXPrecise
import qualified Language.TypeScript as TypeScriptPrecise
import           Prelude hiding (fail)
import           Source.Language (Language (..))
import           Source.Loc
import qualified TreeSitter.Language as TS (Language)

-- | A parser from 'Source' onto some term type.
data Parser term where
  -- | A parser 'Unmarshal'ing to a precise AST type using a 'TS.Language'.
  UnmarshalParser :: Unmarshal t => Ptr TS.Language -> Parser (t Loc)

-- $abstract
-- Most of our features are intended to operate over multiple languages, each represented by disjoint term types. Thus, we typically implement them using typeclasses, allowing us to share a single interface to invoke the feature, while specializing the implementation(s) as appropriate for each distinct term type.
--
-- In order to accomplish this, we employ 'SomeParser', which abstracts over parsers of various term types, while ensuring that some desired constraint holds. Constructing a @'SomeParser' c@ requires satisfiyng the constraint @c@ against the underlying 'Parser'’s term type, and so it can be used to parse with any of a map of parsers whose terms support @c@.
--
-- In practice, this means using 'Control.Effect.Parse.parseWith', and passing in a map of parsers to select from for your feature. It is recommended to define the map as a concrete top-level binding using the abstract parsers or ideally the canonical maps of parsers, below; using the abstracted parsers or canonical maps directly with 'Control.Effect.Parse.parseWith' will lead to significantly slower compiles.
--
-- Bad:
--
-- @
-- isFancy :: (Carrier sig m, Member Parse sig) => Blob -> m Bool
-- isFancy = parseWith (preciseParsers @Fancy) (pure . isTermFancy) -- slow compiles!
-- @
--
-- Good:
--
-- @
-- fancyParsers :: 'Map' 'Language' ('SomeParser' Fancy 'Loc')
-- fancyParsers = preciseParsers
--
-- isFancy :: (Carrier sig m, Member Parse sig) => Blob -> m Bool
-- isFancy = parseWith fancyParsers (pure . isTermFancy) -- much faster compiles
-- @

-- | A parser producing terms of existentially-quantified type under some constraint @c@.
--
--   This can be used to perform actions on terms supporting some feature abstracted using a typeclass, without knowing (or caring) what the specific term types are.
data SomeParser c a where
  SomeParser :: c t => Parser (t a) -> SomeParser c a

goParser :: c GoPrecise.Term => (Language, SomeParser c Loc)
goParser = (Go, SomeParser (UnmarshalParser @GoPrecise.Term GoPrecise.tree_sitter_go))

javaParser :: c Java.Term => (Language, SomeParser c Loc)
javaParser = (Java, SomeParser (UnmarshalParser @Java.Term Java.tree_sitter_java))

javascriptParser :: c TSXPrecise.Term => (Language, SomeParser c Loc)
javascriptParser = (JavaScript, SomeParser (UnmarshalParser @TSXPrecise.Term TSXPrecise.tree_sitter_tsx))

jsonParser :: c JSON.Term => (Language, SomeParser c Loc)
jsonParser = (JSON, SomeParser (UnmarshalParser @JSON.Term JSON.tree_sitter_json))

jsxParser :: c TSXPrecise.Term => (Language, SomeParser c Loc)
jsxParser = (JSX, SomeParser (UnmarshalParser @TSXPrecise.Term TSXPrecise.tree_sitter_tsx))

phpParserPrecise :: c PHPPrecise.Term => (Language, SomeParser c Loc)
phpParserPrecise = (PHP, SomeParser (UnmarshalParser @PHPPrecise.Term PHPPrecise.tree_sitter_php))

pythonParser :: c PythonPrecise.Term => (Language, SomeParser c Loc)
pythonParser = (Python, SomeParser (UnmarshalParser @PythonPrecise.Term PythonPrecise.tree_sitter_python))

codeQLParserPrecise :: c CodeQLPrecise.Term => (Language, SomeParser c Loc)
codeQLParserPrecise = (CodeQL, SomeParser (UnmarshalParser @CodeQLPrecise.Term CodeQLPrecise.tree_sitter_ql))

rubyParser :: c RubyPrecise.Term => (Language, SomeParser c Loc)
rubyParser = (Ruby, SomeParser (UnmarshalParser @RubyPrecise.Term RubyPrecise.tree_sitter_ruby))

tsxParser :: c TSXPrecise.Term => (Language, SomeParser c Loc)
tsxParser = (TSX, SomeParser (UnmarshalParser @TSXPrecise.Term TSXPrecise.tree_sitter_tsx))

typescriptParser :: c TypeScriptPrecise.Term => (Language, SomeParser c Loc)
typescriptParser = (TypeScript, SomeParser (UnmarshalParser @TypeScriptPrecise.Term TypeScriptPrecise.tree_sitter_typescript))

-- | The canonical set of parsers producing precise terms.
preciseParsers
  :: ( c Java.Term
     , c JSON.Term
     , c PythonPrecise.Term
     , c CodeQLPrecise.Term
     , c RubyPrecise.Term
     , c GoPrecise.Term
     , c PHPPrecise.Term
     , c TypeScriptPrecise.Term
     , c TSXPrecise.Term
     )
  => Map Language (SomeParser c Loc)
preciseParsers = Map.fromList
  [ goParser
  , javascriptParser
  , jsonParser
  , jsxParser
  , pythonParser
  , phpParserPrecise
  , codeQLParserPrecise
  , rubyParser
  , tsxParser
  , typescriptParser
  , javaParser
  ]

{'repo_name': 'github/semantic', 'stars': '7634', 'repo_language': 'Haskell', 'file_name': 'PreciseTest.hs', 'mime_type': 'text/plain', 'hash': 2087581181379916341, 'source_dataset': 'data'}


{'repo_name': 'frappe/erpnext', 'stars': '6500', 'repo_language': 'Python', 'file_name': 'site_config.json', 'mime_type': 'text/plain', 'hash': -4387399038459831178, 'source_dataset': 'data'}