深爱成瘾

文章 评论 浏览 29

深爱成瘾 2025-02-21 01:34:52

CSS中各种场景中的宽度,高度和盒子偏移之间的相互作用都在规格的第10节

由于您的元素是绝对定位的,请参阅 10.6。 4 ,说:

对于绝对定位的元素,垂直尺寸的使用值必须满足此约束:

'top' +'保证 - 边框 +“边框宽度' +“填充” +“高度” +“高度” +'padding bottom' +'border-tover-topom-witth' +'margin' +'底部'=包含块的高度

如果所有三个“顶部”,“高度”和“底部”是自动的,则将“顶部”设置为静态位置,并在下面使用规则第三。

如果这三个都不是“自动”:如果“保证金顶”和“ margin bottom”都是“自动”,则在两个余量获得相等值的额外约束下求解方程。如果“保证金顶”或“边距底部”是“自动”,请求解该值的方程式。如果值过度约束,请忽略“底部”的值并求解该值。

在您的情况下,因为设置了 top 的值, top wins wins wins设置了一个值。

请注意,设置 none 无法工作,因为它不是 botton 的有效值,并且将“空字符串”恢复为默认值自动,不会导致过度约束的值。

The interactions between width, height, and box offsets in a variety of scenarios in CSS are all detailed in section 10 of the spec.

Since your element is absolutely positioned, refer to section 10.6.4, which says:

For absolutely positioned elements, the used values of the vertical dimensions must satisfy this constraint:

'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block

If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.

If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.

In your case, because the values are over-constrained once you set a value for top, top wins.

Note that setting none won't work because it's not a valid value for bottom, and setting the empty string reverts it to its default value which for most if not all elements is auto, which does not result in over-constrained values.

谁赢了CSS的顶级/底部?

深爱成瘾 2025-02-20 20:12:13

您也许可以进行优化。我假设像任何普通的UNIX一样,脚本具有可执行的权限,在这种情况下,您可以执行

find * -name '*.swift' ! -perm -u+x -print0 | xargs -0 xcrun -sdk macosx swiftc -o "$OUTPUT_FILE"

此操作。 > -perm- )用户使用execute( u+x )。

You may be able to make an optimization. I'm assuming like any normal Unix, scripts have executable permissions, in which case you could do

find * -name '*.swift' ! -perm -u+x -print0 | xargs -0 xcrun -sdk macosx swiftc -o "$OUTPUT_FILE"

This means match any file that does not (!) have permissions (-perm -) of user with execute (u+x).

如何用传递给Xargs的Shebang过滤文件?

深爱成瘾 2025-02-20 12:43:36
df_pivot = pd.pivot_table(df, values='value',index='name',columns='date')
df_pivot.fillna(0,inplace=True)
expected_df  = pd.DataFrame(df_pivot['2021-07-29'] + df_pivot['2022-04-21'] + df_pivot['2022-04-29'] + df_pivot['2022-07-01'])
expected_df['last_365_days'] = df_pivot['2021-07-29'] + df_pivot['2022-04-21'] + df_pivot['2022-04-29'] + df_pivot['2022-07-01']
del expected_df[0]
expected_df['last_30_days'] = df_pivot['2022-07-01']
df_pivot = pd.pivot_table(df, values='value',index='name',columns='date')
df_pivot.fillna(0,inplace=True)
expected_df  = pd.DataFrame(df_pivot['2021-07-29'] + df_pivot['2022-04-21'] + df_pivot['2022-04-29'] + df_pivot['2022-07-01'])
expected_df['last_365_days'] = df_pivot['2021-07-29'] + df_pivot['2022-04-21'] + df_pivot['2022-04-29'] + df_pivot['2022-07-01']
del expected_df[0]
expected_df['last_30_days'] = df_pivot['2022-07-01']

如何根据日期和名称转换熊猫数据框

深爱成瘾 2025-02-20 10:31:43

person_name = input('')

person_age = int(input(''))

person_name = input('')

person_age = int(input(''))

键入两个语句。第一个读取用户输入person_name。第二个读取用户输入到Person_age。使用int()函数转换

深爱成瘾 2025-02-20 05:28:38

数据存储

  • 指定数据库中所有表和文本列上设置的 utf8mb4 字符。这使MySQL物理存储并检索了在UTF-8中本地编码的值。

    • 请注意,简单地更改表( Alter Table test carset charset utf8mb4; 不会更改表列的charset Alter表测试转换为Charset UTF8MB4; 必须使用。
    • 请注意,MySQL将隐式使用 utf8mb4 编码如果 utf8mb4 _*指定了collat​​ion(没有任何明确的字符集)。
    • )。

  • 在MySQL(< 5.5.3)的较旧版本中,不幸的是,您将被迫简单地使用 utf8 ,它仅支持Unicode字符的子集。我希望我在开玩笑。

数据访问

  • 在您的应用程序代码(例如PHP)中,在您使用的任何DB访问方法中,都需要将连接charset设置为 utf8MB4 。这样,MySQL将数据移交给您的应用程序时,不会从其本地UTF-8转换,反之亦然。

  • 一些驱动程序提供了自己配置连接字符集的机制,既可以更新其自身的内部状态,又告知MySQL的编码要在连接上使用 - 通常是首选方法。在PHP中:

    • 如果您使用的是 pdo 抽象层使用PHP≥5.3.6,您可以在 charset href =“ http://php.net/manual/en/ref.pdo-mysql.connection.php” rel =“ noreferrer”> dsn :

        $ dbh = new PDO('mysql:charset = utf8mb4');
       
    • 如果您正在使用 mysqli ,您可以调用 set_charset()

        $ mysqli-> set_charset('utf8mb4'); //面向对象样式
        mySQLI_SET_CHARSET($ link,'utf8mb4'); //程序风格
       
    • 如果您与普通 mysql_set_charset_chareet

  • 如果驱动程序没有提供自己的设置连接字符集的机制,则可能必须发出查询来告诉MySQL您的应用程序如何期望编码连接的数据: 设置名称'utf8mb4'

  • 关于 utf8mb4 / utf8 适用于上述的相同考虑。

输出

  • 应该在HTTP标头中设置UTF-8,例如 content-type:text/html; charset = UTF-8 。您可以通过设置 在php.ini(首选)中,或使用 header()函数手动手动。
  • 如果您的应用程序将文本传输到其他系统,则还需要告知它们的字符编码。使用Web应用程序,必须告知浏览器发送数据的编码(通过http响应标头或 html metadata )。
  • 使用 JSON_ENCODE()编码输出时,您可能需要添加 JSON_UNESCAPED_UNICODE 作为第二个参数,以避免使用JSON UNICODE逃脱。

输入

  • 浏览器将在为文档指定的字符设置中提交数据,因此在输入上必须执行任何特定操作。
  • 如果您对请求编码有疑问(如果可以对其进行篡改),则可以在尝试存储或在任何地方使用它之前将每个接收的字符串验证为有效的UTF-8。 php's mb_check_encoding() 诀窍,但是您必须虔诚地使用它。确实没有办法解决这个问题,因为恶意客户可以在他们想要的任何编码中提交数据,而且我还没有找到可以可靠地为您提供PHP的技巧。

其他代码注意事项

  • 显然,应在有效的UTF-8中编码您将要使用的所有文件(PHP,HTML,JavaScript等)。

  • 您需要确保每次处理UTF-8字符串时,都可以安全地这样做。不幸的是,这是困难的部分。您可能需要广泛使用php的 mbstring 扩展。

  • php的内置字符串操作是不是默认情况下的UTF-8安全。在普通的php字符串操作(例如constenation)中,您可以安全地做些事情,但是对于大多数事情,您应该使用等效 mbString 函数。

  • 要知道您在做什么(阅读:不要弄乱),您确实需要知道UTF-8以及它如何以最低的水平工作。查看 utf8.com 提供一些不错的资源来学习您需要了解的一切。

Data Storage:

  • Specify the utf8mb4 character set on all tables and text columns in your database. This makes MySQL physically store and retrieve values encoded natively in UTF-8.

    • Note that simply changing charset on a table (alter table test charset utf8mb4;) won't change the charset of the table columns. alter table test CONVERT TO charset utf8mb4; has to be using instead.
    • Note that MySQL will implicitly use utf8mb4 encoding if a utf8mb4_* collation is specified (without any explicit character set).
  • In older versions of MySQL (< 5.5.3), you'll unfortunately be forced to use simply utf8, which only supports a subset of Unicode characters. I wish I were kidding.

Data Access:

  • In your application code (e.g. PHP), in whatever DB access method you use, you'll need to set the connection charset to utf8mb4. This way, MySQL does no conversion from its native UTF-8 when it hands data off to your application and vice versa.

  • Some drivers provide their own mechanism for configuring the connection character set, which both updates its own internal state and informs MySQL of the encoding to be used on the connection—this is usually the preferred approach. In PHP:

    • If you're using the PDO abstraction layer with PHP ≥ 5.3.6, you can specify charset in the DSN:

       $dbh = new PDO('mysql:charset=utf8mb4');
      
    • If you're using mysqli, you can call set_charset():

        $mysqli->set_charset('utf8mb4');       // object oriented style
        mysqli_set_charset($link, 'utf8mb4');  // procedural style
      
    • If you're stuck with plain mysql but happen to be running PHP ≥ 5.2.3, you can call mysql_set_charset.

  • If the driver does not provide its own mechanism for setting the connection character set, you may have to issue a query to tell MySQL how your application expects data on the connection to be encoded: SET NAMES 'utf8mb4'.

  • The same consideration regarding utf8mb4/utf8 applies as above.

Output:

  • UTF-8 should be set in the HTTP header, such as Content-Type: text/html; charset=utf-8. You can achieve that either by setting default_charset in php.ini (preferred), or manually using header() function.
  • If your application transmits text to other systems, they will also need to be informed of the character encoding. With web applications, the browser must be informed of the encoding in which data is sent (through HTTP response headers or HTML metadata).
  • When encoding the output using json_encode(), you may want to add JSON_UNESCAPED_UNICODE as a second parameter to avoid using the JSON Unicode escaping.

Input:

  • Browsers will submit data in the character set specified for the document, hence nothing particular has to be done on the input.
  • In case you have doubts about request encoding (in case it could be tampered with), you may verify every received string as being valid UTF-8 before you try to store it or use it anywhere. PHP's mb_check_encoding() does the trick, but you have to use it religiously. There's really no way around this, as malicious clients can submit data in whatever encoding they want, and I haven't found a trick to get PHP to do this for you reliably.

Other Code Considerations:

  • Obviously enough, all files you'll be serving (PHP, HTML, JavaScript, etc.) should be encoded in valid UTF-8.

  • You need to make sure that every time you process a UTF-8 string, you do so safely. This is, unfortunately, the hard part. You'll probably want to make extensive use of PHP's mbstring extension.

  • PHP's built-in string operations are not by default UTF-8 safe. There are some things you can safely do with normal PHP string operations (like concatenation), but for most things you should use the equivalent mbstring function.

  • To know what you're doing (read: not mess it up), you really need to know UTF-8 and how it works on the lowest possible level. Check out any of the links from utf8.com for some good resources to learn everything you need to know.

UTF-8一直通过

深爱成瘾 2025-02-19 22:25:33

Cmake的查找&lt; module&gt; 文件以重组文本(RST)格式包含其文档。 Findboost 模块地址 https://cmake.org/cmake/help/latest/module/findboost.html

要从命令行中查看文档,您可以

cmake --help-module FindBoost

用于其他cmake查找模块替换 boost 用适当的模块名称,例如 qt

CMake's Find<module> files contain their documentation in reStructuredText (rst) format. The online documentation is generated from this data and can be easily viewed with a browser, e.g. using for the FindBoost module the address https://cmake.org/cmake/help/latest/module/FindBoost.html.

To view the documentation from the command line you can use

cmake --help-module FindBoost

For other CMake find modules replace Boost with the appropriate module name, for instance Qt.

在`findxxx.cmake`中读取CMAKE软件包描述的正确方法是什么?

深爱成瘾 2025-02-19 14:16:14
awk -F',' '
  /record2_data2/{
     for(i=4;i<=NF;i++) o=sprintf("%s%s,",o,$i); 
     gsub(/"|,$/,"",o); 
     print o
}' file.csv

user1,user2,user3,user4
awk -F',' '
  /record2_data2/{
     for(i=4;i<=NF;i++) o=sprintf("%s%s,",o,$i); 
     gsub(/"|,$/,"",o); 
     print o
}' file.csv

user1,user2,user3,user4

使用bash从CSV文件中的特定行获取最后一个X字段

深爱成瘾 2025-02-19 10:57:06

您必须传递 QUERY setquery in appContext.provider

您的 AppContext.provider 组件看起来像这样:

<AppContext.Provider value={{isLoading, isError, movie, query, setQuery}}>
    {children}
</AppContext.Provider>

You have to pass query and setQuery in AppContext.Provider.

Your AppContext.Provider component will look like this:

<AppContext.Provider value={{isLoading, isError, movie, query, setQuery}}>
    {children}
</AppContext.Provider>

setquery不是功能

深爱成瘾 2025-02-19 06:00:42

DF

import pandas.util.testing
df =pd.DataFrame(np.random.rand(4,8),columns=list('abcdfrtl'))

掉落索引; -

df.droplevel(df.index.names[1::2])

均匀列; - 或使用LOC登录器

new=df.iloc[:,0::2]



     a         c         f         t
0  0.069244  0.747373  0.217126  0.779653
1  0.303143  0.288040  0.234507  0.923503
2  0.195276  0.131842  0.447319  0.511451
3  0.821173  0.776493  0.827540  0.679356

Df

import pandas.util.testing
df =pd.DataFrame(np.random.rand(4,8),columns=list('abcdfrtl'))

drop even indices; -

df.droplevel(df.index.names[1::2])

drop even columns; - Or use the loc accessor

new=df.iloc[:,0::2]



     a         c         f         t
0  0.069244  0.747373  0.217126  0.779653
1  0.303143  0.288040  0.234507  0.923503
2  0.195276  0.131842  0.447319  0.511451
3  0.821173  0.776493  0.827540  0.679356

从多索引数据集中降低均匀级别

深爱成瘾 2025-02-19 03:00:02

步骤1:定义每个潜在停止。

在城市中,这将是每个街区的中心。您很高兴有用户穿越道路吗?如果没有,则每个街区的中央有两个站,在道路的每一侧一个。在农村地区,也许每条道路每250米。郊区更加复杂。可能确定每250米的主要道路,并沿着这些路线停留。

步骤2:

计算每个潜在停止的需求。

步骤3:

使用K-均值来识别将成为实际停止的N站(请参见下面的示例实现)。 n是一个输入。您可能必须迭代n个值,计算到最近的实际停止的最差需求距离,直到找到可接受的最差服务距离的N为止。

步骤3:

构建顶点(实际停止)和边缘(道路)的图表

4:

使用旅行推销员(Euclidean)算法来计算公交路线。


使用K-Means来识别将成为实际停止的N停止的示例实现,

这是使用KMeans库中的C ++实现,来自 https://github.com/jamesbremner/kmeans

void cSolution::selectStops()
{
    // Construct the KMeans class
    KMeans KM;

    // loop over potential bus stops
    for (auto &ps : myPotentialStops)
    {
        //Each unit of need at the potential bus stop
        // is represented by "a need" at the location
        for (int k = 0; k < ps.myNeed; k++)
        {
            cDataPoint l(2);
            l.d[0] = ps.myLoc.first;
            l.d[1] = ps.myLoc.second;
            KM.Add(l);
        }
    }

    // initialize KMeans with the number of actual bus stops reuired
    KM.Init( myCountActualStops, false );

    // run KMeans algorithm to find clusters of need
    for( int kiter=0; kiter < 10; kiter++ )
    {
        KM.Assign();
        KM.MoveClustersToMean();
    }

    // Select bus stops nearest to cluster centers
    for( auto& c : KM.clusters() )
    {
        float min = 1e10;
        int nearest;
        int ks = -1;
        for (auto &ps : myPotentialStops)
        {
            ks++;
            float td = dist2( 
                ps.myLoc,
                { c.center().d[0],  c.center().d[1]});
            if( td < min )
            {
                min = td;
                nearest = ks;
            }
        }
        // convert nearest potential bus stop to an actual bus stop.
        myPotentialStops[nearest].myfActual = true;
    }

}

为了对其进行测试,我在块中间建造了一条带有潜在停靠点(绿色点)的道路。我已经为每个潜在停止(停止旁边的数字)分配了半随机需求。运行上面的代码产生此结果(红点分配了实际停止)

此应用程序的完整代码位于 https:/ /Github.com/jamesbremner/bussttop

Step 1: Define every potential stop.

In a city, this would be the center of each block. Are you happy to have users cross roads? If not, two stops in the center of each block, one on each side of the road. In rural areas, maybe every 250 meters along each road. Suburbs are more complex. Possibly identify main roads and place potential stops along those, every 250 meters.

Step 2:

Calculate the need at every potential stop.

Step 3:

Use K-Means to identify the N stops that will become actual stops ( see example implementation below ). N is an input. You might have to iterate over N values, calculating the worst served need distance to the nearest actual stop, until you find the N that gives an acceptable worst served distance.

Step 3:

Construct a graph of vertices ( actual stops ) and edges ( roads )

Step 4:

Use the travelling salesman ( Euclidean ) algorithm to calculate the bus route.


Example implementation of using K-Means to identify the N stops that will become actual stops

This is a C++ implementation using the KMeans library from https://github.com/JamesBremner/KMeans

void cSolution::selectStops()
{
    // Construct the KMeans class
    KMeans KM;

    // loop over potential bus stops
    for (auto &ps : myPotentialStops)
    {
        //Each unit of need at the potential bus stop
        // is represented by "a need" at the location
        for (int k = 0; k < ps.myNeed; k++)
        {
            cDataPoint l(2);
            l.d[0] = ps.myLoc.first;
            l.d[1] = ps.myLoc.second;
            KM.Add(l);
        }
    }

    // initialize KMeans with the number of actual bus stops reuired
    KM.Init( myCountActualStops, false );

    // run KMeans algorithm to find clusters of need
    for( int kiter=0; kiter < 10; kiter++ )
    {
        KM.Assign();
        KM.MoveClustersToMean();
    }

    // Select bus stops nearest to cluster centers
    for( auto& c : KM.clusters() )
    {
        float min = 1e10;
        int nearest;
        int ks = -1;
        for (auto &ps : myPotentialStops)
        {
            ks++;
            float td = dist2( 
                ps.myLoc,
                { c.center().d[0],  c.center().d[1]});
            if( td < min )
            {
                min = td;
                nearest = ks;
            }
        }
        // convert nearest potential bus stop to an actual bus stop.
        myPotentialStops[nearest].myfActual = true;
    }

}

To test this, I have constructed a grid of roads with potential stops ( green dots ) in the middle of blocks. I have assigned semi-random needs to each potential stop ( numbers beside stops ). Running the above code produces this result ( red dots are assigned actual stops )

The complete code for this application is at https://github.com/JamesBremner/bussttop

enter image description here

计算给定领土的公交路线的估计移动性需求

深爱成瘾 2025-02-19 02:08:48

如果我理解您的问题,您有一个具有tag_1和tag_2标签的book_5,并且您想根据book_5标签过滤书籍。

您可以使用 value_list
您可以将标签QuerySet变成ID列表,然后基于此筛选您的书籍。
所以是:

    book_5 = Book.objects.get(name='book_5')
    has_book_5_tags = Book.objects.filter(tag__id__in=book_5.tag.all().values_list('id',flat=True))

If I understand your question you have a book_5 which has tags of tag_1 and tag_2 and you want to filter books based on book_5 tags.

you can use value_list
you can turn your tags queryset into a list of IDs and then filter you books based on that.
so it would be:

    book_5 = Book.objects.get(name='book_5')
    has_book_5_tags = Book.objects.filter(tag__id__in=book_5.tag.all().values_list('id',flat=True))

django orm中的过滤场M2M

深爱成瘾 2025-02-19 00:22:32

我想在这里分享我的方法:

您可以跑步

flutter run integration_test/scrolling_test.dart --no-dds

,仅此而已。您现在可以免费重新启动 HOT重新启动! ( - NO-DDS 在我的情况下是因为否则错误;但是在您的情况下,可能不需要。)

但是请记住一些缺点:

  • 要允许热重新启动,应该是以调试模式运行,但是分析/基准测试应仅在配置文件模式下运行,否则数字是完全没有用的。因此,唯一的调试您的代码的正确性在此模式下永远不会相信这些数字。
  • 在此方法完成测试后,它不会收集数据并写入主机机器,因为不存在驱动程序(例如 test_driver/perf_driver.dart )。但是,由于我们不应该在此模式下使用数字,所以这没问题。

I would like to share my approach here:

You can run

flutter run integration_test/scrolling_test.dart --no-dds

and that is all. You can hot restart now for free! (The --no-dds in my case is needed because otherwise it errors; but in your case it may not be needed.)

But bear in mind some drawbacks:

  • To allow hot restart, it should be run in debug mode, but profiling/benchmarking should only be run in profile mode or the numbers are completely useless. Thus, only debug the correctness of your code and never trust the numbers in this mode.
  • It will not collect data and write to host machine after tests finished in this approach, because no driver (e.g. test_driver/perf_driver.dart) exists. But since we should not use the numbers in this mode, it is no problem.

如何快速调试Flutter基准测试(性能分析)代码?

深爱成瘾 2025-02-18 04:56:27

如果定义类型:

type ObjTypeFromSchema<S extends Record<string, { type: any }>> = { 
    [K in keyof S]: S[K]["type"] 
}

那么您应该能够投掷任何符合 record&lt; string,{type:any}&gt; 的模式。

In your case

type O = ObjTypeFromSchema<Schema>;

gives a type for O of:

{
    name: string;
    age: number;
}

If you define a type:

type ObjTypeFromSchema<S extends Record<string, { type: any }>> = { 
    [K in keyof S]: S[K]["type"] 
}

then you should be able to throw any schema that conforms to Record<string, { type: any }> at it.

In your case

type O = ObjTypeFromSchema<Schema>;

gives a type for O of:

{
    name: string;
    age: number;
}

Playground Link

TS中的映射类型不返回嵌套类型

深爱成瘾 2025-02-17 22:48:48

我建议使用a type Guard

function isSomeTypeArray(obj: MyData): obj is MyData & { someArrayProperties: SomeType[] } {
  return Array.isArray(obj.someArrayProperties) 
    && obj.someArrayProperties.every(
      (e) => typeof e.name === "string" && typeof e.enabled === "boolean"
    )
}

类型守卫检查对象的形状,以确定 somearrayProperties 字段是否真的包含类型 fory stype 的数组。

async function main(){
  const data = await fetch("abc.com").then((data) => data.json()) as MyData

  if (isSomeTypeArray(data)){
    const enabledProperty = data.someArrayProperties.find((property) => property.enabled)
  }
}

I would suggest using a type guard.

function isSomeTypeArray(obj: MyData): obj is MyData & { someArrayProperties: SomeType[] } {
  return Array.isArray(obj.someArrayProperties) 
    && obj.someArrayProperties.every(
      (e) => typeof e.name === "string" && typeof e.enabled === "boolean"
    )
}

The type guard checks the shape of an object to determine if the someArrayProperties field really contains an array of type SomeType.

async function main(){
  const data = await fetch("abc.com").then((data) => data.json()) as MyData

  if (isSomeTypeArray(data)){
    const enabledProperty = data.someArrayProperties.find((property) => property.enabled)
  }
}

Playground

如何最好地处理属性设置为`务实[] |未知?

深爱成瘾 2025-02-17 08:39:50

简单地,您将标签的标签切换为标签,以及Navbar上的尾风类的工作。从

此外,您需要返回要显示的JSX。请参阅下面的样本。

 <nav class="flex justify-center space-x-4">
      {categories?.data && 
      categories.data.map((category) => (return(
      <div key={category.id} onClick={ () => handleClick(category.id)} >
      {category.name})
 </nav>

Simple you switch out the tag for a tag, and the work with the tailwind classes on the navbar. Sample from the docs below.

Furthermore you need to return the jsx you want to display. See the sample below.

 <nav class="flex justify-center space-x-4">
      {categories?.data && 
      categories.data.map((category) => (return(
      <div key={category.id} onClick={ () => handleClick(category.id)} >
      {category.name})
 </nav>

如何将尾风CSS用于Navbar和循环中显示的项目

更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

更多

友情链接

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文