text:
Doug McKinlay
Doug's sex blog
What Is Midlife Crisis and How to Deal With It
June 14, 2020 November 11, 2021 by sadmouse334
What Is Midlife Crisis?
In the day and age when life seems so fast, people all over the world feel like they've missed the boat to joy and success. They feel like they're stuck in the same old spot while everyone's going places. All that pressure probably gets them thinking: "Where did it all go wrong?" This psychological phenomenon, filled with identity and self-confidence problems, is what we deem as midlife crisis.
The term "midlife crisis" was first coined in the 60s when Elliott Jaques described it as a psychological crisis fueled by thoughts of fast-approaching death and failure. This condition manifests through depression, remorse, and anxiety. People try to replicate a lifestyle more suited for the young to face these uneasy feelings. And, in some cases, they try to right the wrongs from their past.
While this period is mentioned regularly in popular culture, most people seem to identify this crisis with straight, middle-class males who go out buying sports cars and dating younger women. But in the bigger picture of demographically affected people, it's not only exclusive to them. All races, genders, and sexual orientations can go through a midlife crisis. This condition isn't exclusive to any group.
Midlife crisis often hits people of a particular age group — between 45 and 64. It's said that males can suffer from it up to ten, while females, in extreme cases, go through it for up to five years. The most common triggers for this so-called crisis include work problems, couple issues, children growing up, parents passing away, or aging bodies. All of that translates into remorse, fear of humiliation, youth fetishization, and sexuality extremes (Know the most unusual sexual behaviors ever here). Here are some possible indicators or side effects of both female and male midlife crisis:
Depression is one of the clear indicators of a mid-life crisis and one of the most common illnesses of modern society. Whether it's chemically driven or not, there's no doubt it plays a significant role in a stressed-out adult. Midlife crises tend to put both men and women through a series of unresolved scenarios linked to depression itself.
This ailment manifests differently between individuals — from shifting mood swings to body problems. Therefore, it's safe to say it's a variable condition. That is precisely what makes it hard to handle. It will manifest as a lack of energy in most people. They will feel like an empty shell, without any juice left to run their motor. A common side effect will be plenty of unresolved tasks and neglected chores.
Another quite obvious indicator that somebody might be suffering from depression is lack of appetite. Aside from it being bad for the person's body, it'll make social interaction way harder. Healthy people tend to gather around food — suffering people don't. In extreme cases, it can even lead to severe weight loss, sometimes on the verge of anorexia.
Once a person is out of focus and begins questioning their life decisions, they could be virtue-signaling that something's wrong with them. And if their energy levels appear to have dropped, and they start evading meals, depression is likely the culprit. Unfortunately, middle-aged adults often seem to respond radically. They try to resolve these problems with pure materialistic and nihilistic actions.
Bigger Demands From Relationships
Even if the crisis manifests differently in males and females at times, both always affect relationships. People going through ti might feel like they're missing out on sex and might start demanding more in the sack. Whether it's kinky stuff or more frequent intercourse, it almost always ends badly. Often, their partners aren't into it or just can't live up to their desires.
The frustration caused by the lack of sexual gratification could result in impulsive decisions and, in a lot of cases, affairs and infidelity. That can further lead to divorces and broken households. Interestingly enough, both sexes usually go for younger lovers. Such a huge age gap in affairs represents these people's desire to return to their younger years and once again feel attractive like back in the day.
On the other hand, those who don't delve into infidelity project their new sexual fantasies onto often unwilling partners. Some argue that people suffering from midlife crisis might endanger others if they let their impulses overcome them. Even if they're unaware and don't want to hurt others, their psychological problems could take the best of them.
Overly Nostalgic
Another classic sign of significant life problems is when adults become nostalgic. But not in the way of seeing an old photo and remembering childhood, but in the form of always bringing up adolescent times or even trying to recreate them. Their crisis of adult life may sometimes even lead them to some pathetic actions, like shaming family and friends.
People who've gone through midlife crisis talk about how they were obsessed with the randomness of their younger lives. They were predominantly troubled by all of their missed opportunities. That inevitably led to their trying to swim in those waters once again, often failing miserably.
That usually happens once or soon after they hit their 40th birthday. They begin thinking about their mortality more. And that fear of wasted years usually takes them on their desperate quest for exciting. But all that remains at the end of the day is guilt and shame.
Drinking Problems or Substance Abuse
The crisis of adult life fools people into believing substance abuse can help their situation. Although some try to replicate their high school or college days, others know they can't. That's why they turn to alcoholism full of self-loathing. Drugs usually accompany their whiskeys and beers, making the situation even worse.
Although alcohol is present everywhere, it plays a crucial part in the crises of adult life. Trying to numb the pain of depression and anger, men and women often turn toward the bottle. However, that is a path that only leads to them going deeper down the rabbit hole. These actions can often escalate into domestic violence or self-abuse. In other cases, it's only embarrassing behavior that shames family and friends.
All of that only further hurts both them and their close ones. It can often blur the reality just enough so that those in crisis lose track of what they're running from. Overall, since not everyone can buy a sports car or get a hot young lover, many people decide to take the easy route toward numbing their pain — a quick fix. Cases of midlife crisis don't always involve alcohol and drugs, but when they do, they become a living hell!
sadmouse334
Latest posts by sadmouse334 (see all)
Seven reasons puppy play is great if you're new to kink - April 29, 2021
How to Deal With a Sexless Marriage? - August 11, 2020
How to Enjoy Married Life Regardless of Age - July 3, 2020
Seven reasons puppy play is great if you're new to kink
How to Deal With a Sexless Marriage?
How to Enjoy Married Life Regardless of Age
Can Role-Play Sex Save Your Marriage?
Lack of Communication Effects on Marriage
(Sex) Life After Having Kids
Midlife crisis is inevitable. It is a stage where men lose their interest in sex and what they do. Like you, I have also dealt with this problem. I lost my enthusiasm for sex, and I was looking for something new to stir me up. However, it led to several dilemmas, including my relationship with my wife. Because I was not interested in having sex with her, it made her unhappy.
As a family man, I don't want my children to experience a broken family. So, I searched the Internet and sought help to solve my issues.
I learned a lot from all the articles I read and the sessions I had with my sexologist, and I would like to help you too.
My blog aims to help men dealing with a midlife crisis. I share what I have learned from my experiences and my sexologist.
If you want to learn more about what I've been through and how I've overcome the problem, you need to browse my website. Who knows? The answer you've been looking for is here.
Tweets by Blog_Sex
Our Faceboook Page
411 Hotel Cir S,
San Diego,
CA 92108,
Contact: +1 619-291-1300
Proudly powered by WordPress | Theme: eBlog Lite by SpiderBuzz.


So happy to announce the launch of my novel The Coal Tower, available now on Amazon in paperback or Kindle versions (you can request the book at your bookstore, too). Here's the jacket blurb. I'll be posting more on the story soon. Hope you'll give it a shot and let me know what you think!
i've requested that two local library systems purchase this book so i can check it out. after moving 3 years ago, i rarely buy books anymore because of limited bookshelf space.
Thank you – you are so sweet to do this!
Loved it! Left me wanting more!
Thank you, Martha, so appreciate it! I'm working on a different novel now, but a sequel to Coal Tower comes next!


text:
Bao Dau Tu
Tin Nhanh Chung Khoan
Rising shrimp exports require responsibility
Tweet Print Email
Vietnamese shrimp is among the most-favoured agricultural products in overseas markets. However, with increasing exports also come more complications as domestic producers must comply with high standards set forth by foreign importers and their governments to avoid trade remedies.
In the first nine months of 2020, shrimp exports totalled $2.7 billion, up 10.5 per cent on-year, photo Le Toan
General director of Minh Phu Seafood Co., Ltd., Le Van Quang, last week met with the press to talk about the anti-dumping decision applied to the shrimp exports of its daughter company MSeafood Corporation.
Shrimp exports of Minh Phu and MSeafood to the United States will be subject to an anti-dumping tax of 10 per cent, equivalent to that of Indian shrimp exported to the US, as the country's Customs and Border Protection (CBP) concluded mid-October after eight months of investigation.
The case was initiated after the Ad Hoc Shrimp Trade Enforcement Committee submitted its allegations in July 2019. On October 13, the CBP announced that there was enough evidence that MSeafood violated US trade law.
The agency concluded that MSeafood "imported Indian-origin frozen shrimp that was transshipped, and the country of origin claimed as Vietnam." Because of this transshipment, anti-dumping duties that otherwise would have been owed on certain frozen warmwater shrimp from India were not paid to the US government.
Nguyen Xuan Cuong - Minister of Agriculture and Rural Development
In 2020, shrimp export turnover may reach $3.7 billion, up 9.8 per cent compared to 2019. However, many forecasts show that Vietnam's shrimp industry will face hurdles along the way. Thus, our ministry has coordinated with localities to actively build strategies to maintain the industry's growth momentum.
The ministry has directed localities to implement solutions to form a high-quality and sustainable production chain that is suitable for international food and safety standards.
In the long term, the ministry will further work with localities to promote domestic shrimp in foreign markets sustainably. However, the participating parties should make every effort to use their advantages and attach importance to production links in each region and locality.
Subjective business
Minh Phu, the largest shrimp producer and processor in Vietnam, argued in a statement from October 22 that the CBP based its conclusion on "unfavourable facts", and that "the agency did not send anyone to Vietnam for field inspections. Instead, the CBP evaluated the case based on a traceability system, which is inconsistent with the standards and systems of Minh Phu."
According to Quang, the analysis and traceability method that the company is applying has been approved by the National Oceanic and Atmospheric Administration and is based on the US' Seafood Import Monitoring Program.
Nonetheless, the CBP concluded "that the evidence indicated that Indian shrimp was co-mingled with Vietnamese-origin shrimp and that Minh Phu's internal production system did not permit reliable tracing of what happened to Indian shrimp from its purchase to its ultimate sale." The CBP also noted that Minh Phu's characterisations of its processes stood in stark contrast to the descriptions provided by the company to the US Department of Commerce, as reported by the Southern Shrimp Alliance.
In August 2019, Minh Phu had to sell off a 35.1-per-cent stake to Japanese investor Mitsui, because the company could not sell its products to the US and was consequently struggling throughout the season.
Minh Phu's revenue dropped 21 per cent in the first nine months of 2020, reaching VND6.6 trillion ($287 million) while profit amounted to VND408 billion ($17.7 million), down 15.7 per cent.
Currently, the company's lawyer is working with the US authorities, Quang said, to actively provide data and prove that the company has not used shrimp from India. As the US is Minh Phu's largest export market, with sales accounting for 38 per cent in 2019, Quang hopes that his company can find a way around the anti-dumping tax when exporting shrimp to this market.
In the 13-year history of participating in anti-dumping lawsuits against Vietnamese shrimp in the US, the 13th administrative review round of the Vietnam Association of Seafood Exporters and Producers has exceeded the expectations of Vietnamese shrimp exporters.
Regarding the results, the organisation's general secretary Truong Dinh Hoe said that domestic shrimp enterprises export goods to the US at fair and competitive prices, and that there has been no known occurrence of dumping to make illegal profits in the international market.
Hoe also argued that local seafood enterprises are "hardened" as they participated in many international trade lawsuits, thus handling those cases better than businesses of most other industries.
However this time, Minh Phu – an enterprise that was already subject to anti-dumping taxes from the US in 2012 and 2013 – showed that trade protection cases for Vietnam's exports are not a remnant from the past yet. In fact, many businesses are still subject to trade remedies.
Defensive measures
In addition to legal regulations issued by the US government, Vietnamese shrimps that enter this market are also subject to voluntary standards set by several influential non-governmental organisations. For example, the Global Aquaculture Alliance has developed Codes of Practice for Responsible Shrimp Farming to strengthen producers' responsibility for food safety and environmental protection.
The US is a major export market for Vietnamese shrimp, but the consequences of anti-dumping taxes are decreasing the number of shrimp exporters to this market.
Ngo Minh Hien, general director of Namcan Seaproducts Import Export JSC, said that while tariffs are not a concern, the most worrying part of the business is the technical barriers applied depending on the conditions and needs of the importers.
Some experts recommend that the US government should apply compensation measures in their calculations as goods that are sold at a higher price could offset those sold at lower prices. However, from the US' point of view, high-priced imported goods have nothing to do with low-priced ones – all imported goods sold at low prices are considered dumping.
"The US has tended to use more trade remedies since the pandemic began and economies slowed down," Le Sy Giang, CEO of GH Consults LLC, told VIR.
Data from the Ministry of Industry and Trade's Trade Remedies Authority of Vietnam (TRAV) shows that the number of trade remedies involving Vietnamese goods is increasing rapidly in recent years. While 2019 only recorded 16 new cases, the first nine months of 2020 saw 32 such cases.
Giang, who used to be head of the TRAV found that the US Department of Commerce is investigating stricter since Minh Phu's case in 2012. "I know that the US agencies now require businesses to provide twice the number of related documents compared to before," Giang claimed.
According to Giang, the US encourages importers to negotiate fixed prices for certain volumes of goods with foreign exporters – a solution that is more extensive than the rules of the World Trade Organization (WTO) – and stands in the context of an increasing number of US trade defence investigations.
The main goal of US trade remedies is to limit competition to protect domestic production.
Nguyen Thi Thu Trang, director of the WTO and International Trade Center under the Vietnam Chamber of Commerce and Industry said, "The US' trade protection is not arbitrary as the country has to comply with mandatory principles and procedures outlined in relevant WTO agreements."
Nevertheless, trade remedy investigations cause many difficulties for Vietnamese exporters as the review process can take at least a year. During this time, businesses must participate in consecutive price reviews, making it impossible for them to define competitive long-term strategies.
This, according to Trang, is the main reason why such investigations should be avoided by local exporters. However, she also explained, "It is still possible to get rid of the anti-dumping tax if the business achieves a negligible margin in three consecutive reviews by the US, even after the initial investigation has ended and tax been imposed."
By Hai Van
What the stars mean:
★ Poor ★ ★ Promising ★★★ Good ★★★★ Very good ★★★★★ Exceptional
shrimp exports Vietnamese shrimp Minh Phu Seafood
Minh Phu attempts to rise
Minh Phu now one of world's largest seafood companies, to list on HSX
Minh Phu Seafood tries to bring back glory days
VASEP requests DoC to re-calculate anti-dumping tax on shrimp
Rice, seafood exports in Mekong Delta face tough market this year
Tra fish processing industry struggles to reach export goal
Latest News ⁄ Coverage
Vietnam to become first country to produce vaccine for ASF
How the most prominent political event in Vietnam in 2021 could affect its economy
Promising figures offering confidence for pharma future
End of the game nigh for online tax dodgers
Local lenders increase fund reserves
Central bank continues growth drive amid global uncertainties
Global vision essential for Vietnam's technology brands (10:00 | 13/01/2021)
Vietnamese labour market on right track for recovery (09:00 | 13/01/2021)
Year of transport milestones ahead (16:25 | 12/01/2021)
New economic priorities for a new year (16:24 | 12/01/2021)
Evolving demands being met in high-end segment (09:14 | 12/01/2021)
Vietnam Railways reports loss in 2020, urging clearance of legal problems (18:30 | 11/01/2021)
TRAV believes US DoC's anti-dumping probe to have positive effect on Vietnam (17:59 | 11/01/2021)
Innovation – key to successful development (18:18 | 09/01/2021)
High hopes for 2021 as GDP goals defined (10:00 | 08/01/2021)
From protecting to empowering female workers across the nation (08:00 | 08/01/2021)

redpajama_set_name: RedPajamaCommonCrawl


This is the first part of a two-part article recapping ISSA/INTERCLEAN 2014.
Like its predecessors, ISSA/INTERCLEAN North America 2014 again succeeded in being the one week where key leaders and decision-makers in the commercial cleaning industry converged to see new product innovations, learn about industry trends and strengthen business connections.
The exhibition, co-produced by ISSA and its trade show partner, Amsterdam RAI, attracted 14,123 registrants to the Orange County Convention Center in Orlando, Florida, November 4-7, to network with the show's 685 exhibitors.
Not only were decision-makers from the industry's top distributors, building service contractors and in-house cleaning departments in attendance, but also more than 800 such organizations were represented that hadn't participated in the event last year in Las Vegas.
Of those new firms, 374 were distributors drawing from the Southeast region, from outside of the United States, and also from vertical markets, such as the office products, industrial and foodservice sectors. This event was once again a global gathering, with 16 percent of visitors hailing from 71 other countries. In addition, the trade show featured exhibitors from 27 countries.
Four other industry groups held their annual conventions during the week: the Association of Residential Cleaning Services International (ARCSI), Building Service Contractors Association International (BSCAI), IEHA, and the newest co-location partner, Cleaning Trade Equipment Association (CETA).
The International Window Cleaners Association (IWCA) also hosted safety workshops for the first time during ISSA/INTERCLEAN.
In addition to ISSA's efforts to attract a diverse group of industry influencers at this year's event, the association also offered more reasons to stay longer into the week, including four days of educational seminars, four keynote speakers and a chance to connect with LinkedIn members.
The event culminated in a double-header of keynote speakers plus industry awards on Nov. 7. Champion basketball coach Rick Pitino kicked off the day's activities, and, at the close of the exhibition, renowned boxer Sugar Ray Leonard headlined the ISSA Excellence Awards Luncheon.
During the lunch, ISSA honored long-standing member companies, the 10 ISSA Best Customer Service Award winners and the 10 winners of this year's ISSA Innovation Award. The day ended with several seminars, and, in all, the lineup succeeded in its goal of attracting more attendees to the show floor through its 1 p.m. close on Friday than in prior years.


289961 - DOMLinkAdded events synthesized by content can make chrome access non-DOM JS property "rel"
DOMLinkAdded events synthesized by content can make chrome access non-DOM JS property "rel"
# Thus, the following code can exploit.
Testcase is attachment 180192 [details].
other cases, since bug 289940 is probably a bit much for 1.0.3.
Attachment #180411 - Flags: approval-aviary1.0.3?
dbaron landed this on the aviary1.0.1 and 1.7 branches.
289074 attachment 180435 [details] [diff] [review].
document.domain and runs otherWindow.eval, but I'll take that chance.
and mac os x), all I get is a blank page. is this now expected behavior?
doesn't appear. verified as fixed with 1.0.3 branch builds.
resolve it? If not, can we get it landed there?


text:
package dialogflow // import "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _struct "github.com/golang/protobuf/ptypes/struct"
import _ "google.golang.org/genproto/googleapis/api/annotations"
import status "google.golang.org/genproto/googleapis/rpc/status"
import latlng "google.golang.org/genproto/googleapis/type/latlng"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

// Audio encoding of the audio content sent in the conversational query request.
// Refer to the [Cloud Speech API documentation](/speech/docs/basics) for more
// details.
type AudioEncoding int32

const (
	// Not specified.
	AudioEncoding_AUDIO_ENCODING_UNSPECIFIED AudioEncoding = 0
	// Uncompressed 16-bit signed little-endian samples (Linear PCM).
	AudioEncoding_AUDIO_ENCODING_LINEAR_16 AudioEncoding = 1
	// [`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless Audio
	// Codec) is the recommended encoding because it is lossless (therefore
	// recognition is not compromised) and requires only about half the
	// bandwidth of `LINEAR16`. `FLAC` stream encoding supports 16-bit and
	// 24-bit samples, however, not all fields in `STREAMINFO` are supported.
	AudioEncoding_AUDIO_ENCODING_FLAC AudioEncoding = 2
	// 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
	AudioEncoding_AUDIO_ENCODING_MULAW AudioEncoding = 3
	// Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000.
	AudioEncoding_AUDIO_ENCODING_AMR AudioEncoding = 4
	// Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000.
	AudioEncoding_AUDIO_ENCODING_AMR_WB AudioEncoding = 5
	// Opus encoded audio frames in Ogg container
	// ([OggOpus](https://wiki.xiph.org/OggOpus)).
	// `sample_rate_hertz` must be 16000.
	AudioEncoding_AUDIO_ENCODING_OGG_OPUS AudioEncoding = 6
	// Although the use of lossy encodings is not recommended, if a very low
	// bitrate encoding is required, `OGG_OPUS` is highly preferred over
	// Speex encoding. The [Speex](https://speex.org/) encoding supported by
	// Dialogflow API has a header byte in each block, as in MIME type
	// `audio/x-speex-with-header-byte`.
	// It is a variant of the RTP Speex encoding defined in
	// [RFC 5574](https://tools.ietf.org/html/rfc5574).
	// The stream is a sequence of blocks, one block per RTP packet. Each block
	// starts with a byte containing the length of the block, in bytes, followed
	// by one or more frames of Speex data, padded to an integral number of
	// bytes (octets) as specified in RFC 5574. In other words, each RTP header
	// is replaced with a single byte containing the block length. Only Speex
	// wideband is supported. `sample_rate_hertz` must be 16000.
	AudioEncoding_AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE AudioEncoding = 7
)

var AudioEncoding_name = map[int32]string{
	0: "AUDIO_ENCODING_UNSPECIFIED",
	1: "AUDIO_ENCODING_LINEAR_16",
	2: "AUDIO_ENCODING_FLAC",
	3: "AUDIO_ENCODING_MULAW",
	4: "AUDIO_ENCODING_AMR",
	5: "AUDIO_ENCODING_AMR_WB",
	6: "AUDIO_ENCODING_OGG_OPUS",
	7: "AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE",
}
var AudioEncoding_value = map[string]int32{
	"AUDIO_ENCODING_UNSPECIFIED":            0,
	"AUDIO_ENCODING_LINEAR_16":              1,
	"AUDIO_ENCODING_FLAC":                   2,
	"AUDIO_ENCODING_MULAW":                  3,
	"AUDIO_ENCODING_AMR":                    4,
	"AUDIO_ENCODING_AMR_WB":                 5,
	"AUDIO_ENCODING_OGG_OPUS":               6,
	"AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE": 7,
}

func (x AudioEncoding) String() string {
	return proto.EnumName(AudioEncoding_name, int32(x))
}
func (AudioEncoding) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_session_e51df00932adac70, []int{0}
}

// Type of the response message.
type StreamingRecognitionResult_MessageType int32

const (
	// Not specified. Should never be used.
	StreamingRecognitionResult_MESSAGE_TYPE_UNSPECIFIED StreamingRecognitionResult_MessageType = 0
	// Message contains a (possibly partial) transcript.
	StreamingRecognitionResult_TRANSCRIPT StreamingRecognitionResult_MessageType = 1
	// Event indicates that the server has detected the end of the user's speech
	// utterance and expects no additional speech. Therefore, the server will
	// not process additional audio (although it may subsequently return
	// additional results). The client should stop sending additional audio
	// data, half-close the gRPC connection, and wait for any additional results
	// until the server closes the gRPC connection. This message is only sent if
	// `single_utterance` was set to `true`, and is not used otherwise.
	StreamingRecognitionResult_END_OF_SINGLE_UTTERANCE StreamingRecognitionResult_MessageType = 2
)

var StreamingRecognitionResult_MessageType_name = map[int32]string{
	0: "MESSAGE_TYPE_UNSPECIFIED",
	1: "TRANSCRIPT",
	2: "END_OF_SINGLE_UTTERANCE",
}
var StreamingRecognitionResult_MessageType_value = map[string]int32{
	"MESSAGE_TYPE_UNSPECIFIED": 0,
	"TRANSCRIPT":               1,
	"END_OF_SINGLE_UTTERANCE":  2,
}

func (x StreamingRecognitionResult_MessageType) String() string {
	return proto.EnumName(StreamingRecognitionResult_MessageType_name, int32(x))
}
func (StreamingRecognitionResult_MessageType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_session_e51df00932adac70, []int{7, 0}
}

// The request to detect user's intent.
type DetectIntentRequest struct {
	// Required. The name of the session this query is sent to. Format:
	// `projects/<Project ID>/agent/sessions/<Session ID>`. It's up to the API
	// caller to choose an appropriate session ID. It can be a random number or
	// some type of user identifier (preferably hashed). The length of the session
	// ID must not exceed 36 bytes.
	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
	// Optional. The parameters of this query.
	QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
	// Required. The input specification. It can be set to:
	//
	// 1.  an audio config
	//     which instructs the speech recognizer how to process the speech audio,
	//
	// 2.  a conversational query in the form of text, or
	//
	// 3.  an event that specifies which intent to trigger.
	QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"`
	// Optional. The natural language speech audio to be processed. This field
	// should be populated iff `query_input` is set to an input audio config.
	// A single request can contain up to 1 minute of speech audio data.
	InputAudio           []byte   `protobuf:"bytes,5,opt,name=input_audio,json=inputAudio,proto3" json:"input_audio,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DetectIntentRequest) Reset()         { *m = DetectIntentRequest{} }
func (m *DetectIntentRequest) String() string { return proto.CompactTextString(m) }
func (*DetectIntentRequest) ProtoMessage()    {}
func (*DetectIntentRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_session_e51df00932adac70, []int{0}
}
func (m *DetectIntentRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DetectIntentRequest.Unmarshal(m, b)
}
func (m *DetectIntentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DetectIntentRequest.Marshal(b, m, deterministic)
}
func (dst *DetectIntentRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DetectIntentRequest.Merge(dst, src)
}
func (m *DetectIntentRequest) XXX_Size() int {
	return xxx_messageInfo_DetectIntentRequest.Size(m)
}
func (m *DetectIntentRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DetectIntentRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DetectIntentRequest proto.InternalMessageInfo

func (m *DetectIntentRequest) GetSession() string {
	if m != nil {
		return m.Session
	}
	return ""
}

func (m *DetectIntentRequest) GetQueryParams() *QueryParameters {
	if m != nil {
		return m.QueryParams
	}
	return nil
}

func (m *DetectIntentRequest) GetQueryInput() *QueryInput {
	if m != nil {
		return m.QueryInput
	}
	return nil
}

func (m *DetectIntentRequest) GetInputAudio() []byte {
	if m != nil {
		return m.InputAudio
	}
	return nil
}

// The message returned from the DetectIntent method.
type DetectIntentResponse struct {
	// The unique identifier of the response. It can be used to
	// locate a response in the training example set or for reporting issues.
	ResponseId string `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"`
	// The results of the conversational query or event processing.
	QueryResult *QueryResult `protobuf:"bytes,2,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"`
	// Specifies the status of the webhook request. `webhook_status`
	// is never populated in webhook requests.
	WebhookStatus        *status.Status `protobuf:"bytes,3,opt,name=webhook_status,json=webhookStatus,proto3" json:"webhook_status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *DetectIntentResponse) Reset()         { *m = DetectIntentResponse{} }
func (m *DetectIntentResponse) String() string { return proto.CompactTextString(m) }
func (*DetectIntentResponse) ProtoMessage()    {}
func (*DetectIntentResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_session_e51df00932adac70, []int{1}
}
func (m *DetectIntentResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DetectIntentResponse.Unmarshal(m, b)
}
func (m *DetectIntentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DetectIntentResponse.Marshal(b, m, deterministic)
}
func (dst *DetectIntentResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DetectIntentResponse.Merge(dst, src)
}
func (m *DetectIntentResponse) XXX_Size() int {
	return xxx_messageInfo_DetectIntentResponse.Size(m)
}
func (m *DetectIntentResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DetectIntentResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DetectIntentResponse proto.InternalMessageInfo

func (m *DetectIntentResponse) GetResponseId() string {
	if m != nil {
		return m.ResponseId
	}
	return ""
}

func (m *DetectIntentResponse) GetQueryResult() *QueryResult {
	if m != nil {
		return m.QueryResult
	}
	return nil
}

func (m *DetectIntentResponse) GetWebhookStatus() *status.Status {
	if m != nil {
		return m.WebhookStatus
	}
	return nil
}

// Represents the parameters of the conversational query.
type QueryParameters struct {
	// Optional. The time zone of this conversational query from the
	// [time zone database](https://www.iana.org/time-zones), e.g.,
	// America/New_York, Europe/Paris. If not provided, the time zone specified in
	// agent settings is used.
	TimeZone string `protobuf:"bytes,1,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
	// Optional. The geo location of this conversational query.
	GeoLocation *latlng.LatLng `protobuf:"bytes,2,opt,name=geo_location,json=geoLocation,proto3" json:"geo_location,omitempty"`
	// Optional. The collection of contexts to be activated before this query is
	// executed.
	Contexts []*Context `protobuf:"bytes,3,rep,name=contexts,proto3" json:"contexts,omitempty"`
	// Optional. Specifies whether to delete all contexts in the current session
	// before the new ones are activated.
	ResetContexts bool `protobuf:"varint,4,opt,name=reset_contexts,json=resetContexts,proto3" json:"reset_contexts,omitempty"`
	// Optional. The collection of session entity types to replace or extend
	// developer entities with for this query only. The entity synonyms apply
	// to all languages.
	SessionEntityTypes []*SessionEntityType `protobuf:"bytes,5,rep,name=session_entity_types,json=sessionEntityTypes,proto3" json:"session_entity_types,omitempty"`
	// Optional. This field can be used to pass custom data into the webhook
	// associated with the agent. Arbitrary JSON objects are supported.
	Payload              *_struct.Struct `protobuf:"bytes,6,opt,name=payload,proto3" json:"payload,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *QueryParameters) Reset()         { *m = QueryParameters{} }
func (m *QueryParameters) String() string { return proto.CompactTextString(m) }
func (*QueryParameters) ProtoMessage()    {}
func (*QueryParameters) Descriptor() ([]byte, []int) {
	return fileDescriptor_session_e51df00932adac70, []int{2}
}
func (m *QueryParameters) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_QueryParameters.Unmarshal(m, b)
}
func (m *QueryParameters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_QueryParameters.Marshal(b, m, deterministic)
}
func (dst *QueryParameters) XXX_Merge(src proto.Message) {
	xxx_messageInfo_QueryParameters.Merge(dst, src)
}
func (m *QueryParameters) XXX_Size() int {
	return xxx_messageInfo_QueryParameters.Size(m)
}
func (m *QueryParameters) XXX_DiscardUnknown() {
	xxx_messageInfo_QueryParameters.DiscardUnknown(m)
}

var xxx_messageInfo_QueryParameters proto.InternalMessageInfo

func (m *QueryParameters) GetTimeZone() string {
	if m != nil {
		return m.TimeZone
	}
	return ""
}

func (m *QueryParameters) GetGeoLocation() *latlng.LatLng {
	if m != nil {
		return m.GeoLocation
	}
	return nil
}

func (m *QueryParameters) GetContexts() []*Context {
	if m != nil {
		return m.Contexts
	}
	return nil
}

func (m *QueryParameters) GetResetContexts() bool {
	if m != nil {
		return m.ResetContexts
	}
	return false
}

func (m *QueryParameters) GetSessionEntityTypes() []*SessionEntityType {
	if m != nil {
		return m.SessionEntityTypes
	}
	return nil
}

func (m *QueryParameters) GetPayload() *_struct.Struct {
	if m != nil {
		return m.Payload
	}
	return nil
}

// Represents the query input. It can contain either:
//
// 1.  An audio config which
//     instructs the speech recognizer how to process the speech audio.
//
// 2.  A conversational query in the form of text,.
//
// 3.  An event that specifies which intent to trigger.
type QueryInput struct {
	// Required. The input specification.
	//
	// Types that are valid to be assigned to Input:
	//	*QueryInput_AudioConfig
	//	*QueryInput_Text
	//	*QueryInput_Event
	Input                isQueryInput_Input `protobuf_oneof:"input"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *QueryInput) Reset()         { *m = QueryInput{} }
func (m *QueryInput) String() string { return proto.CompactTextString(m) }
func (*QueryInput) ProtoMessage()    {}
func (*QueryInput) Descriptor() ([]byte, []int) {
	return fileDescriptor_session_e51df00932adac70, []int{3}
}
func (m *QueryInput) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_QueryInput.Unmarshal(m, b)
}
func (m *QueryInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_QueryInput.Marshal(b, m, deterministic)
}
func (dst *QueryInput) XXX_Merge(src proto.Message) {
	xxx_messageInfo_QueryInput.Merge(dst, src)
}
func (m *QueryInput) XXX_Size() int {
	return xxx_messageInfo_QueryInput.Size(m)
}
func (m *QueryInput) XXX_DiscardUnknown() {
	xxx_messageInfo_QueryInput.DiscardUnknown(m)
}

var xxx_messageInfo_QueryInput proto.InternalMessageInfo

type isQueryInput_Input interface {
	isQueryInput_Input()
}

type QueryInput_AudioConfig struct {
	AudioConfig *InputAudioConfig `protobuf:"bytes,1,opt,name=audio_config,json=audioConfig,proto3,oneof"`
}

type QueryInput_Text struct {
	Text *TextInput `protobuf:"bytes,2,opt,name=text,proto3,oneof"`
}

type QueryInput_Event struct {
	Event *EventInput `protobuf:"bytes,3,opt,name=event,proto3,oneof"`
}

func (*QueryInput_AudioConfig) isQueryInput_Input() {}

func (*QueryInput_Text) isQueryInput_Input() {}

func (*QueryInput_Event) isQueryInput_Input() {}

func (m *QueryInput) GetInput() isQueryInput_Input {
	if m != nil {
		return m.Input
	}
	return nil
}

func (m *QueryInput) GetAudioConfig() *InputAudioConfig {
	if x, ok := m.GetInput().(*QueryInput_AudioConfig); ok {
		return x.AudioConfig
	}
	return nil
}

func (m *QueryInput) GetText() *TextInput {
	if x, ok := m.GetInput().(*QueryInput_Text); ok {
		return x.Text
	}
	return nil
}

func (m *QueryInput) GetEvent() *EventInput {
	if x, ok := m.GetInput().(*QueryInput_Event); ok {
		return x.Event
	}
	return nil
}

// XXX_OneofFuncs is for the internal use of the proto package.
func (*QueryInput) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
	return _QueryInput_OneofMarshaler, _QueryInput_OneofUnmarshaler, _QueryInput_OneofSizer, []interface{}{
		(*QueryInput_AudioConfig)(nil),
		(*QueryInput_Text)(nil),
		(*QueryInput_Event)(nil),
	}
}

func _QueryInput_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
	m := msg.(*QueryInput)
	// input
	switch x := m.Input.(type) {
	case *QueryInput_AudioConfig:
		b.EncodeVarint(1<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.AudioConfig); err != nil {
			return err
		}
	case *QueryInput_Text:
		b.EncodeVarint(2<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.Text); err != nil {
			return err
		}
	case *QueryInput_Event:
		b.EncodeVarint(3<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.Event); err != nil {
			return err
		}
	case nil:
	default:
		return fmt.Errorf("QueryInput.Input has unexpected type %T", x)
	}
	return nil
}

func _QueryInput_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
	m := msg.(*QueryInput)
	switch tag {
	case 1: // input.audio_config
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(InputAudioConfig)
		err := b.DecodeMessage(msg)
		m.Input = &QueryInput_AudioConfig{msg}
		return true, err
	case 2: // input.text
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(TextInput)
		err := b.DecodeMessage(msg)
		m.Input = &QueryInput_Text{msg}
		return true, err
	case 3: // input.event
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(EventInput)
		err := b.DecodeMessage(msg)
		m.Input = &QueryInput_Event{msg}
		return true, err
	default:
		return false, nil
	}
}

func _QueryInput_OneofSizer(msg proto.Message) (n int) {
	m := msg.(*QueryInput)
	// input
	switch x := m.Input.(type) {
	case *QueryInput_AudioConfig:
		s := proto.Size(x.AudioConfig)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *QueryInput_Text:
		s := proto.Size(x.Text)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *QueryInput_Event:
		s := proto.Size(x.Event)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	return n
}

// Represents the result of conversational query or event processing.
type QueryResult struct {
	// The original conversational query text:
	// - If natural language text was provided as input, `query_text` contains
	//   a copy of the input.
	// - If natural language speech audio was provided as input, `query_text`
	//   contains the speech recognition result. If speech recognizer produced
	//   multiple alternatives, a particular one is picked.
	// - If an event was provided as input, `query_text` is not set.
	QueryText string `protobuf:"bytes,1,opt,name=query_text,json=queryText,proto3" json:"query_text,omitempty"`
	// The language that was triggered during intent detection.
	// See [Language Support](https://dialogflow.com/docs/reference/language)
	// for a list of the currently supported language codes.
	LanguageCode string `protobuf:"bytes,15,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	// The Speech recognition confidence between 0.0 and 1.0. A higher number
	// indicates an estimated greater likelihood that the recognized words are
	// correct. The default of 0.0 is a sentinel value indicating that confidence
	// was not set.
	//
	// You should not rely on this field as it isn't guaranteed to be accurate, or
	// even set. In particular this field isn't set in Webhook calls and for
	// StreamingDetectIntent since the streaming endpoint has separate confidence
	// estimates per portion of the audio in StreamingRecognitionResult.
	SpeechRecognitionConfidence float32 `protobuf:"fixed32,2,opt,name=speech_recognition_confidence,json=speechRecognitionConfidence,proto3" json:"speech_recognition_confidence,omitempty"`
	// The action name from the matched intent.
	Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"`
	// The collection of extracted parameters.
	Parameters *_struct.Struct `protobuf:"bytes,4,opt,name=parameters,proto3" json:"parameters,omitempty"`
	// This field is set to:
	// - `false` if the matched intent has required parameters and not all of
	//    the required parameter values have been collected.
	// - `true` if all required parameter values have been collected, or if the
	//    matched intent doesn't contain any required parameters.
	AllRequiredParamsPresent bool `protobuf:"varint,5,opt,name=all_required_params_present,json=allRequiredParamsPresent,proto3" json:"all_required_params_present,omitempty"`
	// The text to be pronounced to the user or shown on the screen.
	FulfillmentText string `protobuf:"bytes,6,opt,name=fulfillment_text,json=fulfillmentText,proto3" json:"fulfillment_text,omitempty"`
	// The collection of rich messages to present to the user.
	FulfillmentMessages []*Intent_Message `protobuf:"bytes,7,rep,name=fulfillment_messages,json=fulfillmentMessages,proto3" json:"fulfillment_messages,omitempty"`
	// If the query was fulfilled by a webhook call, this field is set to the
	// value of the `source` field returned in the webhook response.
	WebhookSource string `protobuf:"bytes,8,opt,name=webhook_source,json=webhookSource,proto3" json:"webhook_source,omitempty"`
	// If the query was fulfilled by a webhook call, this field is set to the
	// value of the `payload` field returned in the webhook response.
	WebhookPayload *_struct.Struct `protobuf:"bytes,9,opt,name=webhook_payload,json=webhookPayload,proto3" json:"webhook_payload,omitempty"`
	// The collection of output contexts. If applicable,
	// `output_contexts.parameters` contains entries with name
	// `<parameter name>.original` containing the original parameter values
	// before the query.
	OutputContexts []*Context `protobuf:"bytes,10,rep,name=output_contexts,json=outputContexts,proto3" json:"output_contexts,omitempty"`
	// The intent that matched the conversational query. Some, not
	// all fields are filled in this message, including but not limited to:
	// `name`, `display_name` and `webhook_state`.
	Intent *Intent `protobuf:"bytes,11,opt,name=intent,proto3" json:"intent,omitempty"`
	// The intent detection confidence. Values range from 0.0
	// (completely uncertain) to 1.0 (completely certain).
	IntentDetectionConfidence float32 `protobuf:"fixed32,12,opt,name=intent_detection_confidence,json=intentDetectionConfidence,proto3" json:"intent_detection_confidence,omitempty"`
	// The free-form diagnostic info. For example, this field
	// could contain webhook call latency.
	DiagnosticInfo       *_struct.Struct `protobuf:"bytes,14,opt,name=diagnostic_info,json=diagnosticInfo,proto3" json:"diagnostic_info,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *QueryResult) Reset()         { *m = QueryResult{} }
func (m *QueryResult) String() string { return proto.CompactTextString(m) }
func (*QueryResult) ProtoMessage()    {}
func (*QueryResult) Descriptor() ([]byte, []int) {
	return fileDescriptor_session_e51df00932adac70, []int{4}
}
func (m *QueryResult) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_QueryResult.Unmarshal(m, b)
}
func (m *QueryResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_QueryResult.Marshal(b, m, deterministic)
}
func (dst *QueryResult) XXX_Merge(src proto.Message) {
	xxx_messageInfo_QueryResult.Merge(dst, src)
}
func (m *QueryResult) XXX_Size() int {
	return xxx_messageInfo_QueryResult.Size(m)
}
func (m *QueryResult) XXX_DiscardUnknown() {
	xxx_messageInfo_QueryResult.DiscardUnknown(m)
}

var xxx_messageInfo_QueryResult proto.InternalMessageInfo

func (m *QueryResult) GetQueryText() string {
	if m != nil {
		return m.QueryText
	}
	return ""
}

func (m *QueryResult) GetLanguageCode() string {
	if m != nil {
		return m.LanguageCode
	}
	return ""
}

func (m *QueryResult) GetSpeechRecognitionConfidence() float32 {
	if m != nil {
		return m.SpeechRecognitionConfidence
	}
	return 0
}

func (m *QueryResult) GetAction() string {
	if m != nil {
		return m.Action
	}
	return ""
}

func (m *QueryResult) GetParameters() *_struct.Struct {
	if m != nil {
		return m.Parameters
	}
	return nil
}

func (m *QueryResult) GetAllRequiredParamsPresent() bool {
	if m != nil {
		return m.AllRequiredParamsPresent
	}
	return false
}

func (m *QueryResult) GetFulfillmentText() string {
	if m != nil {
		return m.FulfillmentText
	}
	return ""
}

func (m *QueryResult) GetFulfillmentMessages() []*Intent_Message {
	if m != nil {
		return m.FulfillmentMessages
	}
	return nil
}

func (m *QueryResult) GetWebhookSource() string {
	if m != nil {
		return m.WebhookSource
	}
	return ""
}

func (m *QueryResult) GetWebhookPayload() *_struct.Struct {
	if m != nil {
		return m.WebhookPayload
	}
	return nil
}

func (m *QueryResult) GetOutputContexts() []*Context {
	if m != nil {
		return m.OutputContexts
	}
	return nil
}

func (m *QueryResult) GetIntent() *Intent {
	if m != nil {
		return m.Intent
	}
	return nil
}

func (m *QueryResult) GetIntentDetectionConfidence() float32 {
	if m != nil {
		return m.IntentDetectionConfidence
	}
	return 0
}

func (m *QueryResult) GetDiagnosticInfo() *_struct.Struct {
	if m != nil {
		return m.DiagnosticInfo
	}
	return nil
}

// The top-level message sent by the client to the
// `StreamingDetectIntent` method.
//
// Multiple request messages should be sent in order:
//
// 1.  The first message must contain `session`, `query_input` plus optionally
//     `query_params` and/or `single_utterance`. The message must not contain `input_audio`.
//
// 2.  If `query_input` was set to a streaming input audio config,
//     all subsequent messages must contain only `input_audio`.
//     Otherwise, finish the request stream.
type StreamingDetectIntentRequest struct {
	// Required. The name of the session the query is sent to.
	// Format of the session name:
	// `projects/<Project ID>/agent/sessions/<Session ID>`. It's up to the API
	// caller to choose an appropriate <Session ID>. It can be a random number or
	// some type of user identifier (preferably hashed). The length of the session
	// ID must not exceed 36 characters.
	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
	// Optional. The parameters of this query.
	QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
	// Required. The input specification. It can be set to:
	//
	// 1.  an audio config which instructs the speech recognizer how to process
	//     the speech audio,
	//
	// 2.  a conversational query in the form of text, or
	//
	// 3.  an event that specifies which intent to trigger.
	QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"`
	// Optional. If `false` (default), recognition does not cease until the
	// client closes the stream.
	// If `true`, the recognizer will detect a single spoken utterance in input
	// audio. Recognition ceases when it detects the audio's voice has
	// stopped or paused. In this case, once a detected intent is received, the
	// client should close the stream and start a new request with a new stream as
	// needed.
	// This setting is ignored when `query_input` is a piece of text or an event.
	SingleUtterance bool `protobuf:"varint,4,opt,name=single_utterance,json=singleUtterance,proto3" json:"single_utterance,omitempty"`
	// Optional. The input audio content to be recognized. Must be sent if
	// `query_input` was set to a streaming input audio config. The complete audio
	// over all streaming messages must not exceed 1 minute.
	InputAudio           []byte   `protobuf:"bytes,6,opt,name=input_audio,json=inputAudio,proto3" json:"input_audio,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *StreamingDetectIntentRequest) Reset()         { *m = StreamingDetectIntentRequest{} }
func (m *StreamingDetectIntentRequest) String() string { return proto.CompactTextString(m) }
func (*StreamingDetectIntentRequest) ProtoMessage()    {}
func (*StreamingDetectIntentRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_session_e51df00932adac70, []int{5}
}
func (m *StreamingDetectIntentRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StreamingDetectIntentRequest.Unmarshal(m, b)
}
func (m *StreamingDetectIntentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StreamingDetectIntentRequest.Marshal(b, m, deterministic)
}
func (dst *StreamingDetectIntentRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StreamingDetectIntentRequest.Merge(dst, src)
}
func (m *StreamingDetectIntentRequest) XXX_Size() int {
	return xxx_messageInfo_StreamingDetectIntentRequest.Size(m)
}
func (m *StreamingDetectIntentRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_StreamingDetectIntentRequest.DiscardUnknown(m)
}

var xxx_messageInfo_StreamingDetectIntentRequest proto.InternalMessageInfo

func (m *StreamingDetectIntentRequest) GetSession() string {
	if m != nil {
		return m.Session
	}
	return ""
}

func (m *StreamingDetectIntentRequest) GetQueryParams() *QueryParameters {
	if m != nil {
		return m.QueryParams
	}
	return nil
}

func (m *StreamingDetectIntentRequest) GetQueryInput() *QueryInput {
	if m != nil {
		return m.QueryInput
	}
	return nil
}

func (m *StreamingDetectIntentRequest) GetSingleUtterance() bool {
	if m != nil {
		return m.SingleUtterance
	}
	return false
}

func (m *StreamingDetectIntentRequest) GetInputAudio() []byte {
	if m != nil {
		return m.InputAudio
	}
	return nil
}

// The top-level message returned from the
// `StreamingDetectIntent` method.
//
// Multiple response messages can be returned in order:
//
// 1.  If the input was set to streaming audio, the first one or more messages
//     contain `recognition_result`. Each `recognition_result` represents a more
//     complete transcript of what the user said. The last `recognition_result`
//     has `is_final` set to `true`.
//
// 2.  The next message contains `response_id`, `query_result`
//     and optionally `webhook_status` if a WebHook was called.
type StreamingDetectIntentResponse struct {
	// The unique identifier of the response. It can be used to
	// locate a response in the training example set or for reporting issues.
	ResponseId string `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"`
	// The result of speech recognition.
	RecognitionResult *StreamingRecognitionResult `protobuf:"bytes,2,opt,name=recognition_result,json=recognitionResult,proto3" json:"recognition_result,omitempty"`
	// The result of the conversational query or event processing.
	QueryResult *QueryResult `protobuf:"bytes,3,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"`
	// Specifies the status of the webhook request.
	WebhookStatus        *status.Status `protobuf:"bytes,4,opt,name=webhook_status,json=webhookStatus,proto3" json:"webhook_status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *StreamingDetectIntentResponse) Reset()         { *m = StreamingDetectIntentResponse{} }
func (m *StreamingDetectIntentResponse) String() string { return proto.CompactTextString(m) }
func (*StreamingDetectIntentResponse) ProtoMessage()    {}
func (*StreamingDetectIntentResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_session_e51df00932adac70, []int{6}
}
func (m *StreamingDetectIntentResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StreamingDetectIntentResponse.Unmarshal(m, b)
}
func (m *StreamingDetectIntentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StreamingDetectIntentResponse.Marshal(b, m, deterministic)
}
func (dst *StreamingDetectIntentResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StreamingDetectIntentResponse.Merge(dst, src)
}
func (m *StreamingDetectIntentResponse) XXX_Size() int {
	return xxx_messageInfo_StreamingDetectIntentResponse.Size(m)
}
func (m *StreamingDetectIntentResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_StreamingDetectIntentResponse.DiscardUnknown(m)
}

var xxx_messageInfo_StreamingDetectIntentResponse proto.InternalMessageInfo

func (m *StreamingDetectIntentResponse) GetResponseId() string {
	if m != nil {
		return m.ResponseId
	}
	return ""
}

func (m *StreamingDetectIntentResponse) GetRecognitionResult() *StreamingRecognitionResult {
	if m != nil {
		return m.RecognitionResult
	}
	return nil
}

func (m *StreamingDetectIntentResponse) GetQueryResult() *QueryResult {
	if m != nil {
		return m.QueryResult
	}
	return nil
}

func (m *StreamingDetectIntentResponse) GetWebhookStatus() *status.Status {
	if m != nil {
		return m.WebhookStatus
	}
	return nil
}

// Contains a speech recognition result corresponding to a portion of the audio
// that is currently being processed or an indication that this is the end
// of the single requested utterance.
//
// Example:
//
// 1.  transcript: "tube"
//
// 2.  transcript: "to be a"
//
// 3.  transcript: "to be"
//
// 4.  transcript: "to be or not to be"
//     is_final: true
//
// 5.  transcript: " that's"
//
// 6.  transcript: " that is"
//
// 7.  recognition_event_type: `RECOGNITION_EVENT_END_OF_SINGLE_UTTERANCE`
//
// 8.  transcript: " that is the question"
//     is_final: true
//
// Only two of the responses contain final results (#4 and #8 indicated by
// `is_final: true`). Concatenating these generates the full transcript: "to be
// or not to be that is the question".
//
// In each response we populate:
//
// *  for `MESSAGE_TYPE_TRANSCRIPT`: `transcript` and possibly `is_final`.
//
// *  for `MESSAGE_TYPE_END_OF_SINGLE_UTTERANCE`: only `event_type`.
type StreamingRecognitionResult struct {
	// Type of the result message.
	MessageType StreamingRecognitionResult_MessageType `protobuf:"varint,1,opt,name=message_type,json=messageType,proto3,enum=google.cloud.dialogflow.v2.StreamingRecognitionResult_MessageType" json:"message_type,omitempty"`
	// Transcript text representing the words that the user spoke.
	// Populated if and only if `event_type` = `RECOGNITION_EVENT_TRANSCRIPT`.
	Transcript string `protobuf:"bytes,2,opt,name=transcript,proto3" json:"transcript,omitempty"`
	// The default of 0.0 is a sentinel value indicating `confidence` was not set.
	// If `false`, the `StreamingRecognitionResult` represents an
	// interim result that may change. If `true`, the recognizer will not return
	// any further hypotheses about this piece of the audio. May only be populated
	// for `event_type` = `RECOGNITION_EVENT_TRANSCRIPT`.
	IsFinal bool `protobuf:"varint,3,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"`
	// The Speech confidence between 0.0 and 1.0 for the current portion of audio.
	// A higher number indicates an estimated greater likelihood that the
	// recognized words are correct. The default of 0.0 is a sentinel value
	// indicating that confidence was not set.
	//
	// This field is typically only provided if `is_final` is true and you should
	// not rely on it being accurate or even set.
	Confidence           float32  `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *StreamingRecognitionResult) Reset()         { *m = StreamingRecognitionResult{} }
func (m *StreamingRecognitionResult) String() string { return proto.CompactTextString(m) }
func (*StreamingRecognitionResult) ProtoMessage()    {}
func (*StreamingRecognitionResult) Descriptor() ([]byte, []int) {
	return fileDescriptor_session_e51df00932adac70, []int{7}
}
func (m *StreamingRecognitionResult) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StreamingRecognitionResult.Unmarshal(m, b)
}
func (m *StreamingRecognitionResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StreamingRecognitionResult.Marshal(b, m, deterministic)
}
func (dst *StreamingRecognitionResult) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StreamingRecognitionResult.Merge(dst, src)
}
func (m *StreamingRecognitionResult) XXX_Size() int {
	return xxx_messageInfo_StreamingRecognitionResult.Size(m)
}
func (m *StreamingRecognitionResult) XXX_DiscardUnknown() {
	xxx_messageInfo_StreamingRecognitionResult.DiscardUnknown(m)
}

var xxx_messageInfo_StreamingRecognitionResult proto.InternalMessageInfo

func (m *StreamingRecognitionResult) GetMessageType() StreamingRecognitionResult_MessageType {
	if m != nil {
		return m.MessageType
	}
	return StreamingRecognitionResult_MESSAGE_TYPE_UNSPECIFIED
}

func (m *StreamingRecognitionResult) GetTranscript() string {
	if m != nil {
		return m.Transcript
	}
	return ""
}

func (m *StreamingRecognitionResult) GetIsFinal() bool {
	if m != nil {
		return m.IsFinal
	}
	return false
}

func (m *StreamingRecognitionResult) GetConfidence() float32 {
	if m != nil {
		return m.Confidence
	}
	return 0
}

// Instructs the speech recognizer how to process the audio content.
type InputAudioConfig struct {
	// Required. Audio encoding of the audio content to process.
	AudioEncoding AudioEncoding `protobuf:"varint,1,opt,name=audio_encoding,json=audioEncoding,proto3,enum=google.cloud.dialogflow.v2.AudioEncoding" json:"audio_encoding,omitempty"`
	// Required. Sample rate (in Hertz) of the audio content sent in the query.
	// Refer to [Cloud Speech API documentation](/speech/docs/basics) for more
	// details.
	SampleRateHertz int32 `protobuf:"varint,2,opt,name=sample_rate_hertz,json=sampleRateHertz,proto3" json:"sample_rate_hertz,omitempty"`
	// Required. The language of the supplied audio. Dialogflow does not do
	// translations. See [Language
	// Support](https://dialogflow.com/docs/languages) for a list of the
	// currently supported language codes. Note that queries in the same session
	// do not necessarily need to specify the same language.
	LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	// Optional. The collection of phrase hints which are used to boost accuracy
	// of speech recognition.
	// Refer to [Cloud Speech API documentation](/speech/docs/basics#phrase-hints)
	// for more details.
	PhraseHints          []string `protobuf:"bytes,4,rep,name=phrase_hints,json=phraseHints,proto3" json:"phrase_hints,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *InputAudioConfig) Reset()         { *m = InputAudioConfig{} }
func (m *InputAudioConfig) String() string { return proto.CompactTextString(m) }
func (*InputAudioConfig) ProtoMessage()    {}
func (*InputAudioConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_session_e51df00932adac70, []int{8}
}
func (m *InputAudioConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InputAudioConfig.Unmarshal(m, b)
}
func (m *InputAudioConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InputAudioConfig.Marshal(b, m, deterministic)
}
func (dst *InputAudioConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InputAudioConfig.Merge(dst, src)
}
func (m *InputAudioConfig) XXX_Size() int {
	return xxx_messageInfo_InputAudioConfig.Size(m)
}
func (m *InputAudioConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_InputAudioConfig.DiscardUnknown(m)
}

var xxx_messageInfo_InputAudioConfig proto.InternalMessageInfo

func (m *InputAudioConfig) GetAudioEncoding() AudioEncoding {
	if m != nil {
		return m.AudioEncoding
	}
	return AudioEncoding_AUDIO_ENCODING_UNSPECIFIED
}

func (m *InputAudioConfig) GetSampleRateHertz() int32 {
	if m != nil {
		return m.SampleRateHertz
	}
	return 0
}

func (m *InputAudioConfig) GetLanguageCode() string {
	if m != nil {
		return m.LanguageCode
	}
	return ""
}

func (m *InputAudioConfig) GetPhraseHints() []string {
	if m != nil {
		return m.PhraseHints
	}
	return nil
}

// Represents the natural language text to be processed.
type TextInput struct {
	// Required. The UTF-8 encoded natural language text to be processed.
	// Text length must not exceed 256 bytes.
	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
	// Required. The language of this conversational query. See [Language
	// Support](https://dialogflow.com/docs/languages) for a list of the
	// currently supported language codes. Note that queries in the same session
	// do not necessarily need to specify the same language.
	LanguageCode         string   `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TextInput) Reset()         { *m = TextInput{} }
func (m *TextInput) String() string { return proto.CompactTextString(m) }
func (*TextInput) ProtoMessage()    {}
func (*TextInput) Descriptor() ([]byte, []int) {
	return fileDescriptor_session_e51df00932adac70, []int{9}
}
func (m *TextInput) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TextInput.Unmarshal(m, b)
}
func (m *TextInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TextInput.Marshal(b, m, deterministic)
}
func (dst *TextInput) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TextInput.Merge(dst, src)
}
func (m *TextInput) XXX_Size() int {
	return xxx_messageInfo_TextInput.Size(m)
}
func (m *TextInput) XXX_DiscardUnknown() {
	xxx_messageInfo_TextInput.DiscardUnknown(m)
}

var xxx_messageInfo_TextInput proto.InternalMessageInfo

func (m *TextInput) GetText() string {
	if m != nil {
		return m.Text
	}
	return ""
}

func (m *TextInput) GetLanguageCode() string {
	if m != nil {
		return m.LanguageCode
	}
	return ""
}

// Events allow for matching intents by event name instead of the natural
// language input. For instance, input `<event: { name: "welcome_event",
// parameters: { name: "Sam" } }>` can trigger a personalized welcome response.
// The parameter `name` may be used by the agent in the response:
// `"Hello #welcome_event.name! What can I do for you today?"`.
type EventInput struct {
	// Required. The unique identifier of the event.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Optional. The collection of parameters associated with the event.
	Parameters *_struct.Struct `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"`
	// Required. The language of this query. See [Language
	// Support](https://dialogflow.com/docs/languages) for a list of the
	// currently supported language codes. Note that queries in the same session
	// do not necessarily need to specify the same language.
	LanguageCode         string   `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EventInput) Reset()         { *m = EventInput{} }
func (m *EventInput) String() string { return proto.CompactTextString(m) }
func (*EventInput) ProtoMessage()    {}
func (*EventInput) Descriptor() ([]byte, []int) {
	return fileDescriptor_session_e51df00932adac70, []int{10}
}
func (m *EventInput) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EventInput.Unmarshal(m, b)
}
func (m *EventInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EventInput.Marshal(b, m, deterministic)
}
func (dst *EventInput) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EventInput.Merge(dst, src)
}
func (m *EventInput) XXX_Size() int {
	return xxx_messageInfo_EventInput.Size(m)
}
func (m *EventInput) XXX_DiscardUnknown() {
	xxx_messageInfo_EventInput.DiscardUnknown(m)
}

var xxx_messageInfo_EventInput proto.InternalMessageInfo

func (m *EventInput) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *EventInput) GetParameters() *_struct.Struct {
	if m != nil {
		return m.Parameters
	}
	return nil
}

func (m *EventInput) GetLanguageCode() string {
	if m != nil {
		return m.LanguageCode
	}
	return ""
}

func init() {
	proto.RegisterType((*DetectIntentRequest)(nil), "google.cloud.dialogflow.v2.DetectIntentRequest")
	proto.RegisterType((*DetectIntentResponse)(nil), "google.cloud.dialogflow.v2.DetectIntentResponse")
	proto.RegisterType((*QueryParameters)(nil), "google.cloud.dialogflow.v2.QueryParameters")
	proto.RegisterType((*QueryInput)(nil), "google.cloud.dialogflow.v2.QueryInput")
	proto.RegisterType((*QueryResult)(nil), "google.cloud.dialogflow.v2.QueryResult")
	proto.RegisterType((*StreamingDetectIntentRequest)(nil), "google.cloud.dialogflow.v2.StreamingDetectIntentRequest")
	proto.RegisterType((*StreamingDetectIntentResponse)(nil), "google.cloud.dialogflow.v2.StreamingDetectIntentResponse")
	proto.RegisterType((*StreamingRecognitionResult)(nil), "google.cloud.dialogflow.v2.StreamingRecognitionResult")
	proto.RegisterType((*InputAudioConfig)(nil), "google.cloud.dialogflow.v2.InputAudioConfig")
	proto.RegisterType((*TextInput)(nil), "google.cloud.dialogflow.v2.TextInput")
	proto.RegisterType((*EventInput)(nil), "google.cloud.dialogflow.v2.EventInput")
	proto.RegisterEnum("google.cloud.dialogflow.v2.AudioEncoding", AudioEncoding_name, AudioEncoding_value)
	proto.RegisterEnum("google.cloud.dialogflow.v2.StreamingRecognitionResult_MessageType", StreamingRecognitionResult_MessageType_name, StreamingRecognitionResult_MessageType_value)
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// SessionsClient is the client API for Sessions service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type SessionsClient interface {
	// Processes a natural language query and returns structured, actionable data
	// as a result. This method is not idempotent, because it may cause contexts
	// and session entity types to be updated, which in turn might affect
	// results of future queries.
	DetectIntent(ctx context.Context, in *DetectIntentRequest, opts ...grpc.CallOption) (*DetectIntentResponse, error)
	// Processes a natural language query in audio format in a streaming fashion
	// and returns structured, actionable data as a result. This method is only
	// available via the gRPC API (not REST).
	StreamingDetectIntent(ctx context.Context, opts ...grpc.CallOption) (Sessions_StreamingDetectIntentClient, error)
}

type sessionsClient struct {
	cc *grpc.ClientConn
}

func NewSessionsClient(cc *grpc.ClientConn) SessionsClient {
	return &sessionsClient{cc}
}

func (c *sessionsClient) DetectIntent(ctx context.Context, in *DetectIntentRequest, opts ...grpc.CallOption) (*DetectIntentResponse, error) {
	out := new(DetectIntentResponse)
	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.v2.Sessions/DetectIntent", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *sessionsClient) StreamingDetectIntent(ctx context.Context, opts ...grpc.CallOption) (Sessions_StreamingDetectIntentClient, error) {
	stream, err := c.cc.NewStream(ctx, &_Sessions_serviceDesc.Streams[0], "/google.cloud.dialogflow.v2.Sessions/StreamingDetectIntent", opts...)
	if err != nil {
		return nil, err
	}
	x := &sessionsStreamingDetectIntentClient{stream}
	return x, nil
}

type Sessions_StreamingDetectIntentClient interface {
	Send(*StreamingDetectIntentRequest) error
	Recv() (*StreamingDetectIntentResponse, error)
	grpc.ClientStream
}

type sessionsStreamingDetectIntentClient struct {
	grpc.ClientStream
}

func (x *sessionsStreamingDetectIntentClient) Send(m *StreamingDetectIntentRequest) error {
	return x.ClientStream.SendMsg(m)
}

func (x *sessionsStreamingDetectIntentClient) Recv() (*StreamingDetectIntentResponse, error) {
	m := new(StreamingDetectIntentResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

// SessionsServer is the server API for Sessions service.
type SessionsServer interface {
	// Processes a natural language query and returns structured, actionable data
	// as a result. This method is not idempotent, because it may cause contexts
	// and session entity types to be updated, which in turn might affect
	// results of future queries.
	DetectIntent(context.Context, *DetectIntentRequest) (*DetectIntentResponse, error)
	// Processes a natural language query in audio format in a streaming fashion
	// and returns structured, actionable data as a result. This method is only
	// available via the gRPC API (not REST).
	StreamingDetectIntent(Sessions_StreamingDetectIntentServer) error
}

func RegisterSessionsServer(s *grpc.Server, srv SessionsServer) {
	s.RegisterService(&_Sessions_serviceDesc, srv)
}

func _Sessions_DetectIntent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DetectIntentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SessionsServer).DetectIntent(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.dialogflow.v2.Sessions/DetectIntent",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SessionsServer).DetectIntent(ctx, req.(*DetectIntentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Sessions_StreamingDetectIntent_Handler(srv interface{}, stream grpc.ServerStream) error {
	return srv.(SessionsServer).StreamingDetectIntent(&sessionsStreamingDetectIntentServer{stream})
}

type Sessions_StreamingDetectIntentServer interface {
	Send(*StreamingDetectIntentResponse) error
	Recv() (*StreamingDetectIntentRequest, error)
	grpc.ServerStream
}

type sessionsStreamingDetectIntentServer struct {
	grpc.ServerStream
}

func (x *sessionsStreamingDetectIntentServer) Send(m *StreamingDetectIntentResponse) error {
	return x.ServerStream.SendMsg(m)
}

func (x *sessionsStreamingDetectIntentServer) Recv() (*StreamingDetectIntentRequest, error) {
	m := new(StreamingDetectIntentRequest)
	if err := x.ServerStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

var _Sessions_serviceDesc = grpc.ServiceDesc{
	ServiceName: "google.cloud.dialogflow.v2.Sessions",
	HandlerType: (*SessionsServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "DetectIntent",
			Handler:    _Sessions_DetectIntent_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "StreamingDetectIntent",
			Handler:       _Sessions_StreamingDetectIntent_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "google/cloud/dialogflow/v2/session.proto",
}

func init() {
	proto.RegisterFile("google/cloud/dialogflow/v2/session.proto", fileDescriptor_session_e51df00932adac70)
}

var fileDescriptor_session_e51df00932adac70 = []byte{
	// 1575 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0x4f, 0x73, 0x1b, 0x49,
	0x15, 0xcf, 0xc8, 0xff, 0xe4, 0x27, 0xd9, 0xd2, 0x76, 0xb2, 0x9b, 0x89, 0x9d, 0x84, 0xa0, 0xad,
	0xb0, 0x8a, 0x01, 0x69, 0x57, 0x50, 0x81, 0x4d, 0x6a, 0x97, 0x95, 0xa5, 0xb1, 0x2d, 0x4a, 0x96,
	0xb5, 0x2d, 0x99, 0xec, 0x6e, 0x15, 0xd5, 0xd5, 0x19, 0xb5, 0xc6, 0x03, 0xa3, 0xee, 0xf1, 0x74,
	0x2b, 0xbb, 0x5e, 0x0a, 0x0e, 0x7c, 0x02, 0xaa, 0x38, 0x52, 0x5c, 0x28, 0x4e, 0x1c, 0x38, 0x71,
	0xe0, 0xc4, 0x97, 0x80, 0x03, 0x67, 0x0a, 0x0e, 0x7c, 0x03, 0xaa, 0xb8, 0x50, 0xd3, 0x3d, 0x23,
	0x29, 0xb2, 0x23, 0xab, 0x52, 0x9c, 0xf6, 0x36, 0xfd, 0xfa, 0xf7, 0x5e, 0xbf, 0xf7, 0xe6, 0xd7,
	0xef, 0x37, 0x03, 0x65, 0x4f, 0x08, 0x2f, 0x60, 0x55, 0x37, 0x10, 0xe3, 0x41, 0x75, 0xe0, 0xd3,
	0x40, 0x78, 0xc3, 0x40, 0x7c, 0x5e, 0x7d, 0x51, 0xab, 0x4a, 0x26, 0xa5, 0x2f, 0x78, 0x25, 0x8c,
	0x84, 0x12, 0x68, 0xc7, 0x20, 0x2b, 0x1a, 0x59, 0x99, 0x22, 0x2b, 0x2f, 0x6a, 0x3b, 0x77, 0x93,
	0x28, 0x34, 0xf4, 0xab, 0x94, 0x73, 0xa1, 0xa8, 0xf2, 0x05, 0x97, 0xc6, 0x73, 0x67, 0xd1, 0x19,
	0xae, 0xe0, 0x8a, 0x7d, 0xa1, 0x12, 0xe4, 0x3b, 0x0b, 0x90, 0x3e, 0x57, 0x8c, 0xa7, 0xc0, 0xef,
	0x5e, 0x9f, 0x36, 0x61, 0x5c, 0xf9, 0xea, 0x82, 0xa8, 0x8b, 0x90, 0x25, 0x5e, 0x69, 0x9a, 0x7a,
	0xf5, 0x7c, 0x3c, 0xac, 0x4a, 0x15, 0x8d, 0xdd, 0x34, 0xe6, 0xed, 0x64, 0x37, 0x0a, 0xdd, 0xaa,
	0x54, 0x54, 0x8d, 0xd3, 0xfc, 0xed, 0x64, 0x23, 0x8e, 0x54, 0x0d, 0xa8, 0x0a, 0xb8, 0x67, 0x76,
	0x4a, 0xff, 0xb6, 0xe0, 0x66, 0x93, 0x29, 0xe6, 0xaa, 0x96, 0xce, 0x0e, 0xb3, 0xf3, 0x31, 0x93,
	0x0a, 0xd9, 0xb0, 0x91, 0x64, 0x61, 0x5b, 0x0f, 0xac, 0xf2, 0x26, 0x4e, 0x97, 0xa8, 0x03, 0xf9,
	0xf3, 0x31, 0x8b, 0x2e, 0x48, 0x48, 0x23, 0x3a, 0x92, 0x76, 0xe6, 0x81, 0x55, 0xce, 0xd5, 0xbe,
	0x59, 0x79, 0x75, 0x73, 0x2b, 0x1f, 0xc7, 0xf8, 0x6e, 0x0c, 0x67, 0x8a, 0x45, 0x12, 0xe7, 0xce,
	0x27, 0x06, 0x89, 0x0e, 0xc1, 0x2c, 0x89, 0xcf, 0xc3, 0xb1, 0xb2, 0x57, 0x74, 0xb8, 0x6f, 0x5c,
	0x1b, 0xae, 0x15, 0xa3, 0x31, 0x9c, 0x4f, 0x9e, 0xd1, 0xd7, 0x20, 0xa7, 0x43, 0x10, 0x3a, 0x1e,
	0xf8, 0xc2, 0x5e, 0x7b, 0x60, 0x95, 0xf3, 0x18, 0xb4, 0xa9, 0x1e, 0x5b, 0x4a, 0x7f, 0xb1, 0xe0,
	0xd6, 0xcb, 0xb5, 0xca, 0x50, 0x70, 0xc9, 0x62, 0xcf, 0x28, 0x79, 0x26, 0xfe, 0x20, 0x29, 0x18,
	0x52, 0x53, 0x6b, 0x80, 0x7e, 0x98, 0xd6, 0x1c, 0x31, 0x39, 0x0e, 0x54, 0x52, 0xf3, 0x3b, 0xd7,
	0x26, 0x89, 0x35, 0x3c, 0xa9, 0xd7, 0x2c, 0xd0, 0xfb, 0xb0, 0xfd, 0x39, 0x7b, 0x7e, 0x26, 0xc4,
	0x4f, 0x89, 0x79, 0x47, 0x49, 0xc9, 0x28, 0x8d, 0x16, 0x85, 0x6e, 0xa5, 0xa7, 0x77, 0xf0, 0x56,
	0x82, 0x34, 0xcb, 0xd2, 0x3f, 0x32, 0x50, 0x98, 0xeb, 0x25, 0xda, 0x85, 0x4d, 0xe5, 0x8f, 0x18,
	0xf9, 0x52, 0x70, 0x96, 0x64, 0x9e, 0x8d, 0x0d, 0x9f, 0x09, 0xce, 0xd0, 0x63, 0xc8, 0x7b, 0x4c,
	0x90, 0x40, 0xb8, 0x9a, 0xce, 0x49, 0xde, 0x37, 0xd3, 0x93, 0x34, 0xb1, 0xda, 0x54, 0xb5, 0xb9,
	0x87, 0x73, 0x1e, 0x13, 0xed, 0x04, 0x87, 0x7e, 0x00, 0xd9, 0x84, 0xd6, 0x71, 0x76, 0x2b, 0xe5,
	0x5c, 0xed, 0xed, 0x45, 0xb5, 0x36, 0x0c, 0x16, 0x4f, 0x9c, 0xd0, 0x43, 0xd8, 0x8e, 0x98, 0x64,
	0x8a, 0x4c, 0xc2, 0xac, 0x3e, 0xb0, 0xca, 0x59, 0xbc, 0xa5, 0xad, 0x8d, 0x14, 0x46, 0xe0, 0xd6,
	0x15, 0x5c, 0x97, 0xf6, 0x9a, 0x3e, 0xf3, 0xdb, 0x8b, 0xce, 0xec, 0x19, 0x3f, 0x47, 0xbb, 0xf5,
	0x2f, 0x42, 0x86, 0x91, 0x9c, 0x37, 0x49, 0xf4, 0x1e, 0x6c, 0x84, 0xf4, 0x22, 0x10, 0x74, 0x60,
	0xaf, 0xeb, 0xda, 0x6f, 0xa7, 0x31, 0xd3, 0x1b, 0x54, 0xe9, 0xe9, 0x1b, 0x84, 0x53, 0x5c, 0xe9,
	0x5f, 0x16, 0xc0, 0x94, 0x61, 0xe8, 0x63, 0xc8, 0x6b, 0x3e, 0xc5, 0x95, 0x0c, 0x7d, 0x4f, 0xb7,
	0x38, 0x57, 0xfb, 0xd6, 0xa2, 0xd4, 0x5a, 0x13, 0xca, 0x35, 0xb4, 0xcf, 0xd1, 0x0d, 0x9c, 0xa3,
	0xd3, 0x25, 0x7a, 0x0a, 0xab, 0x71, 0xf9, 0xc9, 0xdb, 0x78, 0xb8, 0x28, 0x54, 0x9f, 0x7d, 0xa1,
	0x74, 0xb8, 0xa3, 0x1b, 0x58, 0x3b, 0xa1, 0x0f, 0x61, 0x8d, 0xbd, 0x60, 0x7c, 0xa9, 0x8b, 0xe2,
	0xc4, 0xc0, 0xd4, 0xdd, 0xb8, 0xed, 0x6f, 0xc0, 0x9a, 0xbe, 0x12, 0xa5, 0xdf, 0xaf, 0x43, 0x6e,
	0x86, 0xa4, 0xe8, 0x1e, 0x98, 0xcb, 0x44, 0x74, 0x6e, 0x86, 0x49, 0x9b, 0xda, 0x12, 0x27, 0x81,
	0xde, 0x86, 0xad, 0x80, 0x72, 0x6f, 0x4c, 0x3d, 0x46, 0x5c, 0x31, 0x60, 0x76, 0x41, 0x23, 0xf2,
	0xa9, 0xb1, 0x21, 0x06, 0x0c, 0xed, 0xc3, 0x3d, 0x19, 0x32, 0xe6, 0x9e, 0x91, 0x88, 0xb9, 0xc2,
	0xe3, 0x7e, 0xcc, 0x26, 0xd3, 0xb9, 0x01, 0xe3, 0x2e, 0xd3, 0x25, 0x67, 0xf0, 0xae, 0x01, 0xe1,
	0x29, 0xa6, 0x31, 0x81, 0xa0, 0xb7, 0x60, 0x9d, 0xba, 0x9a, 0xad, 0x2b, 0xfa, 0x84, 0x64, 0x85,
	0xbe, 0x07, 0x10, 0x4e, 0x68, 0xaf, 0xe9, 0xb4, 0xe0, 0x6d, 0xce, 0x40, 0xd1, 0x07, 0xb0, 0x4b,
	0x83, 0x80, 0x44, 0xec, 0x7c, 0xec, 0x47, 0x6c, 0x90, 0xcc, 0x2d, 0x12, 0xc6, 0x54, 0xe4, 0x4a,
	0xcf, 0x89, 0x2c, 0xb6, 0x69, 0x10, 0xe0, 0x04, 0x61, 0x06, 0x53, 0xd7, 0xec, 0xa3, 0x47, 0x50,
	0x1c, 0x8e, 0x83, 0xa1, 0x1f, 0x04, 0x23, 0xc6, 0x95, 0xe9, 0xce, 0xba, 0xce, 0xac, 0x30, 0x63,
	0xd7, 0x3d, 0xfa, 0x31, 0xdc, 0x9a, 0x85, 0x8e, 0x98, 0x94, 0xd4, 0x63, 0xd2, 0xde, 0xd0, 0x74,
	0xde, 0x5b, 0xcc, 0x19, 0xad, 0x0d, 0xc7, 0xc6, 0x05, 0xdf, 0x9c, 0x89, 0x93, 0xd8, 0xf4, 0xa5,
	0x9a, 0x4c, 0x0e, 0x31, 0x8e, 0x5c, 0x66, 0x67, 0x75, 0x1e, 0x93, 0x29, 0xa1, 0x8d, 0xe8, 0x23,
	0x28, 0xa4, 0xb0, 0x94, 0xfb, 0x9b, 0x8b, 0xbb, 0x95, 0x86, 0xed, 0x1a, 0x38, 0x6a, 0x43, 0x41,
	0x8c, 0x55, 0x3c, 0x4a, 0x27, 0xd7, 0x17, 0x96, 0x9f, 0x02, 0xdb, 0xc6, 0x77, 0x72, 0xc9, 0x9f,
	0xc0, 0xba, 0x51, 0x3e, 0x3b, 0xa7, 0xd3, 0x28, 0x5d, 0xdf, 0x07, 0x9c, 0x78, 0xa0, 0x0f, 0x61,
	0xd7, 0x3c, 0x91, 0x81, 0x1e, 0xdc, 0x73, 0x74, 0xca, 0x6b, 0x3a, 0xdd, 0x31, 0x90, 0x66, 0x8a,
	0x98, 0x21, 0xd3, 0x47, 0x50, 0x18, 0xf8, 0xd4, 0xe3, 0x42, 0x2a, 0xdf, 0x25, 0x3e, 0x1f, 0x0a,
	0x7b, 0xfb, 0x9a, 0x5e, 0x4c, 0xf1, 0x2d, 0x3e, 0x14, 0xa5, 0xdf, 0x66, 0xe0, 0x6e, 0x4f, 0x45,
	0x8c, 0x8e, 0x7c, 0xee, 0x7d, 0x45, 0x94, 0xf2, 0x11, 0x14, 0xa5, 0xcf, 0xbd, 0x80, 0x91, 0xb1,
	0x52, 0x2c, 0xa2, 0x71, 0x2b, 0xcd, 0x7c, 0x2e, 0x18, 0xfb, 0x69, 0x6a, 0x9e, 0x17, 0xd5, 0xf5,
	0x4b, 0xa2, 0xfa, 0xc7, 0x0c, 0xdc, 0x7b, 0x45, 0x7f, 0x96, 0x55, 0x57, 0x06, 0x68, 0x76, 0x5c,
	0xbc, 0xa4, 0xb1, 0x8f, 0x17, 0x6a, 0x40, 0x7a, 0xee, 0xcc, 0x24, 0x49, 0x24, 0xf7, 0x8d, 0x68,
	0xde, 0x74, 0x49, 0xc4, 0x57, 0xfe, 0xaf, 0x22, 0xbe, 0xba, 0xac, 0x88, 0xff, 0x39, 0x03, 0x3b,
	0xaf, 0x4e, 0x1c, 0x31, 0xc8, 0x27, 0x73, 0x43, 0x6b, 0xa1, 0x6e, 0xd7, 0x76, 0x6d, 0xff, 0xf5,
	0xda, 0x90, 0xce, 0x13, 0xad, 0x8f, 0xb9, 0xd1, 0x74, 0x81, 0xee, 0x03, 0xa8, 0x88, 0x72, 0xe9,
	0x46, 0x7e, 0x68, 0x7a, 0xbd, 0x89, 0x67, 0x2c, 0xe8, 0x0e, 0x64, 0x7d, 0x49, 0x86, 0x3e, 0xa7,
	0x81, 0x6e, 0x54, 0x16, 0x6f, 0xf8, 0xf2, 0x20, 0x5e, 0xc6, 0xae, 0x33, 0x57, 0x70, 0x55, 0x5f,
	0xc1, 0x19, 0x4b, 0xe9, 0x13, 0xc8, 0xcd, 0x1c, 0x8b, 0xee, 0x82, 0x7d, 0xec, 0xf4, 0x7a, 0xf5,
	0x43, 0x87, 0xf4, 0x3f, 0xed, 0x3a, 0xe4, 0xb4, 0xd3, 0xeb, 0x3a, 0x8d, 0xd6, 0x41, 0xcb, 0x69,
	0x16, 0x6f, 0xa0, 0x6d, 0x80, 0x3e, 0xae, 0x77, 0x7a, 0x0d, 0xdc, 0xea, 0xf6, 0x8b, 0x16, 0xda,
	0x85, 0xdb, 0x4e, 0xa7, 0x49, 0x4e, 0x0e, 0x48, 0xaf, 0xd5, 0x39, 0x6c, 0x3b, 0xe4, 0xb4, 0xdf,
	0x77, 0x70, 0xbd, 0xd3, 0x70, 0x8a, 0x99, 0xd2, 0xdf, 0x2d, 0x28, 0xce, 0x8b, 0x2b, 0xea, 0xc2,
	0xb6, 0x11, 0x68, 0xc6, 0x5d, 0x31, 0xf0, 0xb9, 0x97, 0xb4, 0xec, 0xd1, 0xa2, 0x96, 0xe9, 0x00,
	0x4e, 0xe2, 0x80, 0xb7, 0xe8, 0xec, 0x12, 0xed, 0xc1, 0x1b, 0x92, 0x8e, 0xc2, 0x80, 0x91, 0x88,
	0x2a, 0x46, 0xce, 0x58, 0xa4, 0xbe, 0xd4, 0x2d, 0x5a, 0xc3, 0x05, 0xb3, 0x81, 0xa9, 0x62, 0x47,
	0xb1, 0xf9, 0xb2, 0x2c, 0xae, 0x5c, 0x21, 0x8b, 0x5f, 0x87, 0x7c, 0x78, 0x16, 0x51, 0xc9, 0xc8,
	0x99, 0xcf, 0xf5, 0xb7, 0xd0, 0x4a, 0x79, 0x13, 0xe7, 0x8c, 0xed, 0x28, 0x36, 0x95, 0x9a, 0xb0,
	0x39, 0xd1, 0x7a, 0x84, 0x92, 0x0f, 0x04, 0x73, 0x55, 0x8c, 0xee, 0x5f, 0x3a, 0x28, 0x73, 0xf9,
	0xa0, 0xd2, 0x2f, 0x00, 0xa6, 0x9a, 0x1f, 0x87, 0xe1, 0x74, 0x94, 0x7e, 0x15, 0xea, 0xe7, 0x39,
	0x15, 0xcd, 0x2c, 0xaf, 0xa2, 0xcb, 0x14, 0xba, 0xf7, 0x5f, 0x0b, 0xb6, 0x5e, 0x6a, 0x2d, 0xba,
	0x0f, 0x3b, 0xf5, 0xd3, 0x66, 0xeb, 0x84, 0x38, 0x9d, 0xc6, 0x49, 0xb3, 0xd5, 0x39, 0x9c, 0x7b,
	0xff, 0x77, 0xc1, 0x9e, 0xdb, 0x6f, 0xb7, 0x3a, 0x4e, 0x1d, 0x93, 0xf7, 0x1e, 0x17, 0x2d, 0x74,
	0x1b, 0x6e, 0xce, 0xed, 0x1e, 0xb4, 0xeb, 0x8d, 0x62, 0x06, 0xd9, 0x70, 0x6b, 0x6e, 0xe3, 0xf8,
	0xb4, 0x5d, 0x7f, 0x56, 0x5c, 0x41, 0x6f, 0x01, 0x9a, 0xdb, 0xa9, 0x1f, 0xe3, 0xe2, 0x2a, 0xba,
	0x03, 0x6f, 0x5e, 0xb6, 0x93, 0x67, 0xfb, 0xc5, 0xb5, 0x98, 0x73, 0x73, 0x5b, 0x27, 0x87, 0x87,
	0xe4, 0xa4, 0x7b, 0xda, 0x2b, 0xae, 0xa3, 0x47, 0xf0, 0x70, 0x6e, 0xb3, 0xd7, 0x75, 0x9c, 0x4f,
	0xc8, 0xb3, 0x56, 0xff, 0x88, 0x1c, 0x39, 0xf5, 0xa6, 0x83, 0xc9, 0xfe, 0xa7, 0x7d, 0xa7, 0xb8,
	0x51, 0xfb, 0x5b, 0x06, 0xb2, 0xc9, 0x67, 0xa9, 0x44, 0x7f, 0xb2, 0x20, 0x3f, 0x3b, 0x0e, 0x51,
	0x75, 0x11, 0x1f, 0xaf, 0x10, 0x96, 0x9d, 0x77, 0x97, 0x77, 0x30, 0xa3, 0xb4, 0x54, 0xff, 0xe5,
	0x5f, 0xff, 0xf9, 0xeb, 0xcc, 0xd3, 0xd2, 0xe3, 0xf8, 0x27, 0xf2, 0x67, 0x89, 0x0c, 0x7d, 0x10,
	0x46, 0xe2, 0x27, 0xcc, 0x55, 0xb2, 0xba, 0x57, 0xa5, 0x1e, 0xe3, 0x2a, 0xfd, 0xbd, 0x94, 0xd5,
	0xbd, 0x9f, 0x3f, 0x19, 0xcc, 0xc4, 0x79, 0x62, 0xed, 0xa1, 0x5f, 0x59, 0xf0, 0xe6, 0x95, 0xe3,
	0x1c, 0x7d, 0x7f, 0xa9, 0x11, 0x74, 0x55, 0x21, 0xef, 0xbf, 0x86, 0xa7, 0xa9, 0xa8, 0x6c, 0xbd,
	0x6b, 0xed, 0xff, 0xc6, 0x82, 0xfb, 0xae, 0x18, 0x2d, 0x08, 0xb2, 0x9f, 0x4f, 0xda, 0xde, 0x8d,
	0x09, 0xdc, 0xb5, 0x3e, 0x6b, 0x26, 0x58, 0x4f, 0xc4, 0xf4, 0xac, 0x88, 0xc8, 0xab, 0x7a, 0x8c,
	0x6b, 0x7a, 0x57, 0xcd, 0x16, 0x0d, 0x7d, 0x79, 0xd5, 0xbf, 0xf7, 0xd3, 0xe9, 0xea, 0x3f, 0x96,
	0xf5, 0xbb, 0x4c, 0xa6, 0x79, 0xf0, 0x87, 0xcc, 0xce, 0xa1, 0x09, 0xd7, 0xd0, 0x47, 0x37, 0xa7,
	0x47, 0xff, 0xa8, 0xf6, 0x7c, 0x5d, 0x47, 0xfd, 0xce, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xe8,
	0xf3, 0x64, 0x26, 0x87, 0x10, 0x00, 0x00,
}

redpajama_set_name: RedPajamaGithub


Two years after Edward Snowden's disclosures, today the Senate passed the most significant surveillance reform in decades.
The US Senate on Tuesday passed a bill that would end the bulk collection of millions of Americans' phone records, the most significant surveillance reform for decades and a direct result of NSA whistleblower Edward Snowden's revelations to the Guardian two years ago.
Senators voted 67-32 to pass the USA Freedom Act, which overwhelmingly cleared the House of Representatives last month and will now head to the White House for Barack Obama's signature. The president praised the bill's passage and said he would "sign it as soon as I get it".


text:
«How do we set that tone first thing on Thursday
Champion caters both to revelers and to the more introverted type of sports fan. There are plenty of TVs in the main room, of course, but there are also secluded booths in the back (each with its own TV, mounted in the manner of a diner booth jukebox). O Irish Bar Restaurant is a big, jolly establishment with one of the more distinctive patios in Fort Wayne: It overlooks Parkview Field, and bar patrons can catch glimpses of the action when the TinCaps are in town.
wholesale nfl jerseys Artist rendering of possible hydrothermal activity that may be taking place on and under the seafloor of Enceladus. Hydrothermal vent systems at the ocean floor). Hence, our work suggests that life may exist in low concentrations globally in these ocean worlds (or be present only in local patches), and may therefore not be easily detectable. wholesale nfl jerseys
Cheap Jerseys free shipping But Galu told Dilfer that everything had changed the moment Tagovailoa was driven to the ground last Nov. 16 in a game against Mississippi State, dislocating his hip and ending his junior season. Once presumed the draft's top pick, Tagovailoa had been flown to Houston for emergency surgery and faced an arduous recovery. Cheap Jerseys free shipping
wholesale jerseys from china Sports View Section >Preps OutdoorsMy wife of two years and I seem to have very different ways of dealing with https://www.cheapnhljerseysca.cc conflicts in our marriage. I am able to get over things pretty quickly and move on but my wife seems to hold on and can't let go. Even when she seems to have moved on, she inevitably brings things back up as ammunition for an argument or conflict we're having in the present. wholesale jerseys from china
wholesale nfl jerseys from china «The biggest thing that all of these kids want to have the opportunity to do is to continue to go ahead and play past the college level. He now has that opportunity, and I'm sure he will make the most of it. So I'm thrilled to see what Houston will be able to do to take advantage of him. wholesale nfl jerseys from china
cheap jerseys «If we're able to play 12 games, great, it'll work its way out. But there's so many unknowns. Talking through all the scenarios is really the only way we'll have any idea, but if we're able to play 12, and we can stay status quo, that's great. Then at the start the fourth quarter, Mahomes made another mishap: he missed Hill again on a throw, in San Francisco territory; the ball bounced off Hill body and landed in the hands of San Francisco Tavarius Moore. Kansas City, however, would not go quietly. After a San Francisco punt, the flurry of KC scores began. cheap jerseys
Cheap Jerseys from china Another contender is Aaron Rodgers whom many thinks is just another contender but can't take his team to a Superbowl championship win. But he is one of the fastest quarterbacks out there. But because he holds the ball too long, he's getting hit often, which may be risky if he gets hurt. Cheap Jerseys from china
cheap nfl jerseys The game is pretty simple. In a standard Confidence Pool, you're asked to pick the winners of each NFL contest for the week (yep, all 16 games; less during bye weeks). Then you weight each pick with a number of confidence points between 1 and 16 (where higher is better). cheap nfl jerseys
wholesale jerseys Everything depends of the techniques used to motivate you to get it. Understanding is crucial to carrying out all the mauves. It is a great and exhilarating way to relax or play on water. Durden is less concerned about his athletes getting access to a pool than he is about how they can improve without one. With the 2020 Olympics being pushed back a year, the team has had to reset its standard cyclical schedule. While athletes typically take a longer break post Olympics, the blue and gold have shifted their break to coincide with the timing of shelter in place orders so that they can dive back into training as soon as they're allowed to.. wholesale jerseys
We going to have to read and react at the appropriate times. Told the Victoria Times Colonist that he believes Lee parted ways with him because in a result oriented business.you don win a championship, you serve at the pleasure of the ownership. I thought we had three good chances in 2016, in 2018 and, as crazy as it sounds, this year with a team that was poised and it disappointing not wholesale jerseys to get that chance.
Cheap Jerseys china They talked about providing joy and an escape for NFL fans while also acknowledging all that's happening in the world.»It's about drafting players, but even more clearly, it's about setting the tone that we understand there is something much larger than us going on in the world,» Quenzel said. «How do we set that tone first thing on Thursday night, and how do we continue to maintain it throughout the draft?»The league recently announced a «Draft a thon» fundraiser for COVID 19 relief efforts.»It's not just going to be a solicitation for money,» Quenzel said. «Part of Draft a thon is saluting the medical first responders, the people in grocery stores Cheap Jerseys china.


text:
The Grey Hounded Hare is a 1949 Looney Tunes short film made by Warner Bros. Pictures and starring the voice talent of Mel Blanc. The film stars Bugs Bunny. It was directed by Robert McKimson, and animated by John Carey, Phil DeLara, Manny Gould and Charles McKimson, with music scored by Carl Stalling.  The title refers to the greyhounds of the plot as well as "hounded" meaning pestered or pursued relentlessly.

Plot
After a race at a greyhound track comes to a conclusion, Bugs Bunny pops out of a hole, wondering what all the 'racket' is. He quickly finds out where he is when the announcer says that the patrons have time to make their selections for the next dog race. Bugs, after picking up a programme, decides to check out the competing dogs in the kennels, commenting positively on dog #7, a large grey greyhound named Gnawbone, whom Bugs inadvertently angers.

Upon hearing the starting bugle, Bugs goes outside to watch the race from trackside. Before the race begins, the announcer announces some of the dogs that are racing, including "Bill's Bunion", "Pneumatic Tire", "Father's Moustache", "Motorman's Glove", "Bride's Biscuit" and "Grandpa's Folly" (the latter of which has been "scratched" from the race, as in uncontrollable itching), in an homage to Spike Jones' "William Tell Overture."

Bugs watches as a rabbit lure is led out. Not realizing the rabbit is a mechanical fake, Bugs instantly falls in love with it ("Wow! What a hunk of feminine pulchritoodee!"). Upon seeing the dogs being released from their starting boxes, declaring that "chivalry is not dead", Bugs decides to "rescue" the lure and jumps into the track, taking down some of the dogs one at a time. During this sequence, the announcer, shocked at what he sees, kills himself off-screen. Bugs eventually teases the dogs enough that they start chasing him out of the track and into a taxi, which speeds off towards the Dog Pound. However, Gnawbone was not fooled and is waiting for Bugs.

Bugs then faces off with Gnawbone through trickery, first using a balloon decoy, then using a dynamite stick. Finally, Gnawbone has had it and starts to charge at Bugs "like a bull" in attempt to kill the rabbit once and for all, but Bugs plays matador and causes Gnawbone to charge into a fire hydrant, putting the dog out of commission, with a white flag of surrender on his tail.

After defeating Gnawbone, now free to pursue "Dreamboat" unhindered, Bugs gives the lure a kiss, getting a large electric shock, just before the lure goes back into its starting box. He goes for another kiss and gets electrocuted again.

Home media
This cartoon is available, uncensored and uncut, on Disc 1 of the Looney Tunes Golden Collection: Volume 4 DVD set.

References

External links

1949 films
1949 short films
1949 animated films
1940s Warner Bros. animated short films
Films directed by Robert McKimson
Looney Tunes shorts
Animated films about dogs
Films scored by Carl Stalling
Bugs Bunny films
1940s English-language films

redpajama_set_name: RedPajamaWikipedia


December 7th is most recognized in the United States as National Pearl Harbor Remembrance Day but its also the birthday of two very important New Orleans musicians: Louis Prima and Big Chief Monk Boudreaux. Get the show started and then read on about their music and other features of this episode of Sweeney's Gumbo YaYa.
The attack on Pearl Harbor was 31 years off when Louis Prima was born in 1910. He grew up listening to the nascent jazz of New Orleans, including Louis Armstrong. He formed a jazz band when he was a teenager, moved into swing during the 30's, led a big band in the 40's and was part of jump blues scene before settling down in the Las Vegas scene in the 1950's. Like Satchmo, Prima played the trumpet but it was his singing that made him famous.
My first real encounter of him was his singing "I Wanna Be Like You" in the Disney animation "Jungle Book." Later, he claimed that voicing the swinging orangutan King Louie in the film was a highlight of his career. You'll hear that song on this show along with one of his Italian songs. His daughter, Lena Prima, also sings a song in his set.
Monk Boudreaux featured on the 2013 OffBeat Magazine Jazz Fest Guide. Boudreaux performed at the first New Orleans Jazz an Heritage Festival in 1970.
There's lots more to the show but why don't you just let it flow over you. Hang in there to near the end and you'll get an encore performance of Chief Boudreaux performing with his grandson J'wan Boudreaux, the spy boy for the Golden Eagles who fronts his own band, Cha Wa. Thanks for tuning in and consider subscribing. Thank you.
This entry was posted in Gumbo YaYa Show and tagged Anders Osborne, Bo Dollis, Cha Wa, J'wan Boudreaux, Louis Prima, Monk Beaudreax, Tab Benoit, The Golden Eagles, The Wild Magnolias. Bookmark the permalink.


text:
161 hybrid Solaris buses to go to Wallonia
Solaris has won a tender for the supply of 161 Urbino 12 hybrid buses, together with an 8-year maintenance service. The tender was issued by Opérateur de Transport de Wallonie (OTW), a public transport operator from the French-speaking part of Belgium. The vehicles will make their way to Wallonia in 2022. The contract is worth over €76 million.
As soon as next year, the cities of Namur, Liège and Charleroi will welcome low-emission Urbino 12 hybrid buses, ordered by OTW. The vehicles will be handed over to regional transport operators TEC Charleroi and TEC Liège-Verviers, with which Solaris has previously collaborated, and for the first time - to TEC Namur-Luxembourg.
"We are extremely proud of this large new order placed by Opérateur de Transport de Wallonie. Since 2017, we have delivered nearly 240 hybrid buses of this exact same type to the cities of Liège, Hainaut and Charleroi. We are very glad that even more public transport passengers in Wallonia will be able to use state-of-the-art, low-emission Solaris buses", said Petros Spinaris, Member of the Management Board for Sales and After Sales.
The Urbino 12 hybrid units for OTW will be equipped with a modern and environmentally friendly HybriDrive series hybrid electric propulsion system. It helps to significantly reduce fuel consumption and pollutant emissions into the atmosphere, and all this thanks to the use of an electric motor next to a diesel engine. Moreover, the commissioned vehicles will boast a zero-emission function, i. e. a Stop-and-Go feature. It turns off the diesel engine completely when the bus comes to a rest at bus stops and the doors open. The vehicle uses at that moment energy recuperated during braking and stored in supercaps.
The hybrid Urbino 12 buses have been ordered with two-door and three-door layouts. The former will go to Namur, the capital of Wallonia (64 units), and the latter to Charleroi (58 units) and Liège (39 units). High-efficiency air-conditioning and a spacious and comfortable bus interior will provide for even more passenger comfort. The vehicles will also feature a video surveillance system and a passenger counting system.
The very first Solaris buses arrived in Belgium in 2013. Apart from the above-mentioned 240 Urbino 12 hybrid buses, among the buses already delivered to the country there are 32 Urbino e-buses that serve the inhabitants of Brussels.